Localization in progress ...
This commit is contained in:
parent
4544a5c3ad
commit
f6c64d5448
|
@ -4,7 +4,7 @@ KissCount::KissCount() : _user(NULL)
|
||||||
{
|
{
|
||||||
_wxUI = new wxUI(this, wxT("KissCount"), wxPoint(50, 50), wxSize(1024, 768));
|
_wxUI = new wxUI(this, wxT("KissCount"), wxPoint(50, 50), wxSize(1024, 768));
|
||||||
|
|
||||||
_wxUI->InitLanguage(wxLocale::GetSystemLanguage());
|
_wxUI->SetLanguage(wxLocale::GetSystemLanguage());
|
||||||
|
|
||||||
_wxUI->Show(true);
|
_wxUI->Show(true);
|
||||||
_wxUI->Centre();
|
_wxUI->Centre();
|
||||||
|
|
|
@ -85,3 +85,16 @@ int User::GetOperationsNumber(int month, int year)
|
||||||
{
|
{
|
||||||
return (*_operations[year])[month].size();
|
return (*_operations[year])[month].size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxLanguage User::GetLanguage()
|
||||||
|
{
|
||||||
|
wxString res = _preferences[wxT("language")];
|
||||||
|
long val;
|
||||||
|
|
||||||
|
if (res == wxT(""))
|
||||||
|
return wxLANGUAGE_ENGLISH_UK ;
|
||||||
|
|
||||||
|
res.ToLong(&val);
|
||||||
|
|
||||||
|
return (wxLanguage)val;
|
||||||
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ class User
|
||||||
int GetCategoriesNumber();
|
int GetCategoriesNumber();
|
||||||
int GetAccountsNumber();
|
int GetAccountsNumber();
|
||||||
int GetOperationsNumber(int month, int year);
|
int GetOperationsNumber(int month, int year);
|
||||||
|
wxLanguage GetLanguage();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
enum {ACCOUNT_NAME, ACCOUNT_NUMBER, ACCOUNT_SHARED, ACCOUNT_DEFAULT, ACCOUNT_DELETE, NUMBER_COLS_ACCOUNT};
|
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 {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)
|
BEGIN_EVENT_TABLE(PreferencesPanel, wxPanel)
|
||||||
EVT_BUTTON(CHANGE_NAME_ID, PreferencesPanel::OnChangeName)
|
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_BUTTON(KILL_ME_ID, PreferencesPanel::OnKillMe)
|
||||||
EVT_GRID_CMD_CELL_CHANGE(CATEGORIES_GRID_ID, PreferencesPanel::OnCategoryModified)
|
EVT_GRID_CMD_CELL_CHANGE(CATEGORIES_GRID_ID, PreferencesPanel::OnCategoryModified)
|
||||||
EVT_GRID_CMD_CELL_CHANGE(ACCOUNTS_GRID_ID, PreferencesPanel::OnAccountModified)
|
EVT_GRID_CMD_CELL_CHANGE(ACCOUNTS_GRID_ID, PreferencesPanel::OnAccountModified)
|
||||||
|
EVT_COMBOBOX(LANGUAGE_ID, PreferencesPanel::OnLanguageChange)
|
||||||
EVT_SHOW(PreferencesPanel::OnShow)
|
EVT_SHOW(PreferencesPanel::OnShow)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
|
||||||
{
|
{
|
||||||
wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
|
||||||
//wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
|
//wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
|
||||||
wxStaticBox* staticUser, *staticAccount, *staticCategories;
|
wxStaticBox* staticUser, *staticAccount, *staticCategories, *staticLanguage;
|
||||||
User* user = _kiss->GetUser();
|
User* user = _kiss->GetUser();
|
||||||
wxGridBagSizer *gridBagSizer;
|
wxGridBagSizer *gridBagSizer;
|
||||||
wxStaticText* label;
|
wxStaticText* label;
|
||||||
|
@ -30,6 +31,7 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
|
||||||
staticUser = new wxStaticBox(this, -1, _("User"));
|
staticUser = new wxStaticBox(this, -1, _("User"));
|
||||||
staticAccount = new wxStaticBox(this, -1, _("Accounts"));
|
staticAccount = new wxStaticBox(this, -1, _("Accounts"));
|
||||||
staticCategories = new wxStaticBox(this, -1, _("Categories"));
|
staticCategories = new wxStaticBox(this, -1, _("Categories"));
|
||||||
|
staticLanguage = new wxStaticBox(this, -1, _("Language"));
|
||||||
|
|
||||||
// User
|
// User
|
||||||
staticBoxSizer = new wxStaticBoxSizer (staticUser, wxVERTICAL);
|
staticBoxSizer = new wxStaticBoxSizer (staticUser, wxVERTICAL);
|
||||||
|
@ -76,6 +78,21 @@ PreferencesPanel::PreferencesPanel(KissCount* kiss, wxUI *parent) : wxPanel(&(*p
|
||||||
InitCategories(user);
|
InitCategories(user);
|
||||||
|
|
||||||
vbox->Add(staticBoxSizer);
|
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();
|
Fit();
|
||||||
SetMinSize(GetSize());
|
SetMinSize(GetSize());
|
||||||
|
@ -176,6 +193,21 @@ void PreferencesPanel::InitCategories(User* user)
|
||||||
SET_ROW_COLOR(curLine, OWN_GREEN);
|
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)
|
void PreferencesPanel::OnAccountModified(wxGridEvent& event)
|
||||||
{
|
{
|
||||||
int op_complete = 2;
|
int op_complete = 2;
|
||||||
|
@ -443,6 +475,12 @@ void PreferencesPanel::OnChangePassword(wxCommandEvent& event)
|
||||||
p.ShowModal();
|
p.ShowModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PreferencesPanel::OnLanguageChange(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
wxLanguage language = languages[_language->GetSelection()].language;
|
||||||
|
_wxUI->SetLanguage(language);
|
||||||
|
}
|
||||||
|
|
||||||
void PreferencesPanel::OnShow(wxShowEvent& event)
|
void PreferencesPanel::OnShow(wxShowEvent& event)
|
||||||
{
|
{
|
||||||
_wxUI->SetTitle(_kiss->GetUser()->_name + _(" - ") +_("Preferences"));
|
_wxUI->SetTitle(_kiss->GetUser()->_name + _(" - ") +_("Preferences"));
|
||||||
|
|
|
@ -8,11 +8,13 @@
|
||||||
#include <wx/gbsizer.h>
|
#include <wx/gbsizer.h>
|
||||||
#include <wx/stattext.h>
|
#include <wx/stattext.h>
|
||||||
#include <wx/textctrl.h>
|
#include <wx/textctrl.h>
|
||||||
|
#include <wx/bmpcbox.h>
|
||||||
|
|
||||||
#include <controller/KissCount.h>
|
#include <controller/KissCount.h>
|
||||||
#include "wxUI.h"
|
#include "wxUI.h"
|
||||||
#include <model/model.h>
|
#include <model/model.h>
|
||||||
#include "PasswordDialog.h"
|
#include "PasswordDialog.h"
|
||||||
|
#include "SupportedLanguages.h"
|
||||||
|
|
||||||
class wxUI;
|
class wxUI;
|
||||||
class KissCount;
|
class KissCount;
|
||||||
|
@ -27,6 +29,7 @@ class PreferencesPanel: public wxPanel
|
||||||
void OnCategoryModified(wxGridEvent& event);
|
void OnCategoryModified(wxGridEvent& event);
|
||||||
void OnChangeName(wxCommandEvent& event);
|
void OnChangeName(wxCommandEvent& event);
|
||||||
void OnChangePassword(wxCommandEvent& event);
|
void OnChangePassword(wxCommandEvent& event);
|
||||||
|
void OnLanguageChange(wxCommandEvent& event);
|
||||||
void OnShow(wxShowEvent& event);
|
void OnShow(wxShowEvent& event);
|
||||||
void OnKillMe(wxCommandEvent& event);
|
void OnKillMe(wxCommandEvent& event);
|
||||||
|
|
||||||
|
@ -36,9 +39,11 @@ class PreferencesPanel: public wxPanel
|
||||||
wxGrid* _accountsGrid;
|
wxGrid* _accountsGrid;
|
||||||
wxGrid* _categoriesGrid;
|
wxGrid* _categoriesGrid;
|
||||||
wxTextCtrl* _name;
|
wxTextCtrl* _name;
|
||||||
|
wxBitmapComboBox* _language;
|
||||||
|
|
||||||
void InitAccounts(User* user);
|
void InitAccounts(User* user);
|
||||||
void InitCategories(User* user);
|
void InitCategories(User* user);
|
||||||
|
void InitLanguage(User* user);
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE();
|
DECLARE_EVENT_TABLE();
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,9 +47,10 @@ wxUI::~wxUI()
|
||||||
if (_locale) delete _locale;
|
if (_locale) delete _locale;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxUI::InitLanguage(long language)
|
bool wxUI::SetLanguage(long language)
|
||||||
{
|
{
|
||||||
if (_locale) delete _locale;
|
if (_locale) delete _locale;
|
||||||
|
_locale = NULL;
|
||||||
|
|
||||||
// load language if possible, fall back to english otherwise
|
// load language if possible, fall back to english otherwise
|
||||||
if(wxLocale::IsAvailable(language))
|
if(wxLocale::IsAvailable(language))
|
||||||
|
@ -68,7 +69,6 @@ bool wxUI::InitLanguage(long language)
|
||||||
{
|
{
|
||||||
if (_locale) delete _locale;
|
if (_locale) delete _locale;
|
||||||
_locale = new wxLocale( wxLANGUAGE_ENGLISH );
|
_locale = new wxLocale( wxLANGUAGE_ENGLISH );
|
||||||
language = wxLANGUAGE_ENGLISH;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ class wxUI: public wxFrame
|
||||||
wxUI(KissCount* kiss, const wxString& title, const wxPoint& pos, const wxSize& size);
|
wxUI(KissCount* kiss, const wxString& title, const wxPoint& pos, const wxSize& size);
|
||||||
~wxUI();
|
~wxUI();
|
||||||
|
|
||||||
bool InitLanguage(long language);
|
bool SetLanguage(long language);
|
||||||
|
|
||||||
void ChangeUser();
|
void ChangeUser();
|
||||||
void LoadUser();
|
void LoadUser();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user