Hello.
Please see this patch. These are changes in the macros manage dialog:
- the "Save" button is enabled after any change in the query window
- RestorePosition() in the constructor
- unnecessary variable appQueryModify has been removed
- changed the condition that checks whether the title and query were
filled (method SetMacro())
Thank you.
--
Dmitriy Olshevskiy
From a08c138eaff747cd13e7876e9667dabf946a6205 Mon Sep 17 00:00:00 2001
From: olshevskiy87 <olshevski...@bk.ru>
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
--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers