neutrino record: reworked some code parts from last multirec commits

- avoids using of boolean structures for record modes calls, handling of
 enum calls from record manager class should be easier
- remove boolean structure from infoviewer
- use commonly member name for count of recordings,
 GetRecordCount should be more plausible than GetRecmapSize

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1693 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: f63e3a532f
Author: Thilo Graf <dbt@novatux.de>
Date: 2011-09-17 (Sat, 17 Sep 2011)

Origin message was:
------------------
*neutrino record: reworked some code parts from last multirec commits

- avoids using of boolean structures for record modes calls, handling of
 enum calls from record manager class should be easier
- remove boolean structure from infoviewer
- use commonly member name for count of recordings,
 GetRecordCount should be more plausible than GetRecmapSize

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1693 e54a6e83-5905-42d5-8d5c-058d10e6a962


------------------
This commit was generated by Migit
This commit is contained in:
2011-09-17 19:32:34 +00:00
parent 7e45c5325c
commit ba5a77b061
5 changed files with 84 additions and 41 deletions

View File

@@ -289,48 +289,51 @@ void CInfoViewer::paintTime (bool show_dot, bool firstPaint)
void CInfoViewer::showRecordIcon (const bool show)
{
CRecordManager * crm = CRecordManager::getInstance();
recordModeActive = crm->RecordingStatus() || crm->IsTimeshift();
int rec_mode = crm->GetRecordMode();
recordModeActive = rec_mode != CRecordManager::RECMODE_OFF; /*crm->RecordingStatus() || crm->IsTimeshift();*/
if (recordModeActive)
{
std::string Icon_Rec = NEUTRINO_ICON_REC_GRAY, Icon_Ts = NEUTRINO_ICON_AUTO_SHIFT_GRAY;
t_channel_id cci = g_RemoteControl->current_channel_id;
bool status_ts = crm->IsTimeshift(cci);
bool status_rec = crm->RecordingStatus(cci) && !status_ts;
if (status_ts)
Icon_Ts = NEUTRINO_ICON_AUTO_SHIFT;
if (status_rec)
Icon_Rec = NEUTRINO_ICON_REC;
if (rec_mode == CRecordManager::RECMODE_TSHIFT)
Icon_Ts = NEUTRINO_ICON_AUTO_SHIFT;
if (rec_mode == CRecordManager::RECMODE_REC)
Icon_Rec = NEUTRINO_ICON_REC;
int records = crm->GetRecmapSize();
bool modus_rec = crm->RecordingStatus() && !crm->IsTimeshift();
bool modus_ts = crm->IsTimeshift() && (records == 1);
bool modus_ts_rec = crm->IsTimeshift() && (records > 1);
int rec_icon_w = 0, rec_icon_h = 0, ts_icon_w = 0, ts_icon_h = 0;
int records = crm->GetRecordCount();
const int radius = RADIUS_MIN;
const int ChanName_X = BoxStartX + ChanWidth + SHADOW_OFFSET;
const int icon_space = 3, box_posY = 12;
int box_len = 0, rec_icon_posX = 0, ts_icon_posX = 0;
int rec_icon_w = 0, rec_icon_h = 0, ts_icon_w = 0, ts_icon_h = 0;
frameBuffer->getIconSize(Icon_Rec.c_str(), &rec_icon_w, &rec_icon_h);
frameBuffer->getIconSize(Icon_Ts.c_str(), &ts_icon_w, &ts_icon_h);
int chanH = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight ()
* (g_settings.screen_yres / 100);
int chanH = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight () * (g_settings.screen_yres / 100);
if (chanH < rec_icon_h)
chanH = rec_icon_h;
const int box_posX = ChanName_X + SHADOW_OFFSET;
char records_msg[8];
snprintf(records_msg, sizeof(records_msg)-1, "%d%s", records, "x");
int TextWidth = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getRenderWidth(records_msg)
* (g_settings.screen_xres / 100);
if (modus_rec)
if (rec_mode == CRecordManager::RECMODE_REC)
{
box_len = rec_icon_w + TextWidth + icon_space*5;
rec_icon_posX = box_posX + icon_space*2;
}else if (modus_ts)
}
else if (rec_mode == CRecordManager::RECMODE_TSHIFT)
{
box_len = ts_icon_w + icon_space*4;
ts_icon_posX = box_posX + icon_space*2;
}else if (modus_ts_rec)
}
else if (rec_mode == CRecordManager::RECMODE_REC_TSHIFT)
{
box_len = ts_icon_w + rec_icon_w + TextWidth + icon_space*7;
ts_icon_posX = box_posX + icon_space*2;
@@ -338,30 +341,35 @@ void CInfoViewer::showRecordIcon (const bool show)
records--;
snprintf(records_msg, sizeof(records_msg)-1, "%d%s", records, "x");
}
if (show)
{
frameBuffer->paintBoxRel(box_posX + SHADOW_OFFSET, BoxStartY + box_posY + SHADOW_OFFSET, box_len, chanH, COL_INFOBAR_SHADOW_PLUS_0, radius);
frameBuffer->paintBoxRel(box_posX, BoxStartY + box_posY , box_len, chanH, COL_INFOBAR_PLUS_0, radius);
if (modus_rec)
if (rec_mode == CRecordManager::RECMODE_REC)
{
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString (rec_icon_posX + rec_icon_w + icon_space, BoxStartY + box_posY + chanH, box_len, records_msg, COL_INFOBAR, 0, true);
frameBuffer->paintIcon(Icon_Rec, rec_icon_posX, BoxStartY + box_posY + (chanH - rec_icon_h)/2);
}else if (modus_ts)
}
else if (rec_mode == CRecordManager::RECMODE_TSHIFT)
{
frameBuffer->paintIcon(Icon_Ts, ts_icon_posX, BoxStartY + box_posY + (chanH - ts_icon_h)/2);
}else if (modus_ts_rec)
}
else if (rec_mode == CRecordManager::RECMODE_REC_TSHIFT)
{
g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->RenderString(rec_icon_posX + rec_icon_w + icon_space, BoxStartY + box_posY + chanH, box_len, records_msg, COL_INFOBAR, 0, true);
frameBuffer->paintIcon(Icon_Rec, rec_icon_posX, BoxStartY + box_posY + (chanH - rec_icon_h)/2);
frameBuffer->paintIcon(Icon_Ts, ts_icon_posX, BoxStartY + box_posY + (chanH - ts_icon_h)/2);
}
}else
}
else
{
if (modus_rec)
if (rec_mode == CRecordManager::RECMODE_REC)
frameBuffer->paintBoxRel(rec_icon_posX, BoxStartY + box_posY + (chanH - rec_icon_h)/2, rec_icon_w, rec_icon_h, COL_INFOBAR_PLUS_0);
else if (modus_ts)
else if (rec_mode == CRecordManager::RECMODE_TSHIFT)
frameBuffer->paintBoxRel(ts_icon_posX, BoxStartY + box_posY + (chanH - ts_icon_h)/2, ts_icon_w, ts_icon_h, COL_INFOBAR_PLUS_0);
else if (modus_ts_rec)
else if (rec_mode == CRecordManager::RECMODE_REC_TSHIFT)
frameBuffer->paintBoxRel(ts_icon_posX, BoxStartY + box_posY + (chanH - rec_icon_h)/2, ts_icon_w + rec_icon_w + icon_space*2, rec_icon_h, COL_INFOBAR_PLUS_0);
}
}

View File

@@ -109,11 +109,13 @@ CStreamInfo2::~CStreamInfo2 ()
ts_close();
}
void CStreamInfo2::exec()
int CStreamInfo2::exec()
{
paint(paint_mode);
doSignalStrengthLoop();
hide();
return menu_return::RETURN_EXIT_ALL;
}
int CStreamInfo2::exec (CMenuTarget * parent, const std::string &)
@@ -125,7 +127,7 @@ int CStreamInfo2::exec (CMenuTarget * parent, const std::string &)
paint (paint_mode);
doSignalStrengthLoop ();
hide ();
return menu_return::RETURN_REPAINT;
return menu_return::RETURN_EXIT_ALL;
}
int CStreamInfo2::doSignalStrengthLoop ()
@@ -197,7 +199,7 @@ int CStreamInfo2::doSignalStrengthLoop ()
if(snrscale && sigscale)
showSNR ();
if(pmt_version != current_pmt_version && delay_counter > delay){
current_pmt_version = pmt_version;
current_pmt_version = pmt_version;
paint_techinfo (x + 10, y+ hheight +5);
}
delay_counter++;
@@ -280,7 +282,7 @@ void CStreamInfo2::paint_signal_fe_box(int _x, int _y, int w, int h)
int y1;
int xd = w/4;
std::string tuner_name = g_Locale->getText(LOCALE_STREAMINFO_SIGNAL);
tuner_name += ": ";
tuner_name += ": ";
tuner_name += CFrontend::getInstance()->getInfo()->name;
g_Font[font_small]->RenderString(_x, _y+iheight+15, width-10, tuner_name.c_str(), COL_INFOBAR, 0, true);
@@ -889,7 +891,7 @@ void CStreamInfo2::paintCASystem(int xpos, int ypos)
}
}
int spaceoffset = 0 ;
for(i=0 ; i<11; i++){
if(caids[i] == true)
if(spaceoffset < array[i])
@@ -969,7 +971,7 @@ int CStreamInfo2::ts_setup ()
vpid = g_RemoteControl->current_PIDs.PIDs.vpid;
if(g_RemoteControl->current_PIDs.APIDs.size() > 0)
apid = g_RemoteControl->current_PIDs.APIDs[g_RemoteControl->current_PIDs.PIDs.selected_apid].pid;
if(vpid == 0 && apid == 0)
return -1;

View File

@@ -103,7 +103,7 @@ class CStreamInfo2 : public CMenuTarget
CStreamInfo2();
~CStreamInfo2();
void exec();
int exec();
void hide();
int exec(CMenuTarget* parent, const std::string & actionKey);