diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale
index d2ed76ff5..bbe4b9981 100644
--- a/data/locale/deutsch.locale
+++ b/data/locale/deutsch.locale
@@ -390,6 +390,32 @@ crossteam.hint_settings_teams Einstellungen sichern und wiederherstellen,\ndie z
crossteam.hint_settings_teams_backup Team-übergreifende Einstellungen sichern
crossteam.hint_settings_teams_help Hilfe zu den Team-übergreifenden Einstellungen
crossteam.hint_settings_teams_restore Team-übergreifende Einstellungen wiederherstellen
+daemon_control Daemon-Steuerung
+daemon_item.crond_desc cron Daemon kann zeitgesteuerte Aufgaben ausführen
+daemon_item.crond_name crond
+daemon_item.djmount_desc UPnP AV Client kann den Inhalt von Media-Servern mounten
+daemon_item.djmount_name djmount
+daemon_item.dropbear_desc SSH2 Server und Client
+daemon_item.dropbear_name Dropbear
+daemon_item.emmremind_desc Zeigt eine Änderung der EMM's in den Infoicons an
+daemon_item.emmremind_name EMM-Änderungsbenachrichtigung
+daemon_item.fcm_desc Zeigt die Anrufliste der FRITZ!Box und noch vieles mehr ...
+daemon_item.fcm_name FritzCallMonitor
+daemon_item.inadyn_desc DynDNS Client
+daemon_item.inadyn_name Inadyn
+daemon_item.nfsserver_desc NFS Kernel Server
+daemon_item.nfsserver_name NFS-Server
+daemon_item.sambaserver_desc Server-Message-Block-Protokoll (SMB) Implementierung
+daemon_item.sambaserver_name Samba-Server
+daemon_item.tuxcald_desc Kalenderplugin Dienstprogramm
+daemon_item.tuxcald_name TuxCal
+daemon_item.tuxmaild_desc Mailplugin (IMAP/SMTP) Dienstprogramm
+daemon_item.tuxmaild_name TuxMail
+daemon_item.ushare_desc A/V und DLNA Medienserver
+daemon_item.ushare_name uShare
+daemon_item.xupnpd_desc eXtensible UPnP agent - DLNA Medienserver für IPTV
+daemon_item.xupnpd_name xupnpd
+>>>>>>>
date.Apr Apr
date.Aug Aug
date.Dec Dez
@@ -1172,6 +1198,7 @@ menu.hint_colors Konfigurieren Sie die Menü-Farben
menu.hint_colors_shadow Einstellen der Schattenfarbe
menu.hint_content_back Ändern Sie die Hintergrundfarbe für den Fensterinhalt
menu.hint_content_textcolor Ändern Sie die Textfarbe für den Fensterinhalt
+menu.hint_daemon_control An- und Abschalten von System-Diensten
menu.hint_dboxinfo Informationen über CPU und Arbeitsspeicher der Box
menu.hint_delete_channels Löschen aller Kanäle
menu.hint_delete_removed Lösche das Bouquet 'Gelöschte Kanäle'
@@ -2283,30 +2310,6 @@ pinprotection.head PIN-Abfrage
pinprotection.wrongcode Geben Sie den Code nocheinmal ein!
plugin.hide_no Anzeigen
plugin.hide_yes Verstecken
-plugin.item_crond_desc cron Daemon kann zeitgesteuerte Aufgaben ausführen
-plugin.item_crond_name crond
-plugin.item_djmount_desc UPnP AV Client kann den Inhalt von Media-Servern mounten
-plugin.item_djmount_name djmount
-plugin.item_dropbear_desc SSH2 Server und Client
-plugin.item_dropbear_name Dropbear
-plugin.item_emmremind_desc Zeigt eine Änderung der EMM's in den Infoicons an
-plugin.item_emmremind_name EMM-Änderungsbenachrichtigung
-plugin.item_fcm_desc Zeigt die Anrufliste der FRITZ!Box und noch vieles mehr ...
-plugin.item_fcm_name FritzCallMonitor
-plugin.item_inadyn_desc DynDNS Client
-plugin.item_inadyn_name Inadyn
-plugin.item_nfsserver_desc NFS Kernel Server
-plugin.item_nfsserver_name NFS-Server
-plugin.item_sambaserver_desc Server-Message-Block-Protokoll (SMB) Implementierung
-plugin.item_sambaserver_name Samba-Server
-plugin.item_tuxcald_desc Kalenderplugin
-plugin.item_tuxcald_name TuxCal
-plugin.item_tuxmaild_desc Mailplugin (IMAP/SMTP)
-plugin.item_tuxmaild_name TuxMail
-plugin.item_ushare_desc A/V und DLNA Medienserver
-plugin.item_ushare_name uShare
-plugin.item_xupnpd_desc eXtensible UPnP agent - DLNA Medienserver für IPTV
-plugin.item_xupnpd_name xupnpd
plugins.control Plugins und Services verwalten
plugins.hdd_dir Externes Plugin-Verz.
plugins.hide Plugins verstecken oder anzeigen
diff --git a/data/locale/english.locale b/data/locale/english.locale
index 57e4f4020..fc483870d 100644
--- a/data/locale/english.locale
+++ b/data/locale/english.locale
@@ -390,6 +390,31 @@ crossteam.hint_settings_teams Save and restore settings, which\nare compatible w
crossteam.hint_settings_teams_backup Save cross-team settings
crossteam.hint_settings_teams_help Help about cross-team settings
crossteam.hint_settings_teams_restore Restore cross-team settings
+daemon_control Daemon control
+daemon_item.crond_desc Cron daemon allows scheduled tasks
+daemon_item.crond_name crond
+daemon_item.djmount_desc UPnP AV client allows to mount media-servers
+daemon_item.djmount_name djmount
+daemon_item.dropbear_desc SSH2 server and client
+daemon_item.dropbear_name Dropbear
+daemon_item.emmremind_desc Show different EMM's in the Infoicons
+daemon_item.emmremind_name EMM-Change Notification
+daemon_item.fcm_desc Shows FRITZ!Box call list and much more ...
+daemon_item.fcm_name FritzCallMonitor
+daemon_item.inadyn_desc DynDNS client
+daemon_item.inadyn_name Inadyn
+daemon_item.nfsserver_desc NFS kernel server
+daemon_item.nfsserver_name NFS server
+daemon_item.sambaserver_desc Server-Message-Block-Protocol (SMB) implementation
+daemon_item.sambaserver_name Samba server
+daemon_item.tuxcald_desc Calender plugin daemon
+daemon_item.tuxcald_name TuxCal
+daemon_item.tuxmaild_desc Mailplugin (IMAP/SMTP) daemon
+daemon_item.tuxmaild_name TuxMail
+daemon_item.ushare_desc A/V and DLNA Mediaserver
+daemon_item.ushare_name uShare
+daemon_item.xupnpd_desc eXtensible UPnP agent - DLNA Mediaserver for IPTV
+daemon_item.xupnpd_name xupnpd
date.Apr Apr
date.Aug Aug
date.Dec Dec
@@ -1172,6 +1197,7 @@ menu.hint_colors Configure GUI colors
menu.hint_colors_shadow Setup for shadow color.
menu.hint_content_back Change GUI window background color
menu.hint_content_textcolor Change GUI window text color
+menu.hint_daemon_control Start and stop system-daemons
menu.hint_dboxinfo Information about box cpu and storage
menu.hint_delete_channels Remove all channels
menu.hint_delete_removed Delete the channels in the 'Removed channels' boquet
@@ -2283,30 +2309,6 @@ pinprotection.head Enter PIN code
pinprotection.wrongcode PIN-Code was wrong! Try again.
plugin.hide_no Show
plugin.hide_yes Hide
-plugin.item_crond_desc Cron daemon allows scheduled tasks
-plugin.item_crond_name crond
-plugin.item_djmount_desc UPnP AV Client allows to mount media-servers
-plugin.item_djmount_name djmount
-plugin.item_dropbear_desc SSH2 server und client
-plugin.item_dropbear_name Dropbear
-plugin.item_emmremind_desc Display different EMM's to the Infoicons
-plugin.item_emmremind_name EMM-Change Notification
-plugin.item_fcm_desc Shows FRITZ!Box call list and much more ...
-plugin.item_fcm_name FritzCallMonitor
-plugin.item_inadyn_desc DynDNS client
-plugin.item_inadyn_name Inadyn
-plugin.item_nfsserver_desc NFS kernel server
-plugin.item_nfsserver_name NFS-Server
-plugin.item_sambaserver_desc Server-Message-Block-Protokoll (SMB) implementation
-plugin.item_sambaserver_name Samba-Server
-plugin.item_tuxcald_desc Calender-plugin
-plugin.item_tuxcald_name TuxCal
-plugin.item_tuxmaild_desc Mailplugin (IMAP/SMTP)
-plugin.item_tuxmaild_name TuxMail
-plugin.item_ushare_desc A/V and DLNA Mediaserver
-plugin.item_ushare_name uShare
-plugin.item_xupnpd_desc eXtensible UPnP agent - DLNA Mediaserver for IPTV
-plugin.item_xupnpd_name xupnpd
plugins.control Control plugins and services
plugins.hdd_dir Plugin HDD dir.
plugins.hide Hide or show plugins
diff --git a/src/gui/Makefile.am b/src/gui/Makefile.am
index fedf79f07..9aa86f29e 100644
--- a/src/gui/Makefile.am
+++ b/src/gui/Makefile.am
@@ -54,6 +54,7 @@ libneutrino_gui_a_SOURCES = \
buildinfo.cpp \
channellist.cpp \
cec_setup.cpp \
+ daemon_control.cpp \
dboxinfo.cpp \
epgplus.cpp \
epgview.cpp \
diff --git a/src/gui/daemon_control.cpp b/src/gui/daemon_control.cpp
new file mode 100644
index 000000000..aaac9e07a
--- /dev/null
+++ b/src/gui/daemon_control.cpp
@@ -0,0 +1,109 @@
+/*
+ daemon_control
+
+ (C) 2017 NI-Team
+
+ License: GPL
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifdef HAVE_CONFIG_H
+#include
+#endif
+
+#include
+
+#include
+
+#include
+#include
+#include
+
+#include
+
+CDaemonControlMenu::CDaemonControlMenu()
+{
+ width = 40;
+}
+
+CDaemonControlMenu::~CDaemonControlMenu()
+{
+}
+
+int CDaemonControlMenu::exec(CMenuTarget* parent, const std::string & /*actionKey*/)
+{
+ if (parent)
+ parent->hide();
+
+ return show();
+}
+
+typedef struct daemons_data_t
+{
+ neutrino_locale_t name;
+ neutrino_locale_t desc;
+ const char * icon;
+ const char * flag;
+ int daemon_exist; // currently unused
+ int flag_exist;
+}
+daemons_data_struct;
+
+daemons_data_t daemons_data[]=
+{
+ {LOCALE_DAEMON_ITEM_FCM_NAME, LOCALE_DAEMON_ITEM_FCM_DESC, NEUTRINO_ICON_HINT_FCM, "fritzcallmonitor", 0 ,0},
+ {LOCALE_DAEMON_ITEM_NFSSERVER_NAME, LOCALE_DAEMON_ITEM_NFSSERVER_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "nfsd", 0 ,0},
+ {LOCALE_DAEMON_ITEM_SAMBASERVER_NAME, LOCALE_DAEMON_ITEM_SAMBASERVER_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "samba", 0 ,0},
+ {LOCALE_DAEMON_ITEM_TUXCALD_NAME, LOCALE_DAEMON_ITEM_TUXCALD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "tuxcald", 0 ,0},
+ {LOCALE_DAEMON_ITEM_TUXMAILD_NAME, LOCALE_DAEMON_ITEM_TUXMAILD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "tuxmaild", 0 ,0},
+ {LOCALE_DAEMON_ITEM_EMMREMIND_NAME, LOCALE_DAEMON_ITEM_EMMREMIND_DESC, NEUTRINO_ICON_HINT_EMMRD, "emmrd", 0 ,0},
+ {LOCALE_DAEMON_ITEM_INADYN_NAME, LOCALE_DAEMON_ITEM_INADYN_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "inadyn", 0 ,0},
+ {LOCALE_DAEMON_ITEM_DROPBEAR_NAME, LOCALE_DAEMON_ITEM_DROPBEAR_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "dropbear", 0 ,0},
+ {LOCALE_DAEMON_ITEM_DJMOUNT_NAME, LOCALE_DAEMON_ITEM_DJMOUNT_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "djmount", 0 ,0},
+ {LOCALE_DAEMON_ITEM_USHARE_NAME, LOCALE_DAEMON_ITEM_USHARE_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "ushare", 0 ,0},
+ {LOCALE_DAEMON_ITEM_XUPNPD_NAME, LOCALE_DAEMON_ITEM_XUPNPD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "xupnpd", 0 ,0},
+ {LOCALE_DAEMON_ITEM_CROND_NAME, LOCALE_DAEMON_ITEM_CROND_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "crond", 0 ,0}
+};
+#define DAEMONS_COUNT (sizeof(daemons_data)/sizeof(struct daemons_data_t))
+
+int CDaemonControlMenu::show()
+{
+ int daemon_shortcut = 0;
+
+ std::ostringstream buf;
+
+ CMenuWidget* daemonControlMenu = new CMenuWidget(LOCALE_DAEMON_CONTROL, NEUTRINO_ICON_SETTINGS, width, MN_WIDGET_ID_PLUGINS_HIDE);
+ daemonControlMenu->addIntroItems();
+
+ CMenuOptionChooser *mc;
+ for (unsigned int i = 0; i < DAEMONS_COUNT; i++)
+ {
+ buf.str("");
+ buf << FLAGDIR << "/." << daemons_data[i].flag;
+ const char *flagfile = buf.str().c_str();
+
+ daemons_data[i].flag_exist = file_exists(flagfile);
+
+ CFlagFileNotifier * flagFileNotifier = new CFlagFileNotifier(daemons_data[i].flag);
+
+ mc = new CMenuOptionChooser(daemons_data[i].name, &daemons_data[i].flag_exist, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, flagFileNotifier, CRCInput::convertDigitToKey(daemon_shortcut++));
+ mc->setHint(daemons_data[i].icon, daemons_data[i].desc);
+ daemonControlMenu->addItem(mc);
+ }
+
+ int res = daemonControlMenu->exec(NULL,"");
+ daemonControlMenu->hide();
+ return res;
+}
diff --git a/src/gui/daemon_control.h b/src/gui/daemon_control.h
new file mode 100644
index 000000000..31db4989c
--- /dev/null
+++ b/src/gui/daemon_control.h
@@ -0,0 +1,42 @@
+/*
+ daemon_control
+
+ (C) 2017 NI-Team
+
+ License: GPL
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef __daemon_control__
+#define __daemon_control__
+
+#include
+
+class CDaemonControlMenu : public CMenuTarget
+{
+ private:
+ int show();
+
+ protected:
+ int width;
+
+ public:
+ CDaemonControlMenu();
+ ~CDaemonControlMenu();
+ int exec(CMenuTarget* parent, const std::string & actionKey);
+};
+
+
+#endif
diff --git a/src/gui/ni_menu.cpp b/src/gui/ni_menu.cpp
index d574d54d3..7c0d3c830 100644
--- a/src/gui/ni_menu.cpp
+++ b/src/gui/ni_menu.cpp
@@ -73,33 +73,6 @@ emu_menu_data_t emu_menu[]=
};
#define MAXEMU (sizeof(emu_menu)/sizeof(struct emu_menu_data_t))
-typedef struct plugin_menu_data_t
-{
- neutrino_locale_t name;
- neutrino_locale_t desc;
- const char * icon;
- const char * flag;
- int plugin_exist;
- int flag_exist;
-} plugin_menu_data_struct;
-
-plugin_menu_data_t plugin_menu[]=
-{
- {LOCALE_PLUGIN_ITEM_FCM_NAME, LOCALE_PLUGIN_ITEM_FCM_DESC, NEUTRINO_ICON_HINT_FCM, "fritzcallmonitor", 0, 0},
- {LOCALE_PLUGIN_ITEM_NFSSERVER_NAME, LOCALE_PLUGIN_ITEM_NFSSERVER_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "nfsd", 0, 0},
- {LOCALE_PLUGIN_ITEM_SAMBASERVER_NAME, LOCALE_PLUGIN_ITEM_SAMBASERVER_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "samba", 0, 0},
- {LOCALE_PLUGIN_ITEM_TUXCALD_NAME, LOCALE_PLUGIN_ITEM_TUXCALD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "tuxcald", 0, 0},
- {LOCALE_PLUGIN_ITEM_TUXMAILD_NAME, LOCALE_PLUGIN_ITEM_TUXMAILD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "tuxmaild", 0, 0},
- {LOCALE_PLUGIN_ITEM_EMMREMIND_NAME, LOCALE_PLUGIN_ITEM_EMMREMIND_DESC, NEUTRINO_ICON_HINT_EMMRD, "emmrd", 0, 0},
- {LOCALE_PLUGIN_ITEM_INADYN_NAME, LOCALE_PLUGIN_ITEM_INADYN_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "inadyn", 0, 0},
- {LOCALE_PLUGIN_ITEM_DROPBEAR_NAME, LOCALE_PLUGIN_ITEM_DROPBEAR_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "dropbear", 0, 0},
- {LOCALE_PLUGIN_ITEM_DJMOUNT_NAME, LOCALE_PLUGIN_ITEM_DJMOUNT_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "djmount", 0, 0},
- {LOCALE_PLUGIN_ITEM_USHARE_NAME, LOCALE_PLUGIN_ITEM_USHARE_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "ushare", 0, 0},
- {LOCALE_PLUGIN_ITEM_XUPNPD_NAME, LOCALE_PLUGIN_ITEM_XUPNPD_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "xupnpd", 0, 0},
- {LOCALE_PLUGIN_ITEM_CROND_NAME, LOCALE_PLUGIN_ITEM_CROND_DESC, NEUTRINO_ICON_HINT_IMAGELOGO, "crond", 0, 0}
-};
-#define MAXPLUGIN (sizeof(plugin_menu)/sizeof(struct plugin_menu_data_t))
-
CNIMenu::CNIMenu()
{
width = 40;
@@ -202,7 +175,6 @@ int CNIMenu::show()
{
int shortcut = 1;
int cam_shortcut = 1;
- int plugin_shortcut = 0;
std::ostringstream buf;
char *buffer;
@@ -307,21 +279,6 @@ int CNIMenu::show()
mf = new CMenuForwarder(LOCALE_PLUGINS_HIDE, true, NULL, &pluginsHideMenu, NULL, CRCInput::RC_blue);
mf->setHint(NEUTRINO_ICON_HINT_IMAGELOGO, LOCALE_MENU_HINT_PLUGINS_HIDE);
pluginMenu->addItem(mf);
- pluginMenu->addItem(GenericMenuSeparatorLine);
-
- // Plugin service
- for (unsigned int i = 0; i < MAXPLUGIN; i++)
- {
- buf.str("");
- buf << "/var/etc/." << plugin_menu[i].flag;
-
- plugin_menu[i].flag_exist=file_exists(buf.str().c_str());
- CFlagFileNotifier * pluginFileNotifier = new CFlagFileNotifier(plugin_menu[i].flag);
-
- mc = new CMenuOptionChooser(plugin_menu[i].name, &plugin_menu[i].flag_exist, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, pluginFileNotifier, CRCInput::convertDigitToKey(plugin_shortcut++));
- mc->setHint(plugin_menu[i].icon, plugin_menu[i].desc);
- pluginMenu->addItem(mc);
- }
mf = new CMenuForwarder(LOCALE_PLUGINS_CONTROL, true, NULL, pluginMenu, "", CRCInput::convertDigitToKey(shortcut++));
mf->setHint(NEUTRINO_ICON_HINT_IMAGELOGO, LOCALE_MENU_HINT_PLUGINS_CONTROL);
diff --git a/src/neutrino_menue.cpp b/src/neutrino_menue.cpp
index e502c730b..a0345076b 100644
--- a/src/neutrino_menue.cpp
+++ b/src/neutrino_menue.cpp
@@ -46,6 +46,7 @@
#include "gui/audio_select.h"
#include "gui/bedit/bouqueteditor_bouquets.h"
#include "gui/bouquetlist.h"
+#include
#include "gui/cam_menu.h"
#include "gui/dboxinfo.h"
#include "gui/epgplus.h"
@@ -540,6 +541,9 @@ void CNeutrinoApp::InitMenuService()
//separator
personalize.addSeparator(MENU_SERVICE);
+ mf = new CMenuForwarder(LOCALE_DAEMON_CONTROL, true, NULL, new CDaemonControlMenu(), NULL);
+ mf->setHint(NEUTRINO_ICON_HINT_IMAGELOGO, LOCALE_MENU_HINT_DAEMON_CONTROL);
+ personalize.addItem(MENU_SERVICE, mf, &g_settings.personalize[SNeutrinoSettings::P_MSER_DAEMON_CONTROL]);
if (!g_settings.easymenu) {
personalize.addSeparator(MENU_SERVICE);
diff --git a/src/system/locals.h b/src/system/locals.h
index 3a0e4d2ff..a192c1c2b 100644
--- a/src/system/locals.h
+++ b/src/system/locals.h
@@ -417,6 +417,31 @@ typedef enum
LOCALE_CROSSTEAM_HINT_SETTINGS_TEAMS_BACKUP,
LOCALE_CROSSTEAM_HINT_SETTINGS_TEAMS_HELP,
LOCALE_CROSSTEAM_HINT_SETTINGS_TEAMS_RESTORE,
+ LOCALE_DAEMON_CONTROL,
+ LOCALE_DAEMON_ITEM_CROND_DESC,
+ LOCALE_DAEMON_ITEM_CROND_NAME,
+ LOCALE_DAEMON_ITEM_DJMOUNT_DESC,
+ LOCALE_DAEMON_ITEM_DJMOUNT_NAME,
+ LOCALE_DAEMON_ITEM_DROPBEAR_DESC,
+ LOCALE_DAEMON_ITEM_DROPBEAR_NAME,
+ LOCALE_DAEMON_ITEM_EMMREMIND_DESC,
+ LOCALE_DAEMON_ITEM_EMMREMIND_NAME,
+ LOCALE_DAEMON_ITEM_FCM_DESC,
+ LOCALE_DAEMON_ITEM_FCM_NAME,
+ LOCALE_DAEMON_ITEM_INADYN_DESC,
+ LOCALE_DAEMON_ITEM_INADYN_NAME,
+ LOCALE_DAEMON_ITEM_NFSSERVER_DESC,
+ LOCALE_DAEMON_ITEM_NFSSERVER_NAME,
+ LOCALE_DAEMON_ITEM_SAMBASERVER_DESC,
+ LOCALE_DAEMON_ITEM_SAMBASERVER_NAME,
+ LOCALE_DAEMON_ITEM_TUXCALD_DESC,
+ LOCALE_DAEMON_ITEM_TUXCALD_NAME,
+ LOCALE_DAEMON_ITEM_TUXMAILD_DESC,
+ LOCALE_DAEMON_ITEM_TUXMAILD_NAME,
+ LOCALE_DAEMON_ITEM_USHARE_DESC,
+ LOCALE_DAEMON_ITEM_USHARE_NAME,
+ LOCALE_DAEMON_ITEM_XUPNPD_DESC,
+ LOCALE_DAEMON_ITEM_XUPNPD_NAME,
LOCALE_DATE_APR,
LOCALE_DATE_AUG,
LOCALE_DATE_DEC,
@@ -1199,6 +1224,7 @@ typedef enum
LOCALE_MENU_HINT_COLORS_SHADOW,
LOCALE_MENU_HINT_CONTENT_BACK,
LOCALE_MENU_HINT_CONTENT_TEXTCOLOR,
+ LOCALE_MENU_HINT_DAEMON_CONTROL,
LOCALE_MENU_HINT_DBOXINFO,
LOCALE_MENU_HINT_DELETE_CHANNELS,
LOCALE_MENU_HINT_DELETE_REMOVED,
@@ -2310,30 +2336,6 @@ typedef enum
LOCALE_PINPROTECTION_WRONGCODE,
LOCALE_PLUGIN_HIDE_NO,
LOCALE_PLUGIN_HIDE_YES,
- LOCALE_PLUGIN_ITEM_CROND_DESC,
- LOCALE_PLUGIN_ITEM_CROND_NAME,
- LOCALE_PLUGIN_ITEM_DJMOUNT_DESC,
- LOCALE_PLUGIN_ITEM_DJMOUNT_NAME,
- LOCALE_PLUGIN_ITEM_DROPBEAR_DESC,
- LOCALE_PLUGIN_ITEM_DROPBEAR_NAME,
- LOCALE_PLUGIN_ITEM_EMMREMIND_DESC,
- LOCALE_PLUGIN_ITEM_EMMREMIND_NAME,
- LOCALE_PLUGIN_ITEM_FCM_DESC,
- LOCALE_PLUGIN_ITEM_FCM_NAME,
- LOCALE_PLUGIN_ITEM_INADYN_DESC,
- LOCALE_PLUGIN_ITEM_INADYN_NAME,
- LOCALE_PLUGIN_ITEM_NFSSERVER_DESC,
- LOCALE_PLUGIN_ITEM_NFSSERVER_NAME,
- LOCALE_PLUGIN_ITEM_SAMBASERVER_DESC,
- LOCALE_PLUGIN_ITEM_SAMBASERVER_NAME,
- LOCALE_PLUGIN_ITEM_TUXCALD_DESC,
- LOCALE_PLUGIN_ITEM_TUXCALD_NAME,
- LOCALE_PLUGIN_ITEM_TUXMAILD_DESC,
- LOCALE_PLUGIN_ITEM_TUXMAILD_NAME,
- LOCALE_PLUGIN_ITEM_USHARE_DESC,
- LOCALE_PLUGIN_ITEM_USHARE_NAME,
- LOCALE_PLUGIN_ITEM_XUPNPD_DESC,
- LOCALE_PLUGIN_ITEM_XUPNPD_NAME,
LOCALE_PLUGINS_CONTROL,
LOCALE_PLUGINS_HDD_DIR,
LOCALE_PLUGINS_HIDE,
diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h
index 3e99b119b..0c778e3f5 100644
--- a/src/system/locals_intern.h
+++ b/src/system/locals_intern.h
@@ -417,6 +417,31 @@ const char * locale_real_names[] =
"crossteam.hint_settings_teams_backup",
"crossteam.hint_settings_teams_help",
"crossteam.hint_settings_teams_restore",
+ "daemon_control",
+ "daemon_item.crond_desc",
+ "daemon_item.crond_name",
+ "daemon_item.djmount_desc",
+ "daemon_item.djmount_name",
+ "daemon_item.dropbear_desc",
+ "daemon_item.dropbear_name",
+ "daemon_item.emmremind_desc",
+ "daemon_item.emmremind_name",
+ "daemon_item.fcm_desc",
+ "daemon_item.fcm_name",
+ "daemon_item.inadyn_desc",
+ "daemon_item.inadyn_name",
+ "daemon_item.nfsserver_desc",
+ "daemon_item.nfsserver_name",
+ "daemon_item.sambaserver_desc",
+ "daemon_item.sambaserver_name",
+ "daemon_item.tuxcald_desc",
+ "daemon_item.tuxcald_name",
+ "daemon_item.tuxmaild_desc",
+ "daemon_item.tuxmaild_name",
+ "daemon_item.ushare_desc",
+ "daemon_item.ushare_name",
+ "daemon_item.xupnpd_desc",
+ "daemon_item.xupnpd_name",
"date.Apr",
"date.Aug",
"date.Dec",
@@ -1199,6 +1224,7 @@ const char * locale_real_names[] =
"menu.hint_colors_shadow",
"menu.hint_content_back",
"menu.hint_content_textcolor",
+ "menu.hint_daemon_control",
"menu.hint_dboxinfo",
"menu.hint_delete_channels",
"menu.hint_delete_removed",
@@ -2310,30 +2336,6 @@ const char * locale_real_names[] =
"pinprotection.wrongcode",
"plugin.hide_no",
"plugin.hide_yes",
- "plugin.item_crond_desc",
- "plugin.item_crond_name",
- "plugin.item_djmount_desc",
- "plugin.item_djmount_name",
- "plugin.item_dropbear_desc",
- "plugin.item_dropbear_name",
- "plugin.item_emmremind_desc",
- "plugin.item_emmremind_name",
- "plugin.item_fcm_desc",
- "plugin.item_fcm_name",
- "plugin.item_inadyn_desc",
- "plugin.item_inadyn_name",
- "plugin.item_nfsserver_desc",
- "plugin.item_nfsserver_name",
- "plugin.item_sambaserver_desc",
- "plugin.item_sambaserver_name",
- "plugin.item_tuxcald_desc",
- "plugin.item_tuxcald_name",
- "plugin.item_tuxmaild_desc",
- "plugin.item_tuxmaild_name",
- "plugin.item_ushare_desc",
- "plugin.item_ushare_name",
- "plugin.item_xupnpd_desc",
- "plugin.item_xupnpd_name",
"plugins.control",
"plugins.hdd_dir",
"plugins.hide",
diff --git a/src/system/settings.cpp b/src/system/settings.cpp
index e140334a4..b8c905edc 100644
--- a/src/system/settings.cpp
+++ b/src/system/settings.cpp
@@ -82,6 +82,7 @@ const struct personalize_settings_t personalize_settings[SNeutrinoSettings::P_SE
{"personalize_reload_channels" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
{"personalize_bouquet_edit" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
{"personalize_reset_channels" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
+ {"personalize_daemon_control" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
{"personalize_restart" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
{"personalize_restart_tuner" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE}, //NI
{"personalize_reload_plugins" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE},
diff --git a/src/system/settings.h b/src/system/settings.h
index b9b6392b1..d17cbb883 100644
--- a/src/system/settings.h
+++ b/src/system/settings.h
@@ -380,6 +380,7 @@ struct SNeutrinoSettings
P_MSER_RELOAD_CHANNELS,
P_MSER_BOUQUET_EDIT,
P_MSER_RESET_CHANNELS,
+ P_MSER_DAEMON_CONTROL,
P_MSER_RESTART,
P_MSER_RESTART_TUNER, //NI
P_MSER_RELOAD_PLUGINS,