From a08c138eaff747cd13e7876e9667dabf946a6205 Mon Sep 17 00:00:00 2001 From: olshevskiy87 Date: Sat, 12 Jul 2014 14:18:50 +0400 Subject: [PATCH] - saving macro after query pasting - restoring of the saved position - unnecessary variable appQueryModify has been removed --- pgadmin/dlg/dlgManageMacros.cpp | 29 +++++++++++------------------ pgadmin/include/dlg/dlgManageMacros.h | 1 - 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/pgadmin/dlg/dlgManageMacros.cpp b/pgadmin/dlg/dlgManageMacros.cpp index be800df..c1d27d4 100644 --- a/pgadmin/dlg/dlgManageMacros.cpp +++ b/pgadmin/dlg/dlgManageMacros.cpp @@ -23,7 +23,7 @@ //pointer to controls #define lstKeys CTRL_LISTVIEW("lstKeys") -#define txtName CTRL_TEXT("txtName") +#define txtName CTRL_TEXT("txtName") #define txtSqlBox CTRL_SQLBOX("txtSqlBox") #define btnClear CTRL_BUTTON("btnClear") #define btnSave CTRL_BUTTON("btnSave") @@ -35,7 +35,7 @@ BEGIN_EVENT_TABLE(dlgManageMacros, DialogWithHelp) EVT_BUTTON (XRCID("btnClear"), dlgManageMacros::OnClear) EVT_BUTTON (XRCID("btnSave"), dlgManageMacros::OnSave) EVT_TEXT (XRCID("txtName"), dlgManageMacros::OnNameChange) - EVT_STC_CHARADDED (XRCID("txtSqlBox"), dlgManageMacros::OnQueryChange) + EVT_STC_CHANGE (XRCID("txtSqlBox"), dlgManageMacros::OnQueryChange) END_EVENT_TABLE() dlgManageMacros::dlgManageMacros(wxWindow *parent, frmMain *form, queryMacroList *macros) : @@ -43,6 +43,7 @@ dlgManageMacros::dlgManageMacros(wxWindow *parent, frmMain *form, queryMacroList { SetFont(settings->GetSystemFont()); LoadResource(parent, wxT("dlgManageMacros")); + RestorePosition(); this->macros = macros; @@ -73,6 +74,8 @@ dlgManageMacros::dlgManageMacros(wxWindow *parent, frmMain *form, queryMacroList // Clear Markers anythingChanged = false; thisMacroChanged = false; + + txtSqlBox->SetModEventMask(wxSTC_MOD_INSERTTEXT | wxSTC_MOD_DELETETEXT); } void dlgManageMacros::AddKeyToList(int position, const wxString &key) @@ -124,11 +127,9 @@ void dlgManageMacros::DeleteMacro(int listItem) if (macros->DelMacro(key)) { anythingChanged = true; - appQueryModify = true; lstKeys->SetItem(listItem, 1, wxT("")); txtName->ChangeValue(wxT("")); txtSqlBox->SetText(wxT("")); - appQueryModify = false; thisMacroChanged = false; btnSave->Disable(); btnClear->Disable(); @@ -164,14 +165,14 @@ void dlgManageMacros::SetMacro(bool silent) return; key = lstKeys->GetItemText(item); - Name = txtName->GetValue(); - query = txtSqlBox->GetText(); + Name = txtName->GetValue().Trim(); + query = txtSqlBox->GetText().Trim(); if (Name.IsEmpty() && query.IsEmpty()) { DeleteMacro(item); } - else if ((Name.IsEmpty() && !query.IsEmpty()) || (!Name.IsEmpty() && query.IsEmpty())) + else if (Name.IsEmpty() || query.IsEmpty()) { if (!silent) wxMessageBox(_("You must specify a query and a name for the macro"), _("Save macro"), wxICON_EXCLAMATION | wxOK); @@ -196,21 +197,17 @@ void dlgManageMacros::OnKeySelect(wxListEvent &ev) queryMacroItem *item = macros->FindMacro(key); if (item != NULL) { - appQueryModify = true; txtName->ChangeValue(item->GetName()); txtSqlBox->SetText(item->GetQuery()); - appQueryModify = false; btnClear->Enable(); btnSave->Disable(); } else { - appQueryModify = true; txtName->ChangeValue(wxT("")); txtSqlBox->SetText(wxT("")); - appQueryModify = false; - btnClear->Disable(); btnClear->Disable(); + btnSave->Disable(); } thisMacroChanged = false; } @@ -223,15 +220,11 @@ void dlgManageMacros::OnNameChange(wxCommandEvent &ev) void dlgManageMacros::OnQueryChange(wxStyledTextEvent &ev) { - if (!appQueryModify) - { - thisMacroChanged = true; - btnSave->Enable(); - } + thisMacroChanged = true; + btnSave->Enable(); } wxString dlgManageMacros::GetHelpPage() const { return wxT("macros"); } - diff --git a/pgadmin/include/dlg/dlgManageMacros.h b/pgadmin/include/dlg/dlgManageMacros.h index f922237..8abebb2 100644 --- a/pgadmin/include/dlg/dlgManageMacros.h +++ b/pgadmin/include/dlg/dlgManageMacros.h @@ -41,7 +41,6 @@ private: bool anythingChanged; bool thisMacroChanged; - bool appQueryModify; // Marker to ignore modify events while setting query text DECLARE_EVENT_TABLE() }; -- 1.8.3.msysgit.0