Brendan Hagan
2022-11-18 21:10:17 -05:00
parent ec98048c26
commit e951aed2a8
5 changed files with 49 additions and 1 deletions
+1
View File
@@ -667,6 +667,7 @@ button:
install group: &Install All
upgrade group: &Upgrade All
remove group: &Remove All
apply language: Apply language
############################################################## Titles in the GUI
title:
+1 -1
View File
@@ -33,7 +33,7 @@ void AboutWindow::onPaint(wxPaintEvent& ev) {
draw(dc);
}
const char* MSE_AUTHORS[] = {"Twan van Laarhoven (twanvl)", "Sean Hunt (coppro)", "Alissa Rao (Lymia)"};
const char* MSE_AUTHORS[] = {"Twan van Laarhoven (twanvl)", "Sean Hunt (coppro)", "Alissa Rao (Lymia)", "CaiCai (247321453)"};
void AboutWindow::draw(DC& dc) {
wxSize ws = GetClientSize();
+41
View File
@@ -18,12 +18,17 @@
#include <data/format/formats.hpp>
#include <wx/dcbuffer.h>
#include <wx/filename.h>
#include <util/io/package_manager.hpp>
#include <data/locale.hpp>
// 2007-02-06: New HoverButton, hopefully this on works on GTK
#define USE_HOVERBUTTON
// ----------------------------------------------------------------------------- : WelcomeWindow
bool __compare_package_name(const PackagedP& a, const PackagedP& b) {
return a->name() < b->name();
}
WelcomeWindow::WelcomeWindow()
: wxFrame(nullptr, wxID_ANY, _TITLE_("magic set editor"), wxDefaultPosition, wxSize(520,380), wxDEFAULT_DIALOG_STYLE | wxTAB_TRAVERSAL | wxCLIP_CHILDREN )
, logo (load_resource_image(_("about")))
@@ -58,6 +63,28 @@ WelcomeWindow::WelcomeWindow()
#endif
if (open_last) s2->Add(open_last, 0, wxALL, 2);
s2->AddStretchSpacer();
//
language = new wxComboBox(this, wxID_ANY, _(""), wxDefaultPosition, wxDefaultSize, 0, nullptr, wxCB_READONLY);
// set values
vector<PackagedP> locales;
package_manager.findMatching(_("*.mse-locale"), locales);
sort(locales.begin(), locales.end(), __compare_package_name);
int n = 0;
FOR_EACH(package, locales) {
language->Append(package->full_name, package.get());
if (settings.locale == package->name()) {
language->SetSelection(n);
}
n++;
}
wxSizer* s3 = new wxBoxSizer(wxHORIZONTAL);
s3->AddSpacer(5);
s3->Add(language, 0, wxALL, 1);
auto apply_language = new wxButton(this, ID_APPLY_LANGUAGE, _BUTTON_("apply language"));
s3->AddSpacer(25);
s3->Add(apply_language, 0, wxALL, 1);
s2->Add(s3);
s1->Add(s2);
SetSizer(s1);
}
@@ -87,6 +114,19 @@ void WelcomeWindow::draw(DC& dc) {
dc.DrawText(version_string, 4, ws.GetHeight()-th-4);
}
void WelcomeWindow::onApplyLanguage(wxCommandEvent&) {
// locale
int n = language->GetSelection();
if (n == wxNOT_FOUND) return;
Packaged* p = (Packaged*)language->GetClientData(n);
settings.locale = p->name();
the_locale = Locale::byName(settings.locale);
//close app
(new WelcomeWindow())->Show();
Close();
}
void WelcomeWindow::onOpenSet(wxCommandEvent&) {
wxFileDialog* dlg = new wxFileDialog(this, _TITLE_("open set"), settings.default_set_dir, wxEmptyString, import_formats(), wxFD_OPEN);
if (dlg->ShowModal() == wxID_OK) {
@@ -133,6 +173,7 @@ BEGIN_EVENT_TABLE(WelcomeWindow, wxFrame)
EVT_BUTTON (ID_FILE_NEW, WelcomeWindow::onNewSet)
EVT_BUTTON (ID_FILE_OPEN, WelcomeWindow::onOpenSet)
EVT_BUTTON (ID_FILE_RECENT, WelcomeWindow::onOpenLast)
EVT_BUTTON (ID_APPLY_LANGUAGE, WelcomeWindow::onApplyLanguage)
EVT_BUTTON (ID_FILE_CHECK_UPDATES, WelcomeWindow::onCheckUpdates)
EVT_PAINT ( WelcomeWindow::onPaint)
// EVT_IDLE ( WelcomeWindow::onIdle)
+2
View File
@@ -35,6 +35,7 @@ private:
#if USE_BETA_LOGO
Bitmap logo2;
#endif
wxComboBox* language;
void onPaint(wxPaintEvent&);
void draw(DC& dc);
@@ -43,6 +44,7 @@ private:
void onNewSet (wxCommandEvent&);
void onOpenLast (wxCommandEvent&);
void onCheckUpdates(wxCommandEvent&);
void onApplyLanguage(wxCommandEvent&);
// void onIdle (wxIdleEvent& ev);
/// Close the welcome window, and show the given set
+4
View File
@@ -81,6 +81,10 @@ enum MenuID {
ID_MODE_SYMMETRY,
ID_MODE_PAINT,
ID_MODE_MAX,
ID_APPLY_LANGUAGE,
};