mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 16:01:10 +02:00
gui/motorcontrol, gui/scan: switch to CSignalBox
Signed-off-by: Thilo Graf <dbt@novatux.de>
Conflicts:
src/gui/scan.cpp
Origin commit data
------------------
Branch: ni/coolstream
Commit: 5b5fed3bd7
Author: martii <m4rtii@gmx.de>
Date: 2013-12-18 (Wed, 18 Dec 2013)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -65,8 +65,6 @@ CMotorControl::CMotorControl(int tnum)
|
|||||||
CMotorControl::~CMotorControl()
|
CMotorControl::~CMotorControl()
|
||||||
{
|
{
|
||||||
printf("CMotorControl::~CMotorControl\n");
|
printf("CMotorControl::~CMotorControl\n");
|
||||||
delete sigscale;
|
|
||||||
delete snrscale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMotorControl::Init(void)
|
void CMotorControl::Init(void)
|
||||||
@@ -91,10 +89,7 @@ void CMotorControl::Init(void)
|
|||||||
motorPosition = 1;
|
motorPosition = 1;
|
||||||
satellitePosition = 0;
|
satellitePosition = 0;
|
||||||
stepDelay = 10;
|
stepDelay = 10;
|
||||||
sigscale = new CProgressBar(/*true, BAR_WIDTH, BAR_HEIGHT*/);
|
signalbox = NULL;
|
||||||
sigscale->setBlink();
|
|
||||||
snrscale = new CProgressBar(/*true, BAR_WIDTH, BAR_HEIGHT*/);
|
|
||||||
snrscale->setBlink();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMotorControl::exec(CMenuTarget* parent, const std::string &)
|
int CMotorControl::exec(CMenuTarget* parent, const std::string &)
|
||||||
@@ -313,6 +308,8 @@ int CMotorControl::exec(CMenuTarget* parent, const std::string &)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete signalbox;
|
||||||
|
signalbox = NULL;
|
||||||
hide();
|
hide();
|
||||||
frontend->setTsidOnid(0);
|
frontend->setTsidOnid(0);
|
||||||
|
|
||||||
@@ -456,10 +453,6 @@ void CMotorControl::paintHead()
|
|||||||
|
|
||||||
void CMotorControl::paintMenu()
|
void CMotorControl::paintMenu()
|
||||||
{
|
{
|
||||||
sigscale->reset();
|
|
||||||
snrscale->reset();
|
|
||||||
lastsnr = lastsig = -1;
|
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(x, y + hheight, width, height - hheight, COL_MENUCONTENT_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM);
|
frameBuffer->paintBoxRel(x, y + hheight, width, height - hheight, COL_MENUCONTENT_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM);
|
||||||
|
|
||||||
ypos = y + hheight + (mheight >> 1) - 10;
|
ypos = y + hheight + (mheight >> 1) - 10;
|
||||||
@@ -584,55 +577,19 @@ void CMotorControl::stopSatFind(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMotorControl::showSNR()
|
void CMotorControl::showSNR ()
|
||||||
{
|
{
|
||||||
char percent[10];
|
if (signalbox == NULL){
|
||||||
int barwidth = 100;
|
int xpos1 = x + 10;
|
||||||
uint16_t ssig, ssnr;
|
signalbox = new CSignalBox(xpos1, y + height - mheight - 5, width - 2*(xpos1-x), g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight(), frontend, false);
|
||||||
int sig, snr;
|
signalbox->setScaleWidth(60); /*%*/
|
||||||
int posx_sig, posx_snr, posy;
|
signalbox->setColorBody(COL_MENUCONTENT_PLUS_0);
|
||||||
|
signalbox->setTextColor(COL_MENUCONTENT_TEXT);
|
||||||
int sw;
|
signalbox->doPaintBg(true);
|
||||||
|
|
||||||
ssig = frontend->getSignalStrength();
|
|
||||||
ssnr = frontend->getSignalNoiseRatio();
|
|
||||||
|
|
||||||
snr = (ssnr & 0xFFFF) * 100 / 65535;
|
|
||||||
sig = (ssig & 0xFFFF) * 100 / 65535;
|
|
||||||
if(sig < 5)
|
|
||||||
return;
|
|
||||||
g_sig = ssig & 0xFFFF;
|
|
||||||
g_snr = snr;
|
|
||||||
|
|
||||||
posy = y + height - mheight - 5;
|
|
||||||
//TODO: move sig/snr display into its own class, similar or same code also to find in scan.cpp
|
|
||||||
if (lastsig != sig) {
|
|
||||||
lastsig = sig;
|
|
||||||
posx_sig = x + 10;
|
|
||||||
sprintf(percent, "%d%% SIG", sig);
|
|
||||||
sw = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth ("100% SIG");
|
|
||||||
|
|
||||||
sigscale->setProgress(posx_sig-1, posy, BAR_WIDTH, BAR_HEIGHT, sig, 100);
|
|
||||||
sigscale->paint();
|
|
||||||
|
|
||||||
posx_sig += barwidth + 3;
|
|
||||||
frameBuffer->paintBoxRel(posx_sig, posy - 2, sw+4, mheight, COL_MENUCONTENT_PLUS_0);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx_sig+2, posy + mheight, sw, percent, COL_MENUCONTENT_TEXT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lastsnr != snr) {
|
signalbox->paint(false);
|
||||||
lastsnr = snr;
|
g_snr = signalbox->getSNRValue();
|
||||||
posx_snr = x + 10 + 210;
|
|
||||||
sprintf(percent, "%d%% SNR", snr);
|
|
||||||
sw = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth ("100% SNR");
|
|
||||||
|
|
||||||
snrscale->setProgress(posx_snr-1, posy, BAR_WIDTH, BAR_HEIGHT, snr, 100);
|
|
||||||
snrscale->paint();
|
|
||||||
|
|
||||||
posx_snr += barwidth + 3;
|
|
||||||
frameBuffer->paintBoxRel(posx_snr, posy - 2, sw+4, mheight, COL_MENUCONTENT_PLUS_0);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx_snr+2, posy + mheight, sw, percent, COL_MENUCONTENT_TEXT);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMotorControl::readNetwork()
|
void CMotorControl::readNetwork()
|
||||||
|
@@ -66,10 +66,9 @@ class CMotorControl : public CMenuTarget
|
|||||||
uint8_t motorPosition;
|
uint8_t motorPosition;
|
||||||
int32_t satellitePosition;
|
int32_t satellitePosition;
|
||||||
int satfindpid;
|
int satfindpid;
|
||||||
int lastsnr, lastsig;
|
|
||||||
int g_sig, g_snr, last_snr, moving;
|
int g_sig, g_snr, last_snr, moving;
|
||||||
std::string network;
|
std::string network;
|
||||||
CProgressBar *snrscale, *sigscale;
|
CSignalBox *signalbox;
|
||||||
void paintHead(void);
|
void paintHead(void);
|
||||||
void paintMenu(void);
|
void paintMenu(void);
|
||||||
void paintStatus(void);
|
void paintStatus(void);
|
||||||
|
@@ -80,20 +80,13 @@ CScanTs::CScanTs(int dtype)
|
|||||||
radar = 0;
|
radar = 0;
|
||||||
total = done = 0;
|
total = done = 0;
|
||||||
freqready = 0;
|
freqready = 0;
|
||||||
|
|
||||||
deltype = dtype;
|
deltype = dtype;
|
||||||
sigscale = new CProgressBar();
|
signalbox = NULL;
|
||||||
sigscale->setBlink();
|
|
||||||
|
|
||||||
snrscale = new CProgressBar();
|
|
||||||
snrscale->setBlink();
|
|
||||||
memset(&TP, 0, sizeof(TP)); // valgrind
|
memset(&TP, 0, sizeof(TP)); // valgrind
|
||||||
}
|
}
|
||||||
|
|
||||||
CScanTs::~CScanTs()
|
CScanTs::~CScanTs()
|
||||||
{
|
{
|
||||||
delete sigscale;
|
|
||||||
delete snrscale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CScanTs::prev_next_TP( bool up)
|
void CScanTs::prev_next_TP( bool up)
|
||||||
@@ -201,10 +194,6 @@ int CScanTs::exec(CMenuTarget* /*parent*/, const std::string & actionKey)
|
|||||||
ypos_radar = y + hheight + (mheight >> 1);
|
ypos_radar = y + hheight + (mheight >> 1);
|
||||||
xpos1 = x + 10;
|
xpos1 = x + 10;
|
||||||
|
|
||||||
sigscale->reset();
|
|
||||||
snrscale->reset();
|
|
||||||
lastsig = lastsnr = -1;
|
|
||||||
|
|
||||||
if (!frameBuffer->getActive())
|
if (!frameBuffer->getActive())
|
||||||
return menu_return::RETURN_EXIT_ALL;
|
return menu_return::RETURN_EXIT_ALL;
|
||||||
|
|
||||||
@@ -349,6 +338,8 @@ int CScanTs::exec(CMenuTarget* /*parent*/, const std::string & actionKey)
|
|||||||
} while (!(msg == CRCInput::RC_timeout));
|
} while (!(msg == CRCInput::RC_timeout));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete signalbox;
|
||||||
|
signalbox = NULL;
|
||||||
hide();
|
hide();
|
||||||
|
|
||||||
CZapit::getInstance()->scanPids(scan_pids);
|
CZapit::getInstance()->scanPids(scan_pids);
|
||||||
@@ -558,51 +549,14 @@ int CScanTs::greater_xpos(int xpos, const neutrino_locale_t txt)
|
|||||||
|
|
||||||
void CScanTs::showSNR ()
|
void CScanTs::showSNR ()
|
||||||
{
|
{
|
||||||
char percent[10];
|
if (signalbox == NULL){
|
||||||
int barwidth = 150;
|
|
||||||
uint16_t ssig, ssnr;
|
|
||||||
int sig, snr;
|
|
||||||
int posx, posy;
|
|
||||||
int sw;
|
|
||||||
|
|
||||||
CFrontend * frontend = CServiceScan::getInstance()->GetFrontend();
|
CFrontend * frontend = CServiceScan::getInstance()->GetFrontend();
|
||||||
ssig = frontend->getSignalStrength();
|
signalbox = new CSignalBox(xpos1, y + height - mheight - 5, width - 2*(xpos1-x), g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight(), frontend, false);
|
||||||
ssnr = frontend->getSignalNoiseRatio();
|
signalbox->setScaleWidth(60); /*%*/
|
||||||
snr = (ssnr & 0xFFFF) * 100 / 65535;
|
signalbox->setColorBody(COL_MENUCONTENT_PLUS_0);
|
||||||
sig = (ssig & 0xFFFF) * 100 / 65535;
|
signalbox->setTextColor(COL_MENUCONTENT_TEXT);
|
||||||
|
signalbox->doPaintBg(true);
|
||||||
posy = y + height - mheight - 5;
|
|
||||||
//TODO: move sig/snr display into its own class, similar or same code also to find in motorcontrol
|
|
||||||
if (lastsig != sig) {
|
|
||||||
lastsig = sig;
|
|
||||||
posx = x + 20;
|
|
||||||
sprintf(percent, "%d%%", sig);
|
|
||||||
sw = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth ("100%");
|
|
||||||
sigscale->setProgress(posx - 1, posy+2, BAR_WIDTH, BAR_HEIGHT, sig, 100);
|
|
||||||
sigscale->paint();
|
|
||||||
|
|
||||||
posx = posx + barwidth + 3;
|
|
||||||
frameBuffer->paintBoxRel(posx, posy -1, sw, mheight-8, COL_MENUCONTENT_PLUS_0);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx+2, posy + mheight-(mheight-BAR_HEIGHT)/4, sw, percent, COL_MENUCONTENTDARK_TEXT);
|
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(posx+(4*fw), posy - 2, 4*fw, mheight, COL_MENUCONTENT_PLUS_0);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx+2+(4*fw), posy + mheight-(mheight-BAR_HEIGHT)/4, 4*fw, "SIG", COL_MENUCONTENT_TEXT);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if (lastsnr != snr) {
|
|
||||||
lastsnr = snr;
|
|
||||||
posx = x + 20 + (20 * fw);
|
|
||||||
sprintf(percent, "%d%%", snr);
|
|
||||||
sw = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth ("100%");
|
|
||||||
snrscale->setProgress(posx - 1, posy+2, BAR_WIDTH, BAR_HEIGHT, snr, 100);
|
|
||||||
snrscale->paint();
|
|
||||||
|
|
||||||
posx = posx + barwidth + 3;
|
signalbox->paint(false);
|
||||||
frameBuffer->paintBoxRel(posx, posy - 1, sw, mheight-8, COL_MENUCONTENT_PLUS_0, 0, true);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx + 2, posy + mheight-(mheight-BAR_HEIGHT)/4, sw, percent, COL_MENUCONTENTDARK_TEXT, 0, true);
|
|
||||||
|
|
||||||
frameBuffer->paintBoxRel(posx+(4*fw), posy - 2, 4*fw, mheight, COL_MENUCONTENT_PLUS_0);
|
|
||||||
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString (posx+2+(4*fw), posy + mheight-(mheight-BAR_HEIGHT)/4, 4*fw, "SNR", COL_MENUCONTENT_TEXT);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -65,9 +65,8 @@ class CScanTs : public CMenuTarget
|
|||||||
bool istheend;
|
bool istheend;
|
||||||
uint32_t total;
|
uint32_t total;
|
||||||
uint32_t done;
|
uint32_t done;
|
||||||
int lastsnr, lastsig;
|
|
||||||
int tuned;
|
int tuned;
|
||||||
CProgressBar *snrscale, *sigscale;
|
CSignalBox *signalbox;
|
||||||
|
|
||||||
void paint(bool fortest = false);
|
void paint(bool fortest = false);
|
||||||
void paintLineLocale(int x, int * y, int width, const neutrino_locale_t l);
|
void paintLineLocale(int x, int * y, int width, const neutrino_locale_t l);
|
||||||
|
Reference in New Issue
Block a user