From: <ibr...@us...> - 2013-08-29 22:28:13
|
Revision: 4807 http://sourceforge.net/p/tora/code/4807 Author: ibre5041 Date: 2013-08-29 22:28:08 +0000 (Thu, 29 Aug 2013) Log Message: ----------- commit/rollback Modified Paths: -------------- trunk/tora/src/core/toglobalevent.cpp trunk/tora/src/core/toglobalevent.h trunk/tora/src/core/tomain.cpp trunk/tora/src/core/toresulttableview.h trunk/tora/src/tools/toworksheet.cpp trunk/tora/src/tools/toworksheet.h Modified: trunk/tora/src/core/toglobalevent.cpp =================================================================== --- trunk/tora/src/core/toglobalevent.cpp 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/core/toglobalevent.cpp 2013-08-29 22:28:08 UTC (rev 4807) @@ -117,3 +117,8 @@ { emit s_rollbackRequested(conn); } + +void toGlobalEvent::stopRequested(toConnection &conn) +{ + emit s_stopRequested(conn); +} Modified: trunk/tora/src/core/toglobalevent.h =================================================================== --- trunk/tora/src/core/toglobalevent.h 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/core/toglobalevent.h 2013-08-29 22:28:08 UTC (rev 4807) @@ -133,6 +133,7 @@ void commitRequested(toConnection &conn); void rollbackRequested(toConnection &conn); + void stopRequested(toConnection &conn); signals: void s_checkCaching(void); @@ -150,6 +151,7 @@ void s_commitRequested(toConnection &conn); void s_rollbackRequested(toConnection &conn); + void s_stopRequested(toConnection &conn); }; typedef Loki::SingletonHolder<toGlobalEvent> toGlobalEventSingle; Modified: trunk/tora/src/core/tomain.cpp =================================================================== --- trunk/tora/src/core/tomain.cpp 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/core/tomain.cpp 2013-08-29 22:28:08 UTC (rev 4807) @@ -939,12 +939,15 @@ int pos = ConnectionSelection->currentIndex(); #pragma message WARN("Set need commit on connection here") -// QString dsc = conn.description(); -// if (needCommit) -// dsc += QString::fromLatin1(" *"); -// ConnectionSelection->setCurrentIndex(pos); -// ConnectionSelection->setItemText(pos, dsc); + QString dsc = conn.description(); + if (needCommit) + dsc += QString::fromLatin1(" *"); + ConnectionSelection->setCurrentIndex(pos); + ConnectionSelection->setItemText(pos, dsc); + commitAct->setEnabled(needCommit); + rollbackAct->setEnabled(needCommit); + conn.setNeedCommit(needCommit); } @@ -991,18 +994,19 @@ void toMain::enableConnectionActions(bool enabled) { - commitAct->setEnabled(enabled); - rollbackAct->setEnabled(enabled); - stopAct->setEnabled(enabled); - closeConn->setEnabled(enabled); - refreshAct->setEnabled(enabled); - openAct->setEnabled(enabled); - recentMenu->setEnabled(enabled); - // now, loop through tools and enable/disable try { toConnection &conn = toConnectionRegistrySing::Instance().currentConnection(); + + commitAct->setEnabled(conn.needCommit()); + rollbackAct->setEnabled(conn.needCommit()); + stopAct->setEnabled(false); + closeConn->setEnabled(enabled); + refreshAct->setEnabled(enabled); + openAct->setEnabled(enabled); + recentMenu->setEnabled(enabled); + for (ToolsRegistrySing::ObjectType::iterator i = ToolsRegistrySing::Instance().begin(); i != ToolsRegistrySing::Instance().end(); ++i) { toTool *pTool = i.value(); Modified: trunk/tora/src/core/toresulttableview.h =================================================================== --- trunk/tora/src/core/toresulttableview.h 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/core/toresulttableview.h 2013-08-29 22:28:08 UTC (rev 4807) @@ -42,7 +42,6 @@ #ifndef TORESULTTABLEVIEW_H #define TORESULTTABLEVIEW_H - #include "core/toqvalue.h" #include "core/tosql.h" #include "core/toresult.h" Modified: trunk/tora/src/tools/toworksheet.cpp =================================================================== --- trunk/tora/src/tools/toworksheet.cpp 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/tools/toworksheet.cpp 2013-08-29 22:28:08 UTC (rev 4807) @@ -396,7 +396,7 @@ const toConnection::exception &, bool)), this, - SLOT(slotAddLog(const QString &, + SLOT(slotFirstResult(const QString &, const toConnection::exception &, bool))); connect(Result, @@ -550,6 +550,11 @@ this, SLOT(slotRollbackChanges(toConnection &))); + connect(&toGlobalEventSingle::Instance(), + SIGNAL(s_stopRequested(toConnection &)), + this, + SLOT(slotStop())); + ///setFocusProxy(Editor); // don't show results yet @@ -1037,7 +1042,7 @@ if (statement.statementType == toSyntaxAnalyzer::SQLPLUS) { QString t = tr("Ignoring SQL*Plus command"); - slotAddLog(statement.sql, toConnection::exception(t), false); + slotFirstResult(statement.sql, toConnection::exception(t), false); Utils::toStatusMessage(t, true); return ; } @@ -1104,7 +1109,7 @@ #endif } - slotAddLog(statement.sql, toConnection::exception(buffer), false); + slotFirstResult(statement.sql, toConnection::exception(buffer), false); } catch (const QString &exc) { @@ -1213,7 +1218,7 @@ Result->slotStop(); disconnect(Result, SIGNAL(done(void)), this, SLOT(slotQueryDone(void))); disconnect(Result, SIGNAL(firstResult(const QString &, const toConnection::exception &, bool)), - this, SLOT(slotAddLog(const QString &, const toConnection::exception &, bool))); + this, SLOT(slotFirstResult(const QString &, const toConnection::exception &, bool))); disconnect(stopAct, SIGNAL(clicked(void)), Result, SLOT(slotStop(void))); Result = new toResultTableView(Result->parentWidget()); @@ -1224,7 +1229,7 @@ connect(stopAct, SIGNAL(clicked(void)), Result, SLOT(slotStop(void))); connect(Result, SIGNAL(done(void)), this, SLOT(slotQueryDone(void))); connect(Result, SIGNAL(firstResult(const QString &, const toConnection::exception &, bool)), - this, SLOT(slotAddLog(const QString &, const toConnection::exception &, bool))); + this, SLOT(slotFirstResult(const QString &, const toConnection::exception &, bool))); } #endif } @@ -1260,31 +1265,19 @@ return QString::fromLatin1(buf); } -void toWorksheet::slotAddLog(const QString &sql, +void toWorksheet::slotFirstResult(const QString &sql, const toConnection::exception &result, bool error) { // Stop ticking clock // TODO: resume (un-pause) the clock when read-all is executed in Model Poll.stop(); + timer()->stop(); m_FirstDataReceived = true; if (error && result.offset() >= 0 && toConfigurationSingle::Instance().wsMoveToErr()) - { -// QChar cmp = '\n'; -// int lastnl = 0; -// int lines = 0; -// for (int i = 0; i < result.offset() && i < sql.length(); i++) -// { -// if (sql.at(i) == cmp) -// { -// lastnl = i + 1; -// lines++; -// } -// } - Editor->setCursorPosition(m_lastQuery.lineFrom + result.line() - 1, result.column() - 1); - } + Editor->setCursorPosition(m_lastQuery.lineFrom + result.line() - 1, result.column() - 1); if (!error) { @@ -1490,10 +1483,7 @@ void toWorksheet::slotQueryDone(void) { timer()->stop(); - stopAct->setEnabled(false); - Poll.stop(); - stopAct->setEnabled(false); - saveDefaults(); + stopAct->setDisabled(true); } void toWorksheet::saveDefaults(void) Modified: trunk/tora/src/tools/toworksheet.h =================================================================== --- trunk/tora/src/tools/toworksheet.h 2013-08-29 18:26:32 UTC (rev 4806) +++ trunk/tora/src/tools/toworksheet.h 2013-08-29 22:28:08 UTC (rev 4807) @@ -149,7 +149,7 @@ void slotExecutePreviousLog(void); void slotExecuteNextLog(void); void slotExecuteLog(void); - void slotAddLog(const QString &sql, const toConnection::exception &result, bool error); + void slotFirstResult(const QString &sql, const toConnection::exception &result, bool error); void slotChangeRefresh(const QString &); void slotSaveLast(void); void slotSaveStatistics(void); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |