diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index a794f0e2b..bd7c756d0 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1039,6 +1039,7 @@ ping.unreachable ist nicht erreichbar (unerreichbar) pinprotection.head PIN-Abfrage pinprotection.wrongcode Geben Sie den Code nocheinmal ein! plugins.result Pluginausgabe +progressbar.color Fortschrittsbalken farbe rclock.lockmsg Die Fernbedienung der Coolstream wird gesperrt.\n Um die Sperre aufzuheben, bitte\n und auf der Fernbedienung\n drücken. rclock.menueadd FB sperren rclock.title Fernbedienung sperren diff --git a/data/locale/english.locale b/data/locale/english.locale index 7bef3513e..971b14ecd 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -655,6 +655,7 @@ ping.unreachable is unreachable pinprotection.head Enter PIN code pinprotection.wrongcode PIN-Code was wrong! Try again. plugins.result plugin output +progressbar.color Progressbar Color rclock.lockmsg Your box remote control will be locked.\n To unlock it, press \n and on your remote control. rclock.menueadd Lock RC rclock.title Lock Remote Control diff --git a/src/gui/dboxinfo.cpp b/src/gui/dboxinfo.cpp index d39d97d46..b41820835 100644 --- a/src/gui/dboxinfo.cpp +++ b/src/gui/dboxinfo.cpp @@ -50,7 +50,6 @@ #include #include -extern bool pb_blink; static const int FSHIFT = 16; /* nr of bits of precision */ #define FIXED_1 (1< 8) /* smaller progressbar is not useful ;) */ { - CProgressBar pb(pb_blink, -1, -1, 30, 100, 70, true); + CProgressBar pb(g_settings.progressbar_color, -1, -1, 30, 100, 70, true); pb.paintProgressBarDefault(x+offsetw, ypos+3, pbw, mheight-10, blocks_percent_used, 100); } ypos+= mheight; diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index ef90c51ce..79e1de4df 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -52,7 +52,6 @@ #include #include -extern bool pb_blink; extern CPictureViewer * g_PicViewer; #define PIC_W 52 #define PIC_H 39 @@ -627,7 +626,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_ if ( epg_done!= -1 ) { int pbx = sx + 10 + widthl + 10 + ((ox-104-widthr-widthl-10-10-20)>>1); - CProgressBar pb(pb_blink, -1, -1, 30, 100, 70, true); + CProgressBar pb(g_settings.progressbar_color, -1, -1, 30, 100, 70, true); pb.paintProgressBarDefault(pbx, sy+oy-height, 104, height-6, epg_done, 104); } @@ -667,7 +666,7 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_ if (data == g_InfoViewer->lcdUpdateTimer) { GetEPGData(channel_id, id, &startzeit, false); if ( epg_done!= -1 ) { - CProgressBar pb(pb_blink, -1, -1, 30, 100, 70, true); + CProgressBar pb(g_settings.progressbar_color, -1, -1, 30, 100, 70, true); int pbx = sx + 10 + widthl + 10 + ((ox-104-widthr-widthl-10-10-20)>>1); pb.paintProgressBarDefault(pbx, sy+oy-height, 104, height-6, epg_done, 104); } diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 461b202d3..ddfdd44e8 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -107,7 +107,6 @@ bool newfreq = true; char old_timestr[10]; static event_id_t last_curr_id = 0, last_next_id = 0; -extern bool pb_blink; int bottom_bar_offset; extern CZapitClient::SatelliteList satList; @@ -169,26 +168,14 @@ void CInfoViewer::Init() infobar_show_channellogo = atoi(tmp); /* maybe we should not tie this to the blinkenlights settings? */ - if (pb_blink) + if (g_settings.progressbar_color) bottom_bar_offset = 22; else bottom_bar_offset = 0; /* after font size changes, Init() might be called multiple times */ - if (sigscale != NULL) - delete sigscale; - sigscale = new CProgressBar(pb_blink, BAR_WIDTH, 10, RED_BAR, GREEN_BAR, YELLOW_BAR); - if (snrscale != NULL) - delete snrscale; - snrscale = new CProgressBar(pb_blink, BAR_WIDTH, 10, RED_BAR, GREEN_BAR, YELLOW_BAR); - if (hddscale != NULL) - delete hddscale; - hddscale = new CProgressBar(pb_blink, 100, 6, 50, GREEN_BAR, 75, true); - if (varscale != NULL) - delete varscale; - varscale = new CProgressBar(pb_blink, 100, 6, 50, GREEN_BAR, 75, true); - if (timescale != NULL) - delete timescale; - timescale = new CProgressBar(pb_blink, -1, -1, 30, GREEN_BAR, 70, true); + changePB(); + + pbBlinkChange = g_settings.progressbar_color; /* we need to calculate this only once */ info_time_width = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_INFO]->getRenderWidth("22:22") + 10; @@ -261,6 +248,25 @@ void CInfoViewer::start () lcdUpdateTimer = g_RCInput->addTimer (LCD_UPDATE_TIME_TV_MODE, false, true); } +void CInfoViewer::changePB() +{ + if (sigscale != NULL) + delete sigscale; + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, 10, RED_BAR, GREEN_BAR, YELLOW_BAR); + if (snrscale != NULL) + delete snrscale; + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, 10, RED_BAR, GREEN_BAR, YELLOW_BAR); + if (hddscale != NULL) + delete hddscale; + hddscale = new CProgressBar(g_settings.progressbar_color, 100, 6, 50, GREEN_BAR, 75, true); + if (varscale != NULL) + delete varscale; + varscale = new CProgressBar(g_settings.progressbar_color, 100, 6, 50, GREEN_BAR, 75, true); + if (timescale != NULL) + delete timescale; + timescale = new CProgressBar(g_settings.progressbar_color, -1, -1, 30, GREEN_BAR, 70, true); +} + void CInfoViewer::paintTime (bool show_dot, bool firstPaint) { if (! gotTime) @@ -370,6 +376,11 @@ void CInfoViewer::showTitle (const int ChanNum, const std::string & Channel, con bool fadeIn = g_settings.widget_fade && (!is_visible) && showButtonBar; + if(pbBlinkChange != g_settings.progressbar_color){ + pbBlinkChange = g_settings.progressbar_color; + changePB(); + } + is_visible = true; if (!calledFromNumZap && fadeIn) fadeTimer = g_RCInput->addTimer (FADE_TIME, false); @@ -1211,7 +1222,7 @@ void CInfoViewer::display_Info(const char *current, const char *next, if (pb_p > pb_w) pb_p = pb_w; timescale->paintProgressBar(BoxEndX - pb_w - SHADOW_OFFSET, BoxStartY + 12, pb_w, pb_h, pb_p, pb_w, - 0, 0, pb_blink ? COL_INFOBAR_SHADOW_PLUS_0 : COL_INFOBAR_PLUS_0, COL_INFOBAR_SHADOW_PLUS_0, "", COL_INFOBAR); + 0, 0, g_settings.progressbar_color ? COL_INFOBAR_SHADOW_PLUS_0 : COL_INFOBAR_PLUS_0, COL_INFOBAR_SHADOW_PLUS_0, "", COL_INFOBAR); } int currTimeW = 0; diff --git a/src/gui/infoviewer.h b/src/gui/infoviewer.h index 8394b99d6..45354c7f5 100644 --- a/src/gui/infoviewer.h +++ b/src/gui/infoviewer.h @@ -94,6 +94,8 @@ class CInfoViewer int lastsnr, lastsig, lasthdd, lastvar, lasttime; CProgressBar *snrscale, *sigscale, *hddscale, *varscale, *timescale; + bool pbBlinkChange; + void changePB(); void paintBackground(int col_Numbox); void show_Data( bool calledFromEvent = false ); diff --git a/src/gui/motorcontrol.cpp b/src/gui/motorcontrol.cpp index 0a21ecf6d..b1f5b8172 100644 --- a/src/gui/motorcontrol.cpp +++ b/src/gui/motorcontrol.cpp @@ -46,7 +46,6 @@ #include extern CFrontend * frontend; -extern bool pb_blink; static int g_sig; static int g_snr; @@ -90,8 +89,9 @@ void CMotorControl::Init(void) motorPosition = 1; satellitePosition = 0; stepDelay = 10; - sigscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); - snrscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + pbBlinkChange = g_settings.progressbar_color; } int CMotorControl::exec(CMenuTarget* parent, const std::string &) @@ -107,6 +107,17 @@ int CMotorControl::exec(CMenuTarget* parent, const std::string &) CZapitClient::commandSetScanSatelliteList sat; sat_iterator_t sit; + if(pbBlinkChange != g_settings.progressbar_color){ + pbBlinkChange = g_settings.progressbar_color; + if(sigscale){ + delete sigscale; + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + } + if(snrscale){ + delete snrscale; + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + } + } sigscale->reset(); snrscale->reset(); lastsnr = lastsig = -1; diff --git a/src/gui/motorcontrol.h b/src/gui/motorcontrol.h index 7270fb5c6..59ec6ea65 100644 --- a/src/gui/motorcontrol.h +++ b/src/gui/motorcontrol.h @@ -67,7 +67,7 @@ class CMotorControl : public CMenuTarget int satfindpid; int lastsnr, lastsig; CProgressBar *snrscale, *sigscale; - + bool pbBlinkChange; void paint(); void paintMenu(void); void paintStatus(void); diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 398e6da7e..33d92e5ad 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -68,7 +68,6 @@ #include #include -extern bool pb_blink; extern CPictureViewer * g_PicViewer; #define PIC_W 52 #define PIC_H 39 @@ -3893,7 +3892,7 @@ static off64_t cut_movie(MI_MOVIE_INFO * minfo, CMovieInfo * cmovie) CFrameBuffer * frameBuffer = CFrameBuffer::getInstance(); if (! timescale) - timescale = new CProgressBar(pb_blink, 200, 15, 0, 100, 0); + timescale = new CProgressBar(g_settings.progressbar_color, 200, 15, 0, 100, 0); int dx = 256; int x = (((g_settings.screen_EndX- g_settings.screen_StartX)- dx) / 2) + g_settings.screen_StartX; int y = g_settings.screen_EndY - 50; @@ -4147,7 +4146,7 @@ printf("copy: len %d minute %lld second %lld\n", len, len ? size/len : 511040*60 CFrameBuffer * frameBuffer = CFrameBuffer::getInstance(); if (! timescale) - timescale = new CProgressBar(pb_blink, 200, 15, 0, 100, 0); + timescale = new CProgressBar(g_settings.progressbar_color, 200, 15, 0, 100, 0); int dx = 256; int x = (((g_settings.screen_EndX- g_settings.screen_StartX)- dx) / 2) + g_settings.screen_StartX; int y = g_settings.screen_EndY - 50; diff --git a/src/gui/scan.cpp b/src/gui/scan.cpp index 941a0c34e..519154ec6 100644 --- a/src/gui/scan.cpp +++ b/src/gui/scan.cpp @@ -60,7 +60,6 @@ #include extern cVideo * videoDecoder; extern CFrontend * frontend; -extern bool pb_blink; #define NEUTRINO_SCAN_START_SCRIPT CONFIGDIR "/scan.start" #define NEUTRINO_SCAN_STOP_SCRIPT CONFIGDIR "/scan.stop" @@ -80,9 +79,9 @@ CScanTs::CScanTs() total = done = 0; freqready = 0; - sigscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); - snrscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); - + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + pbBlinkChange = g_settings.progressbar_color; } extern int scan_pids; @@ -115,6 +114,18 @@ int CScanTs::exec(CMenuTarget* /*parent*/, const std::string & actionKey) if(scan_all) scan_mode |= 0xFF00; + if(pbBlinkChange != g_settings.progressbar_color){ + pbBlinkChange = g_settings.progressbar_color; + if(sigscale){ + delete sigscale; + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + } + if(snrscale){ + delete snrscale; + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + } + } + sigscale->reset(); snrscale->reset(); lastsig = lastsnr = -1; diff --git a/src/gui/scan.h b/src/gui/scan.h index ff832efc1..1ef967448 100644 --- a/src/gui/scan.h +++ b/src/gui/scan.h @@ -66,6 +66,7 @@ class CScanTs : public CMenuTarget uint32_t done; int lastsnr, lastsig; CProgressBar *snrscale, *sigscale; + bool pbBlinkChange; void paint(bool fortest = false); void paintLineLocale(int x, int * y, int width, const neutrino_locale_t l); diff --git a/src/gui/streaminfo2.cpp b/src/gui/streaminfo2.cpp index 951546169..f74bcaac4 100644 --- a/src/gui/streaminfo2.cpp +++ b/src/gui/streaminfo2.cpp @@ -56,7 +56,6 @@ extern cAudio * audioDecoder; extern CRemoteControl *g_RemoteControl; /* neutrino.cpp */ extern CZapitClient::SatelliteList satList; -extern bool pb_blink; #if 0 extern CPipSetup * g_Pip0; @@ -138,8 +137,8 @@ int CStreamInfo2::doSignalStrengthLoop () { #define BAR_WIDTH 150 #define BAR_HEIGHT 12 - sigscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); - snrscale = new CProgressBar(pb_blink, BAR_WIDTH, BAR_HEIGHT); + sigscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); + snrscale = new CProgressBar(g_settings.progressbar_color, BAR_WIDTH, BAR_HEIGHT); lastsnr = lastsig = -1; neutrino_msg_t msg; diff --git a/src/gui/timeosd.cpp b/src/gui/timeosd.cpp index 189c1f08c..771a1e0a1 100644 --- a/src/gui/timeosd.cpp +++ b/src/gui/timeosd.cpp @@ -32,7 +32,6 @@ #include static CProgressBar *timescale; -extern bool pb_blink; #define TIMEOSD_FONT SNeutrinoSettings::FONT_TYPE_INFOBAR_CHANNAME #define TIMEBARH 38 @@ -44,7 +43,7 @@ CTimeOSD::CTimeOSD() m_mode=MODE_ASC; GetDimensions(); if (! timescale) - timescale = new CProgressBar(pb_blink, 200, 32, 40, 100, 70, true); + timescale = new CProgressBar(g_settings.progressbar_color, 200, 32, 40, 100, 70, true); } CTimeOSD::~CTimeOSD() diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 87767e0e8..0c331a69a 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -799,6 +799,8 @@ int CNeutrinoApp::loadSetup(const char * fname) strcpy(g_settings.shutdown_count, configfile.getString("shutdown_count","0").c_str()); g_settings.infobar_sat_display = configfile.getBool("infobar_sat_display" , true ); g_settings.infobar_subchan_disp_pos = configfile.getInt32("infobar_subchan_disp_pos" , 0 ); + g_settings.progressbar_color = configfile.getBool("progressbar_color", true ); + g_settings.infobar_show_channellogo = configfile.getInt32("infobar_show_channellogo" , 3 ); //audio g_settings.audio_AnalogMode = configfile.getInt32( "audio_AnalogMode", 0 ); @@ -1298,6 +1300,8 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setString("shutdown_count" , g_settings.shutdown_count); configfile.setBool("infobar_sat_display" , g_settings.infobar_sat_display ); configfile.setInt32("infobar_subchan_disp_pos" , g_settings.infobar_subchan_disp_pos ); + configfile.setBool("progressbar_color" , g_settings.progressbar_color ); + configfile.setInt32("infobar_show_channellogo" , g_settings.infobar_show_channellogo ); //audio configfile.setInt32( "audio_AnalogMode", g_settings.audio_AnalogMode ); @@ -1860,7 +1864,6 @@ printf("CNeutrinoApp::SetChannelMode %d\n", newmode); extern int cnxt_debug; extern int sections_debug; extern int zapit_debug; -bool pb_blink; /* TODO: get rid of global external variable for this */ void CNeutrinoApp::CmdParser(int argc, char **argv) { @@ -1869,7 +1872,6 @@ void CNeutrinoApp::CmdParser(int argc, char **argv) global_argv[i] = argv[i]; global_argv[argc] = NULL; - pb_blink = true; softupdate = false; fromflash = false; @@ -1906,11 +1908,9 @@ void CNeutrinoApp::CmdParser(int argc, char **argv) if (x < argc) yres = atoi(argv[++x]); } - else if (!strcmp(argv[x], "--noblink")) { - pb_blink = false; - } else { + else { dprintf(DEBUG_NORMAL, "Usage: neutrino [-u | --enable-update] [-f | --enable-flash] " - "[-v | --verbose 0..3] [--noblink]\n"); + "[-v | --verbose 0..3]\n"); exit(1); } } @@ -2379,7 +2379,7 @@ int CNeutrinoApp::run(int argc, char **argv) g_EpgData = new CEpgData; g_InfoViewer = new CInfoViewer; g_EventList = new EventList; - g_volscale = new CProgressBar(pb_blink, 200, 15, 50, 100, 80, true); + g_volscale = new CProgressBar(g_settings.progressbar_color, 200, 15, 50, 100, 80, true); g_CamHandler = new CCAMMenuHandler(); g_CamHandler->init(); @@ -2553,7 +2553,7 @@ int CNeutrinoApp::run(int argc, char **argv) hdd->exec(NULL, ""); delete hdd; #endif - + pbBlinkChange = g_settings.progressbar_color; InitZapper(); InitRecordingSettings(recordingSettings); InitStreamingSettings(streamingSettings); @@ -3642,6 +3642,12 @@ void CNeutrinoApp::setVolume(const neutrino_msg_t key, const bool bDoPaint, bool pixbuf = new fb_pixel_t[dx * dy]; if(pixbuf!= NULL) frameBuffer->SaveScreen(x, y, dx, dy, pixbuf); + if(pbBlinkChange != g_settings.progressbar_color){ + pbBlinkChange = g_settings.progressbar_color; + if(g_volscale) + delete g_volscale; + g_volscale = new CProgressBar(g_settings.progressbar_color, 200, 15, 50, 100, 80, true); + } frameBuffer->paintIcon("volume.raw",x,y, 0, COL_INFOBAR); frameBuffer->paintBoxRel (x + 40, y+12, 200, 15, COL_INFOBAR_PLUS_0); diff --git a/src/neutrino.h b/src/neutrino.h index 88f13a846..1dec7d85f 100644 --- a/src/neutrino.h +++ b/src/neutrino.h @@ -134,7 +134,7 @@ private: int current_muted; bool skipShutdownTimer; - + bool pbBlinkChange; CColorSetupNotifier *colorSetupNotifier; CKeySetupNotifier *keySetupNotifier; CNVODChangeExec *NVODChanger; diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp index b740e4da2..02b6f76ee 100644 --- a/src/neutrino_menue.cpp +++ b/src/neutrino_menue.cpp @@ -1552,7 +1552,8 @@ void CNeutrinoApp::InitMiscSettings(CMenuWidget &miscSettings) miscSettings.addItem(GenericMenuSeparatorLine); miscSettings.addItem(new CMenuOptionNumberChooser(LOCALE_FAN_SPEED, &g_settings.fan_speed, true, 1, 14, funNotifier, 0, 0, LOCALE_OPTIONS_OFF) ); funNotifier->changeNotify(NONEXISTANT_LOCALE, (void*) &g_settings.fan_speed); - + CMenuOptionChooser *m1 = new CMenuOptionChooser(LOCALE_PROGRESSBAR_COLOR, &g_settings.progressbar_color, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + miscSettings.addItem(m1); #if 0 CCpuFreqNotifier * cpuNotifier = new CCpuFreqNotifier(); miscSettings.addItem(new CMenuOptionChooser(LOCALE_CPU_FREQ_NORMAL, &g_settings.cpufreq, CPU_FREQ_OPTIONS, CPU_FREQ_OPTION_COUNT, true, cpuNotifier)); diff --git a/src/system/locals.h b/src/system/locals.h index 2b81778a1..d09a032b1 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -855,6 +855,7 @@ typedef enum { LOCALE_PINPROTECTION_HEAD, LOCALE_PINPROTECTION_WRONGCODE, LOCALE_PLUGINS_RESULT, + LOCALE_PROGRESSBAR_COLOR, LOCALE_RCLOCK_LOCKMSG, LOCALE_RCLOCK_MENUEADD, LOCALE_RCLOCK_TITLE, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index aa281ab6a..171d1ee24 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -855,6 +855,7 @@ const char *locale_real_names[] = { "pinprotection.head", "pinprotection.wrongcode", "plugins.result", + "progressbar.color", "rclock.lockmsg", "rclock.menueadd", "rclock.title", diff --git a/src/system/settings.h b/src/system/settings.h index 90b6b994a..6f521ac9d 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -62,6 +62,8 @@ struct SNeutrinoSettings int infobar_subchan_disp_pos; int misc_spts; int fan_speed; + int infobar_show_channellogo; + int progressbar_color; //audio int audio_AnalogMode;