void OptionSettingsGeneral::Create() { wxBoxSizer* generalPanelSizer = new wxBoxSizer(wxVERTICAL); SetSizer(generalPanelSizer); // Display Header Settings wxStaticBox* headerStaticBox = new wxStaticBox(this, wxID_STATIC, _("Display Heading")); SetBoldFont(headerStaticBox); wxStaticBoxSizer* headerStaticBoxSizer = new wxStaticBoxSizer(headerStaticBox, wxHORIZONTAL); headerStaticBoxSizer->Add(new wxStaticText(this, wxID_STATIC, _("User Name")), g_flagsH); wxString userName = Model_Infotable::instance().GetStringInfo("USERNAME", ""); wxTextCtrl* userNameTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_USERNAME , userName, wxDefaultPosition, wxSize(200, -1)); userNameTextCtr->SetToolTip(_("The User Name is used as a title for the database.")); headerStaticBoxSizer->Add(userNameTextCtr, g_flagsExpand); generalPanelSizer->Add(headerStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); // Language Settings wxStaticBox* languageStaticBox = new wxStaticBox(this, wxID_STATIC, _("Language")); SetBoldFont(languageStaticBox); wxStaticBoxSizer* languageStaticBoxSizer = new wxStaticBoxSizer(languageStaticBox, wxHORIZONTAL); generalPanelSizer->Add(languageStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_current_language = Model_Setting::instance().GetStringSetting(LANGUAGE_PARAMETER, "english"); wxButton* languageButton = new wxButton(this, ID_DIALOG_OPTIONS_BUTTON_LANGUAGE , m_current_language.Left(1).Upper() + m_current_language.SubString(1, m_current_language.Len()) , wxDefaultPosition, wxSize(150, -1), 0); languageButton->SetToolTip(_("Specify the language to use")); languageStaticBoxSizer->Add(languageButton, g_flagsH); // Currency Settings wxStaticBox* currencyStaticBox = new wxStaticBox(this, wxID_STATIC, _("Currency")); SetBoldFont(currencyStaticBox); wxStaticBoxSizer* currencyStaticBoxSizer = new wxStaticBoxSizer(currencyStaticBox, wxHORIZONTAL); SetBoldFont(currencyStaticBox); generalPanelSizer->Add(currencyStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); currencyStaticBoxSizer->Add(new wxStaticText(this, wxID_STATIC, _("Base Currency")), g_flagsH); wxString currName = _("Set Currency"); Model_Currency::Data* currency = Model_Currency::instance().get(m_currency_id); if (currency) currName = currency->CURRENCYNAME; wxButton* baseCurrencyButton = new wxButton(this, ID_DIALOG_OPTIONS_BUTTON_CURRENCY , currName, wxDefaultPosition, wxDefaultSize); baseCurrencyButton->SetToolTip(_("Sets the database default Currency using the 'Currency Dialog'")); currencyStaticBoxSizer->Add(baseCurrencyButton, g_flagsH); currencyStaticBoxSizer->Add(new wxStaticText(this, wxID_STATIC, _("Right click and select 'Set as Base Currency' in 'Currency Dialog'")), g_flagsH); // Date Format Settings wxStaticBox* dateFormatStaticBox = new wxStaticBox(this, wxID_STATIC, _("Date Format")); SetBoldFont(dateFormatStaticBox); wxStaticBoxSizer* dateFormatStaticBoxSizer = new wxStaticBoxSizer(dateFormatStaticBox, wxHORIZONTAL); generalPanelSizer->Add(dateFormatStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_date_format_choice = new wxChoice(this, ID_DIALOG_OPTIONS_WXCHOICE_DATE); for (const auto& i : g_date_formats_map) { m_date_format_choice->Append(i.second, new wxStringClientData(i.first)); if (m_date_format == i.first) m_date_format_choice->SetStringSelection(i.second); } dateFormatStaticBoxSizer->Add(m_date_format_choice, g_flagsH); m_date_format_choice->SetToolTip(_("Specify the date format for display")); m_sample_date_text = new wxStaticText(this, wxID_STATIC, "redefined elsewhere"); dateFormatStaticBoxSizer->Add(new wxStaticText(this, wxID_STATIC, _("New date format sample:")), wxSizerFlags(g_flagsH).Border(wxLEFT, 15)); dateFormatStaticBoxSizer->Add(m_sample_date_text, wxSizerFlags(g_flagsH).Border(wxLEFT, 5)); m_sample_date_text->SetLabelText(wxDateTime::Now().Format(m_date_format)); // Financial Year Settings wxStaticBox* financialYearStaticBox = new wxStaticBox(this, wxID_ANY, _("Financial Year")); SetBoldFont(financialYearStaticBox); wxStaticBoxSizer* financialYearStaticBoxSizer = new wxStaticBoxSizer(financialYearStaticBox, wxVERTICAL); wxFlexGridSizer* financialYearStaticBoxSizerGrid = new wxFlexGridSizer(0, 2, 0, 0); generalPanelSizer->Add(financialYearStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); financialYearStaticBoxSizer->Add(financialYearStaticBoxSizerGrid); financialYearStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Start Day")), g_flagsH); int day = Model_Infotable::instance().GetIntInfo("FINANCIAL_YEAR_START_DAY", 1); wxSpinCtrl *textFPSDay = new wxSpinCtrl(this, ID_DIALOG_OPTIONS_FINANCIAL_YEAR_START_DAY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 31, day); textFPSDay->SetValue(day); textFPSDay->SetToolTip(_("Specify Day for start of financial year")); financialYearStaticBoxSizerGrid->Add(textFPSDay, g_flagsH); financialYearStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Start Month")), g_flagsH); wxArrayString financialMonthsSelection; for (wxDateTime::Month m = wxDateTime::Jan; m <= wxDateTime::Dec; m = wxDateTime::Month(m + 1)) financialMonthsSelection.Add(wxGetTranslation(wxDateTime::GetMonthName(m, wxDateTime::Name_Abbr))); m_month_selection = new wxChoice(this, ID_DIALOG_OPTIONS_FINANCIAL_YEAR_START_MONTH , wxDefaultPosition, wxSize(100, -1), financialMonthsSelection); financialYearStaticBoxSizerGrid->Add(m_month_selection, g_flagsH); int monthItem = Model_Infotable::instance().GetIntInfo("FINANCIAL_YEAR_START_MONTH", 7); m_month_selection->SetSelection(monthItem - 1); m_month_selection->SetToolTip(_("Specify month for start of financial year")); //a bit more space visual appearance generalPanelSizer->AddSpacer(15); m_use_org_date_copy_paste = new wxCheckBox(this, wxID_STATIC, _("Use Original Date when Pasting Transactions"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_use_org_date_copy_paste->SetValue(GetIniDatabaseCheckboxValue(INIDB_USE_ORG_DATE_COPYPASTE, false)); m_use_org_date_copy_paste->SetToolTip(_("Select whether to use the original transaction date or current date when copying/pasting transactions")); generalPanelSizer->Add(m_use_org_date_copy_paste, g_flagsV); m_use_sound = new wxCheckBox(this, wxID_STATIC, _("Use Transaction Sound"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_use_sound->SetValue(GetIniDatabaseCheckboxValue(INIDB_USE_TRANSACTION_SOUND, true)); m_use_sound->SetToolTip(_("Select whether to use sounds when entering transactions")); generalPanelSizer->Add(m_use_sound, g_flagsV); }
void mmOptionNetSettings::Create() { wxBoxSizer* networkPanelSizer = new wxBoxSizer(wxVERTICAL); SetSizer(networkPanelSizer); //WebApp settings wxStaticBox* WebAppStaticBox = new wxStaticBox(this, wxID_STATIC, _("WebApp Settings")); SetBoldFont(WebAppStaticBox); wxStaticBoxSizer* WebAppStaticBoxSizer = new wxStaticBoxSizer(WebAppStaticBox, wxVERTICAL); wxFlexGridSizer* WebAppStaticBoxSizerGrid = new wxFlexGridSizer(0, 2, 0, 10); networkPanelSizer->Add(WebAppStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); WebAppStaticBoxSizer->Add(WebAppStaticBoxSizerGrid, wxSizerFlags(g_flagsExpand).Proportion(0)); WebAppStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Url")), g_flags); wxString WebAppURL = Model_Infotable::instance().GetStringInfo("WEBAPPURL", ""); wxTextCtrl* WebAppURLTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_WEBAPPURL, WebAppURL, wxDefaultPosition, wxSize(300, -1)); WebAppURLTextCtr->SetToolTip(_("Specify the Web App URL without final slash")); WebAppStaticBoxSizerGrid->Add(WebAppURLTextCtr, 1, wxEXPAND | wxALL, 5); WebAppStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("GUID")), g_flags); wxString WebAppGUID = Model_Infotable::instance().GetStringInfo("WEBAPPGUID", ""); wxTextCtrl* WebAppGUIDTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_WEBAPPGUID, WebAppGUID, wxDefaultPosition, wxSize(300, -1)); WebAppGUIDTextCtr->SetToolTip(_("Specify the Web App GUID")); WebAppStaticBoxSizerGrid->Add(WebAppGUIDTextCtr, 1, wxEXPAND | wxALL, 5); // Proxy Settings wxStaticBox* proxyStaticBox = new wxStaticBox(this, wxID_STATIC, _("Proxy Settings")); SetBoldFont(proxyStaticBox); wxStaticBoxSizer* proxyStaticBoxSizer = new wxStaticBoxSizer(proxyStaticBox, wxVERTICAL); networkPanelSizer->Add(proxyStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); wxString proxyName = Model_Setting::instance().GetStringSetting("PROXYIP", ""); wxTextCtrl* proxyNameTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_PROXY , proxyName, wxDefaultPosition, wxSize(150, -1)); proxyNameTextCtr->SetToolTip(_("Specify the proxy IP address")); int proxyPort = Model_Setting::instance().GetIntSetting("PROXYPORT", 0); m_proxy_port = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, proxyPort); m_proxy_port->SetValue(proxyPort); m_proxy_port->SetToolTip(_("Specify proxy port number")); wxFlexGridSizer* flex_sizer3 = new wxFlexGridSizer(0, 4, 0, 0); flex_sizer3->Add(new wxStaticText(this, wxID_STATIC, _("Proxy")), g_flags); flex_sizer3->Add(proxyNameTextCtr, g_flags); flex_sizer3->Add(new wxStaticText(this, wxID_STATIC, _("Port")), g_flags); flex_sizer3->Add(m_proxy_port, g_flags); proxyStaticBoxSizer->Add(flex_sizer3, g_flags); // Web Server Settings wxStaticBox* webserverStaticBox = new wxStaticBox(this, wxID_STATIC, _("Web Server")); SetBoldFont(webserverStaticBox); wxStaticBoxSizer* webserverStaticBoxSizer = new wxStaticBoxSizer(webserverStaticBox, wxVERTICAL); networkPanelSizer->Add(webserverStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_webserver_checkbox = new wxCheckBox(this, wxID_ANY , _("Enable"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_webserver_checkbox->SetValue(GetIniDatabaseCheckboxValue("ENABLEWEBSERVER", true)); m_webserver_checkbox->SetToolTip(_("Enable internal web server when MMEX Starts.")); int webserverPort = Model_Setting::instance().GetIntSetting("WEBSERVERPORT", 8080); m_webserver_port = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, webserverPort); m_webserver_port->SetValue(webserverPort); m_webserver_port->SetToolTip(_("Specify web server port number")); wxFlexGridSizer* flex_sizer4 = new wxFlexGridSizer(0, 4, 0, 0); flex_sizer4->Add(m_webserver_checkbox, g_flags); flex_sizer4->Add(new wxStaticText(this, wxID_STATIC, _("Port")), g_flags); flex_sizer4->Add(m_webserver_port, g_flags); webserverStaticBoxSizer->Add(flex_sizer4, g_flags); //Usage data send wxStaticBox* usageStaticBox = new wxStaticBox(this, wxID_STATIC, _("Usage statistics")); SetBoldFont(usageStaticBox); wxStaticBoxSizer* usageStaticBoxSizer = new wxStaticBoxSizer(usageStaticBox, wxVERTICAL); networkPanelSizer->Add(usageStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_send_data = new wxCheckBox(this, wxID_ANY , _("Send anonymous statistics usage data"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_send_data->SetValue(GetIniDatabaseCheckboxValue(INIDB_SEND_USAGE_STATS, true)); m_send_data->SetToolTip(_("Enable to help us sending anonymous data about MMEX usage.")); usageStaticBoxSizer->Add(m_send_data, g_flags); // Communication timeout wxStaticBox* timeoutStaticBox = new wxStaticBox(this, wxID_STATIC, _("Timeout")); SetBoldFont(timeoutStaticBox); wxStaticBoxSizer* timeoutStaticBoxSizer = new wxStaticBoxSizer(timeoutStaticBox, wxVERTICAL); networkPanelSizer->Add(timeoutStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); int nTimeout = Model_Setting::instance().GetIntSetting("NETWORKTIMEOUT", 10); m_network_timeout = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 150, nTimeout); m_network_timeout->SetValue(nTimeout); m_network_timeout->SetToolTip(_("Specify a network communication timeout value to use.")); wxFlexGridSizer* flex_sizer5 = new wxFlexGridSizer(0, 2, 0, 0); flex_sizer5->Add(new wxStaticText(this, wxID_STATIC, _("Seconds")), g_flags); flex_sizer5->Add(m_network_timeout, g_flags); timeoutStaticBoxSizer->Add(flex_sizer5, g_flags); //Updates check wxStaticBox* updateStaticBox = new wxStaticBox(this, wxID_STATIC, _("Updates")); SetBoldFont(updateStaticBox); wxStaticBoxSizer* updateStaticBoxSizer = new wxStaticBoxSizer(updateStaticBox, wxVERTICAL); networkPanelSizer->Add(updateStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_check_update = new wxCheckBox(this, wxID_ANY , _("Check for updates at StartUp"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_check_update->SetValue(GetIniDatabaseCheckboxValue("UPDATECHECK", true)); m_check_update->SetToolTip(_("Enable to automatically check if new MMEX version is available at StartUp")); updateStaticBoxSizer->Add(m_check_update, g_flags); wxFlexGridSizer* UpdateSourceStaticBoxSizerGrid = new wxFlexGridSizer(0, 2, 0, 0); updateStaticBoxSizer->Add(UpdateSourceStaticBoxSizerGrid, wxSizerFlags(g_flagsExpand).Proportion(0)); wxArrayString UpdatesType_; UpdatesType_.Add(_("Stable")); UpdatesType_.Add(_("Unstable")); wxChoice* updatesTypeChoice = new wxChoice(this, ID_DIALOG_OPTIONS_UPDATES_SOURCE_TYPE , wxDefaultPosition, wxSize(150, -1), UpdatesType_); updatesTypeChoice->SetSelection(Model_Setting::instance().GetIntSetting("UPDATESOURCE", 0)); UpdateSourceStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Updates source:")), g_flags); UpdateSourceStaticBoxSizerGrid->Add(updatesTypeChoice, g_flags); SetSizer(networkPanelSizer); }
void OptionSettingsNet::Create() { wxBoxSizer* networkPanelSizer = new wxBoxSizer(wxVERTICAL); SetSizer(networkPanelSizer); //WebApp settings wxStaticBox* WebAppStaticBox = new wxStaticBox(this, wxID_STATIC, _("WebApp Settings")); SetBoldFont(WebAppStaticBox); wxStaticBoxSizer* WebAppStaticBoxSizer = new wxStaticBoxSizer(WebAppStaticBox, wxVERTICAL); wxFlexGridSizer* WebAppStaticBoxSizerGrid = new wxFlexGridSizer(0, 2, 0, 10); networkPanelSizer->Add(WebAppStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); WebAppStaticBoxSizer->Add(WebAppStaticBoxSizerGrid, wxSizerFlags(g_flagsExpand).Proportion(0)); WebAppStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Url")), g_flagsH); wxString WebAppURL = Model_Infotable::instance().GetStringInfo("WEBAPPURL", ""); wxTextCtrl* WebAppURLTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_WEBAPPURL, WebAppURL, wxDefaultPosition, wxSize(300, -1)); WebAppURLTextCtr->SetToolTip(_("Specify the Web App URL without final slash")); WebAppStaticBoxSizerGrid->Add(WebAppURLTextCtr, 1, wxEXPAND | wxALL, 5); WebAppStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("GUID")), g_flagsH); wxString WebAppGUID = Model_Infotable::instance().GetStringInfo("WEBAPPGUID", ""); wxTextCtrl* WebAppGUIDTextCtr = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_WEBAPPGUID, WebAppGUID, wxDefaultPosition, wxSize(300, -1)); WebAppGUIDTextCtr->SetToolTip(_("Specify the Web App GUID")); WebAppStaticBoxSizerGrid->Add(WebAppGUIDTextCtr, 1, wxEXPAND | wxALL, 5); wxFlexGridSizer* WebAppStaticBoxSizerGridBottom = new wxFlexGridSizer(0, 2, 0, 10); WebAppStaticBoxSizer->Add(WebAppStaticBoxSizerGridBottom, wxSizerFlags(g_flagsExpand).Proportion(0)); wxButton* WebAppTestButton = new wxButton(this, ID_DIALOG_OPTIONS_BUTTON_WEBAPP_TEST, _("Test connection")); WebAppStaticBoxSizerGridBottom->Add(WebAppTestButton, 1, wxEXPAND | wxALL); wxHyperlinkCtrl* WebAppLink = new wxHyperlinkCtrl(this, wxID_STATIC, _("More information about WebApp"), mmex::weblink::WebApp); WebAppStaticBoxSizerGridBottom->Add(WebAppLink, 1, wxEXPAND | wxALL); // Proxy Settings wxStaticBox* proxyStaticBox = new wxStaticBox(this, wxID_STATIC, _("Proxy Settings")); SetBoldFont(proxyStaticBox); wxStaticBoxSizer* proxyStaticBoxSizer = new wxStaticBoxSizer(proxyStaticBox, wxVERTICAL); networkPanelSizer->Add(proxyStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); wxString proxyName = Model_Setting::instance().GetStringSetting("PROXYIP", ""); m_proxy_address = new wxTextCtrl(this, ID_DIALOG_OPTIONS_TEXTCTRL_PROXY , proxyName, wxDefaultPosition, wxSize(150, -1)); m_proxy_address->SetToolTip(_("Specify the proxy IP address")); int proxyPort = Model_Setting::instance().GetIntSetting("PROXYPORT", 0); m_proxy_port = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 65535, proxyPort); m_proxy_port->SetValue(proxyPort); m_proxy_port->SetToolTip(_("Specify proxy port number")); wxFlexGridSizer* flex_sizer3 = new wxFlexGridSizer(0, 4, 0, 0); flex_sizer3->Add(new wxStaticText(this, wxID_STATIC, _("Proxy")), g_flagsH); flex_sizer3->Add(m_proxy_address, g_flagsH); flex_sizer3->Add(new wxStaticText(this, wxID_STATIC, _("Port")), g_flagsH); flex_sizer3->Add(m_proxy_port, g_flagsH); proxyStaticBoxSizer->Add(flex_sizer3, g_flagsV); //Usage data send wxStaticBox* usageStaticBox = new wxStaticBox(this, wxID_STATIC, _("Usage statistics")); SetBoldFont(usageStaticBox); wxStaticBoxSizer* usageStaticBoxSizer = new wxStaticBoxSizer(usageStaticBox, wxVERTICAL); networkPanelSizer->Add(usageStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_send_data = new wxCheckBox(this, wxID_ANY , _("Send anonymous statistics usage data"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_send_data->SetValue(Option::instance().getSendUsageStatistics()); m_send_data->SetToolTip(_("Enable to help us sending anonymous data about MMEX usage.")); usageStaticBoxSizer->Add(m_send_data, g_flagsV); // Communication timeout wxStaticBox* timeoutStaticBox = new wxStaticBox(this, wxID_STATIC, _("Timeout")); SetBoldFont(timeoutStaticBox); wxStaticBoxSizer* timeoutStaticBoxSizer = new wxStaticBoxSizer(timeoutStaticBox, wxVERTICAL); networkPanelSizer->Add(timeoutStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); int nTimeout = Model_Setting::instance().GetIntSetting("NETWORKTIMEOUT", 10); m_network_timeout = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 1, 150, nTimeout); m_network_timeout->SetValue(nTimeout); m_network_timeout->SetToolTip(_("Specify a network communication timeout value to use.")); wxFlexGridSizer* flex_sizer5 = new wxFlexGridSizer(0, 2, 0, 0); flex_sizer5->Add(new wxStaticText(this, wxID_STATIC, _("Seconds")), g_flagsH); flex_sizer5->Add(m_network_timeout, g_flagsH); timeoutStaticBoxSizer->Add(flex_sizer5, g_flagsV); //Updates check wxStaticBox* updateStaticBox = new wxStaticBox(this, wxID_STATIC, _("Check for Updates")); SetBoldFont(updateStaticBox); wxStaticBoxSizer* updateStaticBoxSizer = new wxStaticBoxSizer(updateStaticBox, wxVERTICAL); networkPanelSizer->Add(updateStaticBoxSizer, wxSizerFlags(g_flagsExpand).Proportion(0)); m_check_update = new wxCheckBox(this, ID_DIALOG_OPTIONS_UPDATES_CHECK , _("Check at StartUp"), wxDefaultPosition, wxDefaultSize, wxCHK_2STATE); m_check_update->SetValue(GetIniDatabaseCheckboxValue("UPDATECHECK", true)); m_check_update->SetToolTip(_("Enable to automatically check if new MMEX version is available at StartUp")); wxArrayString UpdatesType_; UpdatesType_.Add(_("Stable")); UpdatesType_.Add(_("Unstable")); m_update_source = new wxChoice(this, wxID_ANY , wxDefaultPosition, wxSize(150, -1), UpdatesType_); m_update_source->SetSelection(Model_Setting::instance().GetIntSetting("UPDATESOURCE", 0)); m_update_source->SetToolTip(_("Select updates source channel")); wxFlexGridSizer* UpdateSourceStaticBoxSizerGrid = new wxFlexGridSizer(0, 3, 0, 0); UpdateSourceStaticBoxSizerGrid->Add(new wxStaticText(this, wxID_STATIC, _("Select preferred version:")), g_flagsH); UpdateSourceStaticBoxSizerGrid->Add(m_update_source, g_flagsH); UpdateSourceStaticBoxSizerGrid->Add(m_check_update, g_flagsH); updateStaticBoxSizer->Add(UpdateSourceStaticBoxSizerGrid, wxSizerFlags(g_flagsExpand).Proportion(0)); wxCommandEvent evt; OptionSettingsNet::OnProxyChanged(evt); SetSizer(networkPanelSizer); }