mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 07:23:09 +02:00
Merge branch 'master' into pu/mp
This commit is contained in:
@@ -160,8 +160,8 @@ audioplayer.add_loc Lokale Radioliste
|
|||||||
audioplayer.add_sc SHOUTcast
|
audioplayer.add_sc SHOUTcast
|
||||||
audioplayer.artist_title Interpret, Titel
|
audioplayer.artist_title Interpret, Titel
|
||||||
audioplayer.building_search_index Erstelle Suchindex
|
audioplayer.building_search_index Erstelle Suchindex
|
||||||
audioplayer.button_select_title_by_id Suche n. ID
|
audioplayer.button_select_title_by_id Suche nach ID
|
||||||
audioplayer.button_select_title_by_name Suche n. Name
|
audioplayer.button_select_title_by_name Suche nach Name
|
||||||
audioplayer.defdir Start-Verzeichnis
|
audioplayer.defdir Start-Verzeichnis
|
||||||
audioplayer.delete Entfernen
|
audioplayer.delete Entfernen
|
||||||
audioplayer.deleteall Alle entfernen
|
audioplayer.deleteall Alle entfernen
|
||||||
|
@@ -6,7 +6,6 @@
|
|||||||
*
|
*
|
||||||
* License: GPL v2 or later
|
* License: GPL v2 or later
|
||||||
*/
|
*/
|
||||||
#include <config.h>
|
|
||||||
#include "cs_api.h"
|
#include "cs_api.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -21,10 +20,7 @@ hw_caps_t *get_hwcaps(void) {
|
|||||||
if (initialized)
|
if (initialized)
|
||||||
return ∩︀
|
return ∩︀
|
||||||
int rev = cs_get_revision();
|
int rev = cs_get_revision();
|
||||||
int chip = 0;
|
int chip = cs_get_chip_type();
|
||||||
#ifdef BOXMODEL_CS_HD2
|
|
||||||
chip = cs_get_chip_type();
|
|
||||||
#endif
|
|
||||||
caps.has_fan = (rev < 8 && CFEManager::getInstance()->getFE(0)->hasSat()); // only SAT-HD1 before rev 8 has fan
|
caps.has_fan = (rev < 8 && CFEManager::getInstance()->getFE(0)->hasSat()); // only SAT-HD1 before rev 8 has fan
|
||||||
caps.has_HDMI = 1;
|
caps.has_HDMI = 1;
|
||||||
caps.has_SCART = (rev != 10);
|
caps.has_SCART = (rev != 10);
|
||||||
|
@@ -82,7 +82,7 @@ int cs_get_tsp_config(unsigned int port, tsrouter_tsp_config_t *tsp_config);
|
|||||||
unsigned long long cs_get_serial(void);
|
unsigned long long cs_get_serial(void);
|
||||||
unsigned int cs_get_revision(void);
|
unsigned int cs_get_revision(void);
|
||||||
/* Dummy function for compatibility with hd2 */
|
/* Dummy function for compatibility with hd2 */
|
||||||
//unsigned int cs_get_chip_type(void);
|
unsigned int cs_get_chip_type(void);
|
||||||
|
|
||||||
|
|
||||||
// library version functions
|
// library version functions
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,17 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
$Id: audioplayer.h,v 1.24 2009/10/03 10:36:29 seife Exp $
|
|
||||||
Neutrino-GUI - DBoxII-Project
|
Neutrino-GUI - DBoxII-Project
|
||||||
|
|
||||||
Copyright (C) 2001 Steffen Hehn 'McClean'
|
Copyright (C) 2001 Steffen Hehn 'McClean'
|
||||||
Homepage: http://dbox.cyberphoria.org/
|
Copyright (C) 2009 Stefan Seyfried
|
||||||
|
Copyright (C) 2017 Sven Hoefer
|
||||||
Kommentar:
|
|
||||||
|
|
||||||
Diese GUI wurde von Grund auf neu programmiert und sollte nun vom
|
|
||||||
Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert
|
|
||||||
auf der Client-Server Idee, diese GUI ist also von der direkten DBox-
|
|
||||||
Steuerung getrennt. Diese wird dann von Daemons uebernommen.
|
|
||||||
|
|
||||||
|
|
||||||
License: GPL
|
License: GPL
|
||||||
|
|
||||||
@@ -26,8 +18,7 @@
|
|||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __audioplayergui__
|
#ifndef __audioplayergui__
|
||||||
@@ -56,7 +47,6 @@ class CFrameBuffer;
|
|||||||
class CAudiofileExt : public CAudiofile
|
class CAudiofileExt : public CAudiofile
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CAudiofileExt();
|
CAudiofileExt();
|
||||||
|
|
||||||
CAudiofileExt(std::string name, CFile::FileType type);
|
CAudiofileExt(std::string name, CFile::FileType type);
|
||||||
@@ -65,7 +55,6 @@ public:
|
|||||||
|
|
||||||
void operator=(const CAudiofileExt& src);
|
void operator=(const CAudiofileExt& src);
|
||||||
|
|
||||||
|
|
||||||
char firstChar;
|
char firstChar;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -74,14 +63,9 @@ typedef std::vector<CAudiofileExt> CAudioPlayList;
|
|||||||
class RandomNumber
|
class RandomNumber
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RandomNumber()
|
RandomNumber() { std::srand(time(0)); }
|
||||||
{
|
|
||||||
std::srand(time(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
int operator()(int n){
|
int operator()(int n) { return std::rand() / (1.0 + RAND_MAX) * n; }
|
||||||
return std::rand() / (1.0 + RAND_MAX) * n;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CAudioPlayerGui : public CMenuTarget
|
class CAudioPlayerGui : public CMenuTarget
|
||||||
@@ -96,7 +80,11 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
REV
|
REV
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DisplayOrder {ARTIST_TITLE = 0, TITLE_ARTIST=1};
|
enum DisplayOrder
|
||||||
|
{
|
||||||
|
ARTIST_TITLE = 0,
|
||||||
|
TITLE_ARTIST=1
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init(void);
|
void Init(void);
|
||||||
@@ -105,10 +93,10 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
int m_current;
|
int m_current;
|
||||||
unsigned int m_liststart;
|
unsigned int m_liststart;
|
||||||
unsigned int m_listmaxshow;
|
unsigned int m_listmaxshow;
|
||||||
int m_fheight; // Fonthoehe Playlist-Inhalt
|
int m_item_height;
|
||||||
int m_theight; // Fonthoehe Playlist-Titel
|
int m_header_height;
|
||||||
int m_sheight; // Fonthoehe MP Info
|
int m_meta_height;
|
||||||
int m_buttonHeight;
|
int m_button_height;
|
||||||
int m_title_height;
|
int m_title_height;
|
||||||
int m_info_height;
|
int m_info_height;
|
||||||
int m_key_level;
|
int m_key_level;
|
||||||
@@ -119,7 +107,6 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
std::string m_metainfo;
|
std::string m_metainfo;
|
||||||
bool m_select_title_by_name;
|
bool m_select_title_by_name;
|
||||||
bool m_show_playlist;
|
bool m_show_playlist;
|
||||||
|
|
||||||
bool m_playlistHasChanged;
|
bool m_playlistHasChanged;
|
||||||
|
|
||||||
CAudioPlayList m_playlist;
|
CAudioPlayList m_playlist;
|
||||||
@@ -139,8 +126,8 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
int m_idletime;
|
int m_idletime;
|
||||||
bool m_screensaver;
|
bool m_screensaver;
|
||||||
bool m_inetmode;
|
bool m_inetmode;
|
||||||
CComponentsDetailsLine *dline;
|
CComponentsDetailsLine *m_detailsline;
|
||||||
CComponentsInfoBox *ibox;
|
CComponentsInfoBox *m_infobox;
|
||||||
|
|
||||||
SMSKeyInput m_SMSKeyInput;
|
SMSKeyInput m_SMSKeyInput;
|
||||||
|
|
||||||
@@ -148,16 +135,16 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
void paint();
|
void paint();
|
||||||
void paintHead();
|
void paintHead();
|
||||||
void paintFoot();
|
void paintFoot();
|
||||||
void paintInfo();
|
void paintTitleBox();
|
||||||
void paintCover();
|
void paintCover();
|
||||||
void paintLCD();
|
void paintLCD();
|
||||||
|
void paintDetailsLine(int pos);
|
||||||
|
void clearDetailsLine();
|
||||||
void hide();
|
void hide();
|
||||||
|
|
||||||
void get_id3(CAudiofileExt * audiofile);
|
void get_id3(CAudiofileExt * audiofile);
|
||||||
void get_mp3info(CAudiofileExt * audiofile);
|
void get_mp3info(CAudiofileExt * audiofile);
|
||||||
CFileFilter audiofilefilter;
|
CFileFilter audiofilefilter;
|
||||||
void paintItemID3DetailsLine (int pos);
|
|
||||||
void clearItemID3DetailsLine ();
|
|
||||||
void ff(unsigned int seconds=0);
|
void ff(unsigned int seconds=0);
|
||||||
void rev(unsigned int seconds=0);
|
void rev(unsigned int seconds=0);
|
||||||
int getNext();
|
int getNext();
|
||||||
@@ -197,6 +184,7 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
void readDir_ic(void);
|
void readDir_ic(void);
|
||||||
|
|
||||||
void selectTitle(unsigned char selectionChar);
|
void selectTitle(unsigned char selectionChar);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appends the file information to the given string.
|
* Appends the file information to the given string.
|
||||||
* @param fileInfo a string where the file information will be appended
|
* @param fileInfo a string where the file information will be appended
|
||||||
@@ -231,8 +219,7 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
* @return the location of absFilename as seen from fromDir
|
* @return the location of absFilename as seen from fromDir
|
||||||
* (relative path)
|
* (relative path)
|
||||||
*/
|
*/
|
||||||
std::string absPath2Rel(const std::string& fromDir,
|
std::string absPath2Rel(const std::string& fromDir, const std::string& absFilename);
|
||||||
const std::string& absFilename);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks the user if the file filename should be overwritten or not
|
* Asks the user if the file filename should be overwritten or not
|
||||||
@@ -240,6 +227,7 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
* @return true if file should be overwritten, false otherwise
|
* @return true if file should be overwritten, false otherwise
|
||||||
*/
|
*/
|
||||||
bool askToOverwriteFile(const std::string& filename);
|
bool askToOverwriteFile(const std::string& filename);
|
||||||
|
|
||||||
bool openFilebrowser(void);
|
bool openFilebrowser(void);
|
||||||
bool openSCbrowser(void);
|
bool openSCbrowser(void);
|
||||||
bool clearPlaylist(void);
|
bool clearPlaylist(void);
|
||||||
@@ -262,5 +250,4 @@ class CAudioPlayerGui : public CMenuTarget
|
|||||||
int getAudioPlayerM_current() { return m_current; }
|
int getAudioPlayerM_current() { return m_current; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -156,17 +156,10 @@ int COsdHelpers::isVideoSystem1080(int res)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_CHANGE_OSD_RESOLUTION
|
|
||||||
int COsdHelpers::getVideoSystem()
|
int COsdHelpers::getVideoSystem()
|
||||||
{
|
{
|
||||||
return videoDecoder->GetVideoSystem();
|
return videoDecoder->GetVideoSystem();
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
int COsdHelpers::getVideoSystem()
|
|
||||||
{
|
|
||||||
return g_settings.video_Mode;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uint32_t COsdHelpers::getOsdResolution()
|
uint32_t COsdHelpers::getOsdResolution()
|
||||||
{
|
{
|
||||||
|
@@ -1530,27 +1530,7 @@ CMenuOptionNumberChooser::CMenuOptionNumberChooser(const neutrino_locale_t Name,
|
|||||||
const int print_offset, const int special_value, const neutrino_locale_t special_value_name, bool sliderOn)
|
const int print_offset, const int special_value, const neutrino_locale_t special_value_name, bool sliderOn)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
name = Name;
|
init(Name, "", OptionValue, min_value, max_value, print_offset, special_value, special_value_name, Observ, sliderOn);
|
||||||
optionValue = OptionValue;
|
|
||||||
|
|
||||||
lower_bound = min_value;
|
|
||||||
upper_bound = max_value;
|
|
||||||
|
|
||||||
display_offset = print_offset;
|
|
||||||
|
|
||||||
localized_value = special_value;
|
|
||||||
localized_value_name = special_value_name;
|
|
||||||
|
|
||||||
display_offset = print_offset;
|
|
||||||
nameString = "";
|
|
||||||
numberFormat = "%d";
|
|
||||||
numberFormatFunction = NULL;
|
|
||||||
observ = Observ;
|
|
||||||
slider_on = sliderOn;
|
|
||||||
|
|
||||||
numeric_input = false;
|
|
||||||
|
|
||||||
directKeyOK = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionNumberChooser::CMenuOptionNumberChooser( const std::string &Name, int * const OptionValue, const bool Active,
|
CMenuOptionNumberChooser::CMenuOptionNumberChooser( const std::string &Name, int * const OptionValue, const bool Active,
|
||||||
@@ -1559,26 +1539,35 @@ CMenuOptionNumberChooser::CMenuOptionNumberChooser(const std::string &Name, int
|
|||||||
const int print_offset, const int special_value, const neutrino_locale_t special_value_name, bool sliderOn)
|
const int print_offset, const int special_value, const neutrino_locale_t special_value_name, bool sliderOn)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
name = NONEXISTANT_LOCALE;
|
init(NONEXISTANT_LOCALE, Name, OptionValue, min_value, max_value, print_offset, special_value, special_value_name, Observ, sliderOn);
|
||||||
optionValue = OptionValue;
|
}
|
||||||
|
|
||||||
|
void CMenuOptionNumberChooser::init( const neutrino_locale_t& lName,
|
||||||
|
const std::string &sName,
|
||||||
|
int* const Option_Value,
|
||||||
|
const int& min_value,
|
||||||
|
const int& max_value,
|
||||||
|
const int& print_offset,
|
||||||
|
const int& special_value,
|
||||||
|
const neutrino_locale_t& special_value_name,
|
||||||
|
CChangeObserver * const Observ,
|
||||||
|
bool sliderOn)
|
||||||
|
{
|
||||||
|
name = lName;
|
||||||
|
nameString = sName;
|
||||||
|
optionValue = Option_Value;
|
||||||
lower_bound = min_value;
|
lower_bound = min_value;
|
||||||
upper_bound = max_value;
|
upper_bound = max_value;
|
||||||
|
|
||||||
display_offset = print_offset;
|
display_offset = print_offset;
|
||||||
|
|
||||||
localized_value = special_value;
|
localized_value = special_value;
|
||||||
localized_value_name = special_value_name;
|
localized_value_name = special_value_name;
|
||||||
|
|
||||||
nameString = Name;
|
|
||||||
numberFormat = "%d";
|
|
||||||
numberFormatFunction = NULL;
|
|
||||||
observ = Observ;
|
observ = Observ;
|
||||||
slider_on = sliderOn;
|
slider_on = sliderOn;
|
||||||
|
|
||||||
numeric_input = false;
|
numberFormat = "%d";
|
||||||
|
numberFormatFunction = NULL;
|
||||||
directKeyOK = false;
|
directKeyOK = false;
|
||||||
|
numeric_input = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CMenuOptionNumberChooser::exec(CMenuTarget*)
|
int CMenuOptionNumberChooser::exec(CMenuTarget*)
|
||||||
@@ -1702,74 +1691,36 @@ int CMenuOptionNumberChooser::getWidth(void)
|
|||||||
return width;
|
return width;
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser(const neutrino_locale_t OptionName, int * const OptionValue, const struct keyval * const Options, const unsigned Number_Of_Options,
|
CMenuOptionChooser::CMenuOptionChooser( const neutrino_locale_t OptionName, int * const OptionValue, const struct keyval * const Options, const size_t Number_Of_Options,
|
||||||
const bool Active, CChangeObserver * const Observ, const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
const bool Active, CChangeObserver * const Observ,
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
|
||||||
{
|
|
||||||
nameString = "";
|
|
||||||
name = OptionName;
|
|
||||||
optionValue = OptionValue;
|
|
||||||
number_of_options = Number_Of_Options;
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
optionsSort = OptionsSort;
|
|
||||||
for (unsigned int i = 0; i < number_of_options; i++)
|
|
||||||
{
|
|
||||||
struct keyval_ext opt;
|
|
||||||
opt = Options[i];
|
|
||||||
options.push_back(opt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser(const std::string &OptionName, int * const OptionValue, const struct keyval * const Options, const unsigned Number_Of_Options,
|
|
||||||
const bool Active, CChangeObserver * const Observ, const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
|
||||||
{
|
|
||||||
nameString = OptionName;
|
|
||||||
name = NONEXISTANT_LOCALE;
|
|
||||||
optionValue = OptionValue;
|
|
||||||
number_of_options = Number_Of_Options;
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
optionsSort = OptionsSort;
|
|
||||||
for (unsigned int i = 0; i < number_of_options; i++)
|
|
||||||
{
|
|
||||||
struct keyval_ext opt;
|
|
||||||
opt = Options[i];
|
|
||||||
options.push_back(opt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser(const neutrino_locale_t OptionName, int * const OptionValue, const struct keyval_ext * const Options,
|
|
||||||
const unsigned Number_Of_Options, const bool Active, CChangeObserver * const Observ,
|
|
||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
nameString = "";
|
init("", OptionName, OptionValue, Options, NULL, NULL, Number_Of_Options, Observ, Pulldown, OptionsSort);
|
||||||
name = OptionName;
|
|
||||||
optionValue = OptionValue;
|
|
||||||
number_of_options = Number_Of_Options;
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
optionsSort = OptionsSort;
|
|
||||||
for (unsigned int i = 0; i < number_of_options; i++)
|
|
||||||
options.push_back(Options[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser(const std::string &OptionName, int * const OptionValue, const struct keyval_ext * const Options,
|
CMenuOptionChooser::CMenuOptionChooser( const std::string &OptionName, int * const OptionValue, const struct keyval * const Options, const size_t Number_Of_Options,
|
||||||
const unsigned Number_Of_Options, const bool Active, CChangeObserver * const Observ,
|
const bool Active, CChangeObserver * const Observ,
|
||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
nameString = OptionName;
|
init(OptionName, NONEXISTANT_LOCALE, OptionValue, Options, NULL, NULL, Number_Of_Options, Observ, Pulldown, OptionsSort);
|
||||||
name = NONEXISTANT_LOCALE;
|
}
|
||||||
optionValue = OptionValue;
|
|
||||||
number_of_options = Number_Of_Options;
|
CMenuOptionChooser::CMenuOptionChooser( const neutrino_locale_t OptionName, int * const OptionValue, const struct keyval_ext * const Options, const size_t Number_Of_Options,
|
||||||
observ = Observ;
|
const bool Active, CChangeObserver * const Observ,
|
||||||
pulldown = Pulldown;
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
optionsSort = OptionsSort;
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
for (unsigned int i = 0; i < number_of_options; i++)
|
{
|
||||||
options.push_back(Options[i]);
|
init("", OptionName, OptionValue, NULL, Options, NULL, Number_Of_Options, Observ, Pulldown, OptionsSort);
|
||||||
|
}
|
||||||
|
|
||||||
|
CMenuOptionChooser::CMenuOptionChooser( const std::string &OptionName, int * const OptionValue, const struct keyval_ext * const Options, const size_t Number_Of_Options,
|
||||||
|
const bool Active, CChangeObserver * const Observ,
|
||||||
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
|
{
|
||||||
|
init(OptionName, NONEXISTANT_LOCALE, OptionValue, NULL, Options, NULL, Number_Of_Options, Observ, Pulldown, OptionsSort);
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser( const neutrino_locale_t OptionName, int * const OptionValue, std::vector<keyval_ext> &Options,
|
CMenuOptionChooser::CMenuOptionChooser( const neutrino_locale_t OptionName, int * const OptionValue, std::vector<keyval_ext> &Options,
|
||||||
@@ -1777,14 +1728,7 @@ CMenuOptionChooser::CMenuOptionChooser(const neutrino_locale_t OptionName, int *
|
|||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
nameString = "";
|
init("", OptionName, OptionValue, NULL, NULL, &Options, Options.size(), Observ, Pulldown, OptionsSort);
|
||||||
name = OptionName;
|
|
||||||
optionValue = OptionValue;
|
|
||||||
options = Options;
|
|
||||||
number_of_options = options.size();
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
optionsSort = OptionsSort;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionChooser::CMenuOptionChooser(const std::string &OptionName, int * const OptionValue, std::vector<keyval_ext> &Options,
|
CMenuOptionChooser::CMenuOptionChooser(const std::string &OptionName, int * const OptionValue, std::vector<keyval_ext> &Options,
|
||||||
@@ -1792,14 +1736,7 @@ CMenuOptionChooser::CMenuOptionChooser(const std::string &OptionName, int * cons
|
|||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown, bool OptionsSort)
|
||||||
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
: CAbstractMenuOptionChooser(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
nameString = OptionName;
|
init(OptionName, NONEXISTANT_LOCALE, OptionValue, NULL, NULL, &Options, Options.size(), Observ, Pulldown, OptionsSort);
|
||||||
name = NONEXISTANT_LOCALE;
|
|
||||||
optionValue = OptionValue;
|
|
||||||
options = Options;
|
|
||||||
number_of_options = options.size();
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
optionsSort = OptionsSort;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionChooser::~CMenuOptionChooser()
|
CMenuOptionChooser::~CMenuOptionChooser()
|
||||||
@@ -1807,13 +1744,14 @@ CMenuOptionChooser::~CMenuOptionChooser()
|
|||||||
clearChooserOptions();
|
clearChooserOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMenuOptionChooser::initVarOptionChooser( const std::string &OptionName,
|
void CMenuOptionChooser::init( const std::string &OptionName,
|
||||||
const neutrino_locale_t Name,
|
const neutrino_locale_t Name,
|
||||||
int * const OptionValue,
|
int * const OptionValue,
|
||||||
const bool Active,
|
const struct keyval * const Options,
|
||||||
|
const struct keyval_ext * const OptionsExt,
|
||||||
|
std::vector<keyval_ext> * v_Options,
|
||||||
|
const size_t Number_Of_Options,
|
||||||
CChangeObserver * const Observ,
|
CChangeObserver * const Observ,
|
||||||
neutrino_msg_t DirectKey,
|
|
||||||
const char * IconName,
|
|
||||||
bool Pulldown,
|
bool Pulldown,
|
||||||
bool OptionsSort)
|
bool OptionsSort)
|
||||||
{
|
{
|
||||||
@@ -1821,12 +1759,33 @@ void CMenuOptionChooser::initVarOptionChooser( const std::string &OptionName,
|
|||||||
nameString = OptionName;
|
nameString = OptionName;
|
||||||
name = Name;
|
name = Name;
|
||||||
optionValue = OptionValue;
|
optionValue = OptionValue;
|
||||||
active = Active;
|
number_of_options = Number_Of_Options;
|
||||||
observ = Observ;
|
observ = Observ;
|
||||||
directKey = DirectKey;
|
|
||||||
iconName = IconName;
|
|
||||||
pulldown = Pulldown;
|
pulldown = Pulldown;
|
||||||
optionsSort = OptionsSort;
|
optionsSort = OptionsSort;
|
||||||
|
|
||||||
|
if (Options || OptionsExt)
|
||||||
|
{
|
||||||
|
if (Options)
|
||||||
|
{
|
||||||
|
for (unsigned int i = 0; i < number_of_options; i++)
|
||||||
|
{
|
||||||
|
struct keyval_ext opt;
|
||||||
|
opt = Options[i];
|
||||||
|
options.push_back(opt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (OptionsExt)
|
||||||
|
{
|
||||||
|
for (unsigned int i = 0; i < number_of_options; i++)
|
||||||
|
options.push_back(OptionsExt[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if (v_Options)
|
||||||
|
options = *v_Options;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMenuOptionChooser::clearChooserOptions()
|
void CMenuOptionChooser::clearChooserOptions()
|
||||||
@@ -2033,20 +1992,25 @@ CMenuOptionStringChooser::CMenuOptionStringChooser(const neutrino_locale_t Optio
|
|||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown)
|
||||||
: CMenuItem(Active, DirectKey, IconName)
|
: CMenuItem(Active, DirectKey, IconName)
|
||||||
{
|
{
|
||||||
nameString = "";
|
init("", OptionName, OptionValue, Observ, Pulldown);
|
||||||
name = OptionName;
|
|
||||||
optionValuePtr = OptionValue ? OptionValue : &optionValue;
|
|
||||||
observ = Observ;
|
|
||||||
pulldown = Pulldown;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuOptionStringChooser::CMenuOptionStringChooser( const std::string &OptionName, std::string* OptionValue, bool Active, CChangeObserver* Observ,
|
CMenuOptionStringChooser::CMenuOptionStringChooser( const std::string &OptionName, std::string* OptionValue, bool Active, CChangeObserver* Observ,
|
||||||
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown)
|
const neutrino_msg_t DirectKey, const char * const IconName, bool Pulldown)
|
||||||
: CMenuItem(Active, DirectKey, IconName)
|
: CMenuItem(Active, DirectKey, IconName)
|
||||||
|
{
|
||||||
|
init(OptionName, NONEXISTANT_LOCALE, OptionValue, Observ, Pulldown);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMenuOptionStringChooser::init( const std::string &OptionName,
|
||||||
|
const neutrino_locale_t Name,
|
||||||
|
std::string* pOptionValue,
|
||||||
|
CChangeObserver * const Observ,
|
||||||
|
bool Pulldown)
|
||||||
{
|
{
|
||||||
nameString = OptionName;
|
nameString = OptionName;
|
||||||
name = NONEXISTANT_LOCALE;
|
name = Name;
|
||||||
optionValuePtr = OptionValue ? OptionValue : &optionValue;
|
optionValuePtr = pOptionValue ? pOptionValue : &optionValue;
|
||||||
observ = Observ;
|
observ = Observ;
|
||||||
pulldown = Pulldown;
|
pulldown = Pulldown;
|
||||||
}
|
}
|
||||||
@@ -2155,44 +2119,48 @@ CMenuForwarder::CMenuForwarder(const neutrino_locale_t Text, const bool Active,
|
|||||||
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
||||||
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
||||||
{
|
{
|
||||||
option_string_ptr = &Option;
|
init("", Text, Option, NULL, Target, ActionKey);
|
||||||
name = Text;
|
|
||||||
nameString = "";
|
|
||||||
jumpTarget = Target;
|
|
||||||
actionKey = ActionKey ? ActionKey : "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuForwarder::CMenuForwarder( const std::string& Text, const bool Active, const std::string &Option, CMenuTarget* Target, const char * const ActionKey,
|
CMenuForwarder::CMenuForwarder( const std::string& Text, const bool Active, const std::string &Option, CMenuTarget* Target, const char * const ActionKey,
|
||||||
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
||||||
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
||||||
{
|
{
|
||||||
option_string_ptr = &Option;
|
init(Text, NONEXISTANT_LOCALE, Option, NULL, Target, ActionKey);
|
||||||
name = NONEXISTANT_LOCALE;
|
|
||||||
nameString = Text;
|
|
||||||
jumpTarget = Target;
|
|
||||||
actionKey = ActionKey ? ActionKey : "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuForwarder::CMenuForwarder( const neutrino_locale_t Text, const bool Active, const char * const Option, CMenuTarget* Target, const char * const ActionKey,
|
CMenuForwarder::CMenuForwarder( const neutrino_locale_t Text, const bool Active, const char * const Option, CMenuTarget* Target, const char * const ActionKey,
|
||||||
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
||||||
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
||||||
{
|
{
|
||||||
option_string = Option ? Option : "";
|
init("", Text, "", Option, Target, ActionKey);
|
||||||
option_string_ptr = &option_string;
|
|
||||||
name = Text;
|
|
||||||
nameString = "";
|
|
||||||
jumpTarget = Target;
|
|
||||||
actionKey = ActionKey ? ActionKey : "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuForwarder::CMenuForwarder( const std::string& Text, const bool Active, const char * const Option, CMenuTarget* Target, const char * const ActionKey,
|
CMenuForwarder::CMenuForwarder( const std::string& Text, const bool Active, const char * const Option, CMenuTarget* Target, const char * const ActionKey,
|
||||||
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
neutrino_msg_t DirectKey, const char * const IconName, const char * const IconName_Info_right, bool IsStatic)
|
||||||
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
: CMenuItem(Active, DirectKey, IconName, IconName_Info_right, IsStatic)
|
||||||
{
|
{
|
||||||
option_string = Option ? Option : "";
|
init(Text, NONEXISTANT_LOCALE, "", Option, Target, ActionKey);
|
||||||
option_string_ptr = &option_string;
|
}
|
||||||
name = NONEXISTANT_LOCALE;
|
|
||||||
|
void CMenuForwarder::init( const std::string &Text,
|
||||||
|
const neutrino_locale_t Name,
|
||||||
|
const std::string &sOption,
|
||||||
|
const char * const cOption,
|
||||||
|
CMenuTarget* Target,
|
||||||
|
const char * const ActionKey)
|
||||||
|
{
|
||||||
nameString = Text;
|
nameString = Text;
|
||||||
|
name = Name;
|
||||||
|
|
||||||
|
if (sOption.empty())
|
||||||
|
{
|
||||||
|
option_string = cOption ? cOption : "";
|
||||||
|
option_string_ptr = &option_string;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
option_string_ptr = &sOption;
|
||||||
|
|
||||||
jumpTarget = Target;
|
jumpTarget = Target;
|
||||||
actionKey = ActionKey ? ActionKey : "";
|
actionKey = ActionKey ? ActionKey : "";
|
||||||
}
|
}
|
||||||
@@ -2262,18 +2230,20 @@ int CMenuForwarder::paint(bool selected)
|
|||||||
//-------------------------------------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------------------------------------
|
||||||
CMenuSeparator::CMenuSeparator(const int Type, const neutrino_locale_t Text, bool IsStatic) : CMenuItem(false, CRCInput::RC_nokey, NULL, NULL, IsStatic)
|
CMenuSeparator::CMenuSeparator(const int Type, const neutrino_locale_t Text, bool IsStatic) : CMenuItem(false, CRCInput::RC_nokey, NULL, NULL, IsStatic)
|
||||||
{
|
{
|
||||||
type = Type;
|
init(Type, Text, "");
|
||||||
name = Text;
|
|
||||||
nameString = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CMenuSeparator::CMenuSeparator(const int Type, const std::string &Text, bool IsStatic) : CMenuItem(false, CRCInput::RC_nokey, NULL, NULL, IsStatic)
|
CMenuSeparator::CMenuSeparator(const int Type, const std::string &Text, bool IsStatic) : CMenuItem(false, CRCInput::RC_nokey, NULL, NULL, IsStatic)
|
||||||
{
|
{
|
||||||
type = Type;
|
init(Type, NONEXISTANT_LOCALE, Text);
|
||||||
name = NONEXISTANT_LOCALE;
|
|
||||||
nameString = Text;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenuSeparator::init(const int& Type, const neutrino_locale_t& lText, const std::string &sText)
|
||||||
|
{
|
||||||
|
type = Type;
|
||||||
|
name = lText;
|
||||||
|
nameString = sText;
|
||||||
|
}
|
||||||
|
|
||||||
int CMenuSeparator::getHeight(void)
|
int CMenuSeparator::getHeight(void)
|
||||||
{
|
{
|
||||||
|
@@ -202,6 +202,9 @@ class CMenuItem : public CComponentsSignals
|
|||||||
class CMenuSeparator : public CMenuItem
|
class CMenuSeparator : public CMenuItem
|
||||||
{
|
{
|
||||||
int type;
|
int type;
|
||||||
|
void init( const int& Type,
|
||||||
|
const neutrino_locale_t& lText,
|
||||||
|
const std::string& sText);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@@ -231,6 +234,12 @@ class CMenuSeparator : public CMenuItem
|
|||||||
class CMenuForwarder : public CMenuItem
|
class CMenuForwarder : public CMenuItem
|
||||||
{
|
{
|
||||||
std::string actionKey;
|
std::string actionKey;
|
||||||
|
void init( const std::string &OptionName,
|
||||||
|
const neutrino_locale_t Name,
|
||||||
|
const std::string &sOption,
|
||||||
|
const char * const cOption,
|
||||||
|
CMenuTarget* Target,
|
||||||
|
const char * const ActionKey);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::string option_string;
|
std::string option_string;
|
||||||
@@ -319,6 +328,17 @@ private:
|
|||||||
std::string numberFormat;
|
std::string numberFormat;
|
||||||
std::string (*numberFormatFunction)(int num);
|
std::string (*numberFormatFunction)(int num);
|
||||||
|
|
||||||
|
void init( const neutrino_locale_t& lName,
|
||||||
|
const std::string &sName,
|
||||||
|
int* const Option_Value,
|
||||||
|
const int& min_value,
|
||||||
|
const int& max_value,
|
||||||
|
const int& print_offset,
|
||||||
|
const int& special_value,
|
||||||
|
const neutrino_locale_t& special_value_name,
|
||||||
|
CChangeObserver * const Observ,
|
||||||
|
bool sliderOn);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CMenuOptionNumberChooser(const neutrino_locale_t name, int * const OptionValue, const bool Active,
|
CMenuOptionNumberChooser(const neutrino_locale_t name, int * const OptionValue, const bool Active,
|
||||||
const int min_value, const int max_value, CChangeObserver * const Observ = NULL,
|
const int min_value, const int max_value, CChangeObserver * const Observ = NULL,
|
||||||
@@ -386,19 +406,20 @@ class CMenuOptionChooser : public CAbstractMenuOptionChooser
|
|||||||
private:
|
private:
|
||||||
std::vector<keyval_ext> options;
|
std::vector<keyval_ext> options;
|
||||||
std::vector<CMenuOptionChooserOptions*> option_chooser_options_v;
|
std::vector<CMenuOptionChooserOptions*> option_chooser_options_v;
|
||||||
unsigned number_of_options;
|
size_t number_of_options;
|
||||||
CChangeObserver * observ;
|
CChangeObserver * observ;
|
||||||
bool pulldown;
|
bool pulldown;
|
||||||
bool optionsSort;
|
bool optionsSort;
|
||||||
|
|
||||||
void clearChooserOptions();
|
void clearChooserOptions();
|
||||||
void initVarOptionChooser( const std::string &OptionName,
|
void init( const std::string &OptionName,
|
||||||
const neutrino_locale_t Name,
|
const neutrino_locale_t Name,
|
||||||
int * const OptionValue,
|
int * const OptionValue,
|
||||||
const bool Active,
|
const struct keyval * const Options,
|
||||||
|
const struct keyval_ext * const OptionsExt,
|
||||||
|
std::vector<keyval_ext> * v_Options,
|
||||||
|
const size_t Number_Of_Options,
|
||||||
CChangeObserver * const Observ,
|
CChangeObserver * const Observ,
|
||||||
neutrino_msg_t DirectKey,
|
|
||||||
const char * IconName,
|
|
||||||
bool Pulldown,
|
bool Pulldown,
|
||||||
bool OptionsSort
|
bool OptionsSort
|
||||||
);
|
);
|
||||||
@@ -406,19 +427,19 @@ class CMenuOptionChooser : public CAbstractMenuOptionChooser
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, const struct keyval * const Options,
|
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, const struct keyval * const Options,
|
||||||
const unsigned Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
const size_t Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
||||||
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
||||||
bool Pulldown = false, bool OptionsSort = false);
|
bool Pulldown = false, bool OptionsSort = false);
|
||||||
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, const struct keyval_ext * const Options,
|
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, const struct keyval_ext * const Options,
|
||||||
const unsigned Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
const size_t Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
||||||
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
||||||
bool Pulldown = false, bool OptionsSort = false);
|
bool Pulldown = false, bool OptionsSort = false);
|
||||||
CMenuOptionChooser(const std::string &Name, int * const OptionValue, const struct keyval * const Options,
|
CMenuOptionChooser(const std::string &Name, int * const OptionValue, const struct keyval * const Options,
|
||||||
const unsigned Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
const size_t Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
||||||
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
||||||
bool Pulldown = false, bool OptionsSort = false);
|
bool size_t = false, bool OptionsSort = false);
|
||||||
CMenuOptionChooser(const std::string &Name, int * const OptionValue, const struct keyval_ext * const Options,
|
CMenuOptionChooser(const std::string &Name, int * const OptionValue, const struct keyval_ext * const Options,
|
||||||
const unsigned Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
const size_t Number_Of_Options, const bool Active = false, CChangeObserver * const Observ = NULL,
|
||||||
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
||||||
bool Pulldown = false, bool OptionsSort = false);
|
bool Pulldown = false, bool OptionsSort = false);
|
||||||
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, std::vector<keyval_ext> &Options,
|
CMenuOptionChooser(const neutrino_locale_t Name, int * const OptionValue, std::vector<keyval_ext> &Options,
|
||||||
@@ -429,6 +450,7 @@ class CMenuOptionChooser : public CAbstractMenuOptionChooser
|
|||||||
const bool Active = false, CChangeObserver * const Observ = NULL,
|
const bool Active = false, CChangeObserver * const Observ = NULL,
|
||||||
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
const neutrino_msg_t DirectKey = CRCInput::RC_nokey, const char * const IconName = NULL,
|
||||||
bool Pulldown = false, bool OptionsSort = false);
|
bool Pulldown = false, bool OptionsSort = false);
|
||||||
|
|
||||||
~CMenuOptionChooser();
|
~CMenuOptionChooser();
|
||||||
|
|
||||||
void setOption(const int newvalue);
|
void setOption(const int newvalue);
|
||||||
@@ -451,6 +473,11 @@ class CMenuOptionStringChooser : public CMenuItem
|
|||||||
std::vector<std::string> options;
|
std::vector<std::string> options;
|
||||||
CChangeObserver * observ;
|
CChangeObserver * observ;
|
||||||
bool pulldown;
|
bool pulldown;
|
||||||
|
void init( const std::string &OptionName,
|
||||||
|
const neutrino_locale_t Name,
|
||||||
|
std::string* pOptionValue,
|
||||||
|
CChangeObserver * const Observ,
|
||||||
|
bool Pulldown );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CMenuOptionStringChooser(const neutrino_locale_t Name, std::string* OptionValue, bool Active = false,
|
CMenuOptionStringChooser(const neutrino_locale_t Name, std::string* OptionValue, bool Active = false,
|
||||||
|
Reference in New Issue
Block a user