From 96cb4e1683a47f5b14131a18e903ef975b290cf8 Mon Sep 17 00:00:00 2001 From: John Obaterspok Date: Sun, 13 Sep 2015 21:14:25 +0200 Subject: [PATCH 2/2] Add Commit/Rollback to query menu + disable when not in transaction --- pgadmin/frm/frmQuery.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pgadmin/frm/frmQuery.cpp b/pgadmin/frm/frmQuery.cpp index f855e88..a0a114a 100644 --- a/pgadmin/frm/frmQuery.cpp +++ b/pgadmin/frm/frmQuery.cpp @@ -328,6 +328,9 @@ frmQuery::frmQuery(frmMain *form, const wxString &_title, pgConn *_conn, const w queryMenu->Append(MNU_AUTOCOMMIT, _("&Auto-Commit"), _("Auto commit the cuurent transaction"), wxITEM_CHECK); queryMenu->AppendSeparator(); queryMenu->Append(MNU_CANCEL, _("&Cancel\tAlt-Break"), _("Cancel query")); + queryMenu->AppendSeparator(); + queryMenu->Append(MNU_DOCOMMIT, _("Commit\tCtrl-Shift-C"), _("Commit")); + queryMenu->Append(MNU_DOROLLBACK, _("Rollback\tCtrl-Shift-R"), _("Rollback")); menuBar->Append(queryMenu, _("&Query")); favouritesMenu = new wxMenu(); @@ -2436,19 +2439,23 @@ void frmQuery::OnMacroInvoke(wxCommandEvent &event) void frmQuery::setTools(const bool running) { + bool canEndTransaction = (!running && conn->GetTxStatus() != PQTRANS_IDLE); + toolBar->EnableTool(MNU_EXECUTE, !running); toolBar->EnableTool(MNU_EXECPGS, !running); toolBar->EnableTool(MNU_EXECFILE, !running); toolBar->EnableTool(MNU_EXPLAIN, !running); toolBar->EnableTool(MNU_CANCEL, running); - toolBar->EnableTool(MNU_DOCOMMIT, !running); - toolBar->EnableTool(MNU_DOROLLBACK, !running); + toolBar->EnableTool(MNU_DOCOMMIT, canEndTransaction); + toolBar->EnableTool(MNU_DOROLLBACK, canEndTransaction); queryMenu->Enable(MNU_EXECUTE, !running); queryMenu->Enable(MNU_EXECPGS, !running); queryMenu->Enable(MNU_EXECFILE, !running); queryMenu->Enable(MNU_EXPLAIN, !running); queryMenu->Enable(MNU_EXPLAINANALYZE, !running); queryMenu->Enable(MNU_CANCEL, running); + queryMenu->Enable(MNU_DOCOMMIT, canEndTransaction); + queryMenu->Enable(MNU_DOROLLBACK, canEndTransaction); fileMenu->Enable(MNU_EXPORT, sqlResult->CanExport()); fileMenu->Enable(MNU_QUICKREPORT, sqlResult->CanExport()); fileMenu->Enable(MNU_RECENT, (recentFileMenu->GetMenuItemCount() > 0)); -- 1.9.5.msysgit.1