diff --git a/data/locale/english.locale b/data/locale/english.locale index 752d57eb6..66a3d62a3 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1010,8 +1010,10 @@ extra.zapit_write_names Write channel names extra.update_dir Directory for updates extra.zapit_fast_zap fast zap extra.zapit_sort_names Sort ch. by name -extra.zapit_backup Backup channels to /tmp -extra.zapit_restore Restore channels from /tmp +settings.backup Backup all settings +settings.backup_failed Backup failed! +settings.restore Restore all settings +settings.restore_warn This will replace all settings and reboot\nContinue ? pictureviewer.decode_server_ip decode server ip pictureviewer.decode_server_port decode server port scants.abort_body Should the search really be aborted? @@ -1134,7 +1136,7 @@ moviebrowser.head_playlist Last played: moviebrowser.head_recordlist Last recorded: moviebrowser.hint_jumpbackward Jump back in 5 s\n '0' to cancel moviebrowser.hint_jumpforward Jump forward in 5 s\n '0' to cancel -moviebrowser.hint_movieend Filmende in 5 s\n '0' zum weitersehen +moviebrowser.hint_movieend Film end in 5 s\n '0' to cancel moviebrowser.hint_newbook_backward New jump back\n 'blue' for endposition moviebrowser.hint_newbook_forward New jump forward\n 'blue' for endposition moviebrowser.info_audio Audio @@ -1142,7 +1144,7 @@ moviebrowser.info_channel Channel moviebrowser.info_filename Name moviebrowser.info_genre_major Genre moviebrowser.info_genre_minor Genre -moviebrowser.info_head Film Informationen +moviebrowser.info_head Film Information moviebrowser.info_info1 Info 1 moviebrowser.info_length Length (Min) moviebrowser.info_parental_lockage Parental Lock age diff --git a/data/scripts/backup.sh b/data/scripts/backup.sh new file mode 100755 index 000000000..08966390b --- /dev/null +++ b/data/scripts/backup.sh @@ -0,0 +1,5 @@ +#!/bin/sh +DATE=`date +%Y-%m-%d-%H:%M:%S` +echo Backup to $1/settings_$DATE.tar +cd /var/tuxbox/ +tar cf $1/settings_$DATE.tar config/ diff --git a/data/scripts/restore.sh b/data/scripts/restore.sh new file mode 100755 index 000000000..f725f7c07 --- /dev/null +++ b/data/scripts/restore.sh @@ -0,0 +1,7 @@ +#!/bin/sh +echo Restore settings from $1 +cd /var/tuxbox +tar xf $1 +sync +sync +reboot -f diff --git a/src/driver/framebuffer.h b/src/driver/framebuffer.h index b7665a7f7..b7af455b1 100644 --- a/src/driver/framebuffer.h +++ b/src/driver/framebuffer.h @@ -37,21 +37,15 @@ typedef struct fb_var_screeninfo t_fb_var_screeninfo; -#if 1 #define CORNER_TOP_LEFT 0x1 #define CORNER_TOP_RIGHT 0x2 -#define CORNER_TOP 0x3 +#define CORNER_TOP 0x3 #define CORNER_BOTTOM_RIGHT 0x4 #define CORNER_RIGHT 0x6 #define CORNER_BOTTOM_LEFT 0x8 -#define CORNER_LEFT 0x9 +#define CORNER_LEFT 0x9 #define CORNER_BOTTOM 0xC #define CORNER_ALL 0xF -#else -#define CORNER_TOP 0x1 -#define CORNER_BOTTOM 0x2 -#define CORNER_BOTH 0x3 -#endif #define FADE_TIME 10000 #define FADE_STEP 5 diff --git a/src/gui/Makefile.am b/src/gui/Makefile.am index 3d69288b0..7795cbbed 100644 --- a/src/gui/Makefile.am +++ b/src/gui/Makefile.am @@ -5,9 +5,9 @@ BUILT_SOURCES = svn_version.h svn_version.h: @if test -d .svn ; then \ - sleep 180 && rm svn_version.h & echo "#define SVNVERSION \"$$(svnversion -n || echo svn_oops!)\" " > svn_version.h ; \ + rm svn_version.h; echo "#define SVNVERSION \"$$(svnversion -n || echo svn_oops!)\" " > svn_version.h ; \ else \ - sleep 180 && rm svn_version.h & echo '#define BUILT_DATE "'`date`'"' > svn_version.h ; \ + rm svn_version.h; echo '#define BUILT_DATE "'`date`'"' > svn_version.h ; \ fi noinst_HEADERS = svn_version.h diff --git a/src/gui/bouquetlist.cpp b/src/gui/bouquetlist.cpp index b44d93552..892c3edb4 100644 --- a/src/gui/bouquetlist.cpp +++ b/src/gui/bouquetlist.cpp @@ -226,6 +226,7 @@ int CBouquetList::doMenu() return 0; CMenuWidget* menu = new CMenuWidget(LOCALE_CHANNELLIST_EDIT, NEUTRINO_ICON_SETTINGS); + menu->enableFade(false); CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); sprintf(cnt, "%d", i); diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 2f2bed520..554bcedfe 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -330,6 +330,7 @@ int CChannelList::doChannelMenu(void) } CMenuWidget* menu = new CMenuWidget(LOCALE_CHANNELLIST_EDIT, NEUTRINO_ICON_SETTINGS); + menu->enableFade(false); CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); sprintf(cnt, "%d", i); diff --git a/src/gui/epgplus.cpp b/src/gui/epgplus.cpp index 1f8b49376..4b6f3a584 100644 --- a/src/gui/epgplus.cpp +++ b/src/gui/epgplus.cpp @@ -114,7 +114,7 @@ void EpgPlus::Header::init () void EpgPlus::Header::paint () { - this->frameBuffer->paintBoxRel (this->x, this->y, this->width, this->font->getHeight (), COL_MENUHEAD_PLUS_0); + this->frameBuffer->paintBoxRel (this->x, this->y, this->width, this->font->getHeight (), COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP); this->font->RenderString (this->x + 10, this->y + this->font->getHeight () , this->width - 20, g_Locale->getText (LOCALE_EPGPLUS_HEAD) , COL_MENUHEAD, 0, true); } @@ -491,7 +491,7 @@ void EpgPlus::Footer::paintButtons (button_label * pbuttonLabels, int numberOfBu int buttonWidth = (this->width - 20) / 4; int yPos = this->y + this->getUsedHeight (); - this->frameBuffer->paintBoxRel (this->x, yPos, this->width, buttonHeight, COL_MENUHEAD_PLUS_0); + this->frameBuffer->paintBoxRel (this->x, yPos, this->width, buttonHeight, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM); ::paintButtons (this->frameBuffer, this->fontButtons, g_Locale, this->x + 10, yPos, buttonWidth, buttonHeight, numberOfButtons, pbuttonLabels); @@ -948,6 +948,7 @@ int EpgPlus::exec (CChannelList * pchannelList, int selectedChannelIndex, CBouqu } } else if (msg == (neutrino_msg_t) CRCInput::RC_red) { CMenuWidget menuWidgetActions(LOCALE_EPGPLUS_ACTIONS, NEUTRINO_ICON_FEATURES); + menuWidgetActions.enableFade(false); if (!g_settings.minimode) menuWidgetActions.addItem (new CMenuForwarder (LOCALE_EPGPLUS_RECORD, true, NULL, new MenuTargetAddRecordTimer (this), NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED), false); menuWidgetActions.addItem (new CMenuForwarder (LOCALE_EPGPLUS_REFRESH_EPG, true, NULL, new MenuTargetRefreshEpg (this), NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN), false); @@ -959,6 +960,7 @@ int EpgPlus::exec (CChannelList * pchannelList, int selectedChannelIndex, CBouqu } else if (msg == (neutrino_msg_t) CRCInput::RC_blue) { CMenuWidget menuWidgetOptions(LOCALE_EPGPLUS_OPTIONS, NEUTRINO_ICON_FEATURES); + menuWidgetOptions.enableFade(false); menuWidgetOptions.addItem (new MenuOptionChooserSwitchSwapMode (this)); menuWidgetOptions.addItem (new MenuOptionChooserSwitchViewMode (this)); @@ -1222,7 +1224,8 @@ std::string EpgPlus::getTimeString (const time_t & time, const std::string & for void EpgPlus::paint () { // clear - this->frameBuffer->paintBackgroundBoxRel (this->channelsTableX, this->channelsTableY, this->usableScreenWidth, this->channelsTableHeight); + //this->frameBuffer->paintBackgroundBoxRel (this->channelsTableX, this->channelsTableY, this->usableScreenWidth, this->channelsTableHeight); + this->frameBuffer->paintBoxRel (this->channelsTableX, this->channelsTableY, this->usableScreenWidth, this->channelsTableHeight, COL_MENUCONTENT_PLUS_0); // paint the gaps this->frameBuffer->paintBoxRel (this->horGap1X, this->horGap1Y, this->horGap1Width, horGap1Height, horGap1Color); diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 0f8a49ea0..a39b3bbf0 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -563,6 +563,20 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam { loop= false; } + else if (msg == CRCInput::RC_0) { + hide(); + + CTimerList *Timerlist = new CTimerList; + Timerlist->exec(NULL, ""); + delete Timerlist; + timerlist.clear(); + g_Timerd->getTimerList (timerlist); + + paintHead(channel_id, name); + paint(channel_id); + showFunctionBar(true); + timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]); + } else if (msg == CRCInput::RC_epg) { hide(); diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index d996801ba..8dfb5fc03 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -3037,6 +3037,7 @@ int CMovieBrowser::showStartPosSelectionMenu(void) // P2 char book[MI_MOVIE_BOOK_USER_MAX][20]; CMenuWidgetSelection startPosSelectionMenu(LOCALE_MOVIEBROWSER_START_HEAD , NEUTRINO_ICON_STREAMING); + startPosSelectionMenu.enableFade(false); startPosSelectionMenu.addItem(GenericMenuSeparator); diff --git a/src/gui/sleeptimer.cpp b/src/gui/sleeptimer.cpp index 749158746..a849a0e46 100644 --- a/src/gui/sleeptimer.cpp +++ b/src/gui/sleeptimer.cpp @@ -50,7 +50,7 @@ extern CRemoteControl * g_RemoteControl; /* neutrino.cpp */ int CSleepTimerWidget::exec(CMenuTarget* parent, const std::string &) { - int res = menu_return::RETURN_EXIT_ALL; + int res = menu_return::RETURN_REPAINT; int shutdown_min = 0; char value[16]; CStringInput *inbox; @@ -72,11 +72,15 @@ int CSleepTimerWidget::exec(CMenuTarget* parent, const std::string &) } inbox = new CStringInput(LOCALE_SLEEPTIMERBOX_TITLE, value, 3, LOCALE_SLEEPTIMERBOX_HINT1, LOCALE_SLEEPTIMERBOX_HINT2, "0123456789 "); - inbox->exec (NULL, ""); - inbox->hide (); + int ret = inbox->exec (NULL, ""); + inbox->hide (); delete inbox; + /* exit pressed, cancel timer setup */ + if(ret == menu_return::RETURN_EXIT_REPAINT) + return res; + int new_val = atoi(value); if(shutdown_min != new_val) { shutdown_min = new_val; diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index eebd968b1..f326a5157 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -84,6 +84,7 @@ CMenuWidget::CMenuWidget() iconOffset = 0; offx = offy = 0; from_wizard = false; + fade = true; } CMenuWidget::CMenuWidget(const neutrino_locale_t Name, const std::string & Icon, const int mwidth, const int mheight) @@ -125,6 +126,7 @@ void CMenuWidget::Init(const std::string & Icon, const int mwidth, const int /*m current_page=0; offx = offy = 0; from_wizard = false; + fade = true; } void CMenuWidget::move(int xoff, int yoff) @@ -177,7 +179,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) height = frameBuffer->getScreenHeight() / 20 * 18; /* make sure its a multiple of 2 */ wanted_height = height; - bool fadeIn = g_settings.widget_fade; + bool fadeIn = g_settings.widget_fade && fade; bool fadeOut = false; uint32_t fadeTimer = 0; int fadeValue = g_settings.menu_Content_alpha; @@ -375,6 +377,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) msg = CRCInput::RC_timeout; break; case menu_return::RETURN_REPAINT: + case menu_return::RETURN_EXIT_REPAINT: paint(); break; } @@ -413,7 +416,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) fadeTimer = 0; fadeIn = false; } - if ((!fadeOut) && g_settings.widget_fade) { + if ((!fadeOut) && g_settings.widget_fade && fade) { fadeOut = true; fadeTimer = g_RCInput->addTimer( FADE_TIME, false ); timeoutEnd = CRCInput::calcTimeoutEnd( 1 ); @@ -455,7 +458,7 @@ int CMenuWidget::exec(CMenuTarget* parent, const std::string &) void CMenuWidget::hide() { - frameBuffer->paintBackgroundBoxRel(x, y, width+15,height+10 ); + frameBuffer->paintBackgroundBoxRel(x, y, width+15+SHADOW_OFFSET,height+10+SHADOW_OFFSET); } void CMenuWidget::paint() @@ -557,6 +560,7 @@ void CMenuWidget::paint() } //frameBuffer->paintBoxRel(x,y, width+sb_width,hheight, COL_MENUHEAD_PLUS_0); + frameBuffer->paintBoxRel(x+SHADOW_OFFSET, y+SHADOW_OFFSET, width+sb_width, height, COL_MENUCONTENTDARK_PLUS_0, RADIUS_LARGE); //FIXME rounded frameBuffer->paintBoxRel(x, y, width+sb_width, hheight, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP); //FIXME rounded g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->RenderString(x+38,y+hheight+1, width-40, l_name, COL_MENUHEAD, 0, true); // UTF-8 diff --git a/src/gui/widget/menue.h b/src/gui/widget/menue.h index 47d1ac869..56659e8b7 100644 --- a/src/gui/widget/menue.h +++ b/src/gui/widget/menue.h @@ -47,7 +47,8 @@ struct menu_return RETURN_NONE = 0, RETURN_REPAINT = 1, RETURN_EXIT = 2, - RETURN_EXIT_ALL = 4 + RETURN_EXIT_ALL = 4, + RETURN_EXIT_REPAINT = 5 }; }; @@ -64,14 +65,12 @@ class CChangeObserver class CMenuTarget { public: - CMenuTarget(){} virtual ~CMenuTarget(){} virtual void hide(){} virtual int exec(CMenuTarget* parent, const std::string & actionKey) = 0; }; - class CMenuItem { protected: @@ -347,9 +346,10 @@ class CMenuWidget : public CMenuTarget unsigned int total_pages; bool exit_pressed; bool from_wizard; + bool fade; + void Init(const std::string & Icon, const int mwidth, const int mheight); virtual void paintItems(); - public: CMenuWidget(); /* TODO: mheight is not used anymore. remove if nobody misses it */ @@ -368,6 +368,7 @@ class CMenuWidget : public CMenuTarget void move(int xoff, int yoff); int getSelectedLine(void){return exit_pressed ? -1 : selected;}; void setWizardMode(bool _from_wizard) { from_wizard = _from_wizard;}; + void enableFade(bool _enable) { fade = _enable; }; }; class CPINProtection diff --git a/src/gui/widget/stringinput.cpp b/src/gui/widget/stringinput.cpp index 68fa32cc4..915a2104e 100644 --- a/src/gui/widget/stringinput.cpp +++ b/src/gui/widget/stringinput.cpp @@ -412,6 +412,7 @@ int CStringInput::exec( CMenuTarget* parent, const std::string & ) strncpy(value, oldval, size); loop=false; + res = menu_return::RETURN_EXIT_REPAINT; } else if ((msg ==CRCInput::RC_sat) || (msg == CRCInput::RC_favorites)) { diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 95f1b7760..520cc8b65 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -4722,6 +4722,41 @@ printf("New timeshift dir: %s\n", timeshiftDir); { g_Sectionsd->freeMemory(); } + else if(actionKey == "backup") { + if(parent) + parent->hide(); + CFileBrowser fileBrowser; + fileBrowser.Dir_Mode = true; + if (fileBrowser.exec("/media") == true) { + char fname[256]; + struct statfs s; + int ret = ::statfs(fileBrowser.getSelectedFile()->Name.c_str(), &s); + if(ret == 0 && s.f_type != 0x72b6L) { /*jffs2*/ + sprintf(fname, "/bin/backup.sh %s", fileBrowser.getSelectedFile()->Name.c_str()); + printf("backup: executing [%s]\n", fname); + system(fname); + } else + ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, g_Locale->getText(LOCALE_SETTINGS_BACKUP_FAILED), + CMessageBox::mbrBack, CMessageBox::mbBack, NEUTRINO_ICON_ERROR); + } + } + else if(actionKey == "restore") { + if(parent) + parent->hide(); + CFileBrowser fileBrowser; + CFileFilter fileFilter; + fileFilter.addFilter("tar"); + fileBrowser.Filter = &fileFilter; + if (fileBrowser.exec("/media") == true) { + int result = ShowMsgUTF(LOCALE_SETTINGS_RESTORE, g_Locale->getText(LOCALE_SETTINGS_RESTORE_WARN), CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo); + if(result == CMessageBox::mbrYes) { + char fname[256]; + sprintf(fname, "/bin/restore.sh %s", fileBrowser.getSelectedFile()->Name.c_str()); + printf("restore: executing [%s]\n", fname); + system(fname); + } + } + } return returnval; } diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp index 60210c677..5db092415 100644 --- a/src/neutrino_menue.cpp +++ b/src/neutrino_menue.cpp @@ -818,9 +818,11 @@ void CNeutrinoApp::InitMainMenu(CMenuWidget &mainMenu, CMenuWidget &mainSettings CMenuWidget * mset = new CMenuWidget(LOCALE_MAINSETTINGS_MANAGE, NEUTRINO_ICON_SETTINGS); addMenueIntroItems(*mset); - mset->addItem(new CMenuForwarder(LOCALE_RESET_SETTINGS , true, NULL, resetNotifier, "settings")); + mset->addItem(new CMenuForwarder(LOCALE_RESET_SETTINGS, true, NULL, resetNotifier, "settings")); mset->addItem(new CMenuForwarder(LOCALE_EXTRA_LOADCONFIG, true, NULL, this, "loadconfig")); mset->addItem(new CMenuForwarder(LOCALE_EXTRA_SAVECONFIG, true, NULL, this, "saveconfig")); + mset->addItem(new CMenuForwarder(LOCALE_SETTINGS_BACKUP, true, NULL, this, "backup")); + mset->addItem(new CMenuForwarder(LOCALE_SETTINGS_RESTORE, true, NULL, this, "restore")); mainSettings.addItem(new CMenuForwarder(LOCALE_MAINSETTINGS_MANAGE, true, NULL, mset)); @@ -854,17 +856,6 @@ void CNeutrinoApp::InitMainMenu(CMenuWidget &mainMenu, CMenuWidget &mainSettings mainSettings.addItem(new CMenuForwarder(LOCALE_HDD_SETTINGS, true, NULL, new CHDDMenuHandler())); //mainSettings.addItem(new CMenuForwarder(LOCALE_CAM_SETTINGS, true, NULL, g_CamHandler)); -#if 0 - CMenuWidget * mset = new CMenuWidget(LOCALE_MAINSETTINGS_MANAGE, NEUTRINO_ICON_SETTINGS); - addMenueIntroItems(*mset); - - mainSettings.addItem(new CMenuSeparator(CMenuSeparator::LINE)); - mset->addItem(new CMenuForwarder(LOCALE_RESET_SETTINGS , true, NULL, resetNotifier, "settings")); - mset->addItem(new CMenuForwarder(LOCALE_EXTRA_LOADCONFIG, true, NULL, this, "loadconfig")); - mset->addItem(new CMenuForwarder(LOCALE_EXTRA_SAVECONFIG, true, NULL, this, "saveconfig")); - - mainSettings.addItem(new CMenuForwarder(LOCALE_MAINSETTINGS_MANAGE, true, NULL, mset)); -#endif #ifdef TEST_MENU mainMenu.addItem(new CMenuForwarderNonLocalized("Test menu", true, NULL, TestMenu)); #endif @@ -2431,13 +2422,6 @@ void CNeutrinoApp::InitFontSettings(CMenuWidget &fontSettings) fontSettings.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_FONTMENU_SIZES)); //fontSettings.addItem( new CMenuForwarder(LOCALE_EPGPLUS_SELECT_FONT_NAME, true, NULL, this, "select_font")); -#if 0 - AddFontSettingItem(fontSettings, SNeutrinoSettings::FONT_TYPE_MENU); - AddFontSettingItem(fontSettings, SNeutrinoSettings::FONT_TYPE_MENU_TITLE); - AddFontSettingItem(fontSettings, SNeutrinoSettings::FONT_TYPE_MENU_INFO); - fontSettings.addItem(GenericMenuSeparatorLine); -#endif - for (int i = 0; i < 6; i++) { CMenuWidget * fontSettingsSubMenu = new CMenuWidget(font_sizes_groups[i].groupname, NEUTRINO_ICON_COLORS); @@ -2451,7 +2435,6 @@ void CNeutrinoApp::InitFontSettings(CMenuWidget &fontSettings) fontSettings.addItem(new CMenuForwarder(font_sizes_groups[i].groupname, true, NULL, fontSettingsSubMenu)); } - //AddFontSettingItem(fontSettings, SNeutrinoSettings::FONT_TYPE_FILEBROWSER_ITEM); //fontSettings.addItem(GenericMenuSeparatorLine); //fontSettings.addItem(new CMenuForwarder(LOCALE_OPTIONS_DEFAULT, true, NULL, this, font_sizes_groups[5].actionkey)); diff --git a/src/system/locals.h b/src/system/locals.h index 79c21358b..c5f3b6342 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1289,8 +1289,10 @@ typedef enum { LOCALE_RESET_SETTINGS, LOCALE_RESET_ALL, LOCALE_RESET_CONFIRM, - LOCALE_EXTRA_ZAPIT_BACKUP, - LOCALE_EXTRA_ZAPIT_RESTORE, + LOCALE_SETTINGS_BACKUP, + LOCALE_SETTINGS_BACKUP_FAILED, + LOCALE_SETTINGS_RESTORE, + LOCALE_SETTINGS_RESTORE_WARN, LOCALE_EXTRA_ADD_TO_BOUQUET, LOCALE_EXTRA_KEY_LIST_START, LOCALE_EXTRA_KEY_LIST_END, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index dc0c7e01c..0b4cdafa8 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1289,8 +1289,10 @@ const char *locale_real_names[] = { "reset_settings", "reset_all", "reset_confirm", - "extra.zapit_backup", - "extra.zapit_restore", + "settings.backup", + "settings.backup_failed", + "settings.restore", + "settings.restore_warn", "extra.add_to_bouquet", "extra.key_list_start", "extra.key_list_end",