neutrino: sync keybind and usermenu code with neutrino-mp, code (C) martii

This commit is contained in:
[CST] Focus
2014-09-05 17:49:11 +04:00
parent f07e81c4b9
commit 420af7a4dc
45 changed files with 1767 additions and 1144 deletions

View File

@@ -765,3 +765,56 @@ bool split_config_string(const std::string &str, std::map<std::string,std::strin
}
return !smap.empty();
}
std::vector<std::string> split(const std::string &s, char delim)
{
std::vector<std::string> vec;
std::stringstream ss(s);
std::string item;
while (std::getline(ss, item, delim))
vec.push_back(item);
return vec;
}
std::string to_string(int i)
{
std::stringstream s;
s << i;
return s.str();
}
std::string to_string(unsigned int i)
{
std::stringstream s;
s << i;
return s.str();
}
std::string to_string(long i)
{
std::stringstream s;
s << i;
return s.str();
}
std::string to_string(unsigned long i)
{
std::stringstream s;
s << i;
return s.str();
}
std::string to_string(long long i)
{
std::stringstream s;
s << i;
return s.str();
}
std::string to_string(unsigned long long i)
{
std::stringstream s;
s << i;
return s.str();
}

View File

@@ -84,20 +84,22 @@ class CFileHelpers
bool removeDir(const char *Dir);
};
template<class C> std::string to_string(C i)
{
std::stringstream s;
s << i;
return s.str();
}
inline void cstrncpy(char *dest, const char * const src, size_t n) { n--; strncpy(dest, src, n); dest[n] = 0; }
inline void cstrncpy(char *dest, const std::string &src, size_t n) { n--; strncpy(dest, src.c_str(), n); dest[n] = 0; }
bool split_config_string(const std::string &str, std::map<std::string,std::string> &smap);
std::string to_string(int);
std::string to_string(unsigned int);
std::string to_string(long);
std::string to_string(unsigned long);
std::string to_string(long long);
std::string to_string(unsigned long long);
inline int atoi(std::string &s) { return atoi(s.c_str()); }
inline int atoi(const std::string &s) { return atoi(s.c_str()); }
inline int access(std::string &s, int mode) { return access(s.c_str(), mode); }
inline int access(const std::string &s, int mode) { return access(s.c_str(), mode); }
inline void cstrncpy(char *dest, const char * const src, size_t n) { n--; strncpy(dest, src, n); dest[n] = 0; }
inline void cstrncpy(char *dest, const std::string &src, size_t n) { n--; strncpy(dest, src.c_str(), n); dest[n] = 0; }
std::vector<std::string> split(const std::string &s, char delim);
bool split_config_string(const std::string &str, std::map<std::string,std::string> &smap);
#endif

View File

@@ -407,15 +407,19 @@ typedef enum
LOCALE_EXTRA_FEC_AUTO,
LOCALE_EXTRA_KEY_CURRENT_TRANSPONDER,
LOCALE_EXTRA_KEY_FORMAT_MODE,
LOCALE_EXTRA_KEY_HELP,
LOCALE_EXTRA_KEY_LIST_END,
LOCALE_EXTRA_KEY_LIST_START,
LOCALE_EXTRA_KEY_NEXT43MODE,
LOCALE_EXTRA_KEY_PIC_MODE,
LOCALE_EXTRA_KEY_PIC_SIZE,
LOCALE_EXTRA_KEY_PIP_CLOSE,
LOCALE_EXTRA_KEY_PIP_SETUP,
LOCALE_EXTRA_KEY_PIP_SWAP,
LOCALE_EXTRA_KEY_PLUGIN,
LOCALE_EXTRA_KEY_RECORD,
LOCALE_EXTRA_KEY_SCREENSHOT,
LOCALE_EXTRA_KEY_SWITCHFORMAT,
LOCALE_EXTRA_KEY_TIMESHIFT,
LOCALE_EXTRA_KEY_UNLOCK,
LOCALE_EXTRA_LADIRECTION,
@@ -758,6 +762,7 @@ typedef enum
LOCALE_KEYBINDINGMENU_CHANNELDOWN,
LOCALE_KEYBINDINGMENU_CHANNELLIST,
LOCALE_KEYBINDINGMENU_CHANNELUP,
LOCALE_KEYBINDINGMENU_EDIT,
LOCALE_KEYBINDINGMENU_HEAD,
LOCALE_KEYBINDINGMENU_LASTCHANNEL,
LOCALE_KEYBINDINGMENU_LONGKEYPRESS_DURATION,
@@ -768,6 +773,7 @@ typedef enum
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_VZAP,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_ZAP,
LOCALE_KEYBINDINGMENU_MODECHANGE,
LOCALE_KEYBINDINGMENU_NAVIGATION,
LOCALE_KEYBINDINGMENU_PAGEDOWN,
LOCALE_KEYBINDINGMENU_PAGEUP,
LOCALE_KEYBINDINGMENU_POWEROFF,
@@ -787,6 +793,10 @@ typedef enum
LOCALE_KEYBINDINGMENU_SUBCHANNELDOWN,
LOCALE_KEYBINDINGMENU_SUBCHANNELUP,
LOCALE_KEYBINDINGMENU_TVRADIOMODE,
LOCALE_KEYBINDINGMENU_VIDEO,
LOCALE_KEYBINDINGMENU_VOLUME,
LOCALE_KEYBINDINGMENU_VOLUMEDOWN,
LOCALE_KEYBINDINGMENU_VOLUMEUP,
LOCALE_KEYBINDINGMENU_ZAPHISTORY,
LOCALE_KEYCHOOSER_HEAD,
LOCALE_KEYCHOOSER_TEXT1,
@@ -1031,6 +1041,7 @@ typedef enum
LOCALE_MENU_HINT_KEY_PLUGIN,
LOCALE_MENU_HINT_KEY_POWEROFF,
LOCALE_MENU_HINT_KEY_QUICKZAP,
LOCALE_MENU_HINT_KEY_RECORD,
LOCALE_MENU_HINT_KEY_REPEATBLOCK,
LOCALE_MENU_HINT_KEY_REPEATBLOCKGENERIC,
LOCALE_MENU_HINT_KEY_RIGHT,
@@ -1043,6 +1054,8 @@ typedef enum
LOCALE_MENU_HINT_KEY_TRANSPONDER,
LOCALE_MENU_HINT_KEY_TVRADIOMODE,
LOCALE_MENU_HINT_KEY_UNLOCK,
LOCALE_MENU_HINT_KEY_VOLUMEDOWN,
LOCALE_MENU_HINT_KEY_VOLUMEUP,
LOCALE_MENU_HINT_KEYS,
LOCALE_MENU_HINT_LANG_PREF,
LOCALE_MENU_HINT_LANGUAGE,
@@ -1635,6 +1648,8 @@ typedef enum
LOCALE_MPKEY_AUDIO,
LOCALE_MPKEY_BOOKMARK,
LOCALE_MPKEY_FORWARD,
LOCALE_MPKEY_GOTO,
LOCALE_MPKEY_NEXT_REPEAT_MODE,
LOCALE_MPKEY_PAUSE,
LOCALE_MPKEY_PLAY,
LOCALE_MPKEY_PLUGIN,
@@ -1823,6 +1838,11 @@ typedef enum
LOCALE_PINPROTECTION_WRONGCODE,
LOCALE_PLUGINS_HDD_DIR,
LOCALE_PLUGINS_RESULT,
LOCALE_PLUGINTYPE_DISABLED,
LOCALE_PLUGINTYPE_GAME,
LOCALE_PLUGINTYPE_LUA,
LOCALE_PLUGINTYPE_SCRIPT,
LOCALE_PLUGINTYPE_TOOL,
LOCALE_RCLOCK_LOCKMSG,
LOCALE_RCLOCK_MENUEADD,
LOCALE_RCLOCK_TITLE,
@@ -2161,6 +2181,9 @@ typedef enum
LOCALE_USERMENU_ITEM_NONE,
LOCALE_USERMENU_ITEM_PLUGIN_TYPES,
LOCALE_USERMENU_ITEM_VTXT,
LOCALE_USERMENU_ITEMS,
LOCALE_USERMENU_KEY,
LOCALE_USERMENU_KEY_SELECT,
LOCALE_USERMENU_MSG_INFO_IS_EMPTY,
LOCALE_USERMENU_MSG_WARNING_NAME,
LOCALE_USERMENU_MSG_WARNING_NO_ITEMS,

View File

@@ -407,15 +407,19 @@ const char * locale_real_names[] =
"extra.fec_auto",
"extra.key_current_transponder",
"extra.key_format_mode",
"extra.key_help",
"extra.key_list_end",
"extra.key_list_start",
"extra.key_next43mode",
"extra.key_pic_mode",
"extra.key_pic_size",
"extra.key_pip_close",
"extra.key_pip_setup",
"extra.key_pip_swap",
"extra.key_plugin",
"extra.key_record",
"extra.key_screenshot",
"extra.key_switchformat",
"extra.key_timeshift",
"extra.key_unlock",
"extra.ladirection",
@@ -758,6 +762,7 @@ const char * locale_real_names[] =
"keybindingmenu.channeldown",
"keybindingmenu.channellist",
"keybindingmenu.channelup",
"keybindingmenu.edit",
"keybindingmenu.head",
"keybindingmenu.lastchannel",
"keybindingmenu.longkeypress_duration",
@@ -768,6 +773,7 @@ const char * locale_real_names[] =
"keybindingmenu.mode_left_right_key_tv_vzap",
"keybindingmenu.mode_left_right_key_tv_zap",
"keybindingmenu.modechange",
"keybindingmenu.navigation",
"keybindingmenu.pagedown",
"keybindingmenu.pageup",
"keybindingmenu.poweroff",
@@ -787,6 +793,10 @@ const char * locale_real_names[] =
"keybindingmenu.subchanneldown",
"keybindingmenu.subchannelup",
"keybindingmenu.tvradiomode",
"keybindingmenu.video",
"keybindingmenu.volume",
"keybindingmenu.volumedown",
"keybindingmenu.volumeup",
"keybindingmenu.zaphistory",
"keychooser.head",
"keychooser.text1",
@@ -1031,6 +1041,7 @@ const char * locale_real_names[] =
"menu.hint_key_plugin",
"menu.hint_key_poweroff",
"menu.hint_key_quickzap",
"menu.hint_key_record",
"menu.hint_key_repeatblock",
"menu.hint_key_repeatblockgeneric",
"menu.hint_key_right",
@@ -1043,6 +1054,8 @@ const char * locale_real_names[] =
"menu.hint_key_transponder",
"menu.hint_key_tvradiomode",
"menu.hint_key_unlock",
"menu.hint_key_volumedown",
"menu.hint_key_volumeup",
"menu.hint_keys",
"menu.hint_lang_pref",
"menu.hint_language",
@@ -1635,6 +1648,8 @@ const char * locale_real_names[] =
"mpkey.audio",
"mpkey.bookmark",
"mpkey.forward",
"mpkey.goto",
"mpkey.next_repeat_mode",
"mpkey.pause",
"mpkey.play",
"mpkey.plugin",
@@ -1823,6 +1838,11 @@ const char * locale_real_names[] =
"pinprotection.wrongcode",
"plugins.hdd_dir",
"plugins.result",
"plugintype.disabled",
"plugintype.game",
"plugintype.lua",
"plugintype.script",
"plugintype.tool",
"rclock.lockmsg",
"rclock.menueadd",
"rclock.title",
@@ -2161,6 +2181,9 @@ const char * locale_real_names[] =
"usermenu.item_none",
"usermenu.item_plugin_types",
"usermenu.item_vtxt",
"usermenu.items",
"usermenu.key",
"usermenu.key_select",
"usermenu.msg_info_is_empty",
"usermenu.msg_warning_name",
"usermenu.msg_warning_no_items",

View File

@@ -399,16 +399,6 @@ int CMoviePluginChangeExec::exec(CMenuTarget* parent, const std::string & action
}
return menu_return::RETURN_EXIT;
}
int COnekeyPluginChangeExec::exec(CMenuTarget* parent, const std::string & actionKey)
{
int sel= atoi(actionKey.c_str());
parent->hide();
if (sel>=0)
{
g_settings.onekey_plugin=g_PluginList->getName(sel);
}
return menu_return::RETURN_EXIT;
}
long CNetAdapter::mac_addr_sys ( u_char *addr) //only for function getMacAddr()
{

View File

@@ -127,12 +127,6 @@ class CMoviePluginChangeExec : public CMenuTarget
int exec(CMenuTarget* parent, const std::string & actionKey);
};
class COnekeyPluginChangeExec : public CMenuTarget
{
public:
int exec(CMenuTarget* parent, const std::string & actionKey);
};
class CTZChangeNotifier : public CChangeObserver
{
public:

View File

@@ -137,7 +137,7 @@ struct SNeutrinoSettings
int ci_ignore_messages;
int radiotext_enable;
int easymenu;
//vcr
int vcr_AutoSwitch;
@@ -176,20 +176,20 @@ struct SNeutrinoSettings
enum PERSONALIZE_SETTINGS //settings.h
{
P_MAIN_PINSTATUS,
//user menu
P_MAIN_BLUE_BUTTON,
P_MAIN_YELLOW_BUTTON,
P_MAIN_GREEN_BUTTON,
P_MAIN_RED_BUTTON,
//main menu
P_MAIN_TV_MODE,
P_MAIN_TV_RADIO_MODE, //togglemode
P_MAIN_RADIO_MODE,
P_MAIN_TIMER,
P_MAIN_MEDIA,
P_MAIN_GAMES,
P_MAIN_TOOLS,
P_MAIN_SCRIPTS,
@@ -202,7 +202,7 @@ struct SNeutrinoSettings
P_MAIN_SHUTDOWN,
P_MAIN_INFOMENU,
P_MAIN_CISETTINGS,
//settings menu
P_MSET_SETTINGS_MANAGER,
P_MSET_VIDEO,
@@ -217,7 +217,7 @@ struct SNeutrinoSettings
P_MSET_KEYBINDING,
P_MSET_MEDIAPLAYER,
P_MSET_MISC,
//service menu
P_MSER_TUNER,
P_MSER_SCANTS,
@@ -228,7 +228,7 @@ struct SNeutrinoSettings
P_MSER_RELOAD_PLUGINS,
P_MSER_SERVICE_INFOMENU,
P_MSER_SOFTUPDATE,
//media menu
P_MEDIA_MENU,
P_MEDIA_AUDIO,
@@ -236,18 +236,18 @@ struct SNeutrinoSettings
P_MEDIA_MPLAYER,
P_MEDIA_PVIEWER,
P_MEDIA_UPNP,
//movieplayer menu
P_MPLAYER_MBROWSER,
P_MPLAYER_FILEPLAY,
P_MPLAYER_YTPLAY,
//feature keys
P_FEAT_KEY_FAVORIT,
P_FEAT_KEY_TIMERLIST,
P_FEAT_KEY_VTXT,
P_FEAT_KEY_RC_LOCK,
//user menu
P_UMENU_SHOW_CANCEL,
@@ -257,10 +257,10 @@ struct SNeutrinoSettings
P_UMENU_PLUGIN_TYPE_SCRIPTS,
P_UMENU_PLUGIN_TYPE_LUA,
P_SETTINGS_MAX
P_SETTINGS_MAX
};
int personalize[P_SETTINGS_MAX];
int personalize[P_SETTINGS_MAX];
std::string personalize_pincode;
//timing
@@ -275,7 +275,7 @@ struct SNeutrinoSettings
TIMING_VOLUMEBAR = 6,
TIMING_FILEBROWSER = 7,
TIMING_NUMERICZAP = 8,
TIMING_SETTING_COUNT
};
@@ -392,16 +392,22 @@ struct SNeutrinoSettings
int filesystem_is_utf8;
// default plugin for ts-movieplayer (red button)
std::string movieplayer_plugin;
std::string onekey_plugin;
std::string plugin_hdd_dir;
std::string logo_hdd_dir;
std::string plugins_disabled;
std::string plugins_game;
std::string plugins_tool;
std::string plugins_script;
std::string plugins_lua;
//key configuration
int key_tvradio_mode;
int key_channelList_pageup;
int key_channelList_pagedown;
int key_pageup;
int key_pagedown;
int key_channelList_cancel;
int key_channelList_sort;
int key_channelList_addrecord;
@@ -419,7 +425,6 @@ struct SNeutrinoSettings
int key_list_end;
int key_power_off;
int menu_left_exit;
int audio_run_player;
int key_click;
int timeshift_pause;
int auto_timeshift;
@@ -427,6 +432,12 @@ struct SNeutrinoSettings
int auto_delete;
int record_hours;
int timeshift_hours;
int key_record;
int key_help;
int key_next43mode;
int key_switchformat;
int key_volumeup;
int key_volumedown;
int mpkey_rewind;
int mpkey_forward;
@@ -437,7 +448,9 @@ struct SNeutrinoSettings
int mpkey_time;
int mpkey_bookmark;
int mpkey_plugin;
int mpkey_goto;
int mpkey_subtitle;
int mpkey_next_repeat_mode;
int key_timeshift;
int key_plugin;
@@ -611,10 +624,10 @@ struct SNeutrinoSettings
int backlight_standby;
int backlight_deepstandby;
int lcd_scroll;
//#define FILESYSTEM_ENCODING_TO_UTF8(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a).c_str())
//#define FILESYSTEM_ENCODING_TO_UTF8(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a).c_str())
#define FILESYSTEM_ENCODING_TO_UTF8(a) (isUTF8(a) ? (a) : ZapitTools::Latin1_to_UTF8(a).c_str())
#define UTF8_TO_FILESYSTEM_ENCODING(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::UTF8_to_Latin1(a).c_str())
//#define FILESYSTEM_ENCODING_TO_UTF8_STRING(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a))
//#define FILESYSTEM_ENCODING_TO_UTF8_STRING(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a))
#define FILESYSTEM_ENCODING_TO_UTF8_STRING(a) (isUTF8(a) ? (a) : ZapitTools::Latin1_to_UTF8(a))
// pictureviewer
@@ -680,7 +693,7 @@ struct SNeutrinoSettings
ITEM_VTXT = 11,
ITEM_TECHINFO = 13,
ITEM_REMOTE = 14,
ITEM_PLUGIN_TYPES = 15,
ITEM_PLUGIN = 15,
ITEM_IMAGEINFO = 16,
ITEM_BOXINFO = 17,
ITEM_CAM = 18,
@@ -691,10 +704,20 @@ struct SNeutrinoSettings
ITEM_FILEPLAY = 23,
ITEM_TOOLS = 24,
ITEM_LUA = 25,
ITEM_HDDMENU = 26,
ITEM_AUDIOPLAY = 27,
ITEM_INETPLAY = 28,
ITEM_MAX // MUST be always the last in the list
} USER_ITEM;
std::string usermenu_text[BUTTON_MAX];
int usermenu[BUTTON_MAX][ITEM_MAX]; // (USER_ITEM) [button][position in Menue] = feature item
typedef struct {
unsigned int key;
std::string items;
std::string title;
std::string name;
} usermenu_t;
std::vector<usermenu_t *> usermenu;
//progressbar arrangement for infobar
typedef enum