Localization in progress ...

This commit is contained in:
2010-07-06 20:59:02 +02:00
parent 4544a5c3ad
commit f6c64d5448
7 changed files with 63 additions and 6 deletions

View File

@@ -3,7 +3,7 @@
enum {ACCOUNT_NAME, ACCOUNT_NUMBER, ACCOUNT_SHARED, ACCOUNT_DEFAULT, ACCOUNT_DELETE, NUMBER_COLS_ACCOUNT};
enum {CATEGORY_NAME, CATEGORY_COLOR, CATEGORY_FONT, CATEGORY_DELETE, NUMBER_COLS_CATEGORY};
enum {CATEGORIES_GRID_ID=1, ACCOUNTS_GRID_ID, NAME_ID, CHANGE_NAME_ID, CHANGE_PASSWORD_ID, KILL_ME_ID};
enum {CATEGORIES_GRID_ID=1, ACCOUNTS_GRID_ID, NAME_ID, CHANGE_NAME_ID, CHANGE_PASSWORD_ID, KILL_ME_ID, LANGUAGE_ID};
BEGIN_EVENT_TABLE(PreferencesPanel, wxPanel)
EVT_BUTTON(CHANGE_NAME_ID, PreferencesPanel::OnChangeName)
@@ -11,6 +11,7 @@ EVT_BUTTON(CHANGE_PASSWORD_ID, PreferencesPanel::OnChangePassword)
EVT_BUTTON(KILL_ME_ID, PreferencesPanel::OnKillMe)
EVT_GRID_CMD_CELL_CHANGE(CATEGORIES_GRID_ID, PreferencesPanel::OnCategoryModified)
EVT_GRID_CMD_CELL_CHANGE(ACCOUNTS_GRID_ID, PreferencesPanel::OnAccountModified)
EVT_COMBOBOX(LANGUAGE_ID, PreferencesPanel::OnLanguageChange)
EVT_SHOW(PreferencesPanel::OnShow)
END_EVENT_TABLE()
@@ -18,7 +19,7 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
{
wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
//wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
wxStaticBox* staticUser, *staticAccount, *staticCategories;
wxStaticBox* staticUser, *staticAccount, *staticCategories, *staticLanguage;
User* user = _kiss->GetUser();
wxGridBagSizer *gridBagSizer;
wxStaticText* label;
@@ -30,6 +31,7 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
staticUser = new wxStaticBox(this, -1, _("User"));
staticAccount = new wxStaticBox(this, -1, _("Accounts"));
staticCategories = new wxStaticBox(this, -1, _("Categories"));
staticLanguage = new wxStaticBox(this, -1, _("Language"));
// User
staticBoxSizer = new wxStaticBoxSizer (staticUser, wxVERTICAL);
@@ -76,6 +78,21 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
InitCategories(user);
vbox->Add(staticBoxSizer);
vbox->Add(-1, 20);
// Language
staticBoxSizer = new wxStaticBoxSizer (staticLanguage, wxVERTICAL);
_language = new wxBitmapComboBox(this, LANGUAGE_ID);
_language->SetWindowStyle(wxCB_READONLY);
staticBoxSizer->Add(_language);
vbox->Add(staticBoxSizer);
InitLanguage(user);
_language->Fit();
Fit();
SetMinSize(GetSize());
@@ -176,6 +193,21 @@ void PreferencesPanel::InitCategories(User* user)
SET_ROW_COLOR(curLine, OWN_GREEN);
}
void PreferencesPanel::InitLanguage(User* user)
{
int i, select=0;
wxLanguage pref = user->GetLanguage();
for (i=0; i<NB_SUPPORTED_LANGUAGES; i++)
{
_language->Append(languages[i].name, wxBitmap(languages[i].icon));
if (languages[i].language == pref)
select = i;
}
_language->Select(select);
}
void PreferencesPanel::OnAccountModified(wxGridEvent& event)
{
int op_complete = 2;
@@ -443,6 +475,12 @@ void PreferencesPanel::OnChangePassword(wxCommandEvent& event)
p.ShowModal();
}
void PreferencesPanel::OnLanguageChange(wxCommandEvent& event)
{
wxLanguage language = languages[_language->GetSelection()].language;
_wxUI->SetLanguage(language);
}
void PreferencesPanel::OnShow(wxShowEvent& event)
{
_wxUI->SetTitle(_kiss->GetUser()->_name + _(" - ") +_("Preferences"));