From ae9d31106b2a69e9b45faaa372930bc29879b9a5 Mon Sep 17 00:00:00 2001 From: Guillaume Lelarge Date: Tue, 12 Oct 2010 00:02:02 +0200 Subject: [PATCH] Add an option to put keywords in uppercase The user can check an option, so that every keyword he enters in a SQL box is automatically in uppercase. Implements #250. --- pgadmin/ctl/ctlSQLBox.cpp | 5 +++++ pgadmin/frm/frmOptions.cpp | 9 +++++++++ pgadmin/include/utils/sysSettings.h | 2 ++ pgadmin/ui/frmOptions.xrc | 9 ++++++++- 4 files changed, 24 insertions(+), 1 deletions(-) diff --git a/pgadmin/ctl/ctlSQLBox.cpp b/pgadmin/ctl/ctlSQLBox.cpp index 3cd5577..c5b007f 100644 --- a/pgadmin/ctl/ctlSQLBox.cpp +++ b/pgadmin/ctl/ctlSQLBox.cpp @@ -114,6 +114,11 @@ void ctlSQLBox::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, cons StyleSetFont(i, fntSQLBox); } + // Keywords in uppercase? + + if (settings->GetSQLKeywordsInUppercase()) + StyleSetCase(5, wxSTC_CASE_UPPER); + // Margin style StyleSetBackground(wxSTC_STYLE_LINENUMBER, settings->GetSQLMarginBackgroundColour()); diff --git a/pgadmin/frm/frmOptions.cpp b/pgadmin/frm/frmOptions.cpp index ce28d14..a846aef 100644 --- a/pgadmin/frm/frmOptions.cpp +++ b/pgadmin/frm/frmOptions.cpp @@ -97,6 +97,7 @@ #define pickerSQLColour7 CTRL_COLOURPICKER("pickerSQLColour7") #define pickerSQLColour10 CTRL_COLOURPICKER("pickerSQLColour10") #define pickerSQLColour11 CTRL_COLOURPICKER("pickerSQLColour11") +#define chkKeywordsInUppercase CTRL_CHECKBOX("chkKeywordsInUppercase") BEGIN_EVENT_TABLE(frmOptions, pgDialog) EVT_MENU(MNU_HELP, frmOptions::OnHelp) @@ -269,6 +270,8 @@ frmOptions::frmOptions(frmMain *parent) pickerSQLColour10->SetColour(settings->GetSQLBoxColour(10)); pickerSQLColour11->SetColour(settings->GetSQLBoxColour(11)); + chkKeywordsInUppercase->SetValue(settings->GetSQLKeywordsInUppercase()); + cbLanguage->Append(_("Default")); int sel=0; wxLanguage langId=settings->GetCanonicalLanguage(); @@ -693,6 +696,12 @@ void frmOptions::OnOK(wxCommandEvent &ev) changed = true; settings->SetSQLBoxColour(11, pickerSQLColour11->GetColourString()); + if (settings->GetSQLKeywordsInUppercase() != chkKeywordsInUppercase->GetValue()) + { + changed = true; + settings->SetSQLKeywordsInUppercase(chkKeywordsInUppercase->GetValue()); + } + // Change the language last, as it will affect our tests for changes // in the display object types. int langNo=cbLanguage->GetCurrentSelection(); diff --git a/pgadmin/include/utils/sysSettings.h b/pgadmin/include/utils/sysSettings.h index 7caae55..f52a3a1 100644 --- a/pgadmin/include/utils/sysSettings.h +++ b/pgadmin/include/utils/sysSettings.h @@ -161,6 +161,8 @@ public: wxString GetSQLMarginBackgroundColour() const { wxString s; Read(wxT("ctlSQLBox/MarginBackgroundColour"), &s, wxT("#dddddd")); return s; } void SetSQLMarginBackgroundColour(const wxString &newval) { Write(wxT("ctlSQLBox/MarginBackgroundColour"), newval); } + bool GetSQLKeywordsInUppercase() const { bool b; Read(wxT("KeywordsInUppercase"), &b, false); return b; } + void SetSQLKeywordsInUppercase(const bool newval) { Write(wxT("KeywordsInUppercase"), newval); } // Misc options long GetAutoRowCountThreshold() const { long l; Read(wxT("AutoRowCount"), &l, 2000L); return l; } diff --git a/pgadmin/ui/frmOptions.xrc b/pgadmin/ui/frmOptions.xrc index dfbd706..358c9c0 100644 --- a/pgadmin/ui/frmOptions.xrc +++ b/pgadmin/ui/frmOptions.xrc @@ -810,6 +810,13 @@ wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT|wxRIGHT 4 + + + + + wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT|wxRIGHT + 4 + wxEXPAND|wxALIGN_CENTRE|wxALL 3 @@ -982,4 +989,4 @@ - \ No newline at end of file + -- 1.7.0.4