From e2ccfe12eebc679a5d1c89d77631fa0d110afe48 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 1bdb61b..b7f2f9c 100644 --- a/pgadmin/frm/frmQuery.cpp +++ b/pgadmin/frm/frmQuery.cpp @@ -327,6 +327,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(); @@ -2435,19 +2438,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