From: <su...@us...> - 2007-10-11 10:11:52
|
Revision: 2253 http://tora.svn.sourceforge.net/tora/?rev=2253&view=rev Author: subik Date: 2007-10-11 03:11:50 -0700 (Thu, 11 Oct 2007) Log Message: ----------- default text in the editor is visible finally Modified Paths: -------------- branches/tora-1.4/tora/src/tohighlightedtext.cpp branches/tora-1.4/tora/src/tosyntaxsetup.cpp Modified: branches/tora-1.4/tora/src/tohighlightedtext.cpp =================================================================== --- branches/tora-1.4/tora/src/tohighlightedtext.cpp 2007-10-10 18:09:30 UTC (rev 2252) +++ branches/tora-1.4/tora/src/tohighlightedtext.cpp 2007-10-11 10:11:50 UTC (rev 2253) @@ -418,12 +418,12 @@ syntaxColoring = val; if (syntaxColoring) { QsciScintilla::setLexer(lexer); - updateSyntaxColor(toSyntaxAnalyzer::Default); - updateSyntaxColor(toSyntaxAnalyzer::Comment); - updateSyntaxColor(toSyntaxAnalyzer::Number); - updateSyntaxColor(toSyntaxAnalyzer::Keyword); - updateSyntaxColor(toSyntaxAnalyzer::String); - updateSyntaxColor(toSyntaxAnalyzer::DefaultBg); + updateSyntaxColor(toSyntaxAnalyzer::Default); + updateSyntaxColor(toSyntaxAnalyzer::Comment); + updateSyntaxColor(toSyntaxAnalyzer::Number); + updateSyntaxColor(toSyntaxAnalyzer::Keyword); + updateSyntaxColor(toSyntaxAnalyzer::String); + updateSyntaxColor(toSyntaxAnalyzer::DefaultBg); update(); } @@ -438,44 +438,45 @@ void toHighlightedText::updateSyntaxColor(toSyntaxAnalyzer::infoType t) { QColor col = DefaultAnalyzer.getColor(t); + switch (t) { case toSyntaxAnalyzer::Default: - lexer->setColor(col, QsciLexerSQL::Default); - //lexer->setColor(col, QsciLexerSQL::CommentLineHash); - break; + lexer->setColor(col, QsciLexerSQL::Default); + //lexer->setColor(col, QsciLexerSQL::CommentLineHash); + break; case toSyntaxAnalyzer::Comment: - lexer->setColor(col, QsciLexerSQL::Comment); - lexer->setColor(col, QsciLexerSQL::CommentLine); - lexer->setColor(col, QsciLexerSQL::PlusPrompt); - lexer->setColor(col, QsciLexerSQL::PlusComment); - lexer->setColor(col, QsciLexerSQL::CommentDoc); - lexer->setColor(col, QsciLexerSQL::CommentDocKeyword); - break; + lexer->setColor(col, QsciLexerSQL::Comment); + lexer->setColor(col, QsciLexerSQL::CommentLine); + lexer->setColor(col, QsciLexerSQL::PlusPrompt); + lexer->setColor(col, QsciLexerSQL::PlusComment); + lexer->setColor(col, QsciLexerSQL::CommentDoc); + lexer->setColor(col, QsciLexerSQL::CommentDocKeyword); + break; case toSyntaxAnalyzer::Number: - lexer->setColor(col, QsciLexerSQL::Number); + lexer->setColor(col, QsciLexerSQL::Number); break; case toSyntaxAnalyzer::Keyword: - lexer->setColor(col, QsciLexerSQL::Keyword); - lexer->setColor(col, QsciLexerSQL::PlusKeyword); - lexer->setColor(col, QsciLexerSQL::Operator); - break; + lexer->setColor(col, QsciLexerSQL::Keyword); + lexer->setColor(col, QsciLexerSQL::PlusKeyword); + lexer->setColor(col, QsciLexerSQL::Operator); + break; case toSyntaxAnalyzer::String: - lexer->setColor(col, QsciLexerSQL::DoubleQuotedString); - lexer->setColor(col, QsciLexerSQL::SingleQuotedString); - break; + lexer->setColor(col, QsciLexerSQL::DoubleQuotedString); + lexer->setColor(col, QsciLexerSQL::SingleQuotedString); + break; case toSyntaxAnalyzer::DefaultBg: - lexer->setPaper(col); - //lexer->setPaper(col, QsciLexerSQL::Default); - break; + lexer->setPaper(col); + //lexer->setPaper(col, QsciLexerSQL::Default); + break; case toSyntaxAnalyzer::ErrorBg: - setMarkerBackgroundColor(col, errorMarker); - break; + setMarkerBackgroundColor(col, errorMarker); + break; case toSyntaxAnalyzer::DebugBg: - setMarkerBackgroundColor(col, debugMarker); - break; + setMarkerBackgroundColor(col, debugMarker); + break; default: - break; + break; } } @@ -489,6 +490,7 @@ if (lexer != 0) { this->lexer = lexer; } + lexer->setColor(DefaultAnalyzer.getColor(toSyntaxAnalyzer::Default), -1); // refresh scintilla lexer setSyntaxColoring(syntaxColoring); } @@ -502,6 +504,7 @@ lexer->setFont(font); /* this is workaround against qscintilla 1.6 setFont(font) bug */ + lexer->setFont(font, QsciLexerSQL::Default); lexer->setFont(font, QsciLexerSQL::Comment); lexer->setFont(font, QsciLexerSQL::CommentLine); lexer->setFont(font, QsciLexerSQL::PlusComment); Modified: branches/tora-1.4/tora/src/tosyntaxsetup.cpp =================================================================== --- branches/tora-1.4/tora/src/tosyntaxsetup.cpp 2007-10-10 18:09:30 UTC (rev 2252) +++ branches/tora-1.4/tora/src/tosyntaxsetup.cpp 2007-10-11 10:11:50 UTC (rev 2253) @@ -149,6 +149,7 @@ Q3CString conf(CONF_COLOR ":"); conf += typeString(typ); QString res = toConfigurationSingle::Instance().globalConfig(conf, ""); + if (res.isEmpty()) Colors[typ] = def; else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-10-11 16:45:10
|
Revision: 2256 http://tora.svn.sourceforge.net/tora/?rev=2256&view=rev Author: mrjohnson0 Date: 2007-10-11 09:45:06 -0700 (Thu, 11 Oct 2007) Log Message: ----------- compiler warnings Modified Paths: -------------- branches/tora-1.4/tora/src/utils.cpp branches/tora-1.4/tora/src/utils.h Modified: branches/tora-1.4/tora/src/utils.cpp =================================================================== --- branches/tora-1.4/tora/src/utils.cpp 2007-10-11 16:44:23 UTC (rev 2255) +++ branches/tora-1.4/tora/src/utils.cpp 2007-10-11 16:45:06 UTC (rev 2256) @@ -535,6 +535,8 @@ QFont fnt; if (fnt.fromString(str)) return fnt; + + return QFont(QString::fromLatin1("Courier New"), 12); } int toSizeDecode(const QString &str) @@ -717,12 +719,12 @@ return toWriteFile(filename, data.local8Bit()); } -bool toCompareLists(QStringList &lista, QStringList &lstb, unsigned int len) +bool toCompareLists(QStringList &lsta, QStringList &lstb, int len) { - if (lista.count() < len || lstb.count() < len) + if (lsta.count() < len || lstb.count() < len) return false; for (int i = 0;i < len;i++) - if (lista[i] != lstb[i]) + if (lsta[i] != lstb[i]) return false; return true; } Modified: branches/tora-1.4/tora/src/utils.h =================================================================== --- branches/tora-1.4/tora/src/utils.h 2007-10-11 16:44:23 UTC (rev 2255) +++ branches/tora-1.4/tora/src/utils.h 2007-10-11 16:45:06 UTC (rev 2256) @@ -265,7 +265,7 @@ * @param len Length of lists to compare. * @return True if all first len elements match. */ -bool toCompareLists(QStringList &l1, QStringList &l2, unsigned int len); +bool toCompareLists(QStringList &l1, QStringList &l2, int len); /** Set environment variable. * @param var Variable name to set. * @param val Value to set variable to. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-10-28 04:18:38
|
Revision: 2269 http://tora.svn.sourceforge.net/tora/?rev=2269&view=rev Author: mrjohnson0 Date: 2007-10-27 21:18:39 -0700 (Sat, 27 Oct 2007) Log Message: ----------- use the windows version that depends on qt thread classes. seems to work for me. it's better to avoid platform specific kludges if possible. Modified Paths: -------------- branches/tora-1.4/tora/src/tothread.cpp branches/tora-1.4/tora/src/tothread.h Modified: branches/tora-1.4/tora/src/tothread.cpp =================================================================== --- branches/tora-1.4/tora/src/tothread.cpp 2007-10-28 01:16:16 UTC (rev 2268) +++ branches/tora-1.4/tora/src/tothread.cpp 2007-10-28 04:18:39 UTC (rev 2269) @@ -74,155 +74,6 @@ return val; } -#ifndef Q_OS_WIN32 - -#include <time.h> - -pthread_t toThread::MainThread = pthread_self(); -toThread *toThread::DeleteThread; -toLock *toThread::Lock; - -#define MUTEX_ASSERT(x) if((x)!=0) toStatusMessage(\ -qApp->translate("toLock","The mutex function \"%1\" failed").arg(QString::fromLatin1( #x ))); - -toLock::toLock(void) -{ - MUTEX_ASSERT(pthread_mutex_init(&Mutex, NULL)); -} - -toLock::~toLock() -{ - MUTEX_ASSERT(pthread_mutex_destroy(&Mutex)); -} - -void toLock::lock () -{ - MUTEX_ASSERT(pthread_mutex_lock(&Mutex)); -} - -void toLock::unlock() -{ - MUTEX_ASSERT(pthread_mutex_unlock(&Mutex)); -} - -#define THREAD_ASSERT(x) if((x)!=0) { \ - throw (qApp->translate("toThread","Thread function \"%1\" failed.").arg(QString::fromLatin1( #x ))); } - -void toThread::initAttr() -{ - //create the thread detached, so everything is cleaned up - //after it's finished. - try - { - THREAD_ASSERT(pthread_attr_init(&ThreadAttr)); - THREAD_ASSERT(pthread_attr_setdetachstate(&ThreadAttr, - PTHREAD_CREATE_DETACHED)); - } - TOCATCH -} - -toThread::toThread(toTask *t) - : Task(t) -{ - if (!Lock) - Lock = new toLock; - - initAttr(); -} - -toThread::~toThread() -{ - THREAD_ASSERT(pthread_attr_destroy(&ThreadAttr)); -} - -void toThread::start() -{ - if (pthread_create(&(Thread), - &(ThreadAttr), - toThreadStartWrapper, - (void *)this) == 0) - StartSemaphore.down(); - else - throw qApp->translate("toThread", "Thread function \"%1\" failed.").arg("toThread::start()"); -} - -void toThread::startAsync() -{ - THREAD_ASSERT(pthread_create(&(Thread), - &(ThreadAttr), - toThreadStartWrapper, - (void *)this)); -} - -void *toThreadStartWrapper(void *t) -{ - toThread *thread = (toThread*)t; - //tell whoever called this->start that we're running - sigset_t Sigs; - sigfillset(&Sigs); -#ifndef TO_NO_PTHREADSIGMASK - - sigdelset(&Sigs, SIGHUP); - // I hope this signal will cancel subqueries - sigdelset(&Sigs, SIGQUIT); - sigdelset(&Sigs, SIGALRM); - sigdelset(&Sigs, SIGTERM); - sigdelset(&Sigs, SIGCHLD); - sigdelset(&Sigs, SIGWINCH); - sigdelset(&Sigs, SIGSEGV); - sigdelset(&Sigs, SIGPIPE); - sigdelset(&Sigs, SIGUSR1); - pthread_sigmask(SIG_BLOCK, &Sigs, NULL); - sigemptyset(&Sigs); - sigaddset(&Sigs, SIGINT); - pthread_sigmask(SIG_UNBLOCK, &Sigs, NULL); -#endif - - try - { - thread->StartSemaphore.up(); - thread->Task->run(); - } - catch (const QString &exc) - { - fprintf(stderr, "Unhandled exception in thread:\n%s\n", (const char *)exc); - } - catch (...) - { - fprintf(stderr, "Unhandled exception in thread:\nUnknown type\n"); - } - delete thread->Task; - toThread::Lock->lock () - ; - if (toThread::DeleteThread) - delete toThread::DeleteThread; - toThread::DeleteThread = thread; - toThread::Lock->unlock(); - return NULL; -} - -bool toThread::mainThread(void) -{ - return pthread_equal(MainThread, pthread_self()); -} - -class toThreadWrapper : public QThread -{ -public: - static void msleep(int num) - { - QThread::msleep(num); - } -}; - -void toThread::msleep(int msec) -{ - toThreadWrapper::msleep(msec); -} - -// if not windows -#else - std::list<toThread *> *toThread::Threads; toLock *toThread::Lock; int toThread::LastID = 0; @@ -321,5 +172,3 @@ } Lock->unlock(); } - -#endif Modified: branches/tora-1.4/tora/src/tothread.h =================================================================== --- branches/tora-1.4/tora/src/tothread.h 2007-10-28 01:16:16 UTC (rev 2268) +++ branches/tora-1.4/tora/src/tothread.h 2007-10-28 04:18:39 UTC (rev 2269) @@ -103,8 +103,6 @@ #include <list> -#ifdef Q_OS_WIN32 - class toLock { private: @@ -161,96 +159,6 @@ friend class taskRunner; }; -#else -#include <pthread.h> -#include <signal.h> -#include <time.h> - -/** A wrapper around the pthread mutexfunctions. A lock can only be locked -* by one thread at a time and is the basis of most thread synchronisation. -*/ - -class toLock -{ -private: - /** Actual pthread mutex of class. - */ - pthread_mutex_t Mutex; - toLock(const toLock &); -public: - /** Create lock - */ - toLock(void); - ~toLock(); - - /** Lock this lock. - */ - void lock (void) - ; - /** Unlock this lock. - */ - void unlock(void); -}; - -/** Used to create new threads of execution. When a thread exits it will delete the -* thread and task objects so the calling thread must never delete a started thread. -*/ - -void *toThreadStartWrapper(void*); - -class toThread -{ -private: - static toThread *DeleteThread; - static toLock *Lock; - /** PThread identifier. - */ - pthread_t Thread; - /** Thread attributes. - */ - pthread_attr_t ThreadAttr; - /** Task to run in new thread. - */ - toTask *Task; - /** Semaphore that is raised when new thread has started running. - */ - toSemaphore StartSemaphore; - /** Initialise thread attributes. - */ - void initAttr(void); - /** Called when thread is started to execute task. Pointer to @ref toThread - * is passed as parameter. - */ - friend void *toThreadStartWrapper(void*); - /** Main thread id - */ - static pthread_t MainThread; - - toThread(const toThread &); -public: - /** Create thread. - * @param task Task to run. - */ - toThread(toTask *task); - ~toThread(); - - /** Start thread and wait for other thread to start running. - */ - void start(void); - /** Start thread and continue executing this thread until normal scheduling - * handles over execution to child thread. - */ - void startAsync(void); - /** Sleep in milliseconds. - */ - static void msleep(int msec); - /** Returns true if this is the main thread. - */ - static bool mainThread(void); -}; - -#endif - /** This is a convenience class that holds a lock for the duration of the scope * of the object. It is very convenient to use if exceptions can be thrown, simply * declare an auto @ref toLocker to hold the lock. If any exception is thrown the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-10-28 20:23:16
|
Revision: 2271 http://tora.svn.sourceforge.net/tora/?rev=2271&view=rev Author: mrjohnson0 Date: 2007-10-28 13:23:20 -0700 (Sun, 28 Oct 2007) Log Message: ----------- don't hide tabs. most of the code has been removed here. should be possible to handle hiding tabs with hide() in qt4 Modified Paths: -------------- branches/tora-1.4/tora/src/totabwidget.cpp branches/tora-1.4/tora/src/totabwidget.h Modified: branches/tora-1.4/tora/src/totabwidget.cpp =================================================================== --- branches/tora-1.4/tora/src/totabwidget.cpp 2007-10-28 19:00:31 UTC (rev 2270) +++ branches/tora-1.4/tora/src/totabwidget.cpp 2007-10-28 20:23:20 UTC (rev 2271) @@ -46,21 +46,7 @@ void toTabWidget::setTabShown(QWidget *w, bool value) { - w->hide(); - QShowEvent e; - showEvent(&e); // Force an update +// w->hide(); +// QShowEvent e; +// showEvent(&e); // Force an update } - -void toTabBar::setTabShown(int ix, bool shown) -{ - // qt4 todo -// if (ix < 0) -// return; - -// std::list<barTab>::iterator i = Tabs.begin(); -// for (int j = 0;j < ix && i != Tabs.end();j++) -// i++; -// if (i != Tabs.end()) -// (*i).Shown = shown; -// layoutTabs(); -} Modified: branches/tora-1.4/tora/src/totabwidget.h =================================================================== --- branches/tora-1.4/tora/src/totabwidget.h 2007-10-28 19:00:31 UTC (rev 2270) +++ branches/tora-1.4/tora/src/totabwidget.h 2007-10-28 20:23:20 UTC (rev 2271) @@ -58,12 +58,6 @@ toTabBar(QWidget *parent = 0, const char *name = 0) : QTabBar(parent)//, name) { } - - /** Specify if a tab is shown. - * @param ix Index of the tab to change visibility. - * @param shown Show tab if true, hide if false. - */ - virtual void setTabShown(int ix, bool shown); }; /** An extension of the regular tab widget with posibility to hide tabs. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-10-29 10:08:09
|
Revision: 2274 http://tora.svn.sourceforge.net/tora/?rev=2274&view=rev Author: subik Date: 2007-10-29 03:08:02 -0700 (Mon, 29 Oct 2007) Log Message: ----------- native Qt4 file dialogs are used now (Q3FileDialog has painting problems in some cases) Modified Paths: -------------- branches/tora-1.4/tora/src/toglobalsetting.cpp branches/tora-1.4/tora/src/toscript.cpp branches/tora-1.4/tora/src/tostorage.cpp branches/tora-1.4/tora/src/utils.cpp branches/tora-1.4/tora/src/utils.h Modified: branches/tora-1.4/tora/src/toglobalsetting.cpp =================================================================== --- branches/tora-1.4/tora/src/toglobalsetting.cpp 2007-10-29 09:08:10 UTC (rev 2273) +++ branches/tora-1.4/tora/src/toglobalsetting.cpp 2007-10-29 10:08:02 UTC (rev 2274) @@ -65,6 +65,7 @@ #include <qcolordialog.h> //Added by qt3to4: #include <Q3CString> +#include <QFileDialog> toGlobalSetting::toGlobalSetting(QWidget *parent, const char *name, Qt::WFlags fl) @@ -170,7 +171,7 @@ void toGlobalSetting::pluginBrowse(void) { - QString str = TOFileDialog::getExistingDirectory(PluginDirectory->text(), this); + QString str = TOFileDialog::getExistingDirectory(this, tr("Open Plugin Directory"), PluginDirectory->text()); if (!str.isEmpty()) PluginDirectory->setText(str); } Modified: branches/tora-1.4/tora/src/toscript.cpp =================================================================== --- branches/tora-1.4/tora/src/toscript.cpp 2007-10-29 09:08:10 UTC (rev 2273) +++ branches/tora-1.4/tora/src/toscript.cpp 2007-10-29 10:08:02 UTC (rev 2274) @@ -74,7 +74,9 @@ //Added by qt3to4: #include <Q3GridLayout> #include <QPixmap> +#include <QFileDialog> + #include "icons/execute.xpm" #include "icons/toscript.xpm" @@ -1204,7 +1206,7 @@ } else if (ScriptUI->OutputDir->isChecked()) { - QString f = TOFileDialog::getExistingDirectory(QString::null, this); + QString f = TOFileDialog::getExistingDirectory(this, tr("Select a Directory"), QString::null); if (!f.isEmpty()) ScriptUI->Filename->setText(f); } Modified: branches/tora-1.4/tora/src/tostorage.cpp =================================================================== --- branches/tora-1.4/tora/src/tostorage.cpp 2007-10-29 09:08:10 UTC (rev 2273) +++ branches/tora-1.4/tora/src/tostorage.cpp 2007-10-29 10:08:02 UTC (rev 2274) @@ -72,6 +72,7 @@ #include <qworkspace.h> //Added by qt3to4: #include <QPixmap> +#include <QFileDialog> #include "icons/addfile.xpm" #include "icons/addtablespace.xpm" @@ -396,7 +397,7 @@ void toStorageDatafile::browseFile(void) { - QString str = TOFileDialog::getSaveFileName(Filename->text(), QString::fromLatin1("*.dbf"), this); + QString str = TOFileDialog::getSaveFileName(this, tr("Open Storage File"), Filename->text(), QString::fromLatin1("*.dbf")); if (!str.isEmpty()) Filename->setText(str); } @@ -1368,7 +1369,7 @@ try { QString orig = Storage->currentFilename(); - QString file = TOFileDialog::getSaveFileName(orig, QString::fromLatin1("*.dbf"), this); + QString file = TOFileDialog::getSaveFileName(this, tr("Rename Data File"), orig, QString::fromLatin1("*.dbf")); if (!file.isEmpty() && file != orig) { QString str; Modified: branches/tora-1.4/tora/src/utils.cpp =================================================================== --- branches/tora-1.4/tora/src/utils.cpp 2007-10-29 09:08:10 UTC (rev 2273) +++ branches/tora-1.4/tora/src/utils.cpp 2007-10-29 10:08:02 UTC (rev 2274) @@ -23,7 +23,7 @@ * as you follow the requirements of the GNU GPL in regard to all of the * software in the executable aside from Oracle client libraries. * -* Specifically you are not permitted to link this program with the +* Specifically you are not permittgetOpenFileNameed to link this program with the * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. * And you are not permitted to distribute binaries compiled against * these libraries without written consent from Quest Software, Inc. @@ -74,6 +74,7 @@ #include <QPixmap> #include <QBrush> #include <QColor> +#include <QFileDialog> #ifdef Q_OS_WIN32 # include "windows.h" @@ -783,7 +784,7 @@ if (dir.isNull()) dir = toConfigurationSingle::Instance().globalConfig(CONF_LAST_DIR, ""); - return AddExt(TOFileDialog::getOpenFileName(dir, t, parent), t); + return AddExt(TOFileDialog::getOpenFileName(parent, QObject::tr("Open File", "utils/toOpenFilename"), dir, t), t); } QString toSaveFilename(const QString &filename, const QString &filter, QWidget *parent) @@ -796,7 +797,7 @@ if (dir.isNull()) dir = toConfigurationSingle::Instance().globalConfig(CONF_LAST_DIR, ""); - return AddExt(TOFileDialog::getSaveFileName(dir, t, parent), t); + return AddExt(TOFileDialog::getSaveFileName(parent, QObject::tr("Save File", "utils/toSaveFilename"), dir, t), t); } void toSetEnv(const Q3CString &var, const Q3CString &val) Modified: branches/tora-1.4/tora/src/utils.h =================================================================== --- branches/tora-1.4/tora/src/utils.h 2007-10-29 09:08:10 UTC (rev 2273) +++ branches/tora-1.4/tora/src/utils.h 2007-10-29 10:08:02 UTC (rev 2274) @@ -52,7 +52,7 @@ #include <QKeyEvent> #define TOPrinter QPrinter -#define TOFileDialog Q3FileDialog +#define TOFileDialog QFileDialog #define TOMessageBox QMessageBox #define TODock QWidget This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ph...@us...> - 2007-10-29 13:46:50
|
Revision: 2277 http://tora.svn.sourceforge.net/tora/?rev=2277&view=rev Author: pholcer Date: 2007-10-29 06:46:52 -0700 (Mon, 29 Oct 2007) Log Message: ----------- Separate class taskRunner out into a separate private header file (tothread_p.h) This is necessary as taskRunner is a subclass of QThread which is in turn a subclass of QObject and needs the Q_OBJECT macro in its class declaration. Unfortunately moc isn'nt able to manage nested classes, so it must be split out. Due to the change, the member Thread in class toThread must be changed to a pointer. Modified Paths: -------------- branches/tora-1.4/tora/src/CMakeLists.txt branches/tora-1.4/tora/src/Makefile.am branches/tora-1.4/tora/src/tothread.cpp branches/tora-1.4/tora/src/tothread.h Added Paths: ----------- branches/tora-1.4/tora/src/tothread_p.h Modified: branches/tora-1.4/tora/src/CMakeLists.txt =================================================================== --- branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 10:47:51 UTC (rev 2276) +++ branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 13:46:52 UTC (rev 2277) @@ -156,7 +156,7 @@ totemplate.h totemporary.h totextview.h - tothread.h + tothread_p.h totimer.h totool.h totuning.h Modified: branches/tora-1.4/tora/src/Makefile.am =================================================================== --- branches/tora-1.4/tora/src/Makefile.am 2007-10-29 10:47:51 UTC (rev 2276) +++ branches/tora-1.4/tora/src/Makefile.am 2007-10-29 13:46:52 UTC (rev 2277) @@ -105,7 +105,7 @@ totabwidget.cpp totabwidget.h \ totemplateprovider.cpp \ totextview.cpp totextview.h \ - tothread.cpp tothread.h \ + tothread.cpp tothread.h tothread_p.h \ totimer.cpp totimer.h \ totool.cpp totool.h \ totoolsettingui.h todroptablespaceui.h \ @@ -355,6 +355,7 @@ moc_totabwidget.cpp \ moc_totemplate.cpp \ moc_totemporary.cpp \ + moc_tothread_p.cpp \ moc_totool.cpp \ moc_totuning.cpp \ moc_tovisualize.cpp \ Modified: branches/tora-1.4/tora/src/tothread.cpp =================================================================== --- branches/tora-1.4/tora/src/tothread.cpp 2007-10-29 10:47:51 UTC (rev 2276) +++ branches/tora-1.4/tora/src/tothread.cpp 2007-10-29 13:46:52 UTC (rev 2277) @@ -39,6 +39,7 @@ #include "tomain.h" #include "tothread.h" +#include "tothread_p.h" #include <stdio.h> #include <errno.h> @@ -86,8 +87,8 @@ } toThread::toThread(toTask *task) - : Thread(task) { + Thread = new taskRunner(task); if (!Threads) Threads = new std::list<toThread *>; if (!Lock) @@ -95,12 +96,14 @@ } toThread::~toThread() -{} +{ + delete Thread; +} void toThread::start(void) { - Thread.start(); - Thread.StartSemaphore.down(); + Thread->start(); + Thread->StartSemaphore.down(); Lock->lock () ; Threads->insert(Threads->end(), this); @@ -109,7 +112,7 @@ void toThread::startAsync(void) { - Thread.start(); + Thread->start(); Lock->lock () ; Threads->insert(Threads->end(), this); @@ -121,28 +124,28 @@ taskRunner::msleep(msec); } -toThread::taskRunner::taskRunner(toTask *task) +taskRunner::taskRunner(toTask *task) : Task(task) {} -void toThread::taskRunner::run(void) +void taskRunner::run(void) { try { - Lock->lock () + toThread::Lock->lock () ; StartSemaphore.up(); toThread::LastID++; - toThread::ThreadID = LastID; + toThread::ThreadID = toThread::LastID; if (toThread::MainThread == -1) - toThread::MainThread = LastID; - Lock->unlock(); + toThread::MainThread = toThread::LastID; + toThread::Lock->unlock(); Task->run(); - Lock->lock () + toThread::Lock->lock () ; delete Task; Task = NULL; - Lock->unlock(); + toThread::Lock->unlock(); } catch (const QString &exc) { @@ -156,19 +159,19 @@ // This is a cludge to clean up finnished threads, there won't be many hanging at least - Lock->lock () + toThread::Lock->lock () ; for (std::list<toThread *>::iterator i = toThread::Threads->begin(); i != toThread::Threads->end();) { - if ((*i)->Thread.isFinished()) + if ((*i)->Thread->isFinished()) { delete (*i); - Threads->erase(i); - i = Threads->begin(); + toThread::Threads->erase(i); + i = toThread::Threads->begin(); } else i++; } - Lock->unlock(); + toThread::Lock->unlock(); } Modified: branches/tora-1.4/tora/src/tothread.h =================================================================== --- branches/tora-1.4/tora/src/tothread.h 2007-10-29 10:47:51 UTC (rev 2276) +++ branches/tora-1.4/tora/src/tothread.h 2007-10-29 13:46:52 UTC (rev 2277) @@ -42,7 +42,6 @@ #include <QMutex> #include <QWaitCondition> -#include <qthread.h> /** This is an abstract class that defines something that is to be performed by a * thread. @@ -109,7 +108,7 @@ QMutex Mutex; public: toLock(void) - : Mutex(false) + : Mutex(QMutex::NonRecursive) { } toLock(const toLock &); @@ -124,6 +123,7 @@ }; void *toThreadStartWrapper(void*); +class taskRunner; class toThread { @@ -131,16 +131,7 @@ /** Not part of the API. */ -class taskRunner : public QThread - { - public: - toSemaphore StartSemaphore; - toTask *Task; - taskRunner(toTask *); - virtual void run(void); - friend class toThread; - } - Thread; + taskRunner *Thread; static std::list<toThread *> *Threads; static toLock *Lock; static int LastID; Copied: branches/tora-1.4/tora/src/tothread_p.h (from rev 2269, branches/tora-1.4/tora/src/tothread.h) =================================================================== --- branches/tora-1.4/tora/src/tothread_p.h (rev 0) +++ branches/tora-1.4/tora/src/tothread_p.h 2007-10-29 13:46:52 UTC (rev 2277) @@ -0,0 +1,57 @@ +/***** +* +* TOra - An Oracle Toolkit for DBA's and developers +* Copyright (C) 2003-2005 Quest Software, Inc +* Portions Copyright (C) 2005 Other Contributors +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; only version 2 of +* the License is valid for this program. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +* As a special exception, you have permission to link this program +* with the Oracle Client libraries and distribute executables, as long +* as you follow the requirements of the GNU GPL in regard to all of the +* software in the executable aside from Oracle client libraries. +* +* Specifically you are not permitted to link this program with the +* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. +* And you are not permitted to distribute binaries compiled against +* these libraries without written consent from Quest Software, Inc. +* Observe that this does not disallow linking to the Qt Free Edition. +* +* You may link this product with any GPL'd Qt library such as Qt/Free +* +* All trademarks belong to their respective owners. +* +*****/ + +#ifndef TOTHREAD_P_H +#define TOTHREAD_P_H + +#include "config.h" +#include "tothread.h" + +#include <QThread> + +class taskRunner : public QThread +{ + Q_OBJECT +public: + toSemaphore StartSemaphore; + toTask *Task; + taskRunner(toTask *); + virtual void run(void); + friend class toThread; +}; + +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ph...@us...> - 2007-10-29 13:51:35
|
Revision: 2278 http://tora.svn.sourceforge.net/tora/?rev=2278&view=rev Author: pholcer Date: 2007-10-29 06:51:39 -0700 (Mon, 29 Oct 2007) Log Message: ----------- Add more svn:ignore entries Property Changed: ---------------- branches/tora-1.4/tora/src/ branches/tora-1.4/tora/src/loki/ branches/tora-1.4/tora/src/qscintilla2/ Property changes on: branches/tora-1.4/tora/src ___________________________________________________________________ Name: svn:ignore - .deps .libs Makefile Makefile.in *.moc *.orig qtlegacy toaboutui.cpp toaboutui.h tobrowserconstraintui.cpp tobrowserconstraintui.h tobrowserfilterui.cpp tobrowserfilterui.h tobrowserindexui.cpp tobrowserindexui.h tobrowsertableui.cpp tobrowsertableui.h tochartalarmui.cpp tochartalarmui.h tochartsetupui.cpp tochartsetupui.h todatabasesettingui.cpp todatabasesettingui.h todebugchangeui.cpp todebugchangeui.h todebugwatch.cpp todebugwatch.h todroptablespaceui.h todroptablespaceui.cpp toeditextensiongotoui.cpp toeditextensiongotoui.h toeditextensionsetupui.cpp toeditextensionsetupui.h toglobalsettingui.cpp toglobalsettingui.h tohelpaddfileui.cpp tohelpaddfileui.h tohelpsetupui.cpp tohelpsetupui.h tolinechartsetupui.cpp tolinechartsetupui.h tomessageui.cpp tomessageui.h tonewconnectionui.cpp tonewconnectionui.h tooraclesettingui.cpp tooraclesettingui.h topreferencesui.cpp topreferencesui.h tora tora_fr.qm tora_it.qm tora_se.qm tora_toad.h tora_toad.qm toresultcontentfilterui.cpp toresultcontentfilterui.h toresultlistformatui.cpp toresultlistformatui.h torollbackdialogui.cpp torollbackdialogui.h toscriptui.cpp toscriptui.h tosearchreplaceui.cpp tosearchreplaceui.h tosecurityquotaui.cpp tosecurityquotaui.h tosecurityroleui.cpp tosecurityroleui.h tosecurityuserui.cpp tosecurityuserui.h tostoragedatafileui.cpp tostoragedatafileui.h tostoragedefinitionui.cpp tostoragedefinitionui.h tostoragedialogui.cpp tostoragedialogui.h tostorageprefsui.cpp tostorageprefsui.h tostoragetablespaceui.cpp tostoragetablespaceui.h tosyntaxsetupui.cpp tosyntaxsetupui.h totemplateaddfileui.cpp totemplateaddfileui.h totemplateeditui.cpp totemplateeditui.h totemplatesetupui.cpp totemplatesetupui.h totoolsettingui.cpp totoolsettingui.h totuningoverviewui.cpp totuningoverviewui.h totuningsettingui.cpp totuningsettingui.h toworksheetsetupui.cpp toworksheetsetupui.h utils.moc + .deps .libs Makefile Makefile.in CMakeFiles cmake_install.cmake *.moc *.orig moc_*.cxx ui_*.h qtlegacy toaboutui.cpp toaboutui.h tobrowserconstraintui.cpp tobrowserconstraintui.h tobrowserfilterui.cpp tobrowserfilterui.h tobrowserindexui.cpp tobrowserindexui.h tobrowsertableui.cpp tobrowsertableui.h tochartalarmui.cpp tochartalarmui.h tochartsetupui.cpp tochartsetupui.h todatabasesettingui.cpp todatabasesettingui.h todebugchangeui.cpp todebugchangeui.h todebugwatch.cpp todebugwatch.h todroptablespaceui.h todroptablespaceui.cpp toeditextensiongotoui.cpp toeditextensiongotoui.h toeditextensionsetupui.cpp toeditextensionsetupui.h toglobalsettingui.cpp toglobalsettingui.h tohelpaddfileui.cpp tohelpaddfileui.h tohelpsetupui.cpp tohelpsetupui.h tolinechartsetupui.cpp tolinechartsetupui.h tomessageui.cpp tomessageui.h tonewconnectionui.cpp tonewconnectionui.h tooraclesettingui.cpp tooraclesettingui.h topreferencesui.cpp topreferencesui.h tora tora_fr.qm tora_it.qm tora_se.qm tora_toad.h tora_toad.qm toresultcontentfilterui.cpp toresultcontentfilterui.h toresultlistformatui.cpp toresultlistformatui.h torollbackdialogui.cpp torollbackdialogui.h toscriptui.cpp toscriptui.h tosearchreplaceui.cpp tosearchreplaceui.h tosecurityquotaui.cpp tosecurityquotaui.h tosecurityroleui.cpp tosecurityroleui.h tosecurityuserui.cpp tosecurityuserui.h tostoragedatafileui.cpp tostoragedatafileui.h tostoragedefinitionui.cpp tostoragedefinitionui.h tostoragedialogui.cpp tostoragedialogui.h tostorageprefsui.cpp tostorageprefsui.h tostoragetablespaceui.cpp tostoragetablespaceui.h tosyntaxsetupui.cpp tosyntaxsetupui.h totemplateaddfileui.cpp totemplateaddfileui.h totemplateeditui.cpp totemplateeditui.h totemplatesetupui.cpp totemplatesetupui.h totoolsettingui.cpp totoolsettingui.h totuningoverviewui.cpp totuningoverviewui.h totuningsettingui.cpp totuningsettingui.h toworksheetsetupui.cpp toworksheetsetupui.h utils.moc Property changes on: branches/tora-1.4/tora/src/loki ___________________________________________________________________ Name: svn:ignore + CMakeFiles Makefile cmake_install.cmake *.a Property changes on: branches/tora-1.4/tora/src/qscintilla2 ___________________________________________________________________ Name: svn:ignore + CMakeFiles Makefile *.moc *.orig moc_*.cxx ui_*.h cmake_install.cmake libtora_qscintilla2_lib.a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ph...@us...> - 2007-10-29 14:22:56
|
Revision: 2279 http://tora.svn.sourceforge.net/tora/?rev=2279&view=rev Author: pholcer Date: 2007-10-29 07:22:56 -0700 (Mon, 29 Oct 2007) Log Message: ----------- Fix compile error and moc warning (empty output) Modified Paths: -------------- branches/tora-1.4/tora/src/CMakeLists.txt branches/tora-1.4/tora/src/toconnection.h Modified: branches/tora-1.4/tora/src/CMakeLists.txt =================================================================== --- branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 13:51:39 UTC (rev 2278) +++ branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 14:22:56 UTC (rev 2279) @@ -68,7 +68,6 @@ tobrowsertable.h toconf.h toconfiguration.h - toconnection.h tocurrent.h todatatype.h todebug.h Modified: branches/tora-1.4/tora/src/toconnection.h =================================================================== --- branches/tora-1.4/tora/src/toconnection.h 2007-10-29 13:51:39 UTC (rev 2278) +++ branches/tora-1.4/tora/src/toconnection.h 2007-10-29 14:22:56 UTC (rev 2279) @@ -46,7 +46,8 @@ #include <map> #include <set> -#include <qstring.h> +#include <QObject> +#include <QString> //Added by qt3to4: #include <Q3CString> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ph...@us...> - 2007-10-29 16:18:27
|
Revision: 2280 http://tora.svn.sourceforge.net/tora/?rev=2280&view=rev Author: pholcer Date: 2007-10-29 09:18:23 -0700 (Mon, 29 Oct 2007) Log Message: ----------- - Put icons into Qt resource file (tora.qrc) - Use qrc icons for pixmaps in tosplash and toabout and fix crashes in these classes - Change toAboutUI to use Qt4's native text browser and use qrc icons in that Modified Paths: -------------- branches/tora-1.4/tora/src/CMakeLists.txt branches/tora-1.4/tora/src/LICENSE.h branches/tora-1.4/tora/src/Makefile.am branches/tora-1.4/tora/src/toabout.cpp branches/tora-1.4/tora/src/toaboutui.ui branches/tora-1.4/tora/src/tosplash.cpp Added Paths: ----------- branches/tora-1.4/tora/src/tora.qrc Property Changed: ---------------- branches/tora-1.4/tora/src/ Property changes on: branches/tora-1.4/tora/src ___________________________________________________________________ Name: svn:ignore - .deps .libs Makefile Makefile.in CMakeFiles cmake_install.cmake *.moc *.orig moc_*.cxx ui_*.h qtlegacy toaboutui.cpp toaboutui.h tobrowserconstraintui.cpp tobrowserconstraintui.h tobrowserfilterui.cpp tobrowserfilterui.h tobrowserindexui.cpp tobrowserindexui.h tobrowsertableui.cpp tobrowsertableui.h tochartalarmui.cpp tochartalarmui.h tochartsetupui.cpp tochartsetupui.h todatabasesettingui.cpp todatabasesettingui.h todebugchangeui.cpp todebugchangeui.h todebugwatch.cpp todebugwatch.h todroptablespaceui.h todroptablespaceui.cpp toeditextensiongotoui.cpp toeditextensiongotoui.h toeditextensionsetupui.cpp toeditextensionsetupui.h toglobalsettingui.cpp toglobalsettingui.h tohelpaddfileui.cpp tohelpaddfileui.h tohelpsetupui.cpp tohelpsetupui.h tolinechartsetupui.cpp tolinechartsetupui.h tomessageui.cpp tomessageui.h tonewconnectionui.cpp tonewconnectionui.h tooraclesettingui.cpp tooraclesettingui.h topreferencesui.cpp topreferencesui.h tora tora_fr.qm tora_it.qm tora_se.qm tora_toad.h tora_toad.qm toresultcontentfilterui.cpp toresultcontentfilterui.h toresultlistformatui.cpp toresultlistformatui.h torollbackdialogui.cpp torollbackdialogui.h toscriptui.cpp toscriptui.h tosearchreplaceui.cpp tosearchreplaceui.h tosecurityquotaui.cpp tosecurityquotaui.h tosecurityroleui.cpp tosecurityroleui.h tosecurityuserui.cpp tosecurityuserui.h tostoragedatafileui.cpp tostoragedatafileui.h tostoragedefinitionui.cpp tostoragedefinitionui.h tostoragedialogui.cpp tostoragedialogui.h tostorageprefsui.cpp tostorageprefsui.h tostoragetablespaceui.cpp tostoragetablespaceui.h tosyntaxsetupui.cpp tosyntaxsetupui.h totemplateaddfileui.cpp totemplateaddfileui.h totemplateeditui.cpp totemplateeditui.h totemplatesetupui.cpp totemplatesetupui.h totoolsettingui.cpp totoolsettingui.h totuningoverviewui.cpp totuningoverviewui.h totuningsettingui.cpp totuningsettingui.h toworksheetsetupui.cpp toworksheetsetupui.h utils.moc + .deps .libs Makefile Makefile.in CMakeFiles cmake_install.cmake *.moc *.orig moc_*.cxx qrc_*.cxx ui_*.h qtlegacy toaboutui.cpp toaboutui.h tobrowserconstraintui.cpp tobrowserconstraintui.h tobrowserfilterui.cpp tobrowserfilterui.h tobrowserindexui.cpp tobrowserindexui.h tobrowsertableui.cpp tobrowsertableui.h tochartalarmui.cpp tochartalarmui.h tochartsetupui.cpp tochartsetupui.h todatabasesettingui.cpp todatabasesettingui.h todebugchangeui.cpp todebugchangeui.h todebugwatch.cpp todebugwatch.h todroptablespaceui.h todroptablespaceui.cpp toeditextensiongotoui.cpp toeditextensiongotoui.h toeditextensionsetupui.cpp toeditextensionsetupui.h toglobalsettingui.cpp toglobalsettingui.h tohelpaddfileui.cpp tohelpaddfileui.h tohelpsetupui.cpp tohelpsetupui.h tolinechartsetupui.cpp tolinechartsetupui.h tomessageui.cpp tomessageui.h tonewconnectionui.cpp tonewconnectionui.h tooraclesettingui.cpp tooraclesettingui.h topreferencesui.cpp topreferencesui.h tora tora_fr.qm tora_it.qm tora_se.qm tora_toad.h tora_toad.qm toresultcontentfilterui.cpp toresultcontentfilterui.h toresultlistformatui.cpp toresultlistformatui.h torollbackdialogui.cpp torollbackdialogui.h toscriptui.cpp toscriptui.h tosearchreplaceui.cpp tosearchreplaceui.h tosecurityquotaui.cpp tosecurityquotaui.h tosecurityroleui.cpp tosecurityroleui.h tosecurityuserui.cpp tosecurityuserui.h tostoragedatafileui.cpp tostoragedatafileui.h tostoragedefinitionui.cpp tostoragedefinitionui.h tostoragedialogui.cpp tostoragedialogui.h tostorageprefsui.cpp tostorageprefsui.h tostoragetablespaceui.cpp tostoragetablespaceui.h tosyntaxsetupui.cpp tosyntaxsetupui.h totemplateaddfileui.cpp totemplateaddfileui.h totemplateeditui.cpp totemplateeditui.h totemplatesetupui.cpp totemplatesetupui.h totoolsettingui.cpp totoolsettingui.h totuningoverviewui.cpp totuningoverviewui.h totuningsettingui.cpp totuningsettingui.h toworksheetsetupui.cpp toworksheetsetupui.h utils.moc Modified: branches/tora-1.4/tora/src/CMakeLists.txt =================================================================== --- branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/CMakeLists.txt 2007-10-29 16:18:23 UTC (rev 2280) @@ -6,6 +6,7 @@ ADD_SUBDIRECTORY(qscintilla2) ENDIF(WANT_INTERNAL_QSCINTILLA) +SET(TORA_RCC_FILES tora.qrc) SET(TORA_UI_SRC toaboutui.ui @@ -53,7 +54,6 @@ ) SET(TORA_MOC_CLASSES - LICENSE.h toabout.h toalert.h toanalyze.h @@ -283,8 +283,8 @@ QT4_WRAP_UI(TORA_UI_SOURCES ${TORA_UI_SRC} ) QT4_WRAP_CPP(TORA_MOC_SOURCES ${TORA_MOC_CLASSES}) +QT4_ADD_RESOURCES(TORA_RCC_SRCS ${TORA_RCC_FILES}) - LINK_DIRECTORIES( ./loki ) @@ -321,6 +321,7 @@ ${TORA_MOC_SOURCES} ${TORA_SOURCES} ${TORA_UI_SOURCES} + ${TORA_RCC_SRCS} ) #Set up libraries to link with all found packages Modified: branches/tora-1.4/tora/src/LICENSE.h =================================================================== --- branches/tora-1.4/tora/src/LICENSE.h 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/LICENSE.h 2007-10-29 16:18:23 UTC (rev 2280) @@ -1,5 +1,4 @@ static char *LicenseText = - "<PRE>" "\n" " The Toolkit for Oracle is Copyright (C) 2003-2005 Quest Software, Inc.\n" " Portions Copyright (C) 2005 Other Contributors\n" @@ -349,5 +348,4 @@ "library. If this is what you want to do, use the GNU Library General\n" "Public License instead of this License.\n" "\n" - "-------------------------------------------------------------------------\n" - "</PRE>"; + "-------------------------------------------------------------------------\n"; Modified: branches/tora-1.4/tora/src/Makefile.am =================================================================== --- branches/tora-1.4/tora/src/Makefile.am 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/Makefile.am 2007-10-29 16:18:23 UTC (rev 2280) @@ -419,6 +419,9 @@ moc_%.cpp: %.h $(MOC) $< -o $@ +qrc_%.cpp: %.qrc + $(RCC) $< -o $@ + #.h.moc: # $(MOC) $(AM_CPPFLAGS) -o $@ $< Modified: branches/tora-1.4/tora/src/toabout.cpp =================================================================== --- branches/tora-1.4/tora/src/toabout.cpp 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/toabout.cpp 2007-10-29 16:18:23 UTC (rev 2280) @@ -50,7 +50,8 @@ #include "icons/largelogo.xpm" -static const char *AboutText = "<IMG SRC=largelogo.xpm><BR>\n" +static const char *AboutText = "<html><body bgcolor='#E3B836'>" + "<IMG SRC=':/icons/largelogo.xpm'><BR>\n" "Version %1 (<A HREF=http://tora.sourceforge.net>http://tora.sourceforge.net</A>)\n" "<P>\n" "© 2003-2007 Quest Software, Inc. " @@ -132,7 +133,8 @@ "<B>Matthias Wolle</B>,\n" "<B>Joachim Zetzsche</B>,\n" "<B>Massimiliano Ziccardi</B>,\n" - "<B>Raj Thukral</B>...\n"; + "<B>Raj Thukral</B>...\n" + "</body></html>"; #define ABOUT_CAPTION TOAPPNAME " %1" @@ -141,25 +143,19 @@ : QDialog(parent, name, modal, fl) { setupUi(this); - Q3MimeSourceFactory::defaultFactory()->setPixmap(QString::fromLatin1("largelogo.xpm"), - QPixmap(const_cast<const char**>(largelogo_xpm))); switch (page) { case 1: setCaption(tr("GNU General Public License")); - TextView->setText(tr(LicenseText)); - TextView->setPaper(QColor(255, 255, 255)); - TextView->setTextFormat(Qt::PlainText); + TextView->setPlainText(tr(LicenseText)); if (parent) CancelButton->hide(); break; default: setCaption(tr(ABOUT_CAPTION).arg(QString::fromLatin1(TOVERSION))); QString buffer = tr(AboutText).arg(QString::fromLatin1(TOVERSION)); - TextView->setText(buffer); - TextView->setPaper(QColor(227, 184, 54)); - TextView->setTextFormat(Qt::RichText); + TextView->setHtml(buffer); CancelButton->hide(); break; } @@ -167,5 +163,4 @@ toAbout::~toAbout() { - Q3MimeSourceFactory::defaultFactory()->setPixmap(QString::fromLatin1("largelogo.xpm"), 0); } Modified: branches/tora-1.4/tora/src/toaboutui.ui =================================================================== --- branches/tora-1.4/tora/src/toaboutui.ui 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/toaboutui.ui 2007-10-29 16:18:23 UTC (rev 2280) @@ -1,87 +1,100 @@ -<ui version="4.0" stdsetdef="1" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>toAboutUI</class> - <widget class="QDialog" name="toAboutUI" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>475</width> - <height>400</height> - </rect> - </property> - <property name="windowTitle" > - <string>toAboutUI</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>11</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item rowspan="1" row="0" column="0" colspan="4" > - <widget class="Q3TextView" name="TextView" > - <property name="textFormat" > - <enum>Qt::RichText</enum> - </property> - </widget> - </item> - <item row="1" column="2" > - <widget class="QPushButton" name="OkButton" > - <property name="text" > - <string>&Ok</string> - </property> - <property name="default" > - <bool>true</bool> - </property> - </widget> - </item> - <item row="1" column="3" > - <widget class="QPushButton" name="CancelButton" > - <property name="text" > - <string>Cancel</string> - </property> - </widget> - </item> - <item row="1" column="1" > - <spacer name="Spacer1" > - <property name="sizeHint" > - <size> - <width>20</width> - <height>20</height> - </size> - </property> - <property name="sizeType" > - <enum>QSizePolicy::Expanding</enum> - </property> - <property name="orientation" > - <enum>Qt::Horizontal</enum> - </property> - </spacer> - </item> - </layout> - </widget> - <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> - <tabstops> - <tabstop>TextView</tabstop> - <tabstop>OkButton</tabstop> - <tabstop>CancelButton</tabstop> - </tabstops> - <connections> - <connection> - <sender>OkButton</sender> - <signal>clicked()</signal> - <receiver>toAboutUI</receiver> - <slot>accept()</slot> - </connection> - <connection> - <sender>CancelButton</sender> - <signal>clicked()</signal> - <receiver>toAboutUI</receiver> - <slot>reject()</slot> - </connection> - </connections> +<ui version="4.0" > + <class>toAboutUI</class> + <widget class="QDialog" name="toAboutUI" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>475</width> + <height>400</height> + </rect> + </property> + <property name="windowTitle" > + <string>toAboutUI</string> + </property> + <layout class="QGridLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item row="1" column="1" > + <widget class="QPushButton" name="OkButton" > + <property name="text" > + <string>&Ok</string> + </property> + <property name="default" > + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="2" > + <widget class="QPushButton" name="CancelButton" > + <property name="text" > + <string>Cancel</string> + </property> + </widget> + </item> + <item row="1" column="0" > + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeType" > + <enum>QSizePolicy::Expanding</enum> + </property> + <property name="sizeHint" > + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="0" column="0" colspan="3" > + <widget class="QTextBrowser" name="TextView" /> + </item> + </layout> + </widget> + <pixmapfunction>qPixmapFromMimeSource</pixmapfunction> + <tabstops> + <tabstop>OkButton</tabstop> + <tabstop>CancelButton</tabstop> + </tabstops> + <resources/> + <connections> + <connection> + <sender>OkButton</sender> + <signal>clicked()</signal> + <receiver>toAboutUI</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel" > + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel" > + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + <connection> + <sender>CancelButton</sender> + <signal>clicked()</signal> + <receiver>toAboutUI</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel" > + <x>20</x> + <y>20</y> + </hint> + <hint type="destinationlabel" > + <x>20</x> + <y>20</y> + </hint> + </hints> + </connection> + </connections> </ui> Added: branches/tora-1.4/tora/src/tora.qrc =================================================================== --- branches/tora-1.4/tora/src/tora.qrc (rev 0) +++ branches/tora-1.4/tora/src/tora.qrc 2007-10-29 16:18:23 UTC (rev 2280) @@ -0,0 +1,130 @@ +<!DOCTYPE RCC><RCC version="1.0"> + <qresource> + <file>icons/addfile.xpm</file> + <file>icons/addindex.xpm</file> + <file>icons/addproject.xpm</file> + <file>icons/addrecord.xpm</file> + <file>icons/addrole.xpm</file> + <file>icons/addrollback.xpm</file> + <file>icons/addtablespace.xpm</file> + <file>icons/addtable.xpm</file> + <file>icons/addtemplate.xpm</file> + <file>icons/adduser.xpm</file> + <file>icons/addwatch.xpm</file> + <file>icons/add.xpm</file> + <file>icons/axis.xpm</file> + <file>icons/background.xpm</file> + <file>icons/breakpoint.xpm</file> + <file>icons/canceledit.xpm</file> + <file>icons/changeconnect.xpm</file> + <file>icons/changewatch.xpm</file> + <file>icons/chart.xpm</file> + <file>icons/clock.xpm</file> + <file>icons/close.xpm</file> + <file>icons/coalesce.xpm</file> + <file>icons/commit.xpm</file> + <file>icons/compile.xpm</file> + <file>icons/connect.xpm</file> + <file>icons/copyuser.xpm</file> + <file>icons/copy.xpm</file> + <file>icons/cut.xpm</file> + <file>icons/database.xpm</file> + <file>icons/deindent.xpm</file> + <file>icons/delwatch.xpm</file> + <file>icons/describe.xpm</file> + <file>icons/disbreakpoint.xpm</file> + <file>icons/disconnect.xpm</file> + <file>icons/down.xpm</file> + <file>icons/droptablespace.xpm</file> + <file>icons/duplicaterecord.xpm</file> + <file>icons/enablebreak.xpm</file> + <file>icons/eraselog.xpm</file> + <file>icons/executeall.xpm</file> + <file>icons/executestep.xpm</file> + <file>icons/execute.xpm</file> + <file>icons/explainplan.xpm</file> + <file>icons/fileopen.xpm</file> + <file>icons/filesave.xpm</file> + <file>icons/filter.xpm</file> + <file>icons/forward.xpm</file> + <file>icons/function.xpm</file> + <file>icons/grid.xpm</file> + <file>icons/indent.xpm</file> + <file>icons/index.xpm</file> + <file>icons/insertsaved.xpm</file> + <file>icons/kill.xpm</file> + <file>icons/largelogo.xpm</file> + <file>icons/legend.xpm</file> + <file>icons/logging.xpm</file> + <file>icons/minus.xpm</file> + <file>icons/modconstraint.xpm</file> + <file>icons/modfile.xpm</file> + <file>icons/modindex.xpm</file> + <file>icons/modtablespace.xpm</file> + <file>icons/modtable.xpm</file> + <file>icons/movefile.xpm</file> + <file>icons/new.xpm</file> + <file>icons/nextbug.xpm</file> + <file>icons/next.xpm</file> + <file>icons/noclock.xpm</file> + <file>icons/nofilter.xpm</file> + <file>icons/offline.xpm</file> + <file>icons/online.xpm</file> + <file>icons/paste.xpm</file> + <file>icons/prevbug.xpm</file> + <file>icons/previous.xpm</file> + <file>icons/print.xpm</file> + <file>icons/readtablespace.xpm</file> + <file>icons/recall.xpm</file> + <file>icons/redo.xpm</file> + <file>icons/refresh.xpm</file> + <file>icons/returnfrom.xpm</file> + <file>icons/return.xpm</file> + <file>icons/rewind.xpm</file> + <file>icons/rollback.xpm</file> + <file>icons/saverecord.xpm</file> + <file>icons/scansource.xpm</file> + <file>icons/schema.xpm</file> + <file>icons/search.xpm</file> + <file>icons/sequence.xpm</file> + <file>icons/shrink.xpm</file> + <file>icons/single.xpm</file> + <file>icons/sql.xpm</file> + <file>icons/stepinto.xpm</file> + <file>icons/stepover.xpm</file> + <file>icons/stop.xpm</file> + <file>icons/storageextents.xpm</file> + <file>icons/synonym.xpm</file> + <file>icons/table.xpm</file> + <file>icons/toalert.xpm</file> + <file>icons/toanalyze.xpm</file> + <file>icons/tobackup.xpm</file> + <file>icons/tobrowser.xpm</file> + <file>icons/tocurrent.xpm</file> + <file>icons/todebug.xpm</file> + <file>icons/togglebreak.xpm</file> + <file>icons/toinvalid.xpm</file> + <file>icons/tolongops.xpm</file> + <file>icons/tooutput.xpm</file> + <file>icons/toramini.xpm</file> + <file>icons/tora.xpm</file> + <file>icons/torollback.xpm</file> + <file>icons/toscript.xpm</file> + <file>icons/tosecurity.xpm</file> + <file>icons/tosession.xpm</file> + <file>icons/tosgatrace.xpm</file> + <file>icons/tosqledit.xpm</file> + <file>icons/tostorage.xpm</file> + <file>icons/totemplate.xpm</file> + <file>icons/totemporary.xpm</file> + <file>icons/totuning.xpm</file> + <file>icons/toworksheet.xpm</file> + <file>icons/trash.xpm</file> + <file>icons/tree.xpm</file> + <file>icons/twirl.mng</file> + <file>icons/undo.xpm</file> + <file>icons/up.xpm</file> + <file>icons/view.xpm</file> + <file>icons/writetablespace.xpm</file> + </qresource> +</RCC> Modified: branches/tora-1.4/tora/src/tosplash.cpp =================================================================== --- branches/tora-1.4/tora/src/tosplash.cpp 2007-10-29 14:22:56 UTC (rev 2279) +++ branches/tora-1.4/tora/src/tosplash.cpp 2007-10-29 16:18:23 UTC (rev 2280) @@ -49,13 +49,10 @@ toSplash::toSplash(QWidget *parent, const char *name, Qt::WFlags f) : Q3VBox(parent, name, f) { - Q3MimeSourceFactory::defaultFactory()->setPixmap(QString::fromLatin1("largelogo.xpm"), - QPixmap(const_cast<const char**>(largelogo_xpm))); - setBackgroundColor(Qt::white); QLabel *logo = new QLabel(this, "Logo"); logo->setBackgroundColor(Qt::white); - logo->setPixmap(QPixmap(const_cast<const char**>(largelogo_xpm))); + logo->setPixmap(QPixmap( QString::fromLatin1(":/icons/largelogo.xpm") )); Label = new QLabel(tr("Loading plugins"), this); Label->setBackgroundColor(Qt::white); Progress = new Q3ProgressBar(this, "Progress"); @@ -66,5 +63,4 @@ toSplash::~toSplash() { - Q3MimeSourceFactory::defaultFactory()->setPixmap(QString::fromLatin1("largelogo.xpm"), 0); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-01 20:56:00
|
Revision: 2287 http://tora.svn.sourceforge.net/tora/?rev=2287&view=rev Author: mrjohnson0 Date: 2007-12-01 12:55:56 -0800 (Sat, 01 Dec 2007) Log Message: ----------- use qtoolbar (not q3support). update to qt4 classes in tomain. this breaks most tools widgets for now, but toworksheet is fully functional. Modified Paths: -------------- branches/tora-1.4/tora/src/main.cpp branches/tora-1.4/tora/src/toabout.cpp branches/tora-1.4/tora/src/toabout.h branches/tora-1.4/tora/src/toalert.cpp branches/tora-1.4/tora/src/toanalyze.cpp branches/tora-1.4/tora/src/tobackup.cpp branches/tora-1.4/tora/src/tobarchart.cpp branches/tora-1.4/tora/src/tobrowser.cpp branches/tora-1.4/tora/src/tobrowser.h branches/tora-1.4/tora/src/tochangeconnection.cpp branches/tora-1.4/tora/src/tochangeconnection.h branches/tora-1.4/tora/src/tochartmanager.cpp branches/tora-1.4/tora/src/toconnection.h branches/tora-1.4/tora/src/tocurrent.cpp branches/tora-1.4/tora/src/todebug.cpp branches/tora-1.4/tora/src/toeditextensions.cpp branches/tora-1.4/tora/src/tohelp.cpp branches/tora-1.4/tora/src/toinvalid.cpp branches/tora-1.4/tora/src/tolinechart.cpp branches/tora-1.4/tora/src/tomain.cpp branches/tora-1.4/tora/src/tomain.h branches/tora-1.4/tora/src/tomainwindow.cpp branches/tora-1.4/tora/src/tomainwindow.h branches/tora-1.4/tora/src/tomemoeditor.cpp branches/tora-1.4/tora/src/tomemoeditor.h branches/tora-1.4/tora/src/tooutput.cpp branches/tora-1.4/tora/src/tooutput.h branches/tora-1.4/tora/src/topiechart.cpp branches/tora-1.4/tora/src/toprofiler.cpp branches/tora-1.4/tora/src/toproject.cpp branches/tora-1.4/tora/src/toproject.h branches/tora-1.4/tora/src/toresultcontent.cpp branches/tora-1.4/tora/src/toresultparam.cpp branches/tora-1.4/tora/src/toresultview.cpp branches/tora-1.4/tora/src/torollback.cpp branches/tora-1.4/tora/src/toscript.cpp branches/tora-1.4/tora/src/tosecurity.cpp branches/tora-1.4/tora/src/tosession.cpp branches/tora-1.4/tora/src/tosgatrace.cpp branches/tora-1.4/tora/src/tosqledit.cpp branches/tora-1.4/tora/src/tosqledit.h branches/tora-1.4/tora/src/tostorage.cpp branches/tora-1.4/tora/src/totemplate.cpp branches/tora-1.4/tora/src/totemplate.h branches/tora-1.4/tora/src/totemporary.cpp branches/tora-1.4/tora/src/tothread.cpp branches/tora-1.4/tora/src/tothread.h branches/tora-1.4/tora/src/totool.cpp branches/tora-1.4/tora/src/totool.h branches/tora-1.4/tora/src/totuning.cpp branches/tora-1.4/tora/src/tovisualize.cpp branches/tora-1.4/tora/src/towaitevents.cpp branches/tora-1.4/tora/src/toworksheet.cpp branches/tora-1.4/tora/src/toworksheet.h branches/tora-1.4/tora/src/toworksheetstatistic.cpp branches/tora-1.4/tora/src/utils.cpp branches/tora-1.4/tora/src/utils.h Modified: branches/tora-1.4/tora/src/main.cpp =================================================================== --- branches/tora-1.4/tora/src/main.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/main.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -213,7 +213,7 @@ if (toConfigurationSingle::Instance().globalConfig("LastVersion", "") != TOVERSION) { - std::auto_ptr<toAbout> about ( new toAbout(0, NULL, "About " TOAPPNAME, true)); + std::auto_ptr<toAbout> about ( new toAbout(toAbout::About, NULL, "About " TOAPPNAME, true)); if (!about->exec()) { exit (2); Modified: branches/tora-1.4/tora/src/toabout.cpp =================================================================== --- branches/tora-1.4/tora/src/toabout.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toabout.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -139,25 +139,22 @@ #define ABOUT_CAPTION TOAPPNAME " %1" -toAbout::toAbout(int page, QWidget* parent, const char* name, bool modal, Qt::WFlags fl) +toAbout::toAbout(AboutType page, QWidget* parent, const char* name, bool modal, Qt::WFlags fl) : QDialog(parent, name, modal, fl) { setupUi(this); - switch (page) - { - case 1: + if(page == License) { setCaption(tr("GNU General Public License")); TextView->setPlainText(tr(LicenseText)); if (parent) CancelButton->hide(); - break; - default: + } + else { setCaption(tr(ABOUT_CAPTION).arg(QString::fromLatin1(TOVERSION))); QString buffer = tr(AboutText).arg(QString::fromLatin1(TOVERSION)); TextView->setHtml(buffer); CancelButton->hide(); - break; } } Modified: branches/tora-1.4/tora/src/toabout.h =================================================================== --- branches/tora-1.4/tora/src/toabout.h 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toabout.h 2007-12-01 20:55:56 UTC (rev 2287) @@ -46,7 +46,12 @@ Q_OBJECT public: - toAbout(int page, QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WFlags fl = 0); + enum AboutType { + About, + License + }; + + toAbout(AboutType, QWidget* parent = 0, const char* name = 0, bool modal = false, Qt::WFlags fl = 0); ~toAbout(); }; Modified: branches/tora-1.4/tora/src/toalert.cpp =================================================================== --- branches/tora-1.4/tora/src/toalert.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toalert.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -123,7 +123,7 @@ toAlert::toAlert(QWidget *main, toConnection &connection) : toToolWidget(AlertTool, "alert.html", main, connection), Connection(connection) { - Q3ToolBar *toolbar = toAllocBar(this, tr("Alert Messenger")); + QToolBar *toolbar = toAllocBar(this, tr("Alert Messenger")); QString def; try @@ -176,7 +176,7 @@ tr("Edit message in memo"), this, SLOT(memo()), toolbar); - toolbar->setStretchableWidget(Message); +// todo toolbar->setStretchableWidget(Message); new QToolButton(QPixmap(const_cast<const char**>(return_xpm)), tr("Send alert"), tr("Send alert"), @@ -215,6 +215,7 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(tr("&Add name"), Registered, SLOT(setFocus()), toKeySequence(tr("Alt+R", "Alert|Add Name"))); ToolMenu->insertItem(QPixmap(const_cast<const char**>(trash_xpm)), tr("&Remove name"), @@ -229,6 +230,7 @@ this, SLOT(send(void)), toKeySequence(tr("Ctrl+Return", "Alert|Send alert"))); toMainWidget()->menuBar()->insertItem(tr("&Alert"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/toanalyze.cpp =================================================================== --- branches/tora-1.4/tora/src/toanalyze.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toanalyze.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -170,7 +170,7 @@ Q3VBox *box = new Q3VBox(Tabs); Tabs->addTab(box, tr("Analyze")); - Q3ToolBar *toolbar = toAllocBar(box, tr("Statistics Manager")); + QToolBar *toolbar = toAllocBar(box, tr("Statistics Manager")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Refresh"), @@ -259,7 +259,7 @@ Current = new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME); Current->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); - toolbar->setStretchableWidget(Current); +// toolbar->setStretchableWidget(Current); Stop = new QToolButton(QPixmap(const_cast<const char**>(stop_xpm)), tr("Stop current run"), @@ -310,7 +310,7 @@ tr("Refresh"), Plans, SLOT(refresh()), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); CurrentPlan = new toResultPlan(splitter); @@ -350,11 +350,13 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Statistics|Refresh"))); toMainWidget()->menuBar()->insertItem(tr("&Statistics"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/tobackup.cpp =================================================================== --- branches/tora-1.4/tora/src/tobackup.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tobackup.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -49,7 +49,7 @@ #include <qmenubar.h> #include <q3popupmenu.h> #include <qtabwidget.h> -#include <q3toolbar.h> +#include <qtoolbar.h> #include <qtoolbutton.h> #include <qworkspace.h> //Added by qt3to4: @@ -316,14 +316,14 @@ toBackup::toBackup(toTool* tool, QWidget *main, toConnection &connection) : toToolWidget(*tool, "backup.html", main, connection) , tool_(tool) { - Q3ToolBar *toolbar = toAllocBar(this, tr("Backup Manager")); + QToolBar *toolbar = toAllocBar(this, tr("Backup Manager")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Update"), tr("Update"), this, SLOT(refresh(void)), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); Tabs = new QTabWidget(this); @@ -363,10 +363,12 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Backup|Refresh"))); toMainWidget()->menuBar()->insertItem(tr("&Backup Manager"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/tobarchart.cpp =================================================================== --- branches/tora-1.4/tora/src/tobarchart.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tobarchart.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -246,7 +246,7 @@ newWin->raise(); newWin->setFocus(); - toMainWidget()->windowsMenu(); + toMainWidget()->updateWindowsMenu(); } return newWin; } Modified: branches/tora-1.4/tora/src/tobrowser.cpp =================================================================== --- branches/tora-1.4/tora/src/tobrowser.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tobrowser.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -83,7 +83,7 @@ #include <qregexp.h> #include <qsplitter.h> #include <qtabwidget.h> -#include <q3toolbar.h> +#include <qtoolbar.h> #include <qtoolbutton.h> #include <qtooltip.h> #include <q3valuelist.h> @@ -149,6 +149,7 @@ void toBrowserTool::customSetup(int) { +#if 0 // todo Q3PopupMenu *createMenu = new Q3PopupMenu(toMainWidget()); createMenu->insertItem(QPixmap(const_cast<const char**>(modtable_xpm)), tr("&Table"), this, SLOT(addTable())); @@ -157,6 +158,7 @@ createMenu->insertItem(QPixmap(const_cast<const char**>(modconstraint_xpm)), tr("&Constraint"), this, SLOT(addConstraint())); toMainWidget()->menuBar()->insertItem(tr("&Create"), createMenu, -1, toToolMenuIndex()); +#endif } void toBrowserTool::addTable(void) @@ -499,7 +501,7 @@ const QString & grouptext, QObject * receiver, const char * slot, - Q3ToolBar * parent, + QToolBar * parent, const char * name) : QToolButton(iconSet, textLabel, grouptext, receiver, slot, parent, name) { @@ -1112,11 +1114,11 @@ } toBrowser::toBrowser(QWidget *parent, toConnection &connection) - : toToolWidget(BrowserTool, "browser.html", parent, connection) + : toToolWidget(BrowserTool, "browser.html", parent, connection) { Filter = new toBrowserFilter(false); - Q3ToolBar *toolbar = toAllocBar(this, tr("DB Browser")); + QToolBar *toolbar = toAllocBar(this, tr("DB Browser")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Update from DB"), @@ -1146,7 +1148,7 @@ Schema->setSelected(connection.user().upper()); else Schema->setSelected(connection.user()); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); TopTab = new toTabWidget(this); @@ -1199,7 +1201,7 @@ toolbar); #endif - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); toResultView *resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); @@ -1349,7 +1351,7 @@ tr("Drop index"), this, SLOT(dropIndex()), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); @@ -1564,7 +1566,7 @@ this, SLOT(testDBLink()), toolbar); toolbar->addSeparator(); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); @@ -1612,7 +1614,7 @@ tr("Drop user"), this, SLOT(dropUser()), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); resultView = new toResultLong(true, false, toQuery::Background, box); #else @@ -1687,6 +1689,7 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Browser|Refresh"))); @@ -1701,6 +1704,7 @@ ToolMenu->insertItem(QPixmap(const_cast<const char**>(nofilter_xpm)), tr("&Clear filter"), this, SLOT(clearFilter(void)), toKeySequence(tr("Ctrl+Shift+H", "Browser|Clear filter"))); toMainWidget()->menuBar()->insertItem(tr("&Browser"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else @@ -2893,7 +2897,7 @@ } }; -void toBrowseTemplate::insertItems(Q3ListView *parent, Q3ToolBar *toolbar) +void toBrowseTemplate::insertItems(Q3ListView *parent, QToolBar *toolbar) { if (!Registered) { Modified: branches/tora-1.4/tora/src/tobrowser.h =================================================================== --- branches/tora-1.4/tora/src/tobrowser.h 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tobrowser.h 2007-12-01 20:55:56 UTC (rev 2287) @@ -51,7 +51,7 @@ class Q3ListViewItem; class Q3PopupMenu; class QTabWidget; -class Q3ToolBar; +class QToolBar; class toBrowserFilter; class toResult; class toResultCombo; @@ -166,7 +166,7 @@ Registered = false; Filter = NULL; } - virtual void insertItems(Q3ListView *parent, Q3ToolBar *toolbar); + virtual void insertItems(Q3ListView *parent, QToolBar *toolbar); virtual void removeItem(Q3ListViewItem *item); toBrowserFilter *filter(void) { @@ -190,7 +190,7 @@ const QString & grouptext, QObject * receiver, const char * slot, - Q3ToolBar * parent, + QToolBar * parent, const char * name = 0); private slots: void connectionChanged(void); Modified: branches/tora-1.4/tora/src/tochangeconnection.cpp =================================================================== --- branches/tora-1.4/tora/src/tochangeconnection.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tochangeconnection.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -42,13 +42,13 @@ #include <q3popupmenu.h> #include <qtooltip.h> -//Added by qt3to4: #include <QPixmap> +#include <QToolBar> #include "icons/changeconnect.xpm" -toChangeConnection::toChangeConnection(Q3ToolBar *parent, const char *name) +toChangeConnection::toChangeConnection(QToolBar *parent, const char *name) : toPopupButton(QPixmap(const_cast<const char**>(changeconnect_xpm)), tr("Change the connection of the tool."), tr("Change the connection of the tool."), @@ -57,6 +57,9 @@ setPopup(new Q3PopupMenu(this)); connect(popup(), SIGNAL(aboutToShow()), this, SLOT(popupMenu())); connect(popup(), SIGNAL(activated(int)), this, SLOT(changeConnection(int))); + + // addWidget manually or the layout gets weird. + parent->addWidget(this); } void toChangeConnection::popupMenu(void) Modified: branches/tora-1.4/tora/src/tochangeconnection.h =================================================================== --- branches/tora-1.4/tora/src/tochangeconnection.h 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tochangeconnection.h 2007-12-01 20:55:56 UTC (rev 2287) @@ -46,18 +46,20 @@ * parent. */ -class toChangeConnection : public toPopupButton -{ +class toChangeConnection : public toPopupButton { Q_OBJECT + private slots: void changeConnection(int id); void popupMenu(void); + public: + /** Create the button, only the toolbar parent is needed. * @param parent Toolbar to put connection in. * @param name Name of widget. */ - toChangeConnection(Q3ToolBar *parent, const char *name = 0); + toChangeConnection(QToolBar *parent, const char *name = 0); }; #endif Modified: branches/tora-1.4/tora/src/tochartmanager.cpp =================================================================== --- branches/tora-1.4/tora/src/tochartmanager.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tochartmanager.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -56,7 +56,7 @@ #include <qmenubar.h> #include <qmessagebox.h> #include <q3popupmenu.h> -#include <q3toolbar.h> +#include <qtoolbar.h> #include <qtoolbutton.h> #include <qvalidator.h> #include <qworkspace.h> @@ -100,8 +100,10 @@ } virtual void customSetup(int toolid) { +#if 0 // todo toMainWidget()->editMenu()->insertItem(QIcon(/*const_cast<const char**>(*/chart_xpm)/*)*/, qApp->translate("toChartTool", "Chart Manager..."), toolid); +#endif Handler = new toChartHandler(); } @@ -280,7 +282,7 @@ toChartManager::toChartManager(QWidget *main) : Q3VBox(main), toHelpContext(QString::fromLatin1("chartmanager.html")) { - Q3ToolBar *toolbar = toAllocBar(this, tr("Chart Manager")); + QToolBar *toolbar = toAllocBar(this, tr("Chart Manager")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Refresh list"), @@ -299,7 +301,7 @@ this, SLOT(setupChart()), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); List = new toListView(this); List->addColumn(tr("Connection")); @@ -324,12 +326,14 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Chart Manager|Refresh"))); toMainWidget()->menuBar()->insertItem(tr("&Chart Manager"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/toconnection.h =================================================================== --- branches/tora-1.4/tora/src/toconnection.h 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toconnection.h 2007-12-01 20:55:56 UTC (rev 2287) @@ -875,8 +875,7 @@ * * @param widget The widget to add to the connection. */ - void addWidget(QObject *widget) - { + void addWidget(QObject *widget) { Widgets.insert(Widgets.end(), widget); } /** Modified: branches/tora-1.4/tora/src/tocurrent.cpp =================================================================== --- branches/tora-1.4/tora/src/tocurrent.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tocurrent.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -117,15 +117,15 @@ toCurrent::toCurrent(QWidget *main, toConnection &connection) : toToolWidget(CurrentTool, "current.html", main, connection) { - Q3ToolBar *toolbar = toAllocBar(this, tr("Current Session")); + QToolBar *toolbar = toAllocBar(this, tr("Current Session")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update"), - tr("Update"), - this, SLOT(refresh(void)), - toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); +// todo +// new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), +// tr("Update"), +// tr("Update"), +// this, SLOT(refresh(void)), +// toolbar); +// new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); Tabs = new QTabWidget(this); @@ -169,11 +169,13 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Current session|Refresh"))); toMainWidget()->menuBar()->insertItem(tr("&Current Session"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/todebug.cpp =================================================================== --- branches/tora-1.4/tora/src/todebug.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/todebug.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -70,7 +70,7 @@ #include <qstring.h> #include <qtabwidget.h> #include <qtimer.h> -#include <q3toolbar.h> +#include <qtoolbar.h> #include <qtoolbutton.h> #include <qtooltip.h> #include <qworkspace.h> @@ -99,6 +99,7 @@ #include "icons/togglebreak.xpm" #include "icons/toworksheet.xpm" +#if 0 // todo #define TO_ID_NEW_SHEET (toMain::TO_TOOL_MENU_ID+ 0) #define TO_ID_SCAN_SOURCE (toMain::TO_TOOL_MENU_ID+ 1) #define TO_ID_COMPILE (toMain::TO_TOOL_MENU_ID+ 2) @@ -113,6 +114,7 @@ #define TO_ID_CHANGE_WATCH (toMain::TO_TOOL_MENU_ID+11) #define TO_ID_CLOSE_EDITOR (toMain::TO_TOOL_MENU_ID+12) #define TO_ID_CLOSE_ALL_EDITOR (toMain::TO_TOOL_MENU_ID+14) +#endif class toDebugTool : public toTool { @@ -1240,6 +1242,7 @@ void toDebug::updateState(int reason) { +#if 0 // todo switch (reason) { case TO_REASON_EXIT: @@ -1532,6 +1535,7 @@ } selectedWatch(); readLog(); +#endif } #if 0 // Not used yet @@ -1765,7 +1769,7 @@ toDebug::toDebug(QWidget *main, toConnection &connection) : toToolWidget(DebugTool, "debugger.html", main, connection), TargetThread() { - Q3ToolBar *toolbar = toAllocBar(this, tr("Debugger")); + QToolBar *toolbar = toAllocBar(this, tr("Debugger")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Update object list"), @@ -1877,7 +1881,7 @@ DelWatchButton->setEnabled(false); ChangeWatchButton->setEnabled(false); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); QSplitter *splitter = new QSplitter(Qt::Vertical, this); QSplitter *hsplitter = new QSplitter(Qt::Horizontal, splitter); @@ -2235,8 +2239,10 @@ DebugTabs->show(); else DebugTabs->hide(); +#if 0 // todo if (ToolMenu) ToolMenu->setItemChecked(TO_ID_DEBUG_PANE, show); +#endif } bool toDebugText::compile(void) @@ -2487,6 +2493,7 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(toworksheet_xpm)), tr("&New Sheet"), this, SLOT(newSheet(void)), @@ -2569,6 +2576,7 @@ ToolMenu->setItemEnabled(TO_ID_DEL_WATCH, false); if (!ChangeWatchButton->isEnabled()) ToolMenu->setItemEnabled(TO_ID_CHANGE_WATCH, false); +#endif } } else @@ -2585,6 +2593,7 @@ void toDebug::selectedWatch() { +#if 0 // todo Q3ListViewItem *item = Watch->selectedItem(); if (item) { @@ -2623,6 +2632,7 @@ ToolMenu->setItemEnabled(TO_ID_CHANGE_WATCH, false); } } +#endif } void toDebug::deleteWatch(void) Modified: branches/tora-1.4/tora/src/toeditextensions.cpp =================================================================== --- branches/tora-1.4/tora/src/toeditextensions.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toeditextensions.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -87,6 +87,7 @@ void toEditExtensions::receivedFocus(toEditWidget *widget) { +#if 0 // todo if (widget) Current = dynamic_cast<toMarkedText *>(widget); else @@ -112,6 +113,7 @@ DeindentButton->setEnabled(enable); toHighlightedText * cur = dynamic_cast<toHighlightedText *>(widget); toMainWidget()->editMenu()->setItemEnabled(AutoComplete, cur); +#endif } void toEditExtensions::autoComplete() @@ -489,6 +491,7 @@ virtual void closeWindow(toConnection &connection){}; virtual void customSetup(int) { +#if 0 // todo toMainWidget()->editMenu()->insertSeparator(); int idx = toMainWidget()->editMenu()->indexOf(TO_EDIT_SEARCH_NEXT); @@ -556,6 +559,7 @@ toMainWidget()->editToolbar()); EditExtensions.receivedFocus(NULL); +#endif } virtual QWidget *configurationTab(QWidget *parent) { Modified: branches/tora-1.4/tora/src/tohelp.cpp =================================================================== --- branches/tora-1.4/tora/src/tohelp.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tohelp.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -68,6 +68,7 @@ //Added by qt3to4: #include <Q3CString> #include <Q3VBoxLayout> +#include <QToolBar> #include "ui_tohelpaddfileui.h" #include "ui_tohelpsetupui.h" @@ -223,13 +224,17 @@ { if (!modal) Window = this; - Q3BoxLayout *l = new Q3VBoxLayout(this); - Q3ToolBar *toolbar = toAllocBar(this, tr("Help Navigation")); - l->addWidget(toolbar); + QWidget *container = new QWidget(this); + QVBoxLayout *l = new QVBoxLayout; + + QToolBar *toolbar = toAllocBar(container, tr("Help Navigation")); + QSplitter *splitter = new QSplitter(Qt::Horizontal, this); l->addWidget(splitter); + container->setLayout(l); + QTabWidget *tabs = new QTabWidget(splitter); Sections = new toListView(tabs); Sections->addColumn(tr("Contents")); @@ -262,7 +267,9 @@ this, SLOT(removeSelection(void))); QToolButton *button; - button = new QToolButton(Qt::LeftArrow, toolbar, "q3backbutton"); + button = new QToolButton(this); + button->setArrowType(Qt::LeftArrow); + toolbar->addWidget(button); connect(Help, SIGNAL(backwardAvailable(bool)), button, SLOT(setEnabled(bool))); button->setEnabled(false); @@ -271,7 +278,9 @@ QToolTip::add (button, tr("Backward one help page")); - button = new QToolButton(Qt::RightArrow, toolbar, "q3forwardbutton"); + button = new QToolButton(this); + button->setArrowType(Qt::RightArrow); + toolbar->addWidget(button); connect(Help, SIGNAL(forwardAvailable(bool)), button, SLOT(setEnabled(bool))); button->setEnabled(false); @@ -280,7 +289,7 @@ QToolTip::add (button, tr("Forward one help page")); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); std::map<QString, QString> Dsc; Dsc[tr(TOAPPNAME " manual")] = toHelpPath(); Modified: branches/tora-1.4/tora/src/toinvalid.cpp =================================================================== --- branches/tora-1.4/tora/src/toinvalid.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/toinvalid.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -56,7 +56,7 @@ #include <q3popupmenu.h> #include <q3progressdialog.h> #include <qsplitter.h> -#include <q3toolbar.h> +#include <qtoolbar.h> #include <qtoolbutton.h> #include <qworkspace.h> //Added by qt3to4: @@ -112,7 +112,7 @@ toInvalid::toInvalid(QWidget *main, toConnection &connection) : toToolWidget(InvalidTool, "invalid.html", main, connection) { - Q3ToolBar *toolbar = toAllocBar(this, tr("Invalid Objects")); + QToolBar *toolbar = toAllocBar(this, tr("Invalid Objects")); new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Refresh list"), @@ -126,7 +126,7 @@ this, SLOT(recompileSelected()), toolbar); - toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); +// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); QSplitter *splitter = new QSplitter(Qt::Horizontal, this); @@ -197,12 +197,14 @@ { if (!ToolMenu) { +#if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), toKeySequence(tr("F5", "Invalid|Refresh"))); toMainWidget()->menuBar()->insertItem(tr("&Invalid"), ToolMenu, -1, toToolMenuIndex()); +#endif } } else Modified: branches/tora-1.4/tora/src/tolinechart.cpp =================================================================== --- branches/tora-1.4/tora/src/tolinechart.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tolinechart.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -837,7 +837,7 @@ newWin->show(); newWin->raise(); newWin->setFocus(); - toMainWidget()->windowsMenu(); + toMainWidget()->updateWindowsMenu(); } return newWin; } Modified: branches/tora-1.4/tora/src/tomain.cpp =================================================================== --- branches/tora-1.4/tora/src/tomain.cpp 2007-12-01 20:51:21 UTC (rev 2286) +++ branches/tora-1.4/tora/src/tomain.cpp 2007-12-01 20:55:56 UTC (rev 2287) @@ -71,7 +71,7 @@ #include <qpushbutton.h> #include <qregexp.h> #include <qstatusbar.h> -#include <q3toolbar.h> +#include <QToolBar> #include <qtoolbutton.h> #include <qtooltip.h> #include <q3vbox.h> @@ -80,7 +80,6 @@ #include <q3urloperator.h> #include <q3network.h> #include <qstyle.h> -//Added by qt3to4: #include <QPixmap> #include <Q3CString> @@ -107,284 +106,410 @@ #define TO_ABOUT_ID_OFFSET (toMain::TO_TOOL_ABOUT_ID-TO_TOOLS) toMain::toMain() - : toMainWindow(), toBackupTool_(new toBackupTool), BackgroundLabel(new toBackgroundLabel(statusBar())) -{ + : toMainWindow(), + toBackupTool_(new toBackupTool), + BackgroundLabel(new toBackgroundLabel(statusBar())) { + qApp->setMainWidget(this); - setDockMenuEnabled(true); - Edit = NULL; - FileMenu = new Q3PopupMenu(this); + // todo QWorkspace is obsolete + Workspace = new QWorkspace(this); + setCentralWidget(Workspace); - FileMenu->insertItem(QPixmap(const_cast<const char**>(connect_xpm)), - tr("&New Connection..."), TO_NEW_CONNECTION, Qt::CTRL + Qt::Key_G); - FileMenu->insertItem(QPixmap(const_cast<const char**>(disconnect_xpm)), - tr("&Close Connection"), this, SLOT(delConnection()), 0, TO_CLOSE_CONNECTION); + // setup all QAction objects + createActions(); - FileMenu->insertSeparator(); - FileMenu->insertItem(QPixmap(const_cast<const char**>(commit_xpm)), tr("&Commit Connection"), TO_FILE_COMMIT, - Qt::CTRL + Qt::SHIFT + Qt::Key_C); - FileMenu->insertItem(QPixmap(const_cast<const char**>(rollback_xpm)), tr("&Rollback Connection"), TO_FILE_ROLLBACK, - Qt::CTRL + Qt::Key_Less); - FileMenu->insertItem(tr("C&urrent Connection"), TO_FILE_CURRENT, - Qt::CTRL + Qt::SHIFT + Qt::Key_U); - FileMenu->insertItem(QPixmap(const_cast<const char**>(stop_xpm)), tr("Stop All Queries"), TO_STOP_ALL, - Qt::CTRL + Qt::Key_J); - FileMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Reread Object Cache"), TO_FILE_CLEARCACHE, 0); + // create all menus (previously Q3Popup) + createMenus(); - FileMenu->insertSeparator(); - FileMenu->insertItem(QPixmap(const_cast<const char**>(fileopen_xpm)), tr("&Open File..."), TO_FILE_OPEN, - Qt::CTRL + Qt::Key_O); - FileMenu->insertItem(QPixmap(const_cast<const char**>(filesave_xpm)), tr("&Save"), TO_FILE_SAVE, - Qt::CTRL + Qt::Key_S); - FileMenu->insertItem(tr("Save A&s..."), TO_FILE_SAVE_AS, Qt::CTRL + Qt::SHIFT + Qt::Key_W); - FileMenu->insertSeparator(); - FileMenu->insertItem(QPixmap(const_cast<const char**>(fileopen_xpm)), tr("Open Session..."), - TO_FILE_OPEN_SESSION, 0); - FileMenu->insertItem(QPixmap(const_cast<const char**>(filesave_xpm)), tr("Save Session..."), - TO_FILE_SAVE_SESSION, 0); - FileMenu->insertItem(tr("Restore Last Session"), TO_FILE_LAST_SESSION); - FileMenu->insertItem(tr("Close Session"), TO_FILE_CLOSE_SESSION); - FileMenu->insertSeparator(); - FileMenu->insertItem(QPixmap(const_cast<const char**>(print_xpm)), tr("&Print..."), TO_FILE_PRINT, 0); - FileMenu->insertSeparator(); - FileMenu->insertItem(tr("&Quit"), TO_FILE_QUIT); + createToolbars(); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+G", "File|New connection")), TO_NEW_CONNECTION); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+O", "File|File open")), TO_FILE_OPEN); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+W", "File|File save")), TO_FILE_SAVE); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+W", "File|File save as")), TO_FILE_SAVE_AS); + createStatusbar(); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+C", "File|Commit")), TO_FILE_COMMIT); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+J", "File|Stop all")), TO_STOP_ALL); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+<", "File|Rollback")) | CTRL, TO_FILE_ROLLBACK); -// FileMenu->setAccel(toKeySequence(tr("Ctrl+Shift+U", "File|Current connection")), TO_FILE_CURRENT); + createToolMenus(); updateRecent(); - connect(FileMenu, SIGNAL(aboutToShow()), this, SLOT(showFileMenu())); - menuBar()->insertItem(tr("&File"), FileMenu, TO_FILE_MENU); - connect(FileMenu, SIGNAL(activated(int)), this, SLOT(commandCallback(int))); +#if 0 // todo + if(!toConfigurationSingle::Instance().globalConfig( + CONF_TOOLS_LEFT, "").isEmpty()) + moveToolBar(toolsToolbar, Qt::Left); +#endif - EditMenu = new Q3PopupMenu(this); - EditMenu->insertItem(QPixmap(const_cast<const char**>(undo_xpm)), tr("&Undo"), TO_EDIT_UNDO, - Qt::CTRL + Qt::Key_Z); - EditMenu->insertItem(QPixmap(const_cast<const char**>(redo_xpm)), tr("&Redo"), TO_EDIT_REDO, - Qt::CTRL + Qt::Key_Y); - EditMenu->insertSeparator(); - EditMenu->insertItem(QPixmap(const_cast<const char**>(cut_xpm)), tr("Cu&t"), TO_EDIT_CUT, - Qt::CTRL + Qt::Key_X); - EditMenu->insertItem(QPixmap(const_cast<const char**>(copy_xpm)), tr("&Copy"), TO_EDIT_COPY, - Qt::CTRL + Qt::Key_C); - EditMenu->insertItem(QPixmap(const_cast<const char**>(paste_xpm)), tr("&Paste"), TO_EDIT_PASTE, - Qt::CTRL + Qt::Key_V); - EditMenu->insertSeparator(); - EditMenu->insertItem(QPixmap(const_cast<const char**>(search_xpm)), tr("&Search && Replace..."), - TO_EDIT_SEARCH, Qt::CTRL + Qt::Key_F); - EditMenu->insertItem(tr("Search &Next"), TO_EDIT_SEARCH_NEXT, Qt::Key_F3); - EditMenu->insertItem(tr("Select &All"), TO_EDIT_SELECT_ALL); - EditMenu->insertItem(tr("Read All &Items"), TO_EDIT_READ_ALL); - EditMenu->insertSeparator(); - EditMenu->insertItem(tr("&Preferences..."), TO_EDIT_OPTIONS); + char buffer[100]; + sprintf(buffer, DEFAULT_TITLE, TOVERSION); + setCaption(tr(buffer)); - Q3Accel *accel = new Q3Accel(this); - accel->connectItem(accel->insertItem(toKeySequence(tr("Ctrl+Insert", "Edit|Copy"))), this, SLOT(copyButton())); - accel->connectItem(accel->insertItem(toKeySequence(tr("Shift+Delete", "Edit|Cut"))), this, SLOT(cutButton())); - accel->connectItem(accel->insertItem(toKeySequence(tr("Shift+Insert", "Edit|Paste"))), this, SLOT(pasteButton())); + setIcon(QPixmap(const_cast<const char**>(tora_xpm))); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+A", "Edit|Select all")), TO_EDIT_SELECT_ALL); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+Z", "Edit|Undo")), TO_EDIT_UNDO); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+Y", "Edit|Redo")), TO_EDIT_REDO); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+X", "Edit|Cut")), TO_EDIT_CUT); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+C", "Edit|Copy")), TO_EDIT_COPY); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+V", "Edit|Paste")), TO_EDIT_PASTE); -// EditMenu->setAccel(toKeySequence(tr("Ctrl+F", "Edit|Search")), TO_EDIT_SEARCH); -// EditMenu->setAccel(toKeySequence(tr("F3", "Edit|Search next")), TO_EDIT_SEARCH_NEXT); + // disable widgets related to an editor + editDisable(NULL); + enableConnectionActions(false); - menuBar()->insertItem(tr("&Edit"), EditMenu, TO_EDIT_MENU); - connect(EditMenu, SIGNAL(activated(int)), this, SLOT(commandCallback(int))); - std::map<Q3CString, toTool *> &tools = toTool::tools(); - ToolsToolbar = toAllocBar(this, tr("Tools")); + Q3CString defName = toConfigurationSingle::Instance().globalConfig( + CONF_DEFAULT_TOOL, "").latin1(); - EditToolbar = toAllocBar(this, tr("Application")); + for (std::map<Q3CString, toTool *>::iterator k = tools.begin(); + k != tools.end(); + k++) { - LoadButton = new QToolButton(QPixmap(const_cast<const char**>(fileopen_xpm)), - tr("Load file into editor"), - tr("Load file into editor"), - this, SLOT(loadButton()), EditToolbar); - SaveButton = new QToolButton(QPixmap(const_cast<const char**>(filesave_xpm)), - tr("Save file from editor"), - tr("Save file from editor"), - this, SLOT(saveButton()), EditToolbar); - PrintButton = new QToolButton(QPixmap(const_cast<const char**>(print_xpm)), - tr("Print"), - tr("Print"), - this, SLOT(printButton()), EditToolbar); - PrintButton->setEnabled(false); - LoadButton->setEnabled(false); - SaveButton->setEnabled(false); + if(defName == (*k).first) + DefaultTool = (*k).second; - EditToolbar->addSeparator(); - UndoButton = new QToolButton(QPixmap(const_cast<const char**>(undo_xpm)), - tr("Undo"), - tr("Undo"), - this, SLOT(undoButton()), EditToolbar); - RedoButton = new QToolButton(QPixmap(const_cast<const char**>(redo_xpm)), - tr("Redo"), - tr("Redo"), - this, SLOT(redoButton()), EditToolbar); - CutButton = new QToolButton(QPixmap(const_cast<const char**>(cut_xpm)), - tr("Cut to clipboard"), - tr("Cut to clipboard"), - this, SLOT(cutButton()), EditToolbar); - CopyButton = new QToolButton(QPixmap(const_cast<const char**>(copy_xpm)), - tr("Copy to clipboard"), - tr("Copy to clipboard"), - this, SLOT(copyButton()), EditToolbar); - PasteButton = new QToolButton(QPixmap(const_cast<const char**>(paste_xpm)), - tr("Paste from clipboard"), - tr("Paste from clipboard"), - this, SLOT(pasteButton()), EditToolbar); - EditToolbar->addSeparator(); - SearchButton = new QToolButton(QPixmap(const_cast<const char**>(search_xpm)), - tr("Search & replace"), - tr("Search & replace"), - this, SLOT(searchButton()), EditToolbar); + (*k).second->customSetup(); + } + Search = NULL; - UndoButton->setEnabled(false); - RedoButton->setEnabled(false); - CutButton->setEnabled(false); - CopyButton->setEnabled(false); - PasteButton->setEnabled(false); - SearchButton->setEnabled(false); + QString welcome; - ConnectionToolbar = toAllocBar(this, tr("Connections")); - new QToolButton(QPixmap(const_cast<const char**>(connect_xpm)), - tr("Connect to database"), - tr("Connect to database"), - this, SLOT(addConnection()), ConnectionToolbar); - DisconnectButton = new QToolButton(QPixmap(const_cast<const char**>(disconnect_xpm)), - tr("Disconnect current connection"), - tr("Disconnect current connection"), - this, SLOT(delConnection()), ConnectionToolbar); - DisconnectButton->setEnabled(false); + connect(&Poll, SIGNAL(timeout()), this, SLOT(checkCaching())); + connect(toMainWidget()->workspace(), + SIGNAL(windowActivated(QWidget *)), + this, + SLOT(windowActivated(QWidget *))); - ConnectionToolbar->addSeparator(); - NeedConnection[new QToolButton(QPixmap(const_cast<const char**>(commit_xpm)), - tr("Commit connection"), - tr("Commit connection"), - this, SLOT(commitButton()), ConnectionToolbar)] = true; - NeedConnection[new QToolButton(QPixmap(const_cast<const char**>(rollback_xpm)), - tr("Rollback connection"), - tr("Rollback connection"), - this, SLOT(rollbackButton()), ConnectionToolbar)] = true; - ConnectionToolbar->addSeparator(); - NeedConnection[new QToolButton(QPixmap(const_cast<const char**>(stop_xpm)), - tr("Stop all running queries on connection"), - tr("Stop all running queries on connection"), - this, SLOT(stopButton()), ConnectionToolbar)] = true; + if (!toConfigurationSingle::Instance().globalConfig( + CONF_RESTORE_SESSION, "").isEmpty()) { + try { + std::map<Q3CString, QString> session; + toConfigurationSingle::Instance().loadMap( + toConfigurationSingle::Instance().globalConfig( + CONF_DEFAULT_SESSION, DEFAULT_SESSION), session); + importData(session, "TOra"); + } + TOCATCH; + } - ConnectionToolbar->addSeparator(); - ConnectionSelection = new QComboBox(ConnectionToolbar, TO_TOOLBAR_WIDGET_NAME); - ConnectionSelection->setMinimumWidth(300); - ConnectionSelection->setFocusPolicy(Qt::NoFocus); - connect(ConnectionSelection, SIGNAL(activated(int)), this, SLOT(changeConnection())); + if (!toConfigurationSingle::Instance().globalConfig( + CONF_MAXIMIZE_MAIN, "Yes").isEmpty() && Connections.empty()) + showMaximized(); + else + show(); - ToolsMenu = new Q3PopupMenu(this); + if(Connections.empty()) { + try { + toNewConnection newConnection(this, tr("First connection"), true); + toConnection *conn; - HelpMenu = new Q3PopupMenu(this); + do { + conn = NULL; + if(newConnection.exec()) + conn = newConnection.makeConnection(); + else + break; + } + while(!conn); - HelpMenu->insertItem(tr("C&urrent Context..."), TO_HELP_CONTEXT); - HelpMenu->insertItem(tr("&Contents..."), TO_HELP_CONTENTS); - HelpMenu->insertSeparator(); - HelpMenu->insertItem(tr("&About " TOAPPNAME "..."), TO_HELP_ABOUT); - HelpMenu->insertItem(tr("&License..."), TO_HELP_LICENSE); + if(conn) + addConnection(conn); + } + TOCATCH; + } - HelpMenu->setAccel(toKeySequence(tr("F1", "Help|Help")), TO_HELP_CONTEXT); + statusBar()->addWidget(BackgroundLabel, 0, true); + BackgroundLabel->show(); + QToolTip::add(BackgroundLabel, tr("No background queries.")); +} - int toolID = TO_TOOLS; - SQLEditor = -1; - DefaultTool = toolID; - Q3CString defName = toConfigurationSingle::Instance().globalConfig(CONF_DEFAULT_TOOL, "").latin1(); - Q3PopupMenu *toolAbout = NULL; +void toMain::createActions() { + newConnAct = new QAction(QPixmap(const_cast<const char**>(connect_xpm)), + tr("&New Connection..."), + this); + newConnAct->setShortcut(Qt::CTRL + Qt::Key_G); + newConnAct->setToolTip(tr("Create a new connection")); + connect(newConnAct, SIGNAL(triggered()), this, SLOT(addConnection())); - for (std::map<Q3CString, toTool *>::iterator i = tools.begin();i != tools.end();i++) - { - const QPixmap *pixmap = (*i).second->toolbarImage(); - const char *menuName = (*i).second->menuItem(); + closeConn = new QAction(QPixmap(const_cast<const char**>(disconnect_xpm)), + tr("&Close Connection"), + this); + closeConn->setToolTip(tr("Disconnect")); + connect(closeConn, SIGNAL(triggered()), this, SLOT(delConnection())); - Q3CString tmp = (*i).first; - tmp += CONF_TOOL_ENABLE; - if (toConfigurationSingle::Instance().globalConfig(tmp, "Yes").isEmpty()) - continue; + commitAct = new QAction(QPixmap(const_cast<const char**>(commit_xpm)), + tr("&Commit Connection"), + this); + commitAct->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_C); + commitAct->setToolTip(tr("Commit transaction")); - if (defName == (*i).first) - DefaultTool = toolID; + rollbackAct = new QAction(QPixmap(const_cast<const char**>(rollback_xpm)), + tr("&Rollback Connection"), + this); + rollbackAct->setShortcut(Qt::CTRL + Qt::Key_Less); + rollbackAct->setToolTip(tr("Rollback transaction")); - if ((*i).second->hasAbout() && menuName) - { - if (!toolAbout) - { - toolAbout = new Q3PopupMenu(this); - HelpMenu->insertItem(tr("Tools"), toolAbout); - } - if (pixmap) - toolAbout->insertItem(*pixmap, qApp->translate("toTool", menuName), toolID + TO_ABOUT_ID_OFFSET, 0); - else - toolAbout->insertItem(qApp->translate("toTool", menuName), toolID + TO_ABOUT_ID_OFFSET, 0); - } + currentAct = new QAction(tr("&Current Connection"), + this); + currentAct->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_U); - Tools[toolID] = (*i).second; + stopAct = new QAction(QPixmap(const_cast<const char**>(stop_xpm)), + tr("Stop All Queries"), + this); + stopAct->setShortcut(Qt::CTRL + Qt::Key_J); - toolID++; - } + refreshAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Reread Object Cache"), + this); - if (!toConfigurationSingle::Instance().globalConfig(CONF_TOOLS_LEFT, "").isEmpty()) - moveToolBar(ToolsToolbar, Qt::Left); + openAct = new QAction(QPixmap(const_cast<const char**>(fileopen_xpm)), + tr("&Open File..."), + this); + openAct->setShortcut(QKeySequence::Open); - menuBar()->insertItem(tr("&Tools"), ToolsMenu, TO_TOOLS_MENU); - connect(ToolsMenu, SIGNAL(activated(int)), this, SLOT(commandCallback(int))); + saveAct = new QAction(QPixmap(const_cast<const char**>(filesave_xpm)), + tr("&Save File..."), + this); + saveAct->setShortcut(QKeySequence::Save); - WindowsMenu = new Q3PopupMenu(this); + saveAsAct = new QAction(tr("Save A&s..."), this); + saveAsAct->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_W); - WindowsMenu->setCheckable(true); - WindowsMenu->insertItem(tr("C&lose"), TO_WINDOWS_CLOSE); - WindowsMenu->insertItem(tr("Close &All"), TO_WINDOWS_CLOSE_ALL); - WindowsMenu->insertSeparator(); - WindowsMenu->insertItem(tr("&Cascade"), TO_WINDOWS_CASCADE); - WindowsMenu->insertItem(tr("&Tile"), TO_WINDOWS_TILE); - WindowsMenu->insertSeparator(); + openSessionAct = new QAction(QPixmap(const_cast<const char**>(fileopen_xpm)), + tr("Open Session..."), + this); - connect(WindowsMenu, SIGNAL(aboutToShow()), this, SLOT( windowsMenu())); - menuBar()->insertItem(tr("&Window"), WindowsMenu, TO_WINDOWS_MENU); - connect(WindowsMenu, SIGNAL(activated(int)), this, SLOT(commandCallback(int))); + saveSessionAct = new QAction(QPixmap(const_cast<const char**>(filesave_xpm)), + tr("Save Session..."), + this); - menuBar()->insertSeparator(); + restoreSessionAct = new QAction(tr("Restore Last Session"), this); - menuBar()->insertItem(tr("&Help"), HelpMenu, TO_HELP_MENU); - connect(HelpMenu, SIGNAL(activated(int)), this, SLOT(commandCallback(int))); + closeSessionAct = new QAction(tr("Close Session"), this); - char buffer[100]; - sprintf(buffer, DEFAULT_TITLE, TOVERSION); - setCaption(tr(buffer)); + printAct = new QAction(QPixmap(const_cast<const char**>(print_xpm)), + tr("&Print..."), + this); + saveAsAct->setShortcut(QKeySequence::Print); - Workspace = new QWorkspace(this); - setCentralWidget(Workspace); + quitAct = new QAction(tr("&Quit"), this); - setIcon(QPixmap(const_cast<const char**>(tora_xpm))); + // ---------------------------------------- edit menu + undoAct = new QAction(QPixmap(const_cast<const char**>(undo_xpm)), + tr("&Undo"), + this); + undoAct->setShortcut(QKeySequence::Undo); + + redoAct = new QAction(QPixmap(const_cast<const char**>(redo_xpm)), + tr("&Redo"), + this); + redoAct->setShortcut(QKeySequence::Redo); + + cutAct = new QAction(QPixmap(const_cast<const char**>(cut_xpm)), + tr("Cu&t"), + this); + cutAct->setShortcut(QKeySequence::Cut); + cutAct->setToolTip(tr("Cut to clipboard")); + + copyAct = new QAction(QPixmap(const_cast<const char**>(copy_xpm)), + tr("&Copy"), + this); + copyAct->setShortcut(QKeySequence::Copy); + copyAct->setToolTip(tr("Copy to clipboard")); + + pasteAct = new QAction(QPixmap(const_cast<const char**>(paste_xpm)), + tr("&Paste"), + this); + pasteAct->setShortcut(QKeySequence::Paste); + pasteAct->setToolTip(tr("Paste from clipboard")); + + searchReplaceAct = new QAction(QPixmap(const_cast<const char**>(search_xpm)), + tr("&Search && Replace..."), + this); + searchReplaceAct->setShortcut(QKeySequence::Find); + searchReplaceAct->setToolTip(tr("Search & replace")); + + searchNextAct = new QAction(tr("Search &Next"), this); + searchNextAct->setShortcut(QKeySequence::FindNext); + + selectAllAct = new QAction(tr("Select &All"), this); + selectAllAct->setShortcut(QKeySequence::SelectAll); + + readAllAct = new QAction(tr("Read All &Items"), this); + + prefsAct = new QAction(tr("&Preferences..."), this); + + // ---------------------------------------- help menu + + helpCurrentAct = new QAction(tr("C&urrent Context..."), this); + helpCurrentAct->setShortcut(QKeySequence::HelpContents); + + helpContentsAct = new QAction(tr("&Contents..."), this); + + aboutAct = new QAction(tr("&About " TOAPPNAME "..."), this); + + licenseAct = new QAction(tr("&License..."), this); + + // ---------------------------------------- windows menu + + windowCloseAct = new QAction(tr("C&lose"), this); + + windowCloseAllAct = new QAction(tr("Close &All"), this); + + cascadeAct = new QAction(tr("&Cascade"), this); + + tileAct = new QAction(tr("&Tile"), this); +} + + +void toMain::createMenus() { + fileMenu = menuBar()->addMenu(tr("&File")); + fileMenu->addAction(newConnAct); + fileMenu->addAction(closeConn); + fileMenu->addSeparator(); + + fileMenu->addAction(commitAct); + fileMenu->addAction(rollbackAct); + fileMenu->addAction(currentAct); + fileMenu->addAction(stopAct); + fileMenu->addAction(refreshAct); + fileMenu->addSeparator(); + + fileMenu->addAction(openAct); + // add recentMenu after, setup later + recentMenu = fileMenu->addMenu(tr("R&ecent Files")); + fileMenu->addMenu(recentMenu); + + fileMenu->addAction(saveAct); + fileMenu->addAction(saveAsAct); + fileMenu->addSeparator(); + + fileMenu->addAction(openSessionAct); + fileMenu->addAction(saveSessionAct); + fileMenu->addAction(restoreSessionAct); + fileMenu->addAction(closeSessionAct); + fileMenu->addSeparator(); + + fileMenu->addAction(printAct); + fileMenu->addSeparator(); + + fileMenu->addAction(quitAct); + + connect(fileMenu, SIGNAL(aboutToShow()), this, SLOT(showFileMenu())); + connect(fileMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(commandCallback(QAction *))); + + connect(recentMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(recentCallback(QAction *))); + + editMenu = menuBar()->addMenu(tr("&Edit")); + editMenu->addAction(undoAct); + editMenu->addAction(redoAct); + editMenu->addSeparator(); + + editMenu->addAction(cutAct); + editMenu->addAction(copyAct); + editMenu->addAction(pasteAct); + editMenu->addSeparator(); + + editMenu->addAction(searchReplaceAct); + editMenu->addAction(searchNextAct); + editMenu->addAction(selectAllAct); + editMenu->addAction(readAllAct); + editMenu->addSeparator(); + + editMenu->addAction(prefsAct); + connect(editMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(commandCallback(QAction *))); + + toolsMenu = menuBar()->addMenu(tr("&Tools")); + connect(toolsMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(commandCallback(QAction *))); + + // windows menu handled separately by update function + windowsMenu = menuBar()->addMenu(tr("&Window")); + windowsMenu->setCheckable(true); + updateWindowsMenu(); + connect(windowsMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(windowCallback(QAction *))); + + connect(windowsMenu, SIGNAL(aboutToShow()), this, SLOT(updateWindowsMenu())); + connect(windowsMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(commandCallback(QAction *))); + + helpMenu = menuBar()->addMenu(tr("&Help")); + + helpMenu->addAction(helpCurrentAct); + helpMenu->addAction(helpContentsAct); + windowsMenu->addSeparator(); + helpMenu->addAction(aboutAct); + helpMenu->addAction(licenseAct); + + connect(helpMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(commandCallback(QAction *))); +} + + +void toMain::addCustomMenu(QMenu *menu) { + this->menuBar()->insertMenu(windowsMenu->menuAction(), menu); +} + + +void toMain::createToolbars() { + toolsToolbar = toAllocBar(this, tr("Tools")); + + editToolbar = toAllocBar(this, tr("Application")); + + editToolbar->addAction(openAct); + editToolbar->addAction(saveAct); + editToolbar->addAction(printAct); + editToolbar->addSeparator(); + + editToolbar->addAction(undoAct); + editToolbar->addAction(redoAct); + editToolbar->addAction(cutAct); + editToolbar->addAction(copyAct); + editToolbar->addAction(pasteAct); + editToolbar->addSeparator(); + + editToolbar->addAction(searchReplaceAct); + editToolbar->addSeparator(); + + connectionToolbar = toAllocBar(this, tr("Connections")); + + connectionToolbar->addAction(newConnAct); + connectionToolbar->addAction(closeConn); + connectionToolbar->addAction(commitAct); + connectionToolbar->addAction(rollbackAct); + connectionToolbar->addSeparator(); + + connectionToolbar->addAction(stopAct); + connectionToolbar->addSeparator(); + + ConnectionSelection = new QComboBox(connectionToolbar, + TO_TOOLBAR_WIDGET_NAME); + ConnectionSelection->setMinimumWidth(300); + ConnectionSelection->setFocusPolicy(Qt::NoFocus); + connect(Connecti... [truncated message content] |
From: <mrj...@us...> - 2007-12-06 07:01:23
|
Revision: 2293 http://tora.svn.sourceforge.net/tora/?rev=2293&view=rev Author: mrjohnson0 Date: 2007-12-05 23:01:27 -0800 (Wed, 05 Dec 2007) Log Message: ----------- update toolbar code Modified Paths: -------------- branches/tora-1.4/tora/src/toresultcontent.cpp branches/tora-1.4/tora/src/toresultcontent.h Modified: branches/tora-1.4/tora/src/toresultcontent.cpp =================================================================== --- branches/tora-1.4/tora/src/toresultcontent.cpp 2007-12-06 06:59:27 UTC (rev 2292) +++ branches/tora-1.4/tora/src/toresultcontent.cpp 2007-12-06 07:01:27 UTC (rev 2293) @@ -1,39 +1,39 @@ /***** -* -* TOra - An Oracle Toolkit for DBA's and developers -* Copyright (C) 2003-2005 Quest Software, Inc -* Portions Copyright (C) 2005 Other Contributors -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; only version 2 of -* the License is valid for this program. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -* -* As a special exception, you have permission to link this program -* with the Oracle Client libraries and distribute executables, as long -* as you follow the requirements of the GNU GPL in regard to all of the -* software in the executable aside from Oracle client libraries. -* -* Specifically you are not permitted to link this program with the -* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. -* And you are not permitted to distribute binaries compiled against -* these libraries without written consent from Quest Software, Inc. -* Observe that this does not disallow linking to the Qt Free Edition. -* -* You may link this product with any GPL'd Qt library such as Qt/Free -* -* All trademarks belong to their respective owners. -* -*****/ + * + * TOra - An Oracle Toolkit for DBA's and developers + * Copyright (C) 2003-2005 Quest Software, Inc + * Portions Copyright (C) 2005 Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries without written consent from Quest Software, Inc. + * Observe that this does not disallow linking to the Qt Free Edition. + * + * You may link this product with any GPL'd Qt library such as Qt/Free + * + * All trademarks belong to their respective owners. + * + *****/ #include "utils.h" @@ -92,38 +92,32 @@ std::map<Q3CString, QString> toResultContentEditor::Criteria; std::map<Q3CString, QString> toResultContentEditor::Order; -toResultContentEditor *toResultContentMemo::contentEditor() -{ +toResultContentEditor *toResultContentMemo::contentEditor() { return dynamic_cast<toResultContentEditor *>(parent()); } toResultContentMemo::toResultContentMemo(QWidget *parent, const QString &data, int row, int col, - bool sql) - : toMemoEditor(parent, data, row, col, sql, false, true) -{ + bool sql) + : toMemoEditor(parent, data, row, col, sql, false, true) { toResultContentEditor *cnt = contentEditor(); if (cnt) label()->setText("<B>" + cnt->horizontalHeader()->label(col) + "</B>"); connect(parent, SIGNAL(currentChanged(int, int)), this, SLOT(changePosition(int, int))); } -void toResultContentMemo::changePosition(int row, int cols) -{ +void toResultContentMemo::changePosition(int row, int cols) { toMemoEditor::changePosition(row, cols); toResultContentEditor *cnt = contentEditor(); - if (cnt) - { + if (cnt) { cnt->setCurrentCell(row, cols); // Nasty workaround but it'll work I think. setText(cnt->text(row, cols)); label()->setText("<B>" + cnt->horizontalHeader()->label(cols) + "</B>"); } } -void toResultContentMemo::firstColumn() -{ +void toResultContentMemo::firstColumn() { toResultContentEditor *cnt = contentEditor(); - if (cnt) - { + if (cnt) { int col = cnt->currentColumn(); if (col == 0) cnt->setCurrentCell(std::max(cnt->currentRow() - 1, 0), 0); @@ -132,11 +126,9 @@ } } -void toResultContentMemo::lastColumn() -{ +void toResultContentMemo::lastColumn() { toResultContentEditor *cnt = contentEditor(); - if (cnt) - { + if (cnt) { int col = cnt->currentColumn(); int maxCol = cnt->numCols() - 1; if (col == maxCol) @@ -146,11 +138,9 @@ } } -void toResultContentMemo::previousColumn() -{ +void toResultContentMemo::previousColumn() { toResultContentEditor *cnt = contentEditor(); - if (cnt) - { + if (cnt) { int col = cnt->currentColumn(); if (col == 0) cnt->setCurrentCell(std::max(cnt->currentRow() - 1, 0), cnt->numCols() - 1); @@ -159,11 +149,9 @@ } } -void toResultContentMemo::nextColumn() -{ +void toResultContentMemo::nextColumn() { toResultContentEditor *cnt = contentEditor(); - if (cnt) - { + if (cnt) { int col = cnt->currentColumn(); int maxCol = cnt->numCols() - 1; if (col == maxCol) @@ -173,23 +161,19 @@ } } -toConnection &toResultContentEditor::connection() -{ +toConnection &toResultContentEditor::connection() { return toCurrentConnection(this); } toResultContentEditor::contentItem::contentItem(Q3Table *table, const QString &text) - : Q3TableItem(table, OnTyping, text) -{} + : Q3TableItem(table, OnTyping, text) {} -QString toResultContentEditor::contentItem::key(void) const -{ +QString toResultContentEditor::contentItem::key(void) const { static QRegExp number(QString::fromLatin1("^-?\\d*\\.?\\d+E?-?\\d*.?.?$")); QString txt = text(); // qt4 if (number.match(txt) >= 0) - if (number.indexIn(txt) >= 0) - { + if (number.indexIn(txt) >= 0) { QString ret; double val = txt.toFloat(); if (val < 0) @@ -201,8 +185,7 @@ return txt; } -void toResultContentEditor::setText(int row, int col, const QString &text) -{ +void toResultContentEditor::setText(int row, int col, const QString &text) { Q3TableItem *itm = item(row, col); if (itm) itm->setText(text); @@ -210,41 +193,35 @@ setItem(row, col, new contentItem(this, text)); } -void toResultContentEditor::setCurrentCellFocus(int row, int col) -{ +void toResultContentEditor::setCurrentCellFocus(int row, int col) { Q3Table::setCurrentCell(row, col); viewport()->setFocus(); } -void toResultContentEditor::contentsMouseMoveEvent (QMouseEvent *e) -{ +void toResultContentEditor::contentsMouseMoveEvent(QMouseEvent *e) { if (e->state() == Qt::LeftButton && - e->stateAfter() == Qt::LeftButton && - LastMove.x() > 0 && - LastMove != e->pos()) - { + e->stateAfter() == Qt::LeftButton && + LastMove.x() > 0 && + LastMove != e->pos()) { QPoint p = e->pos(); int col = columnAt(p.x()); int row = rowAt(p.y()); QString str = text(row, col); - if (str.length()) - { + if (str.length()) { Q3DragObject *d = new Q3TextDrag(str, this); d->dragCopy(); } } - else - { + else { LastMove = e->pos(); Q3Table::contentsMouseMoveEvent(e); } } -void toResultContentEditor::contentsMousePressEvent(QMouseEvent *e) -{ - LastMove = QPoint( -1, -1); +void toResultContentEditor::contentsMousePressEvent(QMouseEvent *e) { + LastMove = QPoint(-1, -1); if (e->button() == Qt::RightButton) displayMenu(e->globalPos()); else @@ -252,19 +229,16 @@ viewport()->setFocus(); } -void toResultContentEditor::contentsMouseReleaseEvent(QMouseEvent *e) -{ - LastMove = QPoint( -1, -1); +void toResultContentEditor::contentsMouseReleaseEvent(QMouseEvent *e) { + LastMove = QPoint(-1, -1); Q3Table::contentsMouseReleaseEvent(e); } -void toResultContentEditor::dragEnterEvent(QDragEnterEvent *e) -{ +void toResultContentEditor::dragEnterEvent(QDragEnterEvent *e) { e->accept(Q3TextDrag::canDecode(e)); } -void toResultContentEditor::dropEvent(QDropEvent *e) -{ +void toResultContentEditor::dropEvent(QDropEvent *e) { QPoint p(e->pos().x() + contentsX() - verticalHeader()->width(), e->pos().y() + contentsY() - horizontalHeader()->height()); int col = columnAt(p.x()); @@ -274,8 +248,7 @@ saveRow(row); QString text; - if ( Q3TextDrag::decode(e, text)) - { + if (Q3TextDrag::decode(e, text)) { setText(row, col, text); setCurrentCell(row, col); } @@ -293,12 +266,11 @@ #define TORESULT_SELECT_ALL 10 toResultContentEditor::toResultContentEditor(QWidget *parent, const char *name) - : Q3Table(parent, name), - toEditWidget(false, true, true, - false, false, - false, false, false, - true, true, true) -{ + : Q3Table(parent, name), + toEditWidget(false, true, true, + false, false, + false, false, false, + true, true, true) { CurrentEditor = NULL; BinaryColumns = 0; SearchStart = SearchEnd = 0; @@ -314,7 +286,7 @@ connect(horizontalHeader(), SIGNAL(clicked(int)), this, SLOT(changeSort(int))); SortRow = -1; setAcceptDrops(true); - LastMove = QPoint( -1, -1); + LastMove = QPoint(-1, -1); MenuColumn = MenuRow = -1; Menu = new Q3PopupMenu(this); @@ -345,8 +317,7 @@ connect(Menu, SIGNAL(activated(int)), this, SLOT(menuCallback(int))); QString str = toConfigurationSingle::Instance().globalConfig(CONF_LIST, ""); - if (!str.isEmpty()) - { + if (!str.isEmpty()) { QFont font(toStringToFont(str)); setFont(font); } @@ -356,22 +327,18 @@ connect(&Poll, SIGNAL(timeout()), this, SLOT(poll())); } -toResultContentEditor::~toResultContentEditor() -{ +toResultContentEditor::~toResultContentEditor() { saveUnsaved(); delete Query; delete [] BinaryColumns; } -void toResultContentEditor::wrongUsage(void) -{ +void toResultContentEditor::wrongUsage(void) { toStatusMessage(tr("Can't use these on toResultContent")); } -void toResultContentEditor::changeSort(int col) -{ - if (col != SortRow) - { +void toResultContentEditor::changeSort(int col) { + if (col != SortRow) { SortRow = col; SortRowAsc = true; } @@ -380,8 +347,7 @@ sortColumn(SortRow, SortRowAsc, true); } -void toResultContentEditor::query(const QString &, const toQList ¶ms) -{ +void toResultContentEditor::query(const QString &, const toQList ¶ms) { if (params.size() != 2) wrongUsage(); toQList::const_iterator par = params.begin(); @@ -393,8 +359,7 @@ Table = Param2; if (AllFilter) FilterName = (""); - else - { + else { FilterName = Owner; FilterName += ("."); FilterName += Table; @@ -409,13 +374,11 @@ Query = NULL; GotoEnd = false; - try - { + try { SQL = ("SELECT * FROM "); SQL += table(); bool where = false; - if (!Criteria[FilterName.utf8()].isEmpty()) - { + if (!Criteria[FilterName.utf8()].isEmpty()) { SQL += (" WHERE "); SQL += Criteria[FilterName.utf8()]; SQL += (" "); @@ -426,8 +389,7 @@ toQList par; QString order; - if (!Order[FilterName.utf8()].isEmpty()) - { + if (!Order[FilterName.utf8()].isEmpty()) { order = (" ORDER BY "); order += Order[FilterName.utf8()]; } @@ -435,14 +397,12 @@ QString init = SQL; SkipNumber = toConfigurationSingle::Instance().globalConfig(CONF_MAX_CONTENT, DEFAULT_MAX_CONTENT).toInt(); - if (SkipNumber > 0) - { + if (SkipNumber > 0) { if (connection().provider() == "Oracle") init = "SELECT * FROM (" + SQL + order + ") WHERE ROWNUM <= " + QString::number(SkipNumber); else if (connection().provider() == "MySQL") init = SQL + order + " LIMIT " + QString::number(SkipNumber); - else if (connection().provider() == "SapDB") - { + else if (connection().provider() == "SapDB") { init = SQL; if (where) init += " AND "; @@ -458,21 +418,17 @@ CurrentRow = -1; } TOCATCH -} + } #define STOP_RESIZE_ROW 200 -void toResultContentEditor::poll(void) -{ - try - { +void toResultContentEditor::poll(void) { + try { if (!toCheckModal(this)) return ; - if (Query && Query->poll()) - { + if (Query && Query->poll()) { bool first = false; - if (numRows() == 0) - { + if (numRows() == 0) { Description = Query->describe(); delete [] BinaryColumns; @@ -484,8 +440,7 @@ Q3Header *head = horizontalHeader(); int col = 0; - for (toQDescList::iterator i = Description.begin();i != Description.end();i++) - { + for (toQDescList::iterator i = Description.begin();i != Description.end();i++) { head->setLabel(col, (*i).Name); col++; } @@ -496,16 +451,13 @@ std::list<QString> data; int dataSize = 0; - for (int j = Row;(j < MaxNumber || MaxNumber < 0) && Query->poll() && !Query->eof();j++) - { + for (int j = Row;(j < MaxNumber || MaxNumber < 0) && Query->poll() && !Query->eof();j++) { for (int k = 0;k < numCols();k++) - if (SkipNumber <= 0 || j < SkipNumber) - { + if (SkipNumber <= 0 || j < SkipNumber) { toQValue val = Query->readValueNull(); if (val.isDouble()) data.insert(data.end(), QString::number(val.toDouble())); - else - { + else { if (val.isBinary()) BinaryColumns[k] = true; data.insert(data.end(), val); @@ -519,29 +471,24 @@ } int rows = Row + dataSize / numCols() + 1; - if (numRows() != rows) - { + if (numRows() != rows) { setUpdatesEnabled(false); setNumRows(rows); int origRow = Row; - while (dataSize > 0) - { + while (dataSize > 0) { verticalHeader()->setLabel(Row, QString::number(Row + 1)); - for (int j = 0;j < numCols();j++) - { + for (int j = 0;j < numCols();j++) { setText(Row, j, toShift(data)); dataSize--; } Row++; } if (numRows() < STOP_RESIZE_ROW) - for (int j = 0;j < numCols();j++) - { + for (int j = 0;j < numCols();j++) { int width = columnWidth(j); - for (int k = origRow;k < Row;k++) - { + for (int k = origRow;k < Row;k++) { QRect bounds = fontMetrics().boundingRect(text(k, j)); int cw = std::min(bounds.width(), MaxColDisp); if (cw > width) @@ -552,24 +499,20 @@ } setUpdatesEnabled(true); } - if (first && SingleEdit) - { + if (first && SingleEdit) { SingleEdit->changeSource(this); saveRow(currentRow()); } - if (Query->eof()) - { + if (Query->eof()) { delete Query; Query = NULL; - if (SkipNumber > 0 && Row == SkipNumber) - { + if (SkipNumber > 0 && Row == SkipNumber) { toQList par; Query = new toNoBlockQuery(connection(), toQuery::Background, SQL, par); } - else - { + else { Poll.stop(); if (GotoEnd) setCurrentCellFocus(Row - 1, currentColumn()); @@ -579,8 +522,7 @@ Poll.stop(); } } - catch (const QString &str) - { + catch (const QString &str) { delete Query; Query = NULL; Poll.stop(); @@ -590,14 +532,11 @@ } } -bool toResultContentEditor::eventFilter(QObject *o, QEvent *e) -{ - if (e && o && e->type() == QEvent::KeyPress) - { +bool toResultContentEditor::eventFilter(QObject *o, QEvent *e) { + if (e && o && e->type() == QEvent::KeyPress) { QKeyEvent *ke = (QKeyEvent*)e; if ((ke->key() == Qt::Key_Tab && ke->state() == 0) || - (ke->key() == Qt::Key_Backtab && ke->state() == Qt::ShiftButton)) - { + (ke->key() == Qt::Key_Backtab && ke->state() == Qt::ShiftButton)) { keyPressEvent(ke); return true; } @@ -605,15 +544,11 @@ return Q3Table::eventFilter(o, e); } -void toResultContentEditor::keyPressEvent(QKeyEvent *e) -{ - if (e->key() == Qt::Key_PageDown) - { - if (Query && !Query->eof()) - { +void toResultContentEditor::keyPressEvent(QKeyEvent *e) { + if (e->key() == Qt::Key_PageDown) { + if (Query && !Query->eof()) { Poll.start(100); - if (MaxNumber >= 0) - { + if (MaxNumber >= 0) { int height = verticalHeader()->sectionSize(0); MaxNumber += std::max(height + 1, 20); } @@ -621,23 +556,19 @@ MaxNumber += 20; } } - else if (e->key() == Qt::Key_Return) - { - if (e->state() == 0) - { + else if (e->key() == Qt::Key_Return) { + if (e->state() == 0) { gotoNextRecord(); e->accept(); return ; } - else if (e->state() == Qt::ShiftButton) - { + else if (e->state() == Qt::ShiftButton) { gotoPreviousRecord(); e->accept(); return ; } } - else if (e->key() == Qt::Key_Tab && e->state() == 0) - { + else if (e->key() == Qt::Key_Tab && e->state() == 0) { if (currentColumn() < numCols() - 1) setCurrentCellFocus(currentRow(), currentColumn() + 1); else if (currentRow() < numRows() - 1) @@ -645,8 +576,7 @@ e->accept(); return ; } - else if (e->key() == Qt::Key_Backtab && e->state() == Qt::ShiftButton) - { + else if (e->key() == Qt::Key_Backtab && e->state() == Qt::ShiftButton) { if (currentColumn() > 0) setCurrentCellFocus(currentRow(), currentColumn() - 1); else if (currentRow() > 0) @@ -657,12 +587,9 @@ Q3Table::keyPressEvent(e); } -void toResultContentEditor::paintCell(QPainter *p, int row, int col, const QRect &cr, bool selected) -{ - if (row + 1 >= MaxNumber) - { - if (Query && !Query->eof()) - { +void toResultContentEditor::paintCell(QPainter *p, int row, int col, const QRect &cr, bool selected) { + if (row + 1 >= MaxNumber) { + if (Query && !Query->eof()) { Poll.start(100); if (MaxNumber >= 0) MaxNumber += 5; @@ -671,8 +598,7 @@ QString txt = text(row, col); int nl = txt.find(("\n")); - if (nl >= 0) - { + if (nl >= 0) { txt = txt.mid(0, nl); txt += ("..."); } @@ -687,22 +613,20 @@ p->setBrush(selected ? colorGroup().highlight() : colorGroup().base()); p->setPen(colorGroup().foreground()); - p->drawRect( -1, -1, cr.width() + 1, cr.height() + 1); + p->drawRect(-1, -1, cr.width() + 1, cr.height() + 1); if (selected) p->setPen(colorGroup().highlightedText()); p->drawText(1, 1, cr.width() - 3, cr.height() - 3, align, txt); } -QWidget *toResultContentEditor::beginEdit(int row, int col, bool replace) -{ +QWidget *toResultContentEditor::beginEdit(int row, int col, bool replace) { SearchStart = SearchEnd = 0; if (CurrentRow != row) toStatusMessage(tr("Unsaved data in contents, select other row to store"), true); saveRow(row); QString txt = text(row, col); - if (txt.contains(("\n"))) - { + if (txt.contains(("\n"))) { toMemoEditor *edit = new toResultContentMemo(this, txt, row, col); connect(edit, SIGNAL(changeData(int, int, const QString &)), this, SLOT(changeData(int, int, const QString &))); @@ -714,57 +638,46 @@ return ret; } -void toResultContentEditor::endEdit(int row, int col, bool accept, bool replace) -{ +void toResultContentEditor::endEdit(int row, int col, bool accept, bool replace) { CurrentEditor = NULL; Q3Table::endEdit(row, col, accept, replace); } -void toResultContentEditor::gotoLastRecord() -{ +void toResultContentEditor::gotoLastRecord() { editReadAll(); - if (!Query || Query->eof()) - { + if (!Query || Query->eof()) { setNumRows(Row + 1); setCurrentCellFocus(Row - 1, currentColumn()); } - else - { + else { toStatusMessage(tr("Reading all values, moving cursor to end when done"), false, false); GotoEnd = true; } } -void toResultContentEditor::gotoFirstRecord() -{ +void toResultContentEditor::gotoFirstRecord() { setCurrentCellFocus(0, currentColumn()); } -void toResultContentEditor::gotoPreviousRecord() -{ +void toResultContentEditor::gotoPreviousRecord() { setCurrentCellFocus(std::max(0, currentRow() - 1), currentColumn()); } -void toResultContentEditor::gotoNextRecord() -{ +void toResultContentEditor::gotoNextRecord() { setCurrentCellFocus(std::min(numRows() - 1, currentRow() + 1), currentColumn()); } -void toResultContentEditor::addRecord() -{ - if (CurrentRow > 0 || NewRecordRow > 0) - { +void toResultContentEditor::addRecord() { + if (CurrentRow > 0 || NewRecordRow > 0) { return ; } saveUnsaved(); - if (currentRow() > numRows() - 2) - { + if (currentRow() > numRows() - 2) { setCurrentCellFocus(numRows() - 1, 0); } - else - { + else { setNumRows(numRows() + 1); int crow = currentRow(); if (crow < 0 || crow > numRows() - 2) @@ -781,10 +694,8 @@ } } -void toResultContentEditor::duplicateRecord() -{ - if (CurrentRow > 0 || NewRecordRow > 0) - { +void toResultContentEditor::duplicateRecord() { + if (CurrentRow > 0 || NewRecordRow > 0) { return ; } @@ -797,11 +708,9 @@ setText(currentRow(), i, text(fromrow, i)); } -void toResultContentEditor::cancelEdit() -{ +void toResultContentEditor::cancelEdit() { - if (CurrentRow < 0 && NewRecordRow < 0) - { + if (CurrentRow < 0 && NewRecordRow < 0) { setCurrentCellFocus(currentRow(), currentColumn()); return ; } @@ -809,15 +718,13 @@ int crow = CurrentRow; endEdit(currentRow(), currentColumn(), false, false); - if (NewRecordRow > -1) - { + if (NewRecordRow > -1) { crow = NewRecordRow; NewRecordRow = -1; for (int row = crow + 1;row < numRows();row++) swapRows(row - 1, row); } - else - { + else { int col = 0; for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) setText(CurrentRow, col, *j); @@ -833,18 +740,14 @@ toStatusMessage(tr("Edit cancelled"), false, false); } -void toResultContentEditor::deleteCurrent() -{ - if (currentRow() == NewRecordRow) - { +void toResultContentEditor::deleteCurrent() { + if (currentRow() == NewRecordRow) { cancelEdit(); return ; } saveUnsaved(); - if (currentRow() < Row) - { - try - { + if (currentRow() < Row) { + try { QString sql = ("DELETE FROM "); sql += table(); sql += (" WHERE "); @@ -856,11 +759,9 @@ bool oracle = (connection().provider() == "Oracle"); { - for (int i = 0;i < numCols();i++) - { + for (int i = 0;i < numCols();i++) { if (!oracle || (!(*di).Datatype.upper().startsWith(("LONG")) && - !(*di).Datatype.upper().contains(("LOB")))) - { + !(*di).Datatype.upper().contains(("LOB")))) { if (where) sql += (" AND "); else @@ -868,12 +769,10 @@ sql += conn.quote(head->label(i)); if (text(currentRow(), i).isNull()) sql += (" IS NULL"); - else - { + else { sql += ("= :c"); sql += QString::number(i); - if (BinaryColumns[i]) - { + if (BinaryColumns[i]) { sql += ("<raw_long>"); } else @@ -883,19 +782,16 @@ di++; } } - if (!where) - { + if (!where) { toStatusMessage(tr("This table contains only LOB/LONG columns and can not be edited")); return ; } toQList args; di = Description.begin(); - for (int i = 0;i < numCols();i++) - { + for (int i = 0;i < numCols();i++) { QString str = text(currentRow(), i); if (!str.isNull() && (!oracle || (!(*di).Datatype.upper().startsWith(("LONG")) && - !(*di).Datatype.upper().contains(("LOB"))))) - { + !(*di).Datatype.upper().contains(("LOB"))))) { if (BinaryColumns[i]) toPush(args, toQValue::createFromHex(str)); else @@ -910,7 +806,7 @@ toMainWidget()->setNeedCommit(conn); } TOCATCH - } + } int crow = currentRow(); for (int row = crow + 1;row < numRows();row++) swapRows(row - 1, row); @@ -927,15 +823,13 @@ setCurrentCellFocus(crow, 0); } -void toResultContentEditor::saveUnsaved(void) -{ +void toResultContentEditor::saveUnsaved(void) { if (SingleEdit && CurrentRow >= 0) SingleEdit->saveRow(this, CurrentRow); endEdit(currentRow(), currentColumn(), true, true); - if (OrigValues.size() > 0) - { + if (OrigValues.size() > 0) { // Check to make sure some changes were actually made @@ -943,31 +837,26 @@ for (int i = 0;i < numCols() && j != OrigValues.end();i++, j++) if (*j != text(CurrentRow, i)) break; - if (j == OrigValues.end()) - { + if (j == OrigValues.end()) { toStatusMessage(tr("No changes made"), false, false); return ; } bool oracle = false; QString rowid; - try - { + try { toConnection &conn = connection(); oracle = (connection().provider() == "Oracle"); toStatusMessage(tr("Saved row"), false, false); - if (CurrentRow >= Row || CurrentRow == NewRecordRow) - { + if (CurrentRow >= Row || CurrentRow == NewRecordRow) { QString sql = ("INSERT INTO "); sql += table(); sql += " ("; int num = 0; Q3Header *head = horizontalHeader(); { - for (int i = 0;i < numCols();i++) - { - if (!text(CurrentRow, i).isNull()) - { + for (int i = 0;i < numCols();i++) { + if (!text(CurrentRow, i).isNull()) { if (num > 0) sql += ","; sql += conn.quote(head->label(i)); @@ -978,23 +867,19 @@ sql += ") VALUES ("; num = 0; toQDescList::iterator di = Description.begin(); - for (int i = 0;i < numCols() && di != Description.end();i++) - { - if (!text(CurrentRow, i).isNull()) - { + for (int i = 0;i < numCols() && di != Description.end();i++) { + if (!text(CurrentRow, i).isNull()) { if (num > 0) sql += (","); sql += (":f"); sql += QString::number(num + 1); - if (BinaryColumns[i]) - { + if (BinaryColumns[i]) { if ((*di).Datatype.upper().contains("LOB")) sql += ("<blob>"); else sql += ("<raw_long,in>"); } - else - { + else { if ((*di).Datatype.upper().contains("LOB")) sql += ("<clob>"); else @@ -1008,14 +893,11 @@ if (oracle && !NoUseReturning) sql += (" RETURNING ROWID INTO :r<char[101],out>"); - try - { + try { toQList args; - for (int i = 0;i < numCols();i++) - { + for (int i = 0;i < numCols();i++) { QString str = text(CurrentRow, i); - if (!str.isNull()) - { + if (!str.isNull()) { if (BinaryColumns[i]) toPush(args, toQValue::createFromHex(str)); else @@ -1032,15 +914,13 @@ else toMainWidget()->setNeedCommit(conn); } - catch (const QString &str) - { + catch (const QString &str) { cancelEdit(); toStatusMessage(str); oracle = false; } } - else - { + else { QString sql = ("UPDATE "); sql += table(); sql += (" SET "); @@ -1048,11 +928,9 @@ std::list<QString>::iterator k = OrigValues.begin(); bool first = false; toQDescList::iterator di = Description.begin(); - for (int i = 0;i < numCols() && di != Description.end();i++, k++) - { + for (int i = 0;i < numCols() && di != Description.end();i++, k++) { QString fld = text(CurrentRow, i); - if (*k != fld) - { + if (*k != fld) { if (!first) first = true; else @@ -1060,19 +938,16 @@ sql += conn.quote(head->label(i)); if (fld.isNull()) sql += (" = NULL"); - else - { + else { sql += ("= :f"); sql += QString::number(i); - if (BinaryColumns[i]) - { + if (BinaryColumns[i]) { if ((*di).Datatype.upper().contains("LOB")) sql += ("<blob>"); else sql += ("<raw_long,in>"); } - else - { + else { if ((*di).Datatype.upper().contains("LOB")) sql += ("<clob>"); else @@ -1082,17 +957,14 @@ } di++; } - if (first) - { + if (first) { sql += (" WHERE ("); int col = 0; bool where = false; toQDescList::iterator di = Description.begin(); - for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) - { + for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) { if (!oracle || (!(*di).Datatype.upper().startsWith(("LONG")) && - !(*di).Datatype.upper().contains(("LOB")))) - { + !(*di).Datatype.upper().contains(("LOB")))) { if (where) sql += (" AND ("); else @@ -1109,23 +981,19 @@ } di++; } - if (!where) - { + if (!where) { toStatusMessage(tr("This table contains only LOB/LONG columns and can not be edited")); return ; } if (oracle && !NoUseReturning) sql += (" RETURNING ROWID INTO :r<char[101],out>"); - try - { + try { toQList args; std::list<QString>::iterator k = OrigValues.begin(); - for (int i = 0;i < numCols();i++, k++) - { + for (int i = 0;i < numCols();i++, k++) { QString str = text(CurrentRow, i); - if (str != *k && !str.isNull()) - { + if (str != *k && !str.isNull()) { if (BinaryColumns[i]) toPush(args, toQValue::createFromHex(str)); else @@ -1135,12 +1003,10 @@ col = 0; toQDescList::iterator di = Description.begin(); - for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) - { + for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) { QString str = (*j); if (!oracle || (!(*di).Datatype.upper().startsWith(("LONG")) && - !(*di).Datatype.upper().contains(("LOB")))) - { + !(*di).Datatype.upper().contains(("LOB")))) { if (str.isNull()) toPush(args, toQValue(QString(""))); else if (BinaryColumns[col]) @@ -1158,8 +1024,7 @@ else toMainWidget()->setNeedCommit(conn); } - catch (const QString &str) - { + catch (const QString &str) { int col = 0; for (std::list<QString>::iterator j = OrigValues.begin();j != OrigValues.end();j++, col++) setText(CurrentRow, col, *j); @@ -1172,11 +1037,9 @@ emit changesSaved(); } TOCATCH - OrigValues.clear(); - if (oracle) - { - try - { + OrigValues.clear(); + if (oracle) { + try { QString sql; sql = ("SELECT * FROM "); sql += table(); @@ -1186,46 +1049,39 @@ setText(CurrentRow, j, q.readValueNull()); } TOCATCH - } + } CurrentRow = -1; NewRecordRow = -1; } } -void toResultContentEditor::changePosition(int row, int col) -{ +void toResultContentEditor::changePosition(int row, int col) { SearchStart = SearchEnd = 0; if (CurrentRow != row && CurrentRow >= 0) saveUnsaved(); - if (NewRecordRow > 0 && NewRecordRow != row) - { + if (NewRecordRow > 0 && NewRecordRow != row) { cancelEdit(); setCurrentCell(row, col); } - else if (SingleEdit) - { + else if (SingleEdit) { saveRow(currentRow()); // Don't use row here since row can have changed SingleEdit->changeRow(this, currentRow()); } } -void toResultContentEditor::drawContents(QPainter * p, int cx, int cy, int cw, int ch) -{ +void toResultContentEditor::drawContents(QPainter * p, int cx, int cy, int cw, int ch) { Q3Table::drawContents(p, cx, cy, cw, ch); } -void toResultContentEditor::editReadAll(void) -{ - if (Query) - { +void toResultContentEditor::editReadAll(void) { + if (Query) { MaxNumber = -1; Poll.start(100); } } -void toResultContentEditor::editPrint(void) -{ +void toResultContentEditor::editPrint(void) { toResultView print(false, true, this); print.hide(); QString name = tr("Content of %1.%2").arg(Owner).arg(Table); @@ -1234,8 +1090,7 @@ print.editPrint(); } -bool toResultContentEditor::editSave(bool ask) -{ +bool toResultContentEditor::editSave(bool ask) { toResultView list(false, true, this); list.hide(); QString name = tr("Content of %1.%2").arg(Owner).arg(Table); @@ -1247,33 +1102,28 @@ return list.editSave(ask); } -void toResultContentEditor::activateNextCell() -{ +void toResultContentEditor::activateNextCell() { if (currentColumn() + 1 < numCols()) setCurrentCell(currentRow(), currentColumn() + 1); - else - { + else { if (currentRow() + 1 >= numRows()) setNumRows(Row + 2); setCurrentCell(currentRow() + 1, 0); } } -void toResultContentEditor::focusInEvent (QFocusEvent *e) -{ +void toResultContentEditor::focusInEvent(QFocusEvent *e) { receivedFocus(); Q3Table::focusInEvent(e); } -void toResultContentEditor::displayMenu(const QPoint &p) -{ +void toResultContentEditor::displayMenu(const QPoint &p) { QPoint lp = mapFromGlobal(p); lp = QPoint(lp.x() + contentsX() - verticalHeader()->width(), lp.y() + contentsY() - horizontalHeader()->height()); MenuColumn = columnAt(lp.x()); MenuRow = rowAt(lp.y()); - if (MenuColumn >= 0 && MenuRow >= 0) - { + if (MenuColumn >= 0 && MenuRow >= 0) { setCurrentCell(MenuRow, MenuColumn); Menu->popup(p); QClipboard *clip = qApp->clipboard(); @@ -1281,94 +1131,79 @@ } } -void toResultContentEditor::displayMemo(void) -{ +void toResultContentEditor::displayMemo(void) { toMemoEditor *edit = new toResultContentMemo(this, text(MenuRow, MenuColumn), MenuRow, MenuColumn); connect(edit, SIGNAL(changeData(int, int, const QString &)), this, SLOT(changeData(int, int, const QString &))); } -void toResultContentEditor::changeData(int row, int col, const QString &str) -{ +void toResultContentEditor::changeData(int row, int col, const QString &str) { changePosition(col, row); saveRow(row); setText(row, col, str); setCurrentCell(row, col); } -void toResultContentEditor::editSelectAll(void) -{ +void toResultContentEditor::editSelectAll(void) { removeSelection(0); Q3TableSelection sel; sel.init(0, 0); sel.expandTo(numRows() - 1, numCols() - 1); } -void toResultContentEditor::menuCallback(int cmd) -{ - switch (cmd) - { - case TORESULT_COPY_FIELD: - { +void toResultContentEditor::menuCallback(int cmd) { + switch (cmd) { + case TORESULT_COPY_FIELD: { QClipboard *clip = qApp->clipboard(); clip->setText(text(MenuRow, MenuColumn)); } - break; - case TORESULT_PASTE: - { + break; + case TORESULT_PASTE: { QClipboard *clip = qApp->clipboard(); saveRow(MenuRow); setText(MenuRow, MenuColumn, clip->text()); } - break; - case TORESULT_COPY_SEL: - { + break; + case TORESULT_COPY_SEL: { toListView *lst = copySelection(false); lst->setObjectName(Table); lst->setOwner(Owner); - if (lst) - { - try - { + if (lst) { + try { QClipboard *clip = qApp->clipboard(); clip->setText(lst->exportAsText(false, false)); } TOCATCH - delete lst; + delete lst; } } - break; - case TORESULT_COPY_SEL_HEAD: - { + break; + case TORESULT_COPY_SEL_HEAD: { toListView *lst = copySelection(true); lst->setObjectName(Table); lst->setOwner(Owner); - if (lst) - { - try - { + if (lst) { + try { QClipboard *clip = qApp->clipboard(); clip->setText(lst->exportAsText(true, false)); } TOCATCH - delete lst; + delete lst; } } - break; + break; case TORESULT_SELECT_ALL: editSelectAll(); break; - case TORESULT_COPY_TRANS: - { + case TORESULT_COPY_TRANS: { editSelectAll(); toListView *lst = copySelection(true); - if (lst) - { + if (lst) { lst->copyTransposed(); delete lst; } } - break; + break; case TORESULT_DELETE: setCurrentCell(MenuRow, 0); deleteCurrent(); @@ -1385,37 +1220,30 @@ } } -QString toResultContentEditor::table(void) -{ - try - { +QString toResultContentEditor::table(void) { + try { QString sql; - if (connection().provider() != "PostgreSQL") - { + if (connection().provider() != "PostgreSQL") { sql = connection().quote(Owner); sql += ("."); } sql += connection().quote(Table); return sql; } - catch (const QString &str) - { + catch (const QString &str) { toStatusMessage(str); return Table; } } -bool toResultContentEditor::searchNext(toSearchReplace *search) -{ +bool toResultContentEditor::searchNext(toSearchReplace *search) { int row = currentRow(); int col = currentColumn(); - while (row < numRows()) - { + while (row < numRows()) { int pos = SearchEnd; int endPos; - if (search->findString(text(row, col), pos, endPos)) - { + if (search->findString(text(row, col), pos, endPos)) { setCurrentCell(row, col); editCell(row, col); @@ -1427,8 +1255,7 @@ return true; } col++; - if (col >= numCols()) - { + if (col >= numCols()) { row++; col = 0; } @@ -1437,15 +1264,12 @@ return false; } -void toResultContentEditor::searchReplace(const QString &newData) -{ - if (SearchEnd > 0) - { +void toResultContentEditor::searchReplace(const QString &newData) { + if (SearchEnd > 0) { int row = currentRow(); int col = currentColumn(); Q3TableItem *itm = item(row, col); - if (itm) - { + if (itm) { QString txt = itm->text(); txt.replace(SearchStart, SearchEnd - SearchStart, newData); saveRow(row); @@ -1454,89 +1278,88 @@ } } -bool toResultContentEditor::searchCanReplace(bool all) -{ +bool toResultContentEditor::searchCanReplace(bool all) { if (all || (SearchEnd > 0)) return true; return false; } toResultContent::toResultContent(QWidget *parent, const char *name) - : Q3VBox(parent, name) -{ + : Q3VBox(parent, name) { + QToolBar *toolbar = toAllocBar(this, tr("Content editor")); + Editor = new toResultContentEditor(this, name); - QToolButton *btn = new QToolButton(QPixmap(const_cast<const char**>(filter_xpm)), - tr("Define filter for editor"), - tr("Define filter for editor"), - this, SLOT(changeFilter()), toolbar); + QAction *action; + + filterAct = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(filter_xpm))), + tr("Define filter for editor")); + filterAct->setCheckable(true); + connect(filterAct, SIGNAL(triggered()), this, SLOT(changeFilter())); connect(Editor, SIGNAL(filterEnabled(bool)), - btn, - SLOT(setOn(bool))); - btn->setToggleButton(true); + this, + SLOT(enableFilter(bool))); - new QToolButton(QPixmap(const_cast<const char**>(nofilter_xpm)), - tr("Remove any filter"), - tr("Remove any filter"), - this, SLOT(removeFilter()), toolbar); + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(nofilter_xpm))), + tr("Remove any filter")); + connect(action, SIGNAL(triggered()), this, SLOT(removeFilter())); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(addrecord_xpm)), - tr("Add a new record"), - tr("Add a new record"), - Editor, SLOT(addRecord()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(duplicaterecord_xpm)), - tr("Duplicate an existing record"), - tr("Duplicate an existing record"), - Editor, SLOT(duplicateRecord()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(saverecord_xpm)), - tr("Save changes"), - tr("Save changes"), - Editor, SLOT(saveUnsaved()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(canceledit_xpm)), - tr("Discard changes"), - tr("Discard changes"), - Editor, SLOT(cancelEdit()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Delete current record from table"), - tr("Delete current record from table"), - Editor, SLOT(deleteCurrent()), toolbar); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(addrecord_xpm))), + tr("Add a new record")); + connect(action, SIGNAL(triggered()), Editor, SLOT(addRecord())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(duplicaterecord_xpm))), + tr("Duplicate an existing record")); + connect(action, SIGNAL(triggered()), Editor, SLOT(duplicateRecord())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(saverecord_xpm))), + tr("Save changes")); + connect(action, SIGNAL(triggered()), Editor, SLOT(saveUnsaved())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(canceledit_xpm))), + tr("Discard changes")); + connect(action, SIGNAL(triggered()), Editor, SLOT(cancelEdit())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(trash_xpm))), + tr("Delete current record from table")); + connect(action, SIGNAL(triggered()), Editor, SLOT(deleteCurrent())); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(rewind_xpm)), - tr("Go to first row"), - tr("Go to first row"), - Editor, SLOT(gotoFirstRecord()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(previous_xpm)), - tr("Go to previous row"), - tr("Go to previous row"), - Editor, SLOT(gotoPreviousRecord()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(next_xpm)), - tr("Go to next row"), - tr("Go to next row"), - Editor, SLOT(gotoNextRecord()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(forward_xpm)), - tr("Go to last row"), - tr("Go to last row"), - Editor, SLOT(gotoLastRecord()), toolbar); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(rewind_xpm))), + tr("Go to first row")); + connect(action, SIGNAL(triggered()), Editor, SLOT(gotoFirstRecord())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(previous_xpm))), + tr("Go to previous row")); + connect(action, SIGNAL(triggered()), Editor, SLOT(gotoPreviousRecord())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(next_xpm))), + tr("Go to next row")); + connect(action, SIGNAL(triggered()), Editor, SLOT(gotoNextRecord())); + + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(forward_xpm))), + tr("Go to last row")); + connect(action, SIGNAL(triggered()), Editor, SLOT(gotoLastRecord())); + toolbar->addSeparator(); - btn = new QToolButton(toolbar); - btn->setToggleButton(true); - btn->setIconSet(QIcon(QPixmap(const_cast<const char**>(single_xpm)))); - connect(btn, SIGNAL(toggled(bool)), Editor, SLOT(singleRecordForm(bool))); - QToolTip::add - (btn, tr("Toggle between table or single record editing")); + action = toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(single_xpm))), + tr("Toggle between table or single record editing")); + action->setCheckable(true); + connect(action, SIGNAL(toggled(bool)), Editor, SLOT(singleRecordForm(bool))); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); connect(toMainWidget(), SIGNAL(willCommit(toConnection &, bool)), this, SLOT(saveUnsaved(toConnection &, bool))); connect(Editor, SIGNAL(changesSaved()), this, SIGNAL(changesSaved())); } -void toResultContent::changeFilter(void) -{ +void toResultContent::changeFilter(void) { QDialog dialog; Ui::toResultContentFilterUI filter; // qt4 - previous args: this, "FilterSetup", true filter.setupUi(&dialog); @@ -1551,14 +1374,12 @@ filter.Order->text()); } -void toResultContentEditor::changeFilter(bool all, const QString &crit, const QString &ord) -{ +void toResultContentEditor::changeFilter(bool all, const QString &crit, const QString &ord) { AllFilter = all; QString nam; if (AllFilter) nam = (""); - else - { + else { nam = Owner; nam += ("."); nam += Table; @@ -1572,30 +1393,24 @@ changeParams(t, Table); } -void toResultContent::saveUnsaved(toConnection &conn, bool) -{ - try - { +void toResultContent::saveUnsaved(toConnection &conn, bool) { + try { toConnection &mycon = connection(); if (&mycon == &conn) // Is this same connection saveUnsaved(); } TOCATCH -} + } -bool toResultContent::canHandle(toConnection &) -{ +bool toResultContent::canHandle(toConnection &) { return true; } -void toResultContent::removeFilter(void) -{ - if (!Editor->allFilter()) - { +void toResultContent::removeFilter(void) { + if (!Editor->allFilter()) { switch (TOMessageBox::information(this, tr("Remove filter"), tr("Remove the filter for this table only or for all tables."), - tr("&All"), tr("&This"), tr("Cancel"), 0)) - { + tr("&All"), tr("&This"), tr("Cancel"), 0)) { case 0: Editor->Criteria.clear(); Editor->Order.clear(); @@ -1611,10 +1426,8 @@ Editor->changeFilter(Editor->allFilter(), QString::null, QString::null); } -void toResultContentEditor::saveRow(int row) -{ - if (row != CurrentRow) - { +void toResultContentEditor::saveRow(int row) { + if (row != CurrentRow) { OrigValues.clear(); for (int i = 0;i < numCols();i++) OrigValues.insert(OrigValues.end(), text(row, i)); @@ -1622,18 +1435,15 @@ } } -void toResultContentEditor::singleRecordForm(bool display) -{ - if (display && !SingleEdit) - { +void toResultContentEditor::singleRecordForm(bool display) { + if (display && !SingleEdit) { SingleEdit = new toResultContentSingle(parentWidget()); SingleEdit->changeSource(this); saveRow(currentRow()); SingleEdit->show(); hide(); } - else if (SingleEdit) - { + else if (SingleEdit) { show(); SingleEdit->saveRow(this, currentRow()); delete SingleEdit; @@ -1641,42 +1451,34 @@ } } -void toResultContentEditor::exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix) -{ +void toResultContentEditor::exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix) { if (AllFilter) data[prefix + ":All"] = "Yes"; toMapExport(data, prefix + ":Crit", Criteria); toMapExport(data, prefix + ":Order", Order); } -void toResultContentEditor::importData(std::map<Q3CString, QString> &data, const Q3CString &prefix) -{ +void toResultContentEditor::importData(std::map<Q3CString, QString> &data, const Q3CString &prefix) { AllFilter = !(data[prefix + ":All"].isEmpty()); toMapImport(data, prefix + ":Crit", Criteria); toMapImport(data, prefix + ":Order", Order); } -toListView *toResultContentEditor::copySelection(bool header) -{ +toListView *toResultContentEditor::copySelection(bool header) { Q3TableSelection sel = selection(0); - if (sel.isActive()) - { + if (sel.isActive()) { toListView *lst = new toListView(this); int row; int col; - if (header) - { + if (header) { lst->addColumn(("#")); lst->setColumnAlignment(0, Qt::AlignRight); } - for (col = sel.leftCol();col <= sel.rightCol();col++) - { + for (col = sel.leftCol();col <= sel.rightCol();col++) { QString lab = horizontalHeader()->label(col); lst->addColumn(lab); - for (toQDescList::iterator i = Description.begin();i != Description.end();i++) - { - if ((*i).Name == lab) - { + for (toQDescList::iterator i = Description.begin();i != Description.end();i++) { + if ((*i).Name == lab) { if ((*i).AlignRight) lst->setColumnAlignment(lst->columns() - 1, Qt::AlignRight); break; @@ -1684,13 +1486,11 @@ } } Q3ListViewItem *item = NULL; - for (row = sel.topRow();row <= sel.bottomRow();row++) - { + for (row = sel.topRow();row <= sel.bottomRow();row++) { item = new toResultViewItem(lst, item); if (header) item->setText(0, verticalHeader()->label(row)); - for (col = sel.leftCol();col <= sel.rightCol();col++) - { + for (col = sel.leftCol();col <= sel.rightCol();col++) { item->setText(col - sel.leftCol() + (header ? 1 : 0), text(row, col)); } @@ -1703,16 +1503,14 @@ } toResultContentSingle::toResultContentSingle(QWidget *parent) - : Q3ScrollView(parent) -{ + : Q3ScrollView(parent) { enableClipper(true); Container = NULL; Row = -1; viewport()->setBackgroundColor(qApp->palette().active().background()); } -void toResultContentSingle::changeSource(Q3Table *table) -{ +void toResultContentSingle::changeSource(Q3Table *table) { delete Container; Container = new Q3Grid(4, viewport()); addChild(Container, 5, 5); @@ -1721,8 +1519,7 @@ Null.clear(); Q3Header *head = table->horizontalHeader(); - for (int i = 0;i < table->numCols();i++) - { + for (int i = 0;i < table->numCols();i++) { new QLabel(head->label(i), Container); QLineEdit *edit = new QLineEdit(Container, QString::number(i)); edit->setFixedWidth(300); @@ -1742,13 +1539,11 @@ changeRow(table, Row); } -void toResultContentSingle::changeRow(Q3Table *table, int row) -{ +void toResultContentSingle::changeRow(Q3Table *table, int row) { bool any = false; std::list<QCheckBox *>::iterator chk = Null.begin(); std::list<QLineEdit *>::iterator val = Value.begin(); - for (int i = 0;i < table->numCols() && chk != Null.end() && val != Value.end();i++) - { + for (int i = 0;i < table->numCols() && chk != Null.end() && val != Value.end();i++) { QString str = table->text(row, i); if (!str.isNull()) any = true; @@ -1763,13 +1558,13 @@ Row = row; } -void toResultContentSingle::saveRow(Q3Table *table, int row) -{ - if (Row == row) - { +void toResultContentSingle::saveRow(Q3Table *table, int row) { + if(row < 0) + return; + + if (Row == row) { std::list<QLineEdit *>::iterator val = Value.begin(); - for (int i = 0;i < t... [truncated message content] |
From: <mrj...@us...> - 2007-12-06 07:01:50
|
Revision: 2294 http://tora.svn.sourceforge.net/tora/?rev=2294&view=rev Author: mrjohnson0 Date: 2007-12-05 23:01:55 -0800 (Wed, 05 Dec 2007) Log Message: ----------- update toolbar code Modified Paths: -------------- branches/tora-1.4/tora/src/tobrowser.cpp branches/tora-1.4/tora/src/tobrowser.h Modified: branches/tora-1.4/tora/src/tobrowser.cpp =================================================================== --- branches/tora-1.4/tora/src/tobrowser.cpp 2007-12-06 07:01:27 UTC (rev 2293) +++ branches/tora-1.4/tora/src/tobrowser.cpp 2007-12-06 07:01:55 UTC (rev 2294) @@ -163,8 +163,7 @@ void toBrowserTool::addTable(void) { - try - { + try { toConnection &conn = toMainWidget()->currentConnection(); toBrowserTable::newTable(conn, toIsMySQL(conn) ? conn.database() : conn.user(), @@ -175,8 +174,7 @@ void toBrowserTool::addIndex(void) { - try - { + try { toConnection &conn = toMainWidget()->currentConnection(); toBrowserIndex::modifyIndex(conn, toIsMySQL(conn) ? conn.database() : conn.user(), @@ -188,8 +186,7 @@ void toBrowserTool::addConstraint(void) { - try - { + try { toConnection &conn = toMainWidget()->currentConnection(); toBrowserConstraint::modifyConstraint(conn, toIsMySQL(conn) ? conn.database() : conn.user(), @@ -224,10 +221,8 @@ const std::list<QString> &tablespaces, bool onlyOwnSchema = false) : Type(type), IgnoreCase(cas), Invert(invert), Text(cas ? str.upper() : str), - TablespaceType(tablespace), Tablespaces(tablespaces), OnlyOwnSchema(onlyOwnSchema) - { - if (!str.isEmpty()) - { + TablespaceType(tablespace), Tablespaces(tablespaces), OnlyOwnSchema(onlyOwnSchema) { + if (!str.isEmpty()) { Match.setPattern(str); Match.setCaseSensitive(cas); } @@ -235,16 +230,14 @@ } toBrowserFilter(bool empty = true) - : Type(0), IgnoreCase(true), Invert(false), TablespaceType(0) - { + : Type(0), IgnoreCase(true), Invert(false), TablespaceType(0) { if (!empty) readFilterSettings(); else BrowserTool.setConfig(CONF_FILTER_TYPE, "0"); // No filter type } - virtual void storeFilterSettings(void) - { + virtual void storeFilterSettings(void) { BrowserTool.setConfig(CONF_FILTER_IGNORE_CASE, IgnoreCase ? "Yes" : "No"); BrowserTool.setConfig(CONF_FILTER_INVERT, Invert ? "Yes" : "No"); BrowserTool.setConfig(CONF_FILTER_TYPE, QString("%1").arg(Type)); @@ -253,8 +246,7 @@ toConfigurationSingle::Instance().saveConfig(); } - virtual void readFilterSettings(void) - { + virtual void readFilterSettings(void) { QString t; Text = BrowserTool.config(CONF_FILTER_TEXT, ""); @@ -271,8 +263,7 @@ Type = QString(BrowserTool.config(CONF_FILTER_TYPE, "0")).toInt(); TablespaceType = QString(BrowserTool.config(CONF_FILTER_TABLESPACE_TYPE, "0")).toInt(); } - virtual void exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix) - { + virtual void exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix) { data[prefix + ":Type"] = QString::number(Type); if (IgnoreCase) data[prefix + ":Ignore"] = "Yes"; @@ -286,37 +277,31 @@ if (OnlyOwnSchema) data[prefix + ":OwnlyOwnSchema"] = "Yes"; } - virtual void importData(std::map<Q3CString, QString> &data, const Q3CString &prefix) - { + virtual void importData(std::map<Q3CString, QString> &data, const Q3CString &prefix) { Type = data[prefix + ":Type"].toInt(); OnlyOwnSchema = !data[prefix + ":OnlyOwnSchema"].isEmpty(); TablespaceType = data[prefix + ":SpaceType"].toInt(); IgnoreCase = !data[prefix + ":Ignore"].isEmpty(); Invert = !data[prefix + ":Invert"].isEmpty(); Text = data[prefix + ":Text"]; - if (!Text.isEmpty()) - { + if (!Text.isEmpty()) { Match.setPattern(Text); Match.setCaseSensitive(IgnoreCase); } int id = 1; std::map<Q3CString, QString>::iterator i; Tablespaces.clear(); - while ((i = data.find(prefix + ":Space:" + QString::number(id).latin1())) != data.end()) - { + while ((i = data.find(prefix + ":Space:" + QString::number(id).latin1())) != data.end()) { Tablespaces.insert(Tablespaces.end(), (*i).second); i++; id++; } } - bool onlyOwnSchema(void) - { + bool onlyOwnSchema(void) { return OnlyOwnSchema; } - virtual QString wildCard(void) - { - switch (Type) - { + virtual QString wildCard(void) { + switch (Type) { default: return QString::fromLatin1("%"); case 1: @@ -327,12 +312,10 @@ return QString::fromLatin1("%") + Text.upper() + QString::fromLatin1("%"); } } - virtual void startingQuery() - { + virtual void startingQuery() { RemoveDuplicates.clear(); } - virtual bool check(const Q3ListViewItem *item) - { + virtual bool check(const Q3ListViewItem *item) { QString key = item->text(0) + "." + item->text(1); if (RemoveDuplicates.find(key) != RemoveDuplicates.end()) return false; @@ -341,19 +324,14 @@ QString str = item->text(0); QString tablespace = item->text(3); - if (!tablespace.isEmpty()) - { - switch (TablespaceType) - { + if (!tablespace.isEmpty()) { + switch (TablespaceType) { default: break; - case 1: - { + case 1: { bool ok = false; - for (std::list<QString>::iterator i = Tablespaces.begin();i != Tablespaces.end();i++) - { - if (*i == tablespace) - { + for (std::list<QString>::iterator i = Tablespaces.begin();i != Tablespaces.end();i++) { + if (*i == tablespace) { ok = true; break; } @@ -369,13 +347,11 @@ break; } } - switch (Type) - { + switch (Type) { default: return true; case 1: - if (IgnoreCase) - { + if (IgnoreCase) { if (str.upper().startsWith(Text)) return !Invert; } @@ -383,8 +359,7 @@ return !Invert; break; case 2: - if (IgnoreCase) - { + if (IgnoreCase) { if (str.right(Text.length()).upper() == Text) return !Invert; } @@ -395,12 +370,10 @@ if (str.contains(Text, !IgnoreCase)) return !Invert; break; - case 4: - { + case 4: { QStringList lst = QStringList::split(QRegExp(QString::fromLatin1("\\s*,\\s*")), Text); for (int i = 0;i < lst.count();i++) - if (IgnoreCase) - { + if (IgnoreCase) { if (str.upper() == lst[i]) return !Invert; } @@ -416,8 +389,7 @@ } return Invert; } - virtual toResultFilter *clone(void) - { + virtual toResultFilter *clone(void) { return new toBrowserFilter(*this); } friend class toBrowserFilterSetup; @@ -426,50 +398,40 @@ class toBrowserFilterSetup : public QDialog, public Ui::toBrowserFilterUI { public: - void setup(bool temp) - { + void setup(bool temp) { toHelp::connectDialog(this); - if (!temp) - { + if (!temp) { OnlyOwnSchema->hide(); Tablespaces->setNumberColumn(false); Tablespaces->setReadableColumns(true); - try - { + try { toConnection &conn = toCurrentConnection(this); toQuery query(conn, toSQL::string(SQLListTablespaces, conn)); Tablespaces->query(SQLListTablespaces); } - catch (...) - {} + catch (...) {} Tablespaces->setSelectionMode(Q3ListView::Multi); } - else - { + else { TablespaceType->hide(); } } toBrowserFilterSetup(bool temp, QWidget *parent) - : QDialog(parent) //toBrowserFilterUI(parent, "Filter Setting", true) - { + : QDialog(parent) { //toBrowserFilterUI(parent, "Filter Setting", true) setupUi(this); setup(temp); } toBrowserFilterSetup(bool temp, toBrowserFilter &cur, QWidget *parent) - : QDialog(parent) //toBrowserFilterUI(parent, "Filter Setting", true) - { + : QDialog(parent) { //toBrowserFilterUI(parent, "Filter Setting", true) setupUi(this); setup(temp); Buttons->setButton(cur.Type); - if (!TablespaceType->isHidden()) - { + if (!TablespaceType->isHidden()) { TablespaceType->setButton(cur.TablespaceType); - for (std::list<QString>::iterator i = cur.Tablespaces.begin();i != cur.Tablespaces.end();i++) - { + for (std::list<QString>::iterator i = cur.Tablespaces.begin();i != cur.Tablespaces.end();i++) { for (Q3ListViewItem *item = Tablespaces->firstChild();item;item = item->nextSibling()) - if (item->text(0) == *i) - { + if (item->text(0) == *i) { item->setSelected(true); break; } @@ -480,8 +442,7 @@ IgnoreCase->setChecked(cur.IgnoreCase); OnlyOwnSchema->setChecked(cur.OnlyOwnSchema); } - toBrowserFilter *getSetting(void) - { + toBrowserFilter *getSetting(void) { std::list<QString> tablespaces; for (Q3ListViewItem *item = Tablespaces->firstChild();item;item = item->nextSibling()) if (item->isSelected()) @@ -505,8 +466,7 @@ const char * name) : QToolButton(iconSet, textLabel, grouptext, receiver, slot, parent, name) { - try - { + try { connect(toCurrentTool(this), SIGNAL(connectionChange()), this, SLOT(connectionChanged())); } TOCATCH @@ -515,8 +475,7 @@ void toBrowseButton::connectionChanged() { - try - { + try { setEnabled(toExtract::canHandle(toCurrentConnection(this))); } TOCATCH @@ -1081,23 +1040,20 @@ QString toBrowser::schema(void) { - try - { + try { QString ret = Schema->selected(); if (ret == tr("No schemas")) return connection().database(); return ret; } - catch (...) - { + catch (...) { return QString::null; } } void toBrowser::setNewFilter(toBrowserFilter *filter) { - if (Filter) - { + if (Filter) { delete Filter; Filter = NULL; } @@ -1114,30 +1070,34 @@ } toBrowser::toBrowser(QWidget *parent, toConnection &connection) - : toToolWidget(BrowserTool, "browser.html", parent, connection) -{ + : toToolWidget(BrowserTool, "browser.html", parent, connection) { + Filter = new toBrowserFilter(false); QToolBar *toolbar = toAllocBar(this, tr("DB Browser")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update from DB"), - tr("Update from DB"), - this, SLOT(refresh(void)), - toolbar); + refreshAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Update from DB"), + this); + refreshAct->setShortcut(QKeySequence::Refresh); + connect(refreshAct, SIGNAL(triggered()), this, SLOT(refresh(void))); + toolbar->addAction(refreshAct); + toolbar->addSeparator(); + FilterButton = new QToolButton(toolbar); FilterButton->setToggleButton(true); FilterButton->setIconSet(QIcon(QPixmap(const_cast<const char**>(filter_xpm)))); - QToolTip::add - (FilterButton, tr("Define the object filter")); + FilterButton->setToolTip(tr("Define the object filter")); connect(FilterButton, SIGNAL(toggled(bool)), this, SLOT(defineFilter())); + toolbar->addWidget(FilterButton); - new QToolButton(QPixmap(const_cast<const char**>(nofilter_xpm)), - tr("Remove any object filter"), - tr("Remove any object filter"), - this, SLOT(clearFilter(void)), - toolbar); + clearFilterAct = new QAction(QPixmap(const_cast<const char**>(nofilter_xpm)), + tr("Remove any object filter"), + this); + connect(clearFilterAct, SIGNAL(triggered()), this, SLOT(clearFilter(void))); + toolbar->addAction(clearFilterAct); + Schema = new toResultCombo(toolbar, TO_TOOLBAR_WIDGET_NAME); connect(Schema, SIGNAL(activated(int)), this, SLOT(changeSchema(int))); @@ -1148,7 +1108,9 @@ Schema->setSelected(connection.user().upper()); else Schema->setSelected(connection.user()); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + toolbar->addWidget(Schema); + + toolbar->addWidget(new QLabel(toolbar)); new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); TopTab = new toTabWidget(this); @@ -1159,50 +1121,61 @@ Q3VBox *box = new Q3VBox(splitter); toolbar = toAllocBar(box, tr("Database browser")); - new toBrowseButton(QPixmap(const_cast<const char**>(addtable_xpm)), - tr("Create new table"), - tr("Create new table"), - this, SLOT(addTable()), - toolbar); + + addTableAct = new QAction(QPixmap(const_cast<const char**>(addtable_xpm)), + tr("Create new table"), + this); + connect(addTableAct, SIGNAL(triggered()), this, SLOT(addTable(void))); + toolbar->addAction(addTableAct); + toolbar->addSeparator(); - new toBrowseButton(QPixmap(const_cast<const char**>(modtable_xpm)), - tr("Modify table columns"), - tr("Modify table columns"), - this, SLOT(modifyTable()), - toolbar); - new toBrowseButton(QPixmap(const_cast<const char**>(modconstraint_xpm)), - tr("Modify constraints"), - tr("Modify constraints"), - this, SLOT(modifyConstraint()), - toolbar); - new toBrowseButton(QPixmap(const_cast<const char**>(modindex_xpm)), - tr("Modify indexes"), - tr("Modify indexes"), - this, SLOT(modifyIndex()), - toolbar); + + modTableAct = new QAction(QPixmap(const_cast<const char**>(modtable_xpm)), + tr("Modify table columns"), + this); + connect(modTableAct, SIGNAL(triggered()), this, SLOT(modifyTable(void))); + toolbar->addAction(modTableAct); + + modConstraintAct = new QAction(QPixmap(const_cast<const char**>(modconstraint_xpm)), + tr("Modify constraints"), + this); + connect(modConstraintAct, SIGNAL(triggered()), this, SLOT(modifyConstraint(void))); + toolbar->addAction(modConstraintAct); + + modIndexAct = new QAction(QPixmap(const_cast<const char**>(modindex_xpm)), + tr("Modify indexes"), + this); + connect(modIndexAct, SIGNAL(triggered()), this, SLOT(modifyIndex(void))); + toolbar->addAction(modIndexAct); + toolbar->addSeparator(); - new toBrowseButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Drop table"), - tr("Drop table"), - this, SLOT(dropTable()), - toolbar); -#ifndef TO_NO_ORACLE + dropTableAct = new QAction(QPixmap(const_cast<const char**>(trash_xpm)), + tr("Drop table"), + this); + connect(dropTableAct, SIGNAL(triggered()), this, SLOT(dropTable(void))); + toolbar->addAction(dropTableAct); + toolbar->addSeparator(); - new toBrowseButton(QPixmap(const_cast<const char**>(online_xpm)), - tr("Enable constraint or trigger"), - tr("Enable constraint or trigger"), - this, SLOT(enableConstraints()), - toolbar); - new toBrowseButton(QPixmap(const_cast<const char**>(offline_xpm)), - tr("Disable constraint or trigger"), - tr("Disable constraint or trigger"), - this, SLOT(disableConstraints()), - toolbar); -#endif -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + enableConstraintAct = new QAction(QPixmap(const_cast<const char**>(online_xpm)), + tr("Enable constraint or trigger"), + this); + connect(enableConstraintAct, + SIGNAL(triggered()), + this, + SLOT(enableConstraints(void))); + toolbar->addAction(enableConstraintAct); + disableConstraintAct = new QAction(QPixmap(const_cast<const char**>(offline_xpm)), + tr("Disable constraint or trigger"), + this); + connect(disableConstraintAct, + SIGNAL(triggered()), + this, + SLOT(disableConstraints(void))); + toolbar->addAction(disableConstraintAct); + toResultView *resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); resultView->setSQL(SQLListTables); @@ -1333,26 +1306,34 @@ TopTab->addTab(splitter, tr("Inde&xes")); box = new Q3VBox(splitter); + toolbar = toAllocBar(box, tr("Database browser")); - new toBrowseButton(QPixmap(const_cast<const char**>(addindex_xpm)), - tr("Add indexes"), - tr("Add indexes"), - this, SLOT(addIndex()), - toolbar); + + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(addindex_xpm)), + tr("Add indexes"), + tr("Add indexes"), + this, SLOT(addIndex()), + toolbar)); + toolbar->addSeparator(); - new toBrowseButton(QPixmap(const_cast<const char**>(modindex_xpm)), - tr("Modify indexes"), - tr("Modify indexes"), - this, SLOT(modifyIndex()), - toolbar); + + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(modindex_xpm)), + tr("Modify indexes"), + tr("Modify indexes"), + this, SLOT(modifyIndex()), + toolbar)); + toolbar->addSeparator(); - new toBrowseButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Drop index"), - tr("Drop index"), - this, SLOT(dropIndex()), - toolbar); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(trash_xpm)), + tr("Drop index"), + tr("Drop index"), + this, SLOT(dropIndex()), + toolbar)); + resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); connect(resultView, SIGNAL(done()), this, SLOT(firstDone())); @@ -1560,13 +1541,13 @@ TopTab->addTab(splitter, tr("DBLinks")); box = new Q3VBox(splitter); toolbar = toAllocBar(box, tr("Database browser")); - new toBrowseButton(QPixmap(const_cast<const char**>(modconstraint_xpm)), - tr("Test DBLink"), - tr("Test DBLink"), - this, SLOT(testDBLink()), - toolbar); + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(modconstraint_xpm)), + tr("Test DBLink"), + tr("Test DBLink"), + this, SLOT(testDBLink()), + toolbar)); toolbar->addSeparator(); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); resultView = new toResultLong(true, false, toQuery::Background, box); resultView->setReadAll(true); @@ -1604,17 +1585,19 @@ box = new Q3VBox(splitter); toolbar = toAllocBar(box, tr("Database browser")); - new toBrowseButton(QPixmap(const_cast<const char**>(new_xpm)), - tr("Add user"), - tr("Add user"), - this, SLOT(addUser()), - toolbar); - new toBrowseButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Drop user"), - tr("Drop user"), - this, SLOT(dropUser()), - toolbar); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(new_xpm)), + tr("Add user"), + tr("Add user"), + this, SLOT(addUser()), + toolbar)); + toolbar->addWidget( + new toBrowseButton(QPixmap(const_cast<const char**>(trash_xpm)), + tr("Drop user"), + tr("Drop user"), + this, SLOT(dropUser()), + toolbar)); + resultView = new toResultLong(true, false, toQuery::Background, box); #else @@ -1685,10 +1668,8 @@ void toBrowser::windowActivated(QWidget *widget) { - if (widget == this) - { - if (!ToolMenu) - { + if (widget == this) { + if (!ToolMenu) { #if 0 // todo ToolMenu = new Q3PopupMenu(this); ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), @@ -1707,8 +1688,7 @@ #endif } } - else - { + else { delete ToolMenu; ToolMenu = NULL; } @@ -1730,8 +1710,7 @@ void toBrowser::dropUser() { #ifdef TOEXTENDED_MYSQL - try - { + try { AccessPanel->dropCurrentAccess(); connection().execute(SQLDropUser, selectedItem()->text(0)); flushPrivs(); @@ -1754,24 +1733,19 @@ void toBrowser::refresh(void) { - try - { + try { Schema->refresh(); - if (FirstTab) - { + if (FirstTab) { toQList pars = FirstTab->params(); - if ( pars.empty() ) - { + if (pars.empty()) { updateTabs(); return ; } FirstTab->refresh(); } - if (SecondTab) - { + if (SecondTab) { toQList pars = SecondTab->params(); - if ( pars.empty() ) - { + if (pars.empty()) { updateTabs(); return ; } @@ -1797,8 +1771,7 @@ void toBrowser::updateTabs(void) { - try - { + try { if (!Schema->selected().isEmpty() && FirstTab) FirstTab->changeParams(schema(), Filter ? Filter->wildCard() : QString::fromLatin1("%")); firstDone(); // In case it is ignored cause it is already done. @@ -1810,12 +1783,9 @@ void toBrowser::firstDone(void) { - if (!SecondText.isEmpty() && FirstTab) - { - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->text(0) == SecondText) - { + if (!SecondText.isEmpty() && FirstTab) { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->text(0) == SecondText) { FirstTab->setSelected(item, true); FirstTab->setCurrentItem(item); FirstTab->ensureItemVisible(item); @@ -1823,8 +1793,7 @@ } } } - else - { + else { Q3ListViewItem *item = selectedItem(); if (item) SecondText = item->text(0); @@ -1834,8 +1803,7 @@ void toBrowser::changeItem() { Q3ListViewItem *item = selectedItem(); - if (item) - { + if (item) { SecondText = item->text(0); if (SecondTab && !SecondText.isEmpty()) Poll.start(250, true); @@ -1846,18 +1814,15 @@ { QWidget *tab = TopTab->currentPage(); QWidget *tab2 = dynamic_cast<QWidget *>(SecondTab); - if (tab && !strcmp(tab->name(), TAB_SYNONYM)) - { + if (tab && !strcmp(tab->name(), TAB_SYNONYM)) { QString owner; QString name; int pos = SecondText.find(QString::fromLatin1(".")); - if (pos >= 0) - { + if (pos >= 0) { owner = SecondText.mid(0, pos); name = SecondText.mid(pos + 1); } - else - { + else { owner = QString::fromLatin1("PUBLIC"); name = SecondText; } @@ -1865,22 +1830,19 @@ #ifdef TOEXTENDED_MYSQL } - else if (tab && !strcmp(tab->name(), TAB_ACCESS) && !strcmp(tab2->name(), TAB_ACCESS_CONTENT)) - { + else if (tab && !strcmp(tab->name(), TAB_ACCESS) && !strcmp(tab2->name(), TAB_ACCESS_CONTENT)) { SecondTab->changeParams("mysql", "host"); #else } - else if (tab && !strcmp(tab->name(), TAB_ACCESS)) - { + else if (tab && !strcmp(tab->name(), TAB_ACCESS)) { SecondTab->changeParams("mysql", SecondText); #endif } - else if (tab && !strcmp(tab->name(), TAB_INDEX) && !strcmp(tab2->name(), TAB_INDEX_EXTRACT)) - { + else if (tab && !strcmp(tab->name(), TAB_INDEX) && !strcmp(tab2->name(), TAB_INDEX_EXTRACT)) { Q3ListViewItem *item = selectedItem(); if (item) SecondTab->changeParams(schema(), item->text(0)); //+"."+item->text(1)); @@ -1896,8 +1858,7 @@ if (!t) return ; - if (tab) - { + if (tab) { toResult *newtab = SecondMap[tab->name()]; if (newtab == SecondTab) return ; @@ -1919,8 +1880,7 @@ void toBrowser::changeTab(QWidget *tab) { - if (tab && this == toMainWidget()->workspace()->activeWindow()) - { + if (tab && this == toMainWidget()->workspace()->activeWindow()) { toResultView *newtab = Map[tab->name()]; if (newtab == FirstTab) return ; @@ -1942,14 +1902,12 @@ void toBrowser::defineFilter(void) { - if (Filter) - { + if (Filter) { toBrowserFilterSetup filt(false, *Filter, this); if (filt.exec()) setNewFilter(filt.getSetting()); } - else - { + else { toBrowserFilterSetup filt(false, this); if (filt.exec()) setNewFilter(filt.getSetting()); @@ -1996,8 +1954,7 @@ if (FirstTab->columns() > 1 && item) index = item->text(1); - if (item) - { + if (item) { toBrowserIndex::modifyIndex(connection(), Schema->selected(), item->text(0), @@ -2022,8 +1979,7 @@ menu->insertItem(QPixmap(const_cast<const char**>(trash_xpm)), tr("Drop table"), this, SLOT(dropTable()), 0, 0, 0); menu->insertItem(tr("Truncate table"), this, SLOT(truncateTable()), 0, 0, 0); menu->insertSeparator(0); - if (toIsMySQL(connection())) - { + if (toIsMySQL(connection())) { menu->insertItem(tr("Check table"), this, SLOT(checkTable()), 0, 0, 0); menu->insertItem(tr("Optimize table"), this, SLOT(optimizeTable()), 0, 0, 0); menu->insertItem(tr("Analyze table"), this, SLOT(analyzeTable()), 0, 0, 0); @@ -2054,20 +2010,17 @@ if (TOMessageBox::warning(this, tr("Dropping %1?").arg(tr(type)), tr("Are you sure you want to drop the %1 %2.%3,\n" "this action can not be undone?").arg(tr(type)).arg(Schema->selected()).arg(what), - tr("&Yes"), tr("&Cancel"), QString::null, 0) == 0) - { + tr("&Yes"), tr("&Cancel"), QString::null, 0) == 0) { std::list<QString> ctx; toPush(ctx, Schema->selected()); toPush(ctx, QString(type.upper())); QStringList parts = QStringList::split(".", what); - if (parts.count() > 1) - { + if (parts.count() > 1) { toPush(ctx, parts[1]); toPush(ctx, QString("ON")); toPush(ctx, parts[0]); } - else - { + else { toPush(ctx, what); } @@ -2076,8 +2029,7 @@ std::list<QString> empty; - try - { + try { toExtract extractor(connection(), NULL); extractor.setIndexes(false); extractor.setConstraints(false); @@ -2091,8 +2043,7 @@ statements.size(), this, "progress", true); prog.setCaption(tr("Performing %1 changes").arg(tr(type))); - for (std::list<toSQLParse::statement>::iterator j = statements.begin();j != statements.end();j++) - { + for (std::list<toSQLParse::statement>::iterator j = statements.begin();j != statements.end();j++) { QString sql = toSQLParse::indentStatement(*j, connection()); int i = sql.length() - 1; while (i >= 0 && (sql.at(i) == ';' || sql.at(i).isSpace())) @@ -2117,15 +2068,12 @@ void toBrowser::truncateTable(void) { bool force = false; - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { switch (force ? 0 : TOMessageBox::warning(this, tr("Truncate table?"), tr("Are you sure you want to truncate the table %2.%3,\n" "this action can not be undone?").arg(Schema->selected()).arg(item->text(0)), - tr("&Yes"), tr("Yes to &all"), tr("&Cancel"), 0)) - { + tr("&Yes"), tr("Yes to &all"), tr("&Cancel"), 0)) { case 1 : force = true; // Intentionally no break here. @@ -2143,8 +2091,7 @@ void toBrowser::flushPrivs(void) { - try - { + try { connection().execute("FLUSH PRIVILEGES"); } TOCATCH @@ -2154,10 +2101,8 @@ { QString sql; - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { if (sql.isEmpty()) sql = "CHECK TABLE "; else @@ -2166,8 +2111,7 @@ } } - if (!sql.isEmpty()) - { + if (!sql.isEmpty()) { toResultLong *result = new toResultLong(this, "Check result", Qt::WType_TopLevel | Qt::WDestructiveClose); result->query(sql); result->show(); @@ -2179,10 +2123,8 @@ { QString sql; - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { if (sql.isEmpty()) sql = "OPTIMIZE TABLE "; else @@ -2191,8 +2133,7 @@ } } - if (!sql.isEmpty()) - { + if (!sql.isEmpty()) { toResultLong *result = new toResultLong(this, "Check result", Qt::WType_TopLevel | Qt::WDestructiveClose); result->query(sql); result->show(); @@ -2204,17 +2145,13 @@ bool ok; QString text = QInputDialog::getText("Change table type", "Enter new table type", QLineEdit::Normal, "MyISAM", &ok, this); - if (ok && !text.isEmpty()) - { - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + if (ok && !text.isEmpty()) { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { QString sql = "ALTER TABLE "; sql += connection().quote(Schema->selected()) + "." + connection().quote(item->text(0)); sql += " TYPE = " + text; - try - { + try { connection().execute(sql); } TOCATCH @@ -2227,10 +2164,8 @@ { QString sql; - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { if (sql.isEmpty()) sql = "ANALYZE TABLE "; else @@ -2239,8 +2174,7 @@ } } - if (!sql.isEmpty()) - { + if (!sql.isEmpty()) { toResultLong *result = new toResultLong(this, "Check result", Qt::WType_TopLevel | Qt::WDestructiveClose); result->query(sql); result->show(); @@ -2250,10 +2184,8 @@ Q3ListViewItem *toBrowser::selectedItem() { Q3ListViewItem *selected = NULL; - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { if (item == FirstTab->currentItem()) return item; else if (!selected) @@ -2265,10 +2197,8 @@ void toBrowser::dropIndex(void) { - for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) - { - if (item->isSelected()) - { + for (Q3ListViewItem *item = FirstTab->firstChild();item;item = item->nextSibling()) { + if (item->isSelected()) { QString index = item->text(1); if (index != "PRIMARY" && !item->text(0).isEmpty()) dropSomething("index", item->text(0) + "." + index); @@ -2278,13 +2208,13 @@ } } -bool toBrowser::close(bool del) +bool toBrowser::close() { #ifdef TOEXTENDED_MYSQL UserPanel->saveChanges(); #endif - return toToolWidget::close(del); + return toToolWidget::close(); } void toBrowser::exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix) @@ -2292,10 +2222,8 @@ data[prefix + ":Schema"] = Schema->selected(); data[prefix + ":FirstTab"] = TopTab->currentPage()->name(); data[prefix + ":SecondText"] = SecondText; - for (std::map<Q3CString, toResult *>::iterator i = SecondMap.begin();i != SecondMap.end();i++) - { - if ((*i).second == SecondTab && Map.find((*i).first) == Map.end()) - { + for (std::map<Q3CString, toResult *>::iterator i = SecondMap.begin();i != SecondMap.end();i++) { + if ((*i).second == SecondTab && Map.find((*i).first) == Map.end()) { data[prefix + ":SecondTab"] = (*i).first; break; } @@ -2320,8 +2248,7 @@ if (AccessContent) AccessContent->importData(data, prefix + ":Hosts"); - if (data.find(prefix + ":Filter:Type") != data.end()) - { + if (data.find(prefix + ":Filter:Type") != data.end()) { toBrowserFilter *filter = new toBrowserFilter; filter->importData(data, prefix + ":Filter"); setNewFilter(filter); @@ -2338,14 +2265,12 @@ str = data[prefix + ":FirstTab"]; QWidget *chld = (QWidget *)child(str); - if (chld && str.length()) - { + if (chld && str.length()) { SecondText = QString::null; TopTab->showPage(chld); toResultView *newtab = Map[chld->name()]; - if (newtab != FirstTab && newtab) - { + if (newtab != FirstTab && newtab) { CurrentTop = chld; setFocusProxy(newtab); FirstTab = newtab; @@ -2353,8 +2278,7 @@ str = data[prefix + ":SecondTab"]; chld = (QWidget *)child(str); - if (chld && str.length()) - { + if (chld && str.length()) { QWidget *par = chld->parentWidget(); while (par && !par->inherits("QTabWidget")) par = par->parentWidget(); @@ -2373,34 +2297,26 @@ void toBrowser::fixIndexCols(void) { - if (toIsOracle(connection())) - { + if (toIsOracle(connection())) { toResultLong *tmp = dynamic_cast<toResultLong *>(SecondMap[TAB_INDEX_COLS]); if (tmp) - for (Q3ListViewItem *item = tmp->firstChild();item;item = item->nextSibling()) - { - if (!toUnnull(item->text(4)).isNull()) - { + for (Q3ListViewItem *item = tmp->firstChild();item;item = item->nextSibling()) { + if (!toUnnull(item->text(4)).isNull()) { toResultViewItem * resItem = dynamic_cast<toResultViewItem *>(item); if (resItem) resItem->setText(1, resItem->allText(4)); } } } - else if (toIsMySQL(connection())) - { + else if (toIsMySQL(connection())) { toResultLong *second = dynamic_cast<toResultLong *>(SecondMap[TAB_INDEX_COLS]); - if (FirstTab && second) - { + if (FirstTab && second) { Q3ListViewItem *item = selectedItem(); - if (item) - { + if (item) { QString index = item->text(1); - for (Q3ListViewItem *item = second->firstChild();item;) - { + for (Q3ListViewItem *item = second->firstChild();item;) { Q3ListViewItem *t = item->nextSibling(); - if (item->text(2) != index) - { + if (item->text(2) != index) { delete item; second->clearParams(); // Make sure it is reexecuted even if same table. } @@ -2415,11 +2331,9 @@ void toBrowseTemplate::removeDatabase(const QString &name) { - for (std::list<toTemplateItem *>::iterator i = Parents.begin();i != Parents.end();i++) - { + for (std::list<toTemplateItem *>::iterator i = Parents.begin();i != Parents.end();i++) { for (Q3ListViewItem *item = (*i)->firstChild();item;item = item->nextSibling()) - if (item->text(0) == name) - { + if (item->text(0) == name) { delete item; break; } @@ -2428,23 +2342,19 @@ void toBrowseTemplate::defineFilter(void) { - if (Filter) - { + if (Filter) { toBrowserFilterSetup filt(true, *Filter, toMainWidget()); - if (filt.exec()) - { + if (filt.exec()) { delete Filter; Filter = filt.getSetting(); } } - else - { + else { toBrowserFilterSetup filt(true, toMainWidget()); if (filt.exec()) Filter = filt.getSetting(); } - if (Filter) - { + if (Filter) { disconnect(FilterButton, SIGNAL(toggled(bool)), this, SLOT(defineFilter())); FilterButton->setOn(true); connect(FilterButton, SIGNAL(toggled(bool)), this, SLOT(defineFilter())); @@ -2463,8 +2373,7 @@ void toBrowseTemplate::removeItem(Q3ListViewItem *item) { for (std::list<toTemplateItem *>::iterator i = Parents.begin();i != Parents.end();i++) - if ((*i) == item) - { + if ((*i) == item) { Parents.erase(i); break; } @@ -2476,24 +2385,19 @@ public: toTemplateTableItem(toConnection &conn, toTemplateItem *parent, const QString &name) - : toTemplateItem(parent, name), Connection(conn) - {} - virtual QWidget *selectedWidget(QWidget *par) - { + : toTemplateItem(parent, name), Connection(conn) {} + virtual QWidget *selectedWidget(QWidget *par) { QString ptyp = parent()->parent()->text(0); QString object = parent()->text(0); QString typ = text(0); QString schema = parent()->parent()->parent()->text(0); - if (ptyp == "Synonyms") - { + if (ptyp == "Synonyms") { int pos = object.find(QString::fromLatin1(".")); - if (pos >= 0) - { + if (pos >= 0) { schema = object.mid(0, pos); object = object.mid(pos + 1); } - else - { + else { schema = QString::fromLatin1("PUBLIC"); } } @@ -2507,82 +2411,66 @@ "", par, Connection); - if (typ == qApp->translate("toBrowser", "Data")) - { + if (typ == qApp->translate("toBrowser", "Data")) { toResultContent *cnt = new toResultContent(tool); cnt->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Indexes")) - { + else if (typ == qApp->translate("toBrowser", "Indexes")) { res = new toResultIndexes(tool); } - else if (typ == qApp->translate("toBrowser", "Extents")) - { + else if (typ == qApp->translate("toBrowser", "Extents")) { new toResultExtent(tool); return tool; } - else if (typ == qApp->translate("toBrowser", "Constraints")) - { + else if (typ == qApp->translate("toBrowser", "Constraints")) { res = new toResultConstraint(tool); } - else if (typ == qApp->translate("toBrowser", "Triggers")) - { + else if (typ == qApp->translate("toBrowser", "Triggers")) { res = new toResultLong(true, false, toQuery::Background, tool); res->setReadAll(true); res->setSQL(SQLTableTrigger); } - else if (typ == qApp->translate("toBrowser", "SQL")) - { + else if (typ == qApp->translate("toBrowser", "SQL")) { toResultField *sql = new toResultField(tool); sql->setSQL(SQLViewSQL); sql->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Script")) - { + else if (typ == qApp->translate("toBrowser", "Script")) { toResultExtract *ext = new toResultExtract(true, tool); ext->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Information")) - { + else if (typ == qApp->translate("toBrowser", "Information")) { toResultItem *inf = new toResultItem(2, true, tool); - if (ptyp == qApp->translate("toBrowser", "Tables")) - { + if (ptyp == qApp->translate("toBrowser", "Tables")) { inf->setSQL(SQLTableInfo); } - else if (ptyp == qApp->translate("toBrowser", "Triggers")) - { + else if (ptyp == qApp->translate("toBrowser", "Triggers")) { inf->setSQL(SQLTriggerInfo); } - else if (ptyp == qApp->translate("toBrowser", "Indexes")) - { + else if (ptyp == qApp->translate("toBrowser", "Indexes")) { inf->setSQL(SQLIndexInfo); } inf->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Columns")) - { + else if (typ == qApp->translate("toBrowser", "Columns")) { res = new toResultLong(true, false, toQuery::Background, tool); res->setSQL(SQLTriggerCols); } - else if (typ == qApp->translate("toBrowser", "References")) - { + else if (typ == qApp->translate("toBrowser", "References")) { res = new toResultReferences(tool); } - else if (typ == qApp->translate("toBrowser", "Grants")) - { + else if (typ == qApp->translate("toBrowser", "Grants")) { res = new toResultLong(true, false, toQuery::Background, tool); res->setSQL(SQLAnyGrants); } - else if (typ == qApp->translate("toBrowser", "Dependencies")) - { + else if (typ == qApp->translate("toBrowser", "Dependencies")) { res = new toResultDepend(tool); } - else - { + else { delete tool; return NULL; } @@ -2597,16 +2485,13 @@ public: toTemplateSchemaItem(toConnection &conn, toTemplateItem *parent, const QString &name) - : toTemplateItem(parent, name), Connection(conn) - { + : toTemplateItem(parent, name), Connection(conn) { QString typ = parent->text(0); - if (typ == qApp->translate("toBrowser", "Tables")) - { + if (typ == qApp->translate("toBrowser", "Tables")) { QPixmap image(const_cast<const char**>(table_xpm)); setPixmap(0, image); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Indexes")); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Constraints")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "References")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); @@ -2614,18 +2499,15 @@ } new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Data")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Information")); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Extents")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Views")) - { + else if (typ == qApp->translate("toBrowser", "Views")) { QPixmap image(const_cast<const char**>(view_xpm)); setPixmap(0, image); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "SQL")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Data")); @@ -2633,33 +2515,27 @@ new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Sequences")) - { + else if (typ == qApp->translate("toBrowser", "Sequences")) { QPixmap image(const_cast<const char**>(sequence_xpm)); setPixmap(0, image); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Code")) - { + else if (typ == qApp->translate("toBrowser", "Code")) { QPixmap image(const_cast<const char**>(function_xpm)); setPixmap(0, image); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Dependencies")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Triggers")) - { + else if (typ == qApp->translate("toBrowser", "Triggers")) { QPixmap image(const_cast<const char**>(function_xpm)); setPixmap(0, image); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Information")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Columns")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); @@ -2667,43 +2543,36 @@ new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Indexes")) - { + else if (typ == qApp->translate("toBrowser", "Indexes")) { QPixmap image(const_cast<const char**>(index_xpm)); setPixmap(0, image); - if (toIsOracle(conn) || toIsSapDB(conn)) - { + if (toIsOracle(conn) || toIsSapDB(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Information")); } - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Information")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Extents")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } - else if (typ == qApp->translate("toBrowser", "Synonyms")) - { + else if (typ == qApp->translate("toBrowser", "Synonyms")) { QPixmap image(const_cast<const char**>(synonym_xpm)); setPixmap(0, image); - if (toIsOracle(conn)) - { + if (toIsOracle(conn)) { new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Grants")); new toTemplateTableItem(conn, this, qApp->translate("toBrowser", "Script")); } } } - virtual QString allText(int col) const - { + virtual QString allText(int col) const { QString txt = parent()->parent()->text(0); txt += QString::fromLatin1("."); txt += text(col); return txt; } - virtual QWidget *selectedWidget(QWidget *par) - { + virtual QWidget *selectedWidget(QWidget *par) { QString object = text(0); QString typ = parent()->text(0); QString schema = parent()->parent()->text(0); @@ -2714,8 +2583,7 @@ "", par, Connection); - if (typ == qApp->translate("toBrowser", "Code") || typ == qApp->translate("toBrowser", "Triggers")) - { + if (typ == qApp->translate("toBrowser", "Code") || typ == qApp->translate("toBrowser", "Triggers")) { toResultField *fld = new toResultField(tool); if (typ == qApp->translate("toBrowser", "Code")) fld->setSQL(SQLSQLTemplate); @@ -2724,33 +2592,27 @@ fld->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Tables") || typ == qApp->translate("toBrowser", "Views")) - { + else if (typ == qApp->translate("toBrowser", "Tables") || typ == qApp->translate("toBrowser", "Views")) { toResultCols *cols = new toResultCols(tool); cols->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Indexes")) - { + else if (typ == qApp->translate("toBrowser", "Indexes")) { toResultView *resultView = new toResultLong(true, false, toQuery::Background, tool); resultView->setSQL(SQLIndexCols); resultView->changeParams(schema, object); return tool; } - else if (typ == qApp->translate("toBrowser", "Synonyms") || typ == qApp->translate("toBrowser", "Sequences")) - { + else if (typ == qApp->translate("toBrowser", "Synonyms") || typ == qApp->translate("toBrowser", "Sequences")) { toResultItem *resultItem = new toResultItem(2, true, tool); - if (typ == qApp->translate("toBrowser", "Synonyms")) - { + if (typ == qApp->translate("toBrowser", "Synonyms")) { resultItem->setSQL(SQLSynonymInfo); int pos = object.find(QString::fromLatin1(".")); - if (pos >= 0) - { + if (pos >= 0) { schema = object.mid(0, pos); object = object.mid(pos + 1); } - else - { + else { schema = QString::fromLatin1("PUBLIC"); } } @@ -2759,8 +2621,7 @@ resultItem->changeParams(schema, object); return tool; } - else - { + else { delete tool; return NULL; } @@ -2772,28 +2633,22 @@ public: toTemplateSchemaList(toConnection &conn, toTemplateItem *parent, const QString &name, const QString &sql) - : toTemplateSQL(conn, parent, name, sql) - { } - virtual toTemplateItem *createChild(const QString &name) - { - try - { + : toTemplateSQL(conn, parent, name, sql) { } + virtual toTemplateItem *createChild(const QString &name) { + try { toBrowserFilter *filter = BrowseTemplate.filter(); toTemplateItem *item = new toTemplateSchemaItem(connection(), this, name); - if (filter && !filter->check(item)) - { + if (filter && !filter->check(item)) { delete item; return NULL; } return item; } - catch (...) - { + catch (...) { return NULL; } } - virtual toQList parameters(void) - { + virtual toQList parameters(void) { toQList ret; ret.insert(ret.end(), parent()->text(0)); toBrowserFilter *filter = BrowseTemplate.filter(); @@ -2810,18 +2665,14 @@ public: toTemplateDBItem(toConnection &conn, toTemplateItem *parent, const QString &name) - : toTemplateSQL(conn, parent, name, toSQL::string(toSQL::TOSQL_USERLIST, conn)) - {} - virtual ~toTemplateDBItem() - { + : toTemplateSQL(conn, parent, name, toSQL::string(toSQL::TOSQL_USERLIST, conn)) {} + virtual ~toTemplateDBItem() { toBrowseTemplate *prov = dynamic_cast<toBrowseTemplate *>(&provider()); if (prov) prov->removeItem(this); } - virtual toTemplateItem *createChild(const QString &name) - { - try - { + virtual toTemplateItem *createChild(const QString &name) { + try { toTemplateItem *item = new toTemplateItem(this, name); QPixmap image(const_cast<const char**>(schema_xpm)); item->setPixmap(0, image); @@ -2834,8 +2685,7 @@ toBrowserFilter *filter = BrowseTemplate.filter(); if (filter && filter->onlyOwnSchema() && - name.upper() != connection().user().upper()) - { + name.upper() != connection().user().upper()) { delete item; return NULL; } @@ -2845,8 +2695,7 @@ qApp->translate("toBrowser", "Tables"), toSQL::string(SQLListTables, connection())))->setPixmap(0, table); - if (toIsOracle(connection()) || toIsSapDB(connection())) - { + if (toIsOracle(connection()) || toIsSapDB(connection())) { (new toTemplateSchemaList(connection(), item, qApp->translate("toBrowser", "Views"), @@ -2857,8 +2706,7 @@ toSQL::string(SQLListIndex, connection())))->setPixmap(0, index); } - if (toIsOracle(connection())) - { + if (toIsOracle(connection())) { (new toTemplateSchemaList(connection(), item, qApp->translate("toBrowser", "Sequences"), @@ -2878,8 +2726,7 @@ } return item; } - catch (...) - { + catch (...) { return NULL; } } @@ -2889,18 +2736,15 @@ { public: toBrowseTemplateItem(toTemplateProvider &prov, Q3ListView *parent, const QString &name) - : toTemplateItem(prov, parent, name) - { } - virtual ~toBrowseTemplateItem() - { + : toTemplateItem(prov, parent, name) { } + virtual ~toBrowseTemplateItem() { dynamic_cast<toBrowseTemplate &>(provider()).removeItem(this); } }; void toBrowseTemplate::insertItems(Q3ListView *parent, QToolBar *toolbar) { - if (!Registered) - { + if (!Registered) { connect(toMainWidget(), SIGNAL(addedConnection(const QString &)), this, SLOT(addDatabase(const QString &))); connect(toMainWidget(), SIGNAL(removedConnection(const QString &)), @@ -2908,8 +2752,7 @@ } toTemplateItem *dbitem = new toBrowseTemplateItem(*this, parent, qApp->translate("toBrowser", "DB Browser")); std::list<QString> conn = toMainWidget()->connections(); - for (std::list<QString>::iterator i = conn.begin();i != conn.end();i++) - { + for (std::list<QString>::iterator i = conn.begin();i != conn.end();i++) { toConnection &conn = toMainWidget()->connection(*i); new toTemplateDBItem(conn, dbitem, *i); } @@ -2918,21 +2761,21 @@ FilterButton = new QToolButton(toolbar); FilterButton->setToggleButton(true); FilterButton->setIconSet(QIcon(QPixmap(const_cast<const char**>(filter_xpm)))); - QToolTip::add - (FilterButton, tr("Define the object filter for database browser")); + FilterButton->setToolTip(tr("Define the object filter for database browser")); + toolbar->addWidget(FilterButton); connect(FilterButton, SIGNAL(toggled(bool)), this, ... [truncated message content] |
From: <mrj...@us...> - 2007-12-06 07:04:11
|
Revision: 2295 http://tora.svn.sourceforge.net/tora/?rev=2295&view=rev Author: mrjohnson0 Date: 2007-12-05 23:04:11 -0800 (Wed, 05 Dec 2007) Log Message: ----------- create class toWorksheetWidget (suitable worksheet to be inserted into other tools without menus, excessive toolbars, etc) to replace the Light stuff i removed from toWorksheet. change dependant classes to use the widget class. Modified Paths: -------------- branches/tora-1.4/tora/src/Makefile.am branches/tora-1.4/tora/src/tomain.h branches/tora-1.4/tora/src/toprofiler.cpp branches/tora-1.4/tora/src/toprofiler.h branches/tora-1.4/tora/src/toresultextract.cpp branches/tora-1.4/tora/src/toresultextract.h branches/tora-1.4/tora/src/toworksheet.cpp branches/tora-1.4/tora/src/toworksheet.h Added Paths: ----------- branches/tora-1.4/tora/src/toworksheetwidget.cpp branches/tora-1.4/tora/src/toworksheetwidget.h Modified: branches/tora-1.4/tora/src/Makefile.am =================================================================== --- branches/tora-1.4/tora/src/Makefile.am 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/Makefile.am 2007-12-06 07:04:11 UTC (rev 2295) @@ -139,6 +139,8 @@ totuning.cpp totuning.h \ tochangeconnection.cpp tochangeconnection.h \ toworksheet.cpp toworksheet.h \ + toworksheetwidget.cpp toworksheetwidget.h \ + toworksheettext.cpp toworksheettext.h \ toworksheetstatistic.cpp toworksheetstatistic.h \ tobrowserconstraint.cpp tobrowserconstraint.h \ tobrowserconstraintui.h \ @@ -361,6 +363,8 @@ moc_tovisualize.cpp \ moc_towaitevents.cpp \ moc_toworksheet.cpp \ + moc_toworksheetwidget.cpp \ + moc_toworksheettext.cpp \ moc_toworksheetstatistic.cpp \ moc_utils.cpp \ ui_toaboutui.h \ Modified: branches/tora-1.4/tora/src/tomain.h =================================================================== --- branches/tora-1.4/tora/src/tomain.h 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/tomain.h 2007-12-06 07:04:11 UTC (rev 2295) @@ -287,12 +287,6 @@ } /** - * Close window - * @param del If user interaction is allowed. - * @return True if close was allowed, otherwise false. - */ - virtual bool close(bool del); - /** * Create the default tool for the current connection. * * This is the tool with the highest priority, usually the SQL worksheet. @@ -445,6 +439,12 @@ void willCommit(toConnection &conn, bool cmt); public slots: + /** + * Close window + * @param del If user interaction is allowed. + * @return True if close was allowed, otherwise false. + */ + bool close(); /** Used to enable/disable entries in the windows menu */ void updateWindowsMenu(); Modified: branches/tora-1.4/tora/src/toprofiler.cpp =================================================================== --- branches/tora-1.4/tora/src/toprofiler.cpp 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toprofiler.cpp 2007-12-06 07:04:11 UTC (rev 2295) @@ -46,7 +46,7 @@ #include "toresultlong.h" #include "tosql.h" #include "totool.h" -#include "toworksheet.h" +#include "toworksheetwidget.h" #include <qcombobox.h> #include <qlabel.h> @@ -508,7 +508,7 @@ new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); Tabs = new QTabWidget(this); - Script = new toWorksheet(Tabs, NULL, connection); + Script = new toWorksheetWidget(Tabs, NULL, connection); Tabs->addTab(Script, tr("Script")); Result = new QSplitter(Tabs); Modified: branches/tora-1.4/tora/src/toprofiler.h =================================================================== --- branches/tora-1.4/tora/src/toprofiler.h 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toprofiler.h 2007-12-06 07:04:11 UTC (rev 2295) @@ -51,7 +51,7 @@ class toProfilerUnits; class toResultItem; class toResultLong; -class toWorksheet; +class toWorksheetWidget; class toProfiler : public toToolWidget { @@ -70,7 +70,7 @@ toResultItem *Info; toProfilerUnits *Units; toProfilerSource *Lines; - toWorksheet *Script; + toWorksheetWidget *Script; public: toProfiler(QWidget *parent, toConnection &connection); public slots: @@ -79,9 +79,8 @@ void execute(void); void changeObject(void); void calcTotals(void); - void noTables(void) - { - close(false); + void noTables(void) { + close(); } }; Modified: branches/tora-1.4/tora/src/toresultextract.cpp =================================================================== --- branches/tora-1.4/tora/src/toresultextract.cpp 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toresultextract.cpp 2007-12-06 07:04:11 UTC (rev 2295) @@ -47,7 +47,7 @@ toResultExtract::toResultExtract(bool prompt, QWidget *parent, const char *name) - : toWorksheet(parent, name, toCurrentConnection(parent)) + : toWorksheetWidget(parent, name, toCurrentConnection(parent)) { Prompt = prompt; } Modified: branches/tora-1.4/tora/src/toresultextract.h =================================================================== --- branches/tora-1.4/tora/src/toresultextract.h 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toresultextract.h 2007-12-06 07:04:11 UTC (rev 2295) @@ -40,7 +40,7 @@ #include "config.h" #include "toresult.h" -#include "toworksheet.h" +#include "toworksheetwidget.h" class toSQL; @@ -48,7 +48,7 @@ * @ref toExtract class to do this. */ -class toResultExtract : public toWorksheet, public toResult +class toResultExtract : public toWorksheetWidget, public toResult { Q_OBJECT Modified: branches/tora-1.4/tora/src/toworksheet.cpp =================================================================== --- branches/tora-1.4/tora/src/toworksheet.cpp 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toworksheet.cpp 2007-12-06 07:04:11 UTC (rev 2295) @@ -59,6 +59,7 @@ #include "toworksheet.h" #include "ui_toworksheetsetupui.h" #include "toworksheetstatistic.h" +#include "toworksheettext.h" #include <q3accel.h> #include <qcheckbox.h> @@ -215,102 +216,6 @@ static toWorksheetTool WorksheetTool; -class toWorksheetText : public toHighlightedText { - toWorksheet *Worksheet; -public: - toWorksheetText(toWorksheet *worksheet, QWidget *parent, const char *name = NULL) - : toHighlightedText(parent, name), Worksheet(worksheet) { } - /** Reimplemented for internal reasons. - */ - virtual void keyPressEvent(QKeyEvent *e) { - if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "Ctrl+Return", "Worksheet|Execute current")))) { - Worksheet->execute(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "F8", "Worksheet|Execute all")))) { - Worksheet->executeAll(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "F9", "Worksheet|Execute next")))) { - Worksheet->executeStep(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "Shift+F9", "Worksheet|Execute newline separated")))) { - Worksheet->executeNewline(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "F7", "Worksheet|Execute saved SQL")))) { - Worksheet->executeSaved(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "Shift+F7", "Worksheet|Insert saved SQL")))) { - Worksheet->insertSaved(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "F4", "Worksheet|Describe under cursor")))) { - Worksheet->describe(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "Alt+Up", "Worksheet|Previous log entry")))) { - Worksheet->executePreviousLog(); - e->accept(); - } - else if (toCheckKeyEvent(e, QKeySequence(qApp->translate("toWorksheet", "Alt+Down", "Worksheet|Next log entry")))) { - Worksheet->executeNextLog(); - e->accept(); - } - else { - toHighlightedText::keyPressEvent(e); - } - } - virtual bool editSave(bool askfile) { - bool ret = toHighlightedText::editSave(askfile); - Worksheet->setCaption(); - return ret; - } - virtual bool editOpen(QString suggestedFile) { - int ret = 1; - if (isModified()) { - ret = TOMessageBox::information( - this, - qApp->translate("toWorksheetText", "Save changes?"), - qApp->translate("toWorksheetText", "The editor has been changed. Do you want to save them,\n" - "discard changes or open file in new worksheet?"), - qApp->translate("toWorksheetText", "&Save"), - qApp->translate("toWorksheetText", "&Discard"), - qApp->translate("toWorksheetText", "&New worksheet"), 0); - if (ret < 0) - return false; - else if (ret == 0) { - if (!editSave(false)) - return false; - } - } - - QString fname; - if (suggestedFile != QString::null) - fname = suggestedFile; - else { - QFileInfo file(filename()); - fname = toOpenFilename(file.dirPath(), QString::null, this); - } - if (fname.isEmpty()) - return false; - try { - if (ret == 2) - toWorksheet::fileWorksheet(fname); - else { - openFilename(fname); - Worksheet->setCaption(); - } - return true; - } - TOCATCH - - return false; - } -}; - void toWorksheet::viewResources(void) { try { QString address = toSQLToAddress(connection(), QueryString); @@ -328,12 +233,7 @@ #define TOWORKSHEET "toWorksheet:" -void toWorksheet::setup(bool autoLoad) { - QToolBar *workToolbar = toAllocBar(this, tr("SQL worksheet")); - - // ---------------------------------------- - // actions not used here -- they're for menu and context menu - +void toWorksheet::createActions() { executeNewlineAct = new QAction(tr("Execute &Newline Separated"), this); executeNewlineAct->setShortcut(Qt::SHIFT + Qt::Key_F9); connect(executeNewlineAct, SIGNAL(triggered()), this, SLOT(executeNewline(void))); @@ -345,77 +245,98 @@ editSavedAct = new QAction(tr("Edit Saved SQL..."), this); connect(editSavedAct, SIGNAL(triggered()), this, SLOT(editSaved(void))); - // ---------------------------------------- - // toolbar actions - executeAct = new QAction(QPixmap(const_cast<const char**>(execute_xpm)), tr("Execute current statement"), this); executeAct->setShortcut(Qt::CTRL + Qt::Key_Return); connect(executeAct, SIGNAL(triggered()), this, SLOT(execute(void))); - workToolbar->addAction(executeAct); executeStepAct = new QAction(QPixmap(const_cast<const char**>(executestep_xpm)), tr("Step through statements"), this); executeStepAct->setShortcut(Qt::Key_F9); connect(executeStepAct, SIGNAL(triggered()), this, SLOT(executeStep(void))); - workToolbar->addAction(executeStepAct); executeAllAct = new QAction(QPixmap(const_cast<const char**>(executeall_xpm)), tr("Execute all statements"), this); executeAllAct->setShortcut(Qt::Key_F8); connect(executeAllAct, SIGNAL(triggered()), this, SLOT(executeAll(void))); - workToolbar->addAction(executeAllAct); - workToolbar->addSeparator(); - refreshAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), tr("Reexecute Last Statement"), this); refreshAct->setShortcut(QKeySequence::Refresh); connect(refreshAct, SIGNAL(triggered()), this, SLOT(refreshSetup(void))); - workToolbar->addAction(refreshAct); - workToolbar->addSeparator(); - describeAct = new QAction(QPixmap(const_cast<const char**>(describe_xpm)), tr("Describe under cursor"), this); describeAct->setShortcut(Qt::Key_F4); connect(describeAct, SIGNAL(triggered()), this, SLOT(describe(void))); - workToolbar->addAction(describeAct); explainAct = new QAction(QPixmap(const_cast<const char**>(explainplan_xpm)), tr("Explain plan of current statement"), this); explainAct->setShortcut(Qt::Key_F3); connect(explainAct, SIGNAL(triggered()), this, SLOT(explainPlan(void))); - workToolbar->addAction(explainAct); stopAct = new QAction(QPixmap(const_cast<const char**>(stop_xpm)), tr("Stop execution"), this); connect(stopAct, SIGNAL(triggered()), this, SLOT(stop(void))); - workToolbar->addAction(stopAct); stopAct->setEnabled(false); - workToolbar->addSeparator(); - eraseAct = new QAction(QPixmap(const_cast<const char**>(eraselog_xpm)), tr("Clear execution log"), this); connect(eraseAct, SIGNAL(triggered()), this, SLOT(eraseLogButton(void))); - workToolbar->addAction(eraseAct); - workToolbar->addSeparator(); - statisticAct = new QAction(QPixmap(const_cast<const char**>(clock_xpm)), tr("Gather session statistic of execution"), this); statisticAct->setCheckable(true); connect(statisticAct, SIGNAL(toggled(bool)), this, SLOT(enableStatistic(bool))); + + previousAct = new QAction(QPixmap(const_cast<const char**>(up_xpm)), + tr("Previous log entry"), + this); + connect(previousAct, SIGNAL(triggered()), this, SLOT(executePreviousLog(void))); + + nextAct = new QAction(QPixmap(const_cast<const char**>(down_xpm)), + tr("Next log entry"), + this); + connect(nextAct, SIGNAL(triggered()), this, SLOT(executeNextLog(void))); + + saveLastAct = new QAction(QPixmap(const_cast<const char**>(previous_xpm)), + tr("Save last SQL"), + this); + connect(saveLastAct, SIGNAL(triggered()), this, SLOT(saveLast(void))); +} + + +void toWorksheet::setup(bool autoLoad) { + QToolBar *workToolbar = toAllocBar(this, tr("SQL worksheet")); + + workToolbar->addAction(executeAct); + workToolbar->addAction(executeStepAct); + workToolbar->addAction(executeAllAct); + + workToolbar->addSeparator(); + workToolbar->addAction(refreshAct); + + workToolbar->addSeparator(); + workToolbar->addAction(describeAct); + workToolbar->addAction(explainAct); + + workToolbar->addAction(stopAct); + + workToolbar->addSeparator(); + + workToolbar->addAction(eraseAct); + + workToolbar->addSeparator(); + workToolbar->addAction(statisticAct); workToolbar->addWidget(new QLabel(tr("Refresh") + " ", @@ -435,16 +356,8 @@ workToolbar->addSeparator(); - previousAct = new QAction(QPixmap(const_cast<const char**>(up_xpm)), - tr("Previous log entry"), - this); - connect(previousAct, SIGNAL(triggered()), this, SLOT(executePreviousLog(void))); workToolbar->addAction(previousAct); - nextAct = new QAction(QPixmap(const_cast<const char**>(down_xpm)), - tr("Next log entry"), - this); - connect(nextAct, SIGNAL(triggered()), this, SLOT(executeNextLog(void))); workToolbar->addAction(nextAct); workToolbar->addSeparator(); @@ -473,10 +386,6 @@ this, SLOT(executeSaved(QAction *))); - saveLastAct = new QAction(QPixmap(const_cast<const char**>(previous_xpm)), - tr("Save last SQL"), - this); - connect(saveLastAct, SIGNAL(triggered()), this, SLOT(saveLast(void))); workToolbar->addAction(saveLastAct); workToolbar->addWidget(Started = new QLabel(workToolbar)); @@ -638,14 +547,20 @@ toWorksheet::toWorksheet(QWidget *main, toConnection &connection, bool autoLoad) : toToolWidget(WorksheetTool, "worksheet.html", main, connection) { + + createActions(); setup(autoLoad); } + +// private for toworksheetwidget toWorksheet::toWorksheet(QWidget *main, const char *name, toConnection &connection) : toToolWidget(WorksheetTool, "worksheetlight.html", main, connection, name) { - setup(false); +// setup(false); + createActions(); } + void toWorksheet::changeRefresh(const QString &str) { try { if (stopAct->isEnabled() && statisticAct->isChecked()) @@ -757,14 +672,23 @@ return true; } -bool toWorksheet::close(bool del) { +bool toWorksheet::close() { if (checkSave(true)) { Result->stop(); - return Q3VBox::close(del); + return Q3VBox::close(true); } return false; } + +void toWorksheet::closeEvent(QCloseEvent *event) { + if(close()) + event->accept(); + else + event->ignore(); +} + + toWorksheet::~toWorksheet() { checkSave(false); eraseLogButton(); @@ -1342,6 +1266,9 @@ } void toWorksheet::eraseLogButton() { + if(!Logging) + return; + Logging->clear(); LastLogItem = NULL; for (std::map<int, QWidget *>::iterator i = History.begin();i != History.end();i++) @@ -1350,6 +1277,7 @@ } void toWorksheet::queryDone(void) { + printf("query done\n"); if (!First && !QueryString.isEmpty()) addLog(QueryString, toConnection::exception(tr("Aborted")), false); else Modified: branches/tora-1.4/tora/src/toworksheet.h =================================================================== --- branches/tora-1.4/tora/src/toworksheet.h 2007-12-06 07:01:55 UTC (rev 2294) +++ branches/tora-1.4/tora/src/toworksheet.h 2007-12-06 07:04:11 UTC (rev 2295) @@ -71,11 +71,14 @@ class toResultStats; class toVisualize; class toTabWidget; +class toWorksheetWidget; -class toWorksheet : public toToolWidget -{ - Q_OBJECT +class toWorksheet : public toToolWidget { + Q_OBJECT; + + friend class toWorksheetWidget; + toHighlightedText *Editor; toTabWidget *ResultTab; toResultLong *Result; @@ -157,13 +160,19 @@ void execute(toSQLParse::tokenizer &tokens, int line, int pos, execType type); void insertStatement(const QString &); + + void createActions(); + + // private for toworksheetwidget + toWorksheet(QWidget *parent, const char *name, toConnection &connection); + +protected: + void closeEvent(QCloseEvent *event); + public: toWorksheet(QWidget *parent, toConnection &connection, bool autoLoad = true); - toWorksheet(QWidget *parent, const char *name, toConnection &connection); virtual ~toWorksheet(); - virtual bool close(bool del); - toHighlightedText *editor(void) { return Editor; @@ -184,6 +193,7 @@ signals: void executed(void); public slots: + bool close(); void changeSchema(void); void connectionChanged(void); void refresh(); Added: branches/tora-1.4/tora/src/toworksheetwidget.cpp =================================================================== --- branches/tora-1.4/tora/src/toworksheetwidget.cpp (rev 0) +++ branches/tora-1.4/tora/src/toworksheetwidget.cpp 2007-12-06 07:04:11 UTC (rev 2295) @@ -0,0 +1,112 @@ +/***** +* +* TOra - An Oracle Toolkit for DBA's and developers +* Copyright (C) 2003-2005 Quest Software, Inc +* Portions Copyright (C) 2005 Other Contributors +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; only version 2 of +* the License is valid for this program. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +* As a special exception, you have permission to link this program +* with the Oracle Client libraries and distribute executables, as long +* as you follow the requirements of the GNU GPL in regard to all of the +* software in the executable aside from Oracle client libraries. +* +* Specifically you are not permitted to link this program with the +* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. +* And you are not permitted to distribute binaries compiled against +* these libraries without written consent from Quest Software, Inc. +* Observe that this does not disallow linking to the Qt Free Edition. +* +* You may link this product with any GPL'd Qt library such as Qt/Free +* +* All trademarks belong to their respective owners. +* +* mrjohnson: this file was a split from toworksheet, which used to +* have a Light boolean that it used to trim down the editor to be +* suitable for adding to other tools. this is better. +* +*****/ + +#include "config.h" + +#include "utils.h" +#include "toworksheetwidget.h" +#include "toworksheettext.h" +#include "toresultlong.h" + + +toWorksheetWidget::toWorksheetWidget(QWidget *main, + const char *name, + toConnection &connection) + : toWorksheet(main, name, connection) { + + setup(false); +} + + +void toWorksheetWidget::setup(bool autoLoad) { + QToolBar *workToolbar = toAllocBar(this, tr("Worksheet Widget")); + + workToolbar->addAction(executeAct); + workToolbar->addAction(executeStepAct); + workToolbar->addAction(executeAllAct); + workToolbar->addAction(refreshAct); + + RefreshSeconds = 60; + connect(&RefreshTimer, SIGNAL(timeout()), this, SLOT(refresh())); + + Editor = new toWorksheetText(this, this); + Current = Result = new toResultLong(this); + Result->hide(); + + connect(Result, SIGNAL(done(void)), this, SLOT(queryDone(void))); + connect( + Result, + SIGNAL(firstResult( + const QString &, + const toConnection::exception &, bool)), + this, + SLOT(addLog( + const QString &, + const toConnection::exception &, bool))); + + ResultTab = NULL; + Plan = NULL; + CurrentTab = NULL; + Resources = NULL; + Statistics = NULL; + Logging = NULL; + LastLogItem = NULL; + StatTab = NULL; + Columns = NULL; + Refresh = NULL; + ToolMenu = NULL; + Visualize = NULL; + WaitChart = IOChart = NULL; + + workToolbar->addSeparator(); + + workToolbar->addAction(stopAct); + stopAct->setEnabled(false); + + workToolbar->addWidget(Started = new QLabel(workToolbar)); + Started->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); +} + + +// override parent. +void toWorksheetWidget::windowActivated(QWidget *widget) { + return; +} Added: branches/tora-1.4/tora/src/toworksheetwidget.h =================================================================== --- branches/tora-1.4/tora/src/toworksheetwidget.h (rev 0) +++ branches/tora-1.4/tora/src/toworksheetwidget.h 2007-12-06 07:04:11 UTC (rev 2295) @@ -0,0 +1,58 @@ +/***** +* +* TOra - An Oracle Toolkit for DBA's and developers +* Copyright (C) 2003-2005 Quest Software, Inc +* Portions Copyright (C) 2005 Other Contributors +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; only version 2 of +* the License is valid for this program. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +* As a special exception, you have permission to link this program +* with the Oracle Client libraries and distribute executables, as long +* as you follow the requirements of the GNU GPL in regard to all of the +* software in the executable aside from Oracle client libraries. +* +* Specifically you are not permitted to link this program with the +* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. +* And you are not permitted to distribute binaries compiled against +* these libraries without written consent from Quest Software, Inc. +* Observe that this does not disallow linking to the Qt Free Edition. +* +* You may link this product with any GPL'd Qt library such as Qt/Free +* +* All trademarks belong to their respective owners. +* +*****/ + +#ifndef TOWORKSHEET_WIDGET_H +#define TOWORKSHEET_WIDGET_H + +#include "config.h" + +#include "toworksheet.h" + + +class toWorksheetWidget : public toWorksheet { + Q_OBJECT + +public: + toWorksheetWidget(QWidget *parent, + const char *name, + toConnection &connection); + + void setup(bool autoLoad); + void windowActivated(QWidget *widget); +}; + +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-06 14:21:54
|
Revision: 2297 http://tora.svn.sourceforge.net/tora/?rev=2297&view=rev Author: mrjohnson0 Date: 2007-12-06 06:21:58 -0800 (Thu, 06 Dec 2007) Log Message: ----------- split from toworksheet Added Paths: ----------- branches/tora-1.4/tora/src/toworksheettext.cpp branches/tora-1.4/tora/src/toworksheettext.h Added: branches/tora-1.4/tora/src/toworksheettext.cpp =================================================================== --- branches/tora-1.4/tora/src/toworksheettext.cpp (rev 0) +++ branches/tora-1.4/tora/src/toworksheettext.cpp 2007-12-06 14:21:58 UTC (rev 2297) @@ -0,0 +1,106 @@ +/***** + * + * TOra - An Oracle Toolkit for DBA's and developers + * Copyright (C) 2003-2005 Quest Software, Inc + * Portions Copyright (C) 2005 Other Contributors + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; only version 2 of + * the License is valid for this program. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * As a special exception, you have permission to link this program + * with the Oracle Client libraries and distribute executables, as long + * as you follow the requirements of the GNU GPL in regard to all of the + * software in the executable aside from Oracle client libraries. + * + * Specifically you are not permitted to link this program with the + * Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. + * And you are not permitted to distribute binaries compiled against + * these libraries without written consent from Quest Software, Inc. + * Observe that this does not disallow linking to the Qt Free Edition. + * + * You may link this product with any GPL'd Qt library such as Qt/Free + * + * All trademarks belong to their respective owners. + * + *****/ + +#include "config.h" + +#include "toworksheettext.h" + +#include "utils.h" +#include "toworksheet.h" + +#include <QMessageBox> +#include <QFileInfo> + + +toWorksheetText::toWorksheetText(toWorksheet *worksheet, + QWidget *parent, + const char *name) + : toHighlightedText(parent, name), Worksheet(worksheet) { } + + +bool toWorksheetText::editSave(bool askfile) { + bool ret = toHighlightedText::editSave(askfile); + Worksheet->setCaption(); + return ret; +} + + +bool toWorksheetText::editOpen(QString suggestedFile) { + int ret = 1; + if(isModified()) { + ret = TOMessageBox::information( + this, + qApp->translate("toWorksheetText", "Save changes?"), + qApp->translate( + "toWorksheetText", + "The editor has been changed. Do you want to save them,\n" + "discard changes or open file in new worksheet?"), + qApp->translate("toWorksheetText", "&Save"), + qApp->translate("toWorksheetText", "&Discard"), + qApp->translate("toWorksheetText", "&New worksheet"), 0); + + if(ret < 0) + return false; + else if(ret == 0) { + if(!editSave(false)) + return false; + } + } + + QString fname; + if(suggestedFile != QString::null) + fname = suggestedFile; + else { + QFileInfo file(filename()); + fname = toOpenFilename(file.dirPath(), QString::null, this); + } + if(fname.isEmpty()) + return false; + try { + if(ret == 2) + toWorksheet::fileWorksheet(fname); + else { + openFilename(fname); + Worksheet->setCaption(); + } + return true; + } + TOCATCH; + + return false; +} + Added: branches/tora-1.4/tora/src/toworksheettext.h =================================================================== --- branches/tora-1.4/tora/src/toworksheettext.h (rev 0) +++ branches/tora-1.4/tora/src/toworksheettext.h 2007-12-06 14:21:58 UTC (rev 2297) @@ -0,0 +1,59 @@ +/***** +* +* TOra - An Oracle Toolkit for DBA's and developers +* Copyright (C) 2003-2005 Quest Software, Inc +* Portions Copyright (C) 2005 Other Contributors +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; only version 2 of +* the License is valid for this program. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +* As a special exception, you have permission to link this program +* with the Oracle Client libraries and distribute executables, as long +* as you follow the requirements of the GNU GPL in regard to all of the +* software in the executable aside from Oracle client libraries. +* +* Specifically you are not permitted to link this program with the +* Qt/UNIX, Qt/Windows or Qt Non Commercial products of TrollTech. +* And you are not permitted to distribute binaries compiled against +* these libraries without written consent from Quest Software, Inc. +* Observe that this does not disallow linking to the Qt Free Edition. +* +* You may link this product with any GPL'd Qt library such as Qt/Free +* +* All trademarks belong to their respective owners. +* +*****/ + +#ifndef TOWORKSHEET_TEXT_H +#define TOWORKSHEET_TEXT_H + +#include "config.h" + +#include "tohighlightedtext.h" +#include "toworksheet.h" + +class toWorksheetText : public toHighlightedText { + toWorksheet *Worksheet; + +public: + toWorksheetText(toWorksheet *worksheet, + QWidget *parent, + const char *name = NULL); + + virtual bool editSave(bool askfile); + virtual bool editOpen(QString suggestedFile); +}; + + +#endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-10 10:12:29
|
Revision: 2307 http://tora.svn.sourceforge.net/tora/?rev=2307&view=rev Author: mrjohnson0 Date: 2007-12-10 02:12:31 -0800 (Mon, 10 Dec 2007) Log Message: ----------- first pass at qt4 port. needs some more work to fix when within tobrowser Modified Paths: -------------- branches/tora-1.4/tora/src/toresultitem.cpp branches/tora-1.4/tora/src/toresultitem.h Modified: branches/tora-1.4/tora/src/toresultitem.cpp =================================================================== --- branches/tora-1.4/tora/src/toresultitem.cpp 2007-12-08 16:41:03 UTC (rev 2306) +++ branches/tora-1.4/tora/src/toresultitem.cpp 2007-12-10 10:12:31 UTC (rev 2307) @@ -53,40 +53,40 @@ //Added by qt3to4: #include <QResizeEvent> +static toSQL SQLResource( + "toResultResources:Information", + "SELECT 'Total' \"-\", 'per Execution' \"-\", 'per Row processed' \"-\",\n" + " Sorts, DECODE(Executions,0,'N/A',ROUND(Sorts/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Sorts/Rows_Processed,3)) \" \",\n" + " Parse_Calls \"Parse\", DECODE(Executions,0,'N/A',ROUND(Parse_Calls/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Parse_Calls/Rows_Processed,3)) \" \",\n" + " Disk_Reads, DECODE(Executions,0,'N/A',ROUND(Disk_Reads/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Disk_Reads/Rows_Processed,3)) \" \",\n" + " Buffer_Gets, DECODE(Executions,0,'N/A',ROUND(Buffer_Gets/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Buffer_Gets/Rows_Processed,3)) \" \",\n" + " Rows_Processed, DECODE(Executions,0,'N/A',ROUND(Rows_Processed/Executions,3)) \" \",' ' \"-\",\n" + " Executions, ' ' \"-\", ' ' \"-\",\n" + " ' ' \"-\", ' ' \"-\", ' ' \"-\",\n" + " Loads, First_Load_Time, Parsing_User_Id,\n" + " Parsing_Schema_Id, Users_Executing, Users_Opening,\n" + " Open_Versions, Sharable_Mem, Kept_Versions,\n" + " Persistent_Mem, Optimizer_Mode, Loaded_Versions,\n" + " Runtime_Mem, Serializable_Aborts, Invalidations\n" + " FROM v$sqlarea WHERE Address||':'||Hash_Value = :f1<char[100]>", + "Display information about an SQL statement"); -static toSQL SQLResource("toResultResources:Information", - "SELECT 'Total' \"-\", 'per Execution' \"-\", 'per Row processed' \"-\",\n" - " Sorts, DECODE(Executions,0,'N/A',ROUND(Sorts/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Sorts/Rows_Processed,3)) \" \",\n" - " Parse_Calls \"Parse\", DECODE(Executions,0,'N/A',ROUND(Parse_Calls/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Parse_Calls/Rows_Processed,3)) \" \",\n" - " Disk_Reads, DECODE(Executions,0,'N/A',ROUND(Disk_Reads/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Disk_Reads/Rows_Processed,3)) \" \",\n" - " Buffer_Gets, DECODE(Executions,0,'N/A',ROUND(Buffer_Gets/Executions,3)) \" \", DECODE(Rows_Processed,0,'N/A',ROUND(Buffer_Gets/Rows_Processed,3)) \" \",\n" - " Rows_Processed, DECODE(Executions,0,'N/A',ROUND(Rows_Processed/Executions,3)) \" \",' ' \"-\",\n" - " Executions, ' ' \"-\", ' ' \"-\",\n" - " ' ' \"-\", ' ' \"-\", ' ' \"-\",\n" - " Loads, First_Load_Time, Parsing_User_Id,\n" - " Parsing_Schema_Id, Users_Executing, Users_Opening,\n" - " Open_Versions, Sharable_Mem, Kept_Versions,\n" - " Persistent_Mem, Optimizer_Mode, Loaded_Versions,\n" - " Runtime_Mem, Serializable_Aborts, Invalidations\n" - " FROM v$sqlarea WHERE Address||':'||Hash_Value = :f1<char[100]>", - "Display information about an SQL statement"); +toResultResources::toResultResources(QWidget *parent, const char *name) + : toResultItem(3, true, parent, name) { -toResultResources::toResultResources(QWidget *parent, const char *name) - : toResultItem(3, true, parent, name) -{ setSQL(SQLResource); } -void toResultItem::setup(int num, bool readable) -{ - enableClipper(true); +void toResultItem::setup(int num, bool readable) { +// enableClipper(true); ReadableColumns = readable; NumWidgets = 0; WidgetPos = 0; + Columns = num; // FIXME qt4 viewport()->setBackgroundMode(QPalette::Window); - Result = new Q3Grid(2 * num, viewport()); - Result->setFixedWidth(width() - 30); - addChild(Result); + setBackgroundRole(QPalette::Window); + Result = new QGridLayout(this); // set as layout for widget +// Result->setFixedWidth(width() - 30); Result->setSpacing(3); ShowTitle = true; Right = true; @@ -95,78 +95,90 @@ connect(&Poll, SIGNAL(timeout()), this, SLOT(poll())); } -toResultItem::toResultItem(int num, bool readable, QWidget *parent, const char *name) - : Q3ScrollView(parent, name), DataFont(QFont::defaultFont()) -{ +toResultItem::toResultItem(int num, + bool readable, + QWidget *parent, + const char *name) + : QScrollArea(parent), DataFont(QFont::defaultFont()) { + setup(num, readable); } toResultItem::toResultItem(int num, QWidget *parent, const char *name) - : Q3ScrollView(parent, name), DataFont(QFont::defaultFont()) -{ + : QScrollArea(parent), DataFont(QFont::defaultFont()) { + setup(num, false); } -toResultItem::~toResultItem() -{ +toResultItem::~toResultItem() { delete Query; } -void toResultItem::start(void) -{ +void toResultItem::start(void) { WidgetPos = 0; } // Must be alloced in multiples of 2 #define ALLOC_SIZE 1000 -QWidget *toResultItem::createTitle(QWidget *parent) -{ - QLabel *widget = new QLabel(parent); - widget->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs | Qt::WordBreak); +QWidget *toResultItem::createTitle(void) { + QLabel *widget = new QLabel(this); + widget->setAlignment(Qt::AlignRight | + Qt::AlignVCenter | + Qt::ExpandTabs | + Qt::WordBreak); return widget; } -QWidget *toResultItem::createValue(QWidget *parent) -{ - QLabel *widget = new QLabel(parent); +QWidget *toResultItem::createValue(void) { + QLabel *widget = new QLabel(this); return widget; } -void toResultItem::setTitle(QWidget *widget, const QString &title, const QString &) -{ +void toResultItem::setTitle(QWidget *widget, + const QString &title, + const QString &) { QLabel *label = static_cast<QLabel *>(widget); - if (label) + if(label) { label->setText(title); + + int col = WidgetPos % (Columns * 2); + Result->addWidget(label, (int) WidgetPos / (Columns * 2), col); + } } -void toResultItem::setValue(QWidget *widget, const QString &title, const QString &value) -{ +void toResultItem::setValue(QWidget *widget, + const QString &title, + const QString &value) { QLabel *label = static_cast<QLabel *>(widget); - if (label) - { - if (title != "-") - { + if (label) { + if (title != "-") { label->setFrameStyle(StyledPanel | Sunken); label->setFont(DataFont); } - else - { + else { label->setFrameStyle(NoFrame); label->setFont(qApp->font()); } label->setText(value); if (Right) - label->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs | Qt::WordBreak); + label->setAlignment(Qt::AlignRight | + Qt::AlignVCenter | + Qt::ExpandTabs | + Qt::WordBreak); else - label->setAlignment(Qt::AlignLeft | Qt::AlignVCenter | Qt::ExpandTabs | Qt::WordBreak); + label->setAlignment(Qt::AlignLeft | + Qt::AlignVCenter | + Qt::ExpandTabs | + Qt::WordBreak); + + int col = WidgetPos % (Columns * 2); + Result->addWidget(label, (int) WidgetPos / (Columns * 2), col); } } -void toResultItem::addItem(const QString &title, const QString &value) -{ - if (WidgetPos >= NumWidgets) - { +void toResultItem::addItem(const QString &title, const QString &value) { + if (WidgetPos >= NumWidgets) { NumWidgets += ALLOC_SIZE; Widgets.resize(NumWidgets, 0); } @@ -174,9 +186,8 @@ if (title != "-") t = toTranslateMayby(sqlName(), title); QWidget *widget; - if (!Widgets[WidgetPos]) - { - widget = createTitle(Result); + if (!Widgets[WidgetPos]) { + widget = createTitle(); Widgets[WidgetPos] = widget; } else @@ -189,9 +200,8 @@ widget->hide(); WidgetPos++; - if (!Widgets[WidgetPos]) - { - widget = createValue(Result); + if (!Widgets[WidgetPos]) { + widget = createValue(); Widgets[WidgetPos] = widget; } else @@ -202,33 +212,38 @@ WidgetPos++; } -void toResultItem::done(void) -{ - for (int i = WidgetPos;i < NumWidgets;i++) +void toResultItem::done(void) { + for(int i = WidgetPos; i < NumWidgets; i++) { if (Widgets[i]) Widgets[i]->hide(); - QLayout *l = layout(); - if (l) - l->invalidate(); + } + + int rows = WidgetPos / (Columns * 2); + + // by default, no rows my stretch except when none can. then they + // will all resize regardless of what flags you pass to the + // layout. + + // add a label past the data to stretch. + Result->addWidget(new QLabel(this), rows + 1, 0); + Result->setRowStretch(rows + 1, 1); + + Result->layout(); } -void toResultItem::query(const QString &sql, const toQList ¶m) -{ +void toResultItem::query(const QString &sql, const toQList ¶m) { if (!setSQLParams(sql, param)) return ; start(); - if (!handled() || Query) - { + if (!handled() || Query) { if (!Query) done(); return ; } - try - { - if (Query) - { + try { + if (Query) { delete Query; Query = NULL; } @@ -237,27 +252,21 @@ Poll.start(100); } - catch (const QString &str) - { + catch (const QString &str) { done(); toStatusMessage(str); } } -void toResultItem::poll(void) -{ - try - { +void toResultItem::poll(void) { + try { if (!toCheckModal(this)) return ; - if (Query && Query->poll()) - { + if (Query && Query->poll()) { toQDescList desc = Query->describe(); - if (!Query->eof()) - { - for (toQDescList::iterator i = desc.begin();i != desc.end();i++) - { + if (!Query->eof()) { + for (toQDescList::iterator i = desc.begin();i != desc.end();i++) { QString name = (*i).Name; if (ReadableColumns) toReadableColumn(name); @@ -271,8 +280,7 @@ Poll.stop(); } } - catch (const QString &str) - { + catch (const QString &str) { delete Query; Query = NULL; done(); @@ -281,8 +289,7 @@ } } -void toResultItem::resizeEvent(QResizeEvent *e) -{ - Q3ScrollView::resizeEvent(e); - Result->setFixedWidth(width() - 30); -} +// void toResultItem::resizeEvent(QResizeEvent *e) { +// QScrollArea::resizeEvent(e); +// Result->setFixedWidth(width() - 30); +// } Modified: branches/tora-1.4/tora/src/toresultitem.h =================================================================== --- branches/tora-1.4/tora/src/toresultitem.h 2007-12-08 16:41:03 UTC (rev 2306) +++ branches/tora-1.4/tora/src/toresultitem.h 2007-12-10 10:12:31 UTC (rev 2307) @@ -42,14 +42,13 @@ #include "tobackground.h" #include "toresult.h" -#include <q3scrollview.h> +#include <QScrollArea> #include <qfont.h> -//Added by qt3to4: -#include <QResizeEvent> +/* #include <QResizeEvent> */ +#include <QGridLayout> #include <vector> -class Q3Grid; class toSQL; class toNoBlockQuery; @@ -58,13 +57,13 @@ * a horizontal label (Not bold or sunken), and the label is not printed. */ -class toResultItem : public Q3ScrollView, public toResult +class toResultItem : public QScrollArea, public toResult { Q_OBJECT /** Result widget. */ - Q3Grid *Result; + QGridLayout *Result; /** Number of created widgets. */ @@ -72,6 +71,9 @@ /** Last widget used. */ int WidgetPos; + /** number of columns + */ + int Columns; /** List of allocated widgets. */ std::vector<QWidget*> Widgets; @@ -111,7 +113,7 @@ void done(void); /** Reimplemented for internal reasons. */ - virtual void resizeEvent(QResizeEvent *e); +/* virtual void resizeEvent(QResizeEvent *e); */ public: /** Create widget. * @param num Number of columns to arrange data in. @@ -134,21 +136,18 @@ /** Set if titles are to be shown. * @param val If titles are to be shown. */ - void showTitle(bool val) - { + void showTitle(bool val) { ShowTitle = val; } /** Set if labels are to be aligned right. * @param val If labels are to be aligned right. */ - void alignRight(bool val) - { + void alignRight(bool val) { Right = val; } /** Set the font to display data with. */ - void dataFont(const QFont &val) - { + void dataFont(const QFont &val) { DataFont = val; } @@ -156,12 +155,12 @@ * @param parent Parent of widget. * @return Title widget created. */ - virtual QWidget *createTitle(QWidget *parent); + virtual QWidget *createTitle(); /** Create value widget. * @param parent Parent of widget. * @return Title widget created. */ - virtual QWidget *createValue(QWidget *parent); + virtual QWidget *createValue(); /** Set value of title widget. * @param widget Widget to use for title. * @param title The title of the new widget pair. @@ -181,8 +180,7 @@ /** Handle any connection */ - virtual bool canHandle(toConnection &) - { + virtual bool canHandle(toConnection &) { return true; } @@ -191,65 +189,56 @@ /** Set the SQL statement of this list * @param sql String containing statement. */ - void setSQL(const QString &sql) - { + void setSQL(const QString &sql) { toResult::setSQL(sql); } /** Set the SQL statement of this list. This will also affect @ref Name. * @param sql SQL containing statement. */ - void setSQL(const toSQL &sql) - { + void setSQL(const toSQL &sql) { toResult::setSQL(sql); } /** Set new SQL and run query. * @param sql New sql. * @see setSQL */ - void query(const QString &sql) - { + void query(const QString &sql) { toResult::query(sql); } /** Set new SQL and run query. * @param sql New sql. * @see setSQL */ - void query(const toSQL &sql) - { + void query(const toSQL &sql) { toResult::query(sql); } /** Set new SQL and run query. * @param sql New sql. * @see setSQL */ - void query(const toSQL &sql, toQList &par) - { + void query(const toSQL &sql, toQList &par) { toResult::query(sql, par); } #endif public slots: /** Reimplemented for internal reasons. */ - virtual void refresh(void) - { + virtual void refresh(void) { toResult::refresh(); } /** Reimplemented for internal reasons. */ - virtual void changeParams(const QString &Param1) - { + virtual void changeParams(const QString &Param1) { toResult::changeParams(Param1); } /** Reimplemented For internal reasons. */ - virtual void changeParams(const QString &Param1, const QString &Param2) - { + virtual void changeParams(const QString &Param1, const QString &Param2) { toResult::changeParams(Param1, Param2); } /** Reimplemented for internal reasons. */ - virtual void changeParams(const QString &Param1, const QString &Param2, const QString &Param3) - { + virtual void changeParams(const QString &Param1, const QString &Param2, const QString &Param3) { toResult::changeParams(Param1, Param2, Param3); } private slots: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-10 10:15:55
|
Revision: 2309 http://tora.svn.sourceforge.net/tora/?rev=2309&view=rev Author: mrjohnson0 Date: 2007-12-10 02:16:00 -0800 (Mon, 10 Dec 2007) Log Message: ----------- custom context menu, don't run describe for widget Modified Paths: -------------- branches/tora-1.4/tora/src/toworksheetwidget.cpp branches/tora-1.4/tora/src/toworksheetwidget.h Modified: branches/tora-1.4/tora/src/toworksheetwidget.cpp =================================================================== --- branches/tora-1.4/tora/src/toworksheetwidget.cpp 2007-12-10 10:14:39 UTC (rev 2308) +++ branches/tora-1.4/tora/src/toworksheetwidget.cpp 2007-12-10 10:16:00 UTC (rev 2309) @@ -45,6 +45,7 @@ #include "toworksheetwidget.h" #include "toworksheettext.h" #include "toresultlong.h" +#include "tomain.h" toWorksheetWidget::toWorksheetWidget(QWidget *main, @@ -103,9 +104,67 @@ workToolbar->addWidget(Started = new QLabel(workToolbar)); Started->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); + + context = NULL; + Editor->setContextMenuPolicy(Qt::CustomContextMenu); + connect(Editor, + SIGNAL(customContextMenuRequested(const QPoint &)), + this, + SLOT(createPopupMenu(const QPoint &))); } +void toWorksheetWidget::createPopupMenu(const QPoint &pos) { + if(!context) { + context = new QMenu; + + context->addAction(executeAct); + context->addAction(executeStepAct); + context->addAction(executeAllAct); + context->addAction(executeNewlineAct); + context->addAction(refreshAct); + + context->addSeparator(); + + context->addAction(toMainWidget()->getUndoAction()); + context->addAction(toMainWidget()->getRedoAction()); + + context->addSeparator(); + + context->addAction(toMainWidget()->getCutAction()); + context->addAction(toMainWidget()->getCopyAction()); + context->addAction(toMainWidget()->getPasteAction()); + + context->addSeparator(); + + context->addAction(toMainWidget()->getSelectAllAction()); + + context->addSeparator(); + + context->addAction(stopAct); + } + + context->exec(QCursor::pos()); +} + + +bool toWorksheetWidget::describe(const QString &query) { + try { + QRegExp white(QString::fromLatin1("[ \r\n\t.]+")); + QStringList part = QStringList::split(white, query); + if(part[0].upper() == QString::fromLatin1("DESC") || + part[0].upper() == QString::fromLatin1("DESCRIBE")) { + return true; + } + else + return false; + } + TOCATCH; + + return false; +} + + // override parent. void toWorksheetWidget::windowActivated(QWidget *widget) { return; Modified: branches/tora-1.4/tora/src/toworksheetwidget.h =================================================================== --- branches/tora-1.4/tora/src/toworksheetwidget.h 2007-12-10 10:14:39 UTC (rev 2308) +++ branches/tora-1.4/tora/src/toworksheetwidget.h 2007-12-10 10:16:00 UTC (rev 2309) @@ -53,6 +53,14 @@ void setup(bool autoLoad); void windowActivated(QWidget *widget); + virtual bool describe(const QString &query); + +public slots: + /** + * create context menus + * + */ + void createPopupMenu(const QPoint &pos); }; #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-10 10:16:43
|
Revision: 2311 http://tora.svn.sourceforge.net/tora/?rev=2311&view=rev Author: mrjohnson0 Date: 2007-12-10 02:16:47 -0800 (Mon, 10 Dec 2007) Log Message: ----------- update toolbar code Modified Paths: -------------- branches/tora-1.4/tora/src/totuning.cpp branches/tora-1.4/tora/src/totuning.h Modified: branches/tora-1.4/tora/src/totuning.cpp =================================================================== --- branches/tora-1.4/tora/src/totuning.cpp 2007-12-10 10:16:22 UTC (rev 2310) +++ branches/tora-1.4/tora/src/totuning.cpp 2007-12-10 10:16:47 UTC (rev 2311) @@ -74,11 +74,12 @@ #include <qtoolbutton.h> #include <q3vbox.h> #include <qworkspace.h> -//Added by qt3to4: + #include <QResizeEvent> #include <QPixmap> #include <Q3CString> #include <Q3PopupMenu> +#include <QAction> #include "icons/refresh.xpm" #include "icons/totuning.xpm" @@ -1321,14 +1322,18 @@ if (TuningTool.config(CONF_OVERVIEW, "Undefined") == "Undefined") { QString def = QString::null; - if (TOMessageBox::warning(toMainWidget(), - tr("Enable all tuning statistics"), - tr("Are you sure you want to enable all tuning features.\n" - "This can put heavy strain on a database and unless you\n" - "are the DBA you probably don't want this. Selecting\n" - "no here will give you the option to enable or disable\n" - "tabs individually as they are needed."), - tr("Yes"), tr("&No"), QString::null, 1) == 0) + if (TOMessageBox::warning( + toMainWidget(), + tr("Enable all tuning statistics"), + tr("Are you sure you want to enable all tuning features.\n" + "This can put heavy strain on a database and unless you\n" + "are the DBA you probably don't want this. Selecting\n" + "no here will give you the option to enable or disable\n" + "tabs individually as they are needed."), + tr("Yes"), + tr("&No"), + QString::null, + 1) == 0) { def = "Yes"; } @@ -1340,26 +1345,46 @@ QToolBar *toolbar = toAllocBar(this, tr("Server Tuning")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Refresh"), - tr("Refresh"), - this, SLOT(refresh(void)), - toolbar); + refreshAct = toolbar->addAction( + QIcon(QPixmap(const_cast<const char**>(refresh_xpm))), + tr("Refresh"), + this, + SLOT(refresh(void))); + refreshAct->setShortcut(QKeySequence::Refresh); + toolbar->addSeparator(); - new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + toolbar->addWidget( + new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME)); + Refresh = toRefreshCreate(toolbar, TO_TOOLBAR_WIDGET_NAME); connect(Refresh, SIGNAL(activated(const QString &)), this, SLOT(changeRefresh(const QString &))); + toolbar->addWidget(Refresh); + + // used in pulldown menu + changeRefreshAct = new QAction(tr("&Change Refresh"), this); + changeRefreshAct->setShortcut(Qt::ALT + Qt::Key_R); + connect(changeRefreshAct, SIGNAL(triggered()), Refresh, SLOT(setFocus(void))); + toolbar->addSeparator(); - TabButton = new toPopupButton(QPixmap(const_cast<const char**>(compile_xpm)), - tr("Enable and disable tuning tabs"), - tr("Enable and disable tuning tabs"), - toolbar); - TabMenu = new Q3PopupMenu(TabButton); - TabButton->setPopup(TabMenu); - connect(TabMenu, SIGNAL(aboutToShow()), this, SLOT(showTabMenu())); - connect(TabMenu, SIGNAL(activated(int)), this, SLOT(enableTabMenu(int))); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + tabMenu = new QMenu(toolbar); + tabMenu->setIcon(QIcon(QPixmap(const_cast<const char**>(compile_xpm)))); + tabMenu->setTitle(tr("Enable and disable tuning tabs")); + toolbar->addAction(tabMenu->menuAction()); + + connect(tabMenu, SIGNAL(aboutToShow()), this, SLOT(showTabMenu())); + connect(tabMenu, + SIGNAL(triggered(QAction *)), + this, + SLOT(enableTabMenu(QAction *))); + + QLabel *stretch = new QLabel(toolbar); + toolbar->addWidget(stretch); + stretch->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); + stretch->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::Minimum)); + new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); Tabs = new QTabWidget(this); @@ -1543,36 +1568,29 @@ return widget; } -void toTuning::showTabMenu(void) -{ - int id = 1; - TabMenu->clear(); +void toTuning::showTabMenu(void) { + tabMenu->clear(); std::list<Q3CString> tab = TabList(); - for (std::list<Q3CString>::iterator i = tab.begin();i != tab.end();i++) - { - id++; - TabMenu->insertItem(tr(*i), id); + for (std::list<Q3CString>::iterator i = tab.begin(); i != tab.end(); i++) { + QAction *act = new QAction(tr(*i), tabMenu); QWidget *widget = tabWidget(*i); + + act->setCheckable(true); if (widget && Tabs->isTabEnabled(widget)) - TabMenu->setItemChecked(id, true); + act->setChecked(true); + + tabMenu->addAction(act); } } -void toTuning::enableTabMenu(int selid) -{ - std::list<Q3CString> tab = TabList(); - int id = 1; - for (std::list<Q3CString>::iterator i = tab.begin();i != tab.end();i++) - { - id++; - if (selid == id) - { - QWidget *widget = tabWidget(*i); - if (widget) - enableTab(*i, !Tabs->isTabEnabled(widget)); - break; - } - } +void toTuning::enableTabMenu(QAction *act) { + if(!act) + return; + + Q3CString text(act->text().toAscii()); + QWidget *widget = tabWidget(text); + if(widget) + enableTab(text, !Tabs->isTabEnabled(widget)); } void toTuning::enableTab(const Q3CString &name, bool enable) @@ -1646,24 +1664,18 @@ refresh(); } -void toTuning::windowActivated(QWidget *widget) -{ - if (widget == this) - { - if (!ToolMenu) - { -#if 0 // todo - ToolMenu = new Q3PopupMenu(this); - ToolMenu->insertItem(QPixmap(const_cast<const char**>(refresh_xpm)), tr("&Refresh"), this, SLOT(refresh(void)), - toKeySequence(tr("F5", "Tuning|Refresh"))); - ToolMenu->insertItem(tr("&Change Refresh"), Refresh, SLOT(setFocus(void)), - toKeySequence(tr("Alt+R", "Tuning|Change refresh"))); - toMainWidget()->menuBar()->insertItem(tr("&Tuning"), ToolMenu, -1, toToolMenuIndex()); -#endif +void toTuning::windowActivated(QWidget *widget) { + if (widget == this) { + if (!ToolMenu) { + ToolMenu = new QMenu(tr("&Tuning"), this); + + ToolMenu->addAction(refreshAct); + ToolMenu->addAction(changeRefreshAct); + + toMainWidget()->addCustomMenu(ToolMenu); } } - else - { + else { delete ToolMenu; ToolMenu = NULL; } Modified: branches/tora-1.4/tora/src/totuning.h =================================================================== --- branches/tora-1.4/tora/src/totuning.h 2007-12-10 10:16:22 UTC (rev 2310) +++ branches/tora-1.4/tora/src/totuning.h 2007-12-10 10:16:47 UTC (rev 2311) @@ -41,7 +41,6 @@ #include "config.h" #include "tobackground.h" #include "toresultline.h" -//#include "tothread.h" #include "totool.h" #include "tothread.h" #include "ui_totuningoverviewui.h" @@ -49,27 +48,23 @@ #include <list> #include <map> -//#include <qgrid.h> #include <q3scrollview.h> -//Added by qt3to4: #include <Q3CString> #include <QResizeEvent> #include <QLabel> #include <Q3PopupMenu> +class QAction; +class QMenu; class QComboBox; class Q3Grid; -//class QGridLayout; class QLabel; class Q3PopupMenu; class QTabWidget; class toBarChart; class toConnection; -//class toLegendChart; class toListView; class toNoBlockQuery; -//class toPieChart; -//class toResultChart; class toResultItem; class toResultLock; class toResultLong; @@ -176,10 +171,6 @@ { Q_OBJECT - Q3PopupMenu *TabMenu; - QToolButton *TabButton; - - Q3PopupMenu *ToolMenu; QTabWidget *Tabs; toListView *Indicators; toResultParam *Parameters; @@ -198,13 +189,20 @@ toTuningFileIO *FileIO; QWidget *LastTab; + QMenu *ToolMenu; + QAction *refreshAct; + QAction *changeRefreshAct; + QMenu *tabMenu; + virtual void enableTab(const Q3CString &name, bool enable); virtual QWidget *tabWidget(const Q3CString &name); virtual void exportData(std::map<Q3CString, QString> &data, const Q3CString &prefix); virtual void importData(std::map<Q3CString, QString> &data, const Q3CString &prefix); + public: toTuning(QWidget *parent, toConnection &connection); + public slots: virtual void refresh(void); virtual void changeTab(QWidget *widget); @@ -212,7 +210,7 @@ virtual void windowActivated(QWidget *widget); virtual void showTabMenu(void); - virtual void enableTabMenu(int); + virtual void enableTabMenu(QAction *); }; #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-10 10:17:10
|
Revision: 2312 http://tora.svn.sourceforge.net/tora/?rev=2312&view=rev Author: mrjohnson0 Date: 2007-12-10 02:17:13 -0800 (Mon, 10 Dec 2007) Log Message: ----------- update toolbar code Modified Paths: -------------- branches/tora-1.4/tora/src/toresultparam.cpp branches/tora-1.4/tora/src/towaitevents.cpp Modified: branches/tora-1.4/tora/src/toresultparam.cpp =================================================================== --- branches/tora-1.4/tora/src/toresultparam.cpp 2007-12-10 10:16:47 UTC (rev 2311) +++ branches/tora-1.4/tora/src/toresultparam.cpp 2007-12-10 10:17:13 UTC (rev 2312) @@ -107,57 +107,69 @@ QToolBar *toolbar = toAllocBar(this, tr("Parameter editor")); Toggle = new QToolButton(toolbar); Toggle->setToggleButton(true); - if (toIsOracle(connection())) - { + + if (toIsOracle(connection())) { Toggle->setIconSet(QIcon(QPixmap(const_cast<const char**>(scansource_xpm)))); connect(Toggle, SIGNAL(toggled(bool)), this, SLOT(showHidden(bool))); - QToolTip::add - (Toggle, tr("Display hidden parameters. This will only word if you are logged in as the sys user.")); + Toggle->setToolTip( + tr("Display hidden parameters. This will only work if you are " + "logged in as the sys user.")); } - else - { + else { QIcon iconset(QPixmap(const_cast<const char**>(tocurrent_xpm))); - iconset.setPixmap(QPixmap(const_cast<const char**>(database_xpm)), QIcon::Automatic, QIcon::Normal, QIcon::On); + iconset.setPixmap(QPixmap(const_cast<const char**>(database_xpm)), + QIcon::Automatic, + QIcon::Normal, + QIcon::On); Toggle->setIconSet(iconset); connect(Toggle, SIGNAL(toggled(bool)), this, SLOT(showGlobal(bool))); - QToolTip::add - (Toggle, tr("Switch between global and session variables to show.")); + Toggle->setToolTip( + tr("Switch between global and session variables to show.")); } + toolbar->addWidget(Toggle); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(filesave_xpm)), - tr("Generate configuration file"), - tr("Generate configuration file"), - this, SLOT(generateFile()), toolbar); + toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(filesave_xpm))), + tr("Generate configuration file"), + this, + SLOT(generateFile())); + toolbar->addSeparator(); - if (toIsOracle(connection())) - { - new QToolButton(QPixmap(const_cast<const char**>(database_xpm)), - tr("Apply changes to system"), - tr("Apply changes to system"), - this, SLOT(applySystem()), toolbar); - new QToolButton(QPixmap(const_cast<const char**>(tocurrent_xpm)), - tr("Apply changes to session"), - tr("Apply changes to session"), - this, SLOT(applySession()), toolbar); + + if (toIsOracle(connection())) { + toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(database_xpm))), + tr("Apply changes to system"), + this, + SLOT(applySystem())); + + toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(tocurrent_xpm))), + tr("Apply changes to session"), + this, + SLOT(applySession())); } - else - { - new QToolButton(QPixmap(const_cast<const char**>(commit_xpm)), - tr("Apply changes"), - tr("Apply changes"), - this, SLOT(applyChanges()), toolbar); + else { + toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(commit_xpm))), + tr("Apply changes"), + this, + SLOT(applyChanges())); } - if (toIsOracle(connection())) - { + + if (toIsOracle(connection())) { toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Drop current changes"), - tr("Drop current changes"), - this, SLOT(dropChanges()), toolbar); + + toolbar->addAction(QIcon(QPixmap(const_cast<const char**>(trash_xpm))), + tr("Drop current changes"), + this, + SLOT(dropChanges())); } -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + QLabel *stretch = new QLabel(toolbar); + toolbar->addWidget(stretch); + stretch->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); + stretch->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::Minimum)); + Params = new toResultLong(false, false, toQuery::Background, this); Params->setSQL(SQLParams); Params->setReadAll(true); @@ -252,7 +264,7 @@ QStringList lst = QStringList::split(comma, item->text(1)); if (lst.count() > 1) str += QString::fromLatin1("( "); - for (unsigned int i = 0;i < lst.count();i++) + for (int i = 0;i < lst.count();i++) { if (i > 0) str += QString::fromLatin1(", "); Modified: branches/tora-1.4/tora/src/towaitevents.cpp =================================================================== --- branches/tora-1.4/tora/src/towaitevents.cpp 2007-12-10 10:16:47 UTC (rev 2311) +++ branches/tora-1.4/tora/src/towaitevents.cpp 2007-12-10 10:17:13 UTC (rev 2312) @@ -53,7 +53,7 @@ #include <qpainter.h> #include <qsplitter.h> #include <qtoolbar.h> -//Added by qt3to4: + #include <Q3CString> #include <Q3GridLayout> #include <Q3Frame> @@ -111,13 +111,22 @@ Session = session; QToolBar *toolbar = toAllocBar(this, tr("Server Tuning")); - new QLabel(tr("Display") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + toolbar->addWidget( + new QLabel(tr("Display") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME)); + QComboBox *type = new QComboBox(toolbar, TO_TOOLBAR_WIDGET_NAME); type->insertItem(tr("Time")); type->insertItem(tr("Count")); + toolbar->addWidget(type); connect(type, SIGNAL(activated(int)), this, SLOT(changeType(int))); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); + QLabel *stretch = new QLabel(toolbar); + toolbar->addWidget(stretch); + stretch->setAlignment(Qt::AlignRight | Qt::AlignVCenter | Qt::ExpandTabs); + stretch->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::Minimum)); + QSplitter *splitter = new QSplitter(Qt::Horizontal, this); Types = new Q3ListView(splitter); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 10:09:18
|
Revision: 2319 http://tora.svn.sourceforge.net/tora/?rev=2319&view=rev Author: subik Date: 2007-12-11 02:09:18 -0800 (Tue, 11 Dec 2007) Log Message: ----------- storage manager ported to QActions Modified Paths: -------------- branches/tora-1.4/tora/src/tostorage.cpp branches/tora-1.4/tora/src/tostorage.h Modified: branches/tora-1.4/tora/src/tostorage.cpp =================================================================== --- branches/tora-1.4/tora/src/tostorage.cpp 2007-12-11 08:38:58 UTC (rev 2318) +++ branches/tora-1.4/tora/src/tostorage.cpp 2007-12-11 10:09:18 UTC (rev 2319) @@ -484,7 +484,7 @@ Drop = NULL; Datafile = new toStorageDatafile(dict != QString::fromLatin1("DICTIONARY") && temp != QString::fromLatin1("PERMANENT") && - temp != QString::fromLatin1("UNDO"), false, DialogTab); + temp != QString::fromLatin1("UNDO"), false, DialogTab); DialogTab->addTab(Datafile, tr("Datafile")); connect(Datafile, SIGNAL(validContent(bool)), this, SLOT(validContent(bool))); } @@ -829,109 +829,113 @@ { QToolBar *toolbar = toAllocBar(this, tr("Storage manager")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update"), - tr("Update"), - this, SLOT(refresh(void)), - toolbar); + UpdateAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Update"), this); + connect(UpdateAct, SIGNAL(triggered()), this, SLOT(refresh())); + toolbar->addAction(UpdateAct); + toolbar->addSeparator(); - ExtentButton = new QToolButton(toolbar); - ExtentButton->setToggleButton(true); - ExtentButton->setIconSet(QIcon(QPixmap(const_cast<const char**>(storageextents_xpm)))); + + ExtentAct = new QAction(QPixmap(const_cast<const char**>(storageextents_xpm)), + tr("Show extent view."), this); + ExtentAct->setCheckable(true); bool extents = !StorageTool.config(CONF_DISP_EXTENTS, "").isEmpty(); if (extents) - ExtentButton->setOn(true); - connect(ExtentButton, SIGNAL(toggled(bool)), this, SLOT(showExtent(bool))); - QToolTip::add - (ExtentButton, tr("Show extent view.")); + ExtentAct->setChecked(true); + toolbar->addAction(ExtentAct); + connect(ExtentAct, SIGNAL(toggled(bool)), this, SLOT(showExtent(bool))); + ExtentAct->setToolTip(tr("Show extent view.")); - TablespaceButton = new QToolButton(toolbar); - TablespaceButton->setToggleButton(true); - TablespaceButton->setIconSet(QIcon(QPixmap(const_cast<const char**>(tostorage_xpm)))); + TablespaceAct = new QAction(QPixmap(const_cast<const char**>(tostorage_xpm)), + tr("Show tablespaces or just datafiles."), this); + TablespaceAct->setCheckable(true); bool tablespaces = !StorageTool.config(CONF_DISP_TABLESPACES, "Yes").isEmpty(); if (tablespaces) - TablespaceButton->setOn(true); - connect(TablespaceButton, SIGNAL(toggled(bool)), this, SLOT(showTablespaces(bool))); - QToolTip::add - (TablespaceButton, tr("Show tablespaces or just datafiles.")); + TablespaceAct->setChecked(true); + toolbar->addAction(TablespaceAct); + connect(TablespaceAct, SIGNAL(toggled(bool)), this, SLOT(showTablespaces(bool))); + TablespaceAct->setToolTip(tr("Show tablespaces or just datafiles.")); toolbar->addSeparator(); - OnlineButton = new QToolButton(QPixmap(const_cast<const char**>(online_xpm)), - tr("Take tablespace online"), - tr("Take tablespace online"), - this, SLOT(online(void)), - toolbar); - OfflineButton = new QToolButton(QPixmap(const_cast<const char**>(offline_xpm)), - tr("Take tablespace offline"), - tr("Take tablespace offline"), - this, SLOT(offline(void)), - toolbar); + OnlineAct = new QAction(QPixmap(const_cast<const char**>(online_xpm)), + tr("Take tablespace online"), this); + connect(OnlineAct, SIGNAL(triggered()), this, SLOT(online(void))); + toolbar->addAction(OnlineAct); + + OfflineAct = new QAction(QPixmap(const_cast<const char**>(offline_xpm)), + tr("Take tablespace offline"), this); + connect(OfflineAct, SIGNAL(triggered()), this, SLOT(offline(void))); + toolbar->addAction(OfflineAct); + toolbar->addSeparator(); - LoggingButton = new QToolButton(QPixmap(const_cast<const char**>(logging_xpm)), - tr("Set tablespace default to logging"), - tr("Set tablespace default to logging"), - this, SLOT(logging(void)), - toolbar); - EraseLogButton = new QToolButton(QPixmap(const_cast<const char**>(eraselog_xpm)), - tr("Set tablespace default to no logging"), - tr("Set tablespace default to no logging"), - this, SLOT(noLogging(void)), - toolbar); + + LoggingAct = new QAction(QPixmap(const_cast<const char**>(logging_xpm)), + tr("Set tablespace default to logging"), this); + connect(LoggingAct, SIGNAL(triggered()), this, SLOT(logging(void))); + toolbar->addAction(LoggingAct); + + EraseLogAct = new QAction(QPixmap(const_cast<const char**>(eraselog_xpm)), + tr("Set tablespace default to no logging"), this); + connect(EraseLogAct, SIGNAL(triggered()), this, SLOT(noLogging(void))); + toolbar->addAction(EraseLogAct); + toolbar->addSeparator(); - ReadWriteButton = new QToolButton(QPixmap(const_cast<const char**>(writetablespace_xpm)), - tr("Allow read write access to tablespace"), - tr("Allow read write access to tablespace"), - this, SLOT(readWrite(void)), - toolbar); - ReadOnlyButton = new QToolButton(QPixmap(const_cast<const char**>(readtablespace_xpm)), - tr("Set tablespace to read only"), - tr("Set tablespace to read only"), - this, SLOT(readOnly(void)), - toolbar); + + ReadWriteAct = new QAction(QPixmap(const_cast<const char**>(writetablespace_xpm)), + tr("Allow read write access to tablespace"), this); + connect(ReadWriteAct, SIGNAL(triggered()), this, SLOT(readWrite(void))); + toolbar->addAction(ReadWriteAct); + + ReadOnlyAct = new QAction(QPixmap(const_cast<const char**>(readtablespace_xpm)), + tr("Set tablespace to read only"), this); + connect(ReadOnlyAct, SIGNAL(triggered()), this, SLOT(readOnly(void))); + toolbar->addAction(ReadOnlyAct); + toolbar->addSeparator(); - ModTablespaceButton = new QToolButton(QPixmap(const_cast<const char**>(modtablespace_xpm)), - tr("Modify tablespace"), - tr("Modify tablespace"), - this, SLOT(modifyTablespace(void)), - toolbar); - DropTablespaceButton = new QToolButton(QPixmap(const_cast<const char**>(droptablespace_xpm)), - tr("Drop tablespace"), - tr("Drop tablespace"), - this, SLOT(dropTablespace(void)), - toolbar); - ModFileButton = new QToolButton(QPixmap(const_cast<const char**>(modfile_xpm)), - tr("Modify file"), - tr("Modify file"), - this, SLOT(modifyDatafile(void)), - toolbar); + + ModTablespaceAct = new QAction(QPixmap(const_cast<const char**>(modtablespace_xpm)), + tr("Modify tablespace"), this); + connect(ModTablespaceAct, SIGNAL(triggered()), this, SLOT(modifyTablespace(void))); + toolbar->addAction(ModTablespaceAct); + + DropTablespaceAct = new QAction(QPixmap(const_cast<const char**>(droptablespace_xpm)), + tr("Drop tablespace"), this); + connect(DropTablespaceAct, SIGNAL(triggered()), this, SLOT(dropTablespace(void))); + toolbar->addAction(DropTablespaceAct); + + ModFileAct = new QAction(QPixmap(const_cast<const char**>(modfile_xpm)), + tr("Modify file"), this); + connect(ModFileAct, SIGNAL(triggered()), this, SLOT(modifyDatafile(void))); + toolbar->addAction(ModFileAct); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(addtablespace_xpm)), - tr("Create new tablespace"), - tr("Create new tablespace"), - this, SLOT(newTablespace(void)), - toolbar); - NewFileButton = new QToolButton(QPixmap(const_cast<const char**>(addfile_xpm)), - tr("Add datafile to tablespace"), - tr("Add datafile to tablespace"), - this, SLOT(newDatafile(void)), - toolbar); + CreateTablespaceAct = new QAction(QPixmap(const_cast<const char**>(addtablespace_xpm)), + tr("Create new tablespace"), this); + connect(CreateTablespaceAct, SIGNAL(triggered()), this, SLOT(newTablespace(void))); + toolbar->addAction(CreateTablespaceAct); + + NewFileAct = new QAction(QPixmap(const_cast<const char**>(addfile_xpm)), + tr("Add datafile to tablespace"), this); + connect(NewFileAct, SIGNAL(triggered()), this, SLOT(newDatafile(void))); + toolbar->addAction(NewFileAct); + toolbar->addSeparator(); - CoalesceButton = new QToolButton(QPixmap(const_cast<const char**>(coalesce_xpm)), - tr("Coalesce tablespace"), - tr("Coalesce tablespace"), - this, SLOT(coalesce(void)), - toolbar); - MoveFileButton = new QToolButton(QPixmap(const_cast<const char**>(movefile_xpm)), - tr("Move datafile"), - tr("Move datafile"), - this, SLOT(moveFile(void)), - toolbar); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + CoalesceAct = new QAction(QPixmap(const_cast<const char**>(coalesce_xpm)), + tr("Coalesce tablespace"), this); + connect(CoalesceAct, SIGNAL(triggered()), this, SLOT(coalesce(void))); + toolbar->addAction(CoalesceAct); + MoveFileAct = new QAction(QPixmap(const_cast<const char**>(movefile_xpm)), + tr("Move datafile"), this); + connect(MoveFileAct, SIGNAL(triggered()), this, SLOT(moveFile(void))); + toolbar->addAction(MoveFileAct); + + ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(ChangeConnection); + QSplitter *splitter = new QSplitter(Qt::Vertical, this); Storage = new toResultStorage(!StorageTool.config(CONF_DISP_AVAILABLEGRAPH, "Yes").isEmpty(), splitter); @@ -1180,18 +1184,18 @@ void toStorage::selectionChanged(void) { - OfflineButton->setEnabled(false); - OnlineButton->setEnabled(false); - CoalesceButton->setEnabled(false); - LoggingButton->setEnabled(false); - EraseLogButton->setEnabled(false); - ModTablespaceButton->setEnabled(false); - DropTablespaceButton->setEnabled(false); - NewFileButton->setEnabled(false); - MoveFileButton->setEnabled(false); - ModFileButton->setEnabled(false); - ReadOnlyButton->setEnabled(false); - ReadWriteButton->setEnabled(false); + OfflineAct->setEnabled(false); + OnlineAct->setEnabled(false); + CoalesceAct->setEnabled(false); + LoggingAct->setEnabled(false); + EraseLogAct->setEnabled(false); + ModTablespaceAct->setEnabled(false); + DropTablespaceAct->setEnabled(false); + NewFileAct->setEnabled(false); + MoveFileAct->setEnabled(false); + ModFileAct->setEnabled(false); + ReadOnlyAct->setEnabled(false); + ReadWriteAct->setEnabled(false); Q3ListViewItem *item = Storage->selectedItem(); if (item) @@ -1201,8 +1205,8 @@ if (!ExtentParent->isHidden()) Extents->setFile(item->text(12), item->text(13).toInt()); item = item->parent(); - MoveFileButton->setEnabled(true); - ModFileButton->setEnabled(true); + MoveFileAct->setEnabled(true); + ModFileAct->setEnabled(true); } else if (!ExtentParent->isHidden()) Extents->setTablespace(item->text(0)); @@ -1227,35 +1231,35 @@ Q3ListViewItem *child = item->firstChild(); if (!child) { - OnlineButton->setEnabled(true); - OfflineButton->setEnabled(true); - ReadWriteButton->setEnabled(true); - ReadOnlyButton->setEnabled(true); + OnlineAct->setEnabled(true); + OfflineAct->setEnabled(true); + ReadWriteAct->setEnabled(true); + ReadOnlyAct->setEnabled(true); } else { if (child->text(1) == QString::fromLatin1("OFFLINE")) - OnlineButton->setEnabled(true); + OnlineAct->setEnabled(true); else if (child->text(1) == QString::fromLatin1("ONLINE")) { - OfflineButton->setEnabled(true); + OfflineAct->setEnabled(true); if (child->text(2) == QString::fromLatin1("READ ONLY")) - ReadWriteButton->setEnabled(true); + ReadWriteAct->setEnabled(true); else - ReadOnlyButton->setEnabled(true); + ReadOnlyAct->setEnabled(true); } } if (item->text(4) == QString::fromLatin1("LOGGING")) - EraseLogButton->setEnabled(true); + EraseLogAct->setEnabled(true); else - LoggingButton->setEnabled(true); + LoggingAct->setEnabled(true); if (item->text(10) != QString::fromLatin1("100%")) - CoalesceButton->setEnabled(true); + CoalesceAct->setEnabled(true); } - NewFileButton->setEnabled(true); - ModTablespaceButton->setEnabled(true); - DropTablespaceButton->setEnabled(true); + NewFileAct->setEnabled(true); + ModTablespaceAct->setEnabled(true); + DropTablespaceAct->setEnabled(true); } if (ToolMenu) { Modified: branches/tora-1.4/tora/src/tostorage.h =================================================================== --- branches/tora-1.4/tora/src/tostorage.h 2007-12-11 08:38:58 UTC (rev 2318) +++ branches/tora-1.4/tora/src/tostorage.h 2007-12-11 10:09:18 UTC (rev 2319) @@ -69,7 +69,9 @@ class toResultView; class toStorageDefinition; class toStorageDialog; +class toChangeConnection; + class toStorageTablespace : public QWidget, public Ui::toStorageTablespaceUI { Q_OBJECT @@ -183,20 +185,25 @@ QSplitter *ExtentParent; Q3PopupMenu *ToolMenu; - QToolButton *OnlineButton; - QToolButton *OfflineButton; - QToolButton *CoalesceButton; - QToolButton *LoggingButton; - QToolButton *EraseLogButton; - QToolButton *ModTablespaceButton; - QToolButton *ReadOnlyButton; - QToolButton *ReadWriteButton; - QToolButton *NewFileButton; - QToolButton *MoveFileButton; - QToolButton *ModFileButton; - QToolButton *ExtentButton; - QToolButton *TablespaceButton; - QToolButton *DropTablespaceButton; + + QAction * UpdateAct; + QAction *OnlineAct; + QAction *OfflineAct; + QAction *CoalesceAct; + QAction *LoggingAct; + QAction *EraseLogAct; + QAction *ModTablespaceAct; + QAction *ReadOnlyAct; + QAction *ReadWriteAct; + QAction *NewFileAct; + QAction *MoveFileAct; + QAction *ModFileAct; + QAction *ExtentAct; + QAction *TablespaceAct; + QAction *DropTablespaceAct; + QAction * CreateTablespaceAct; + + toChangeConnection * ChangeConnection; public: toStorage(QWidget *parent, toConnection &connection); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 12:32:11
|
Revision: 2321 http://tora.svn.sourceforge.net/tora/?rev=2321&view=rev Author: subik Date: 2007-12-11 04:32:04 -0800 (Tue, 11 Dec 2007) Log Message: ----------- security manager qactionized; signals/slots connections fixed Modified Paths: -------------- branches/tora-1.4/tora/src/tosecurity.cpp branches/tora-1.4/tora/src/tosecurity.h branches/tora-1.4/tora/src/tosecurityquotaui.ui Modified: branches/tora-1.4/tora/src/tosecurity.cpp =================================================================== --- branches/tora-1.4/tora/src/tosecurity.cpp 2007-12-11 11:55:16 UTC (rev 2320) +++ branches/tora-1.4/tora/src/tosecurity.cpp 2007-12-11 12:32:04 UTC (rev 2321) @@ -66,7 +66,6 @@ //Added by qt3to4: #include <QPixmap> -#include "ui_tosecurityquotaui.h" #include "ui_tosecurityuserui.h" #include "ui_tosecurityroleui.h" @@ -198,19 +197,6 @@ static toSecurityTool SecurityTool; -class toSecurityQuota : public QWidget, public Ui::toSecurityQuotaUI -{ - Q3ListViewItem *CurrentItem; - void clearItem(Q3ListViewItem *item); - virtual void changeTablespace(void); - virtual void changeSize(void); -public: - toSecurityQuota(QWidget *parent); - void changeUser(const QString &); - QString sql(void); - void clear(void); - void update(void); -}; void toSecurityQuota::changeSize(void) { @@ -241,6 +227,15 @@ setupUi(this); CurrentItem = NULL; update(); + + connect(Tablespaces, SIGNAL(selectionChanged()), + this, SLOT(changeTablespace())); + connect(SizeGroup, SIGNAL(clicked(int)), + this, SLOT(changeSize())); + connect(Size, SIGNAL(valueChanged()), + this, SLOT(changeSize())); + connect(Value, SIGNAL(toggled(bool)), + Size, SLOT(setEnabled(bool))); } void toSecurityQuota::update(void) @@ -1510,49 +1505,52 @@ QToolBar *toolbar = toAllocBar(this, tr("Security manager")); toolbar->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update user and role list"), - tr("Update user and role list"), - this, SLOT(refresh(void)), - toolbar); + UpdateListAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Update user and role list"), this); + connect(UpdateListAct, SIGNAL(triggered()), this, SLOT(refresh(void))); + toolbar->addAction(UpdateListAct); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(commit_xpm)), - tr("Save changes"), - tr("Save changes"), - this, SLOT(saveChanges(void)), - toolbar); - DropButton = new QToolButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Remove user/role"), - tr("Remove user/role"), - this, SLOT(drop(void)), - toolbar); - DropButton->setEnabled(false); + + SaveAct = new QAction(QPixmap(const_cast<const char**>(commit_xpm)), + tr("Save changes"), this); + connect(SaveAct, SIGNAL(triggered()), this, SLOT(saveChanges(void))); + toolbar->addAction(SaveAct); + + DropAct = new QAction(QPixmap(const_cast<const char**>(trash_xpm)), + tr("Remove user/role"), this); + connect(DropAct, SIGNAL(triggered()), this, SLOT(drop(void))); + toolbar->addAction(DropAct); + DropAct->setEnabled(false); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(adduser_xpm)), - tr("Add new user"), - tr("Add new user"), - this, SLOT(addUser(void)), - toolbar); - new QToolButton(QPixmap(const_cast<const char**>(addrole_xpm)), - tr("Add new role"), - tr("Add new role"), - this, SLOT(addRole(void)), - toolbar); - CopyButton = new QToolButton(QPixmap(const_cast<const char**>(copyuser_xpm)), - tr("Copy current user or role"), - tr("Copy current user or role"), - this, SLOT(copy(void)), - toolbar); - CopyButton->setEnabled(false); + + AddUserAct = new QAction(QPixmap(const_cast<const char**>(adduser_xpm)), + tr("Add new user"), this); + connect(AddUserAct, SIGNAL(triggered()), this, SLOT(addUser(void))); + toolbar->addAction(AddUserAct); + + AddRoleAct = new QAction(QPixmap(const_cast<const char**>(addrole_xpm)), + tr("Add new role"), this); + connect(AddRoleAct, SIGNAL(triggered()), this, SLOT(addRole(void))); + toolbar->addAction(AddRoleAct); + + CopyAct = new QAction(QPixmap(const_cast<const char**>(copyuser_xpm)), + tr("Copy current user or role"), this); + connect(CopyAct, SIGNAL(triggered()), this, SLOT(copy(void))); + toolbar->addAction(CopyAct); + CopyAct->setEnabled(false); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(sql_xpm)), - tr("Display SQL needed to make current changes"), - tr("Display SQL needed to make current changes"), - this, SLOT(displaySQL(void)), - toolbar); -// toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + DisplaySQLAct = new QAction(QPixmap(const_cast<const char**>(sql_xpm)), + tr("Display SQL needed to make current changes"), this); + connect(DisplaySQLAct, SIGNAL(triggered()), this, SLOT(displaySQL(void))); + toolbar->addAction(DisplaySQLAct); + + ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(ChangeConnection); + QSplitter *splitter = new QSplitter(Qt::Horizontal, this); UserList = new toListView(splitter); UserList->addColumn(tr("Users/Roles")); @@ -1711,8 +1709,8 @@ { toBusy busy; UserID = item->text(1); - DropButton->setEnabled(item->parent()); - CopyButton->setEnabled(item->parent()); + DropAct->setEnabled(item->parent()); + CopyAct->setEnabled(item->parent()); if (ToolMenu) { #if 0 // todo Modified: branches/tora-1.4/tora/src/tosecurity.h =================================================================== --- branches/tora-1.4/tora/src/tosecurity.h 2007-12-11 11:55:16 UTC (rev 2320) +++ branches/tora-1.4/tora/src/tosecurity.h 2007-12-11 12:32:04 UTC (rev 2321) @@ -42,6 +42,7 @@ #include "totool.h" // due the toListView #include "toresultview.h" +#include "ui_tosecurityquotaui.h" #include <list> //Added by qt3to4: @@ -54,7 +55,9 @@ // class toListView; class toSecurityPage; class toSecurityQuota; +class toChangeConnection; + class toSecuritySystem : public toListView { Q_OBJECT @@ -125,8 +128,17 @@ toSecurityObject *ObjectGrant; toSecurityPage *General; toSecurityQuota *Quota; - QToolButton *DropButton; - QToolButton *CopyButton; + + QAction * DropAct; + QAction * CopyAct; + QAction * UpdateListAct; + QAction * SaveAct; + QAction * AddUserAct; + QAction * AddRoleAct; + QAction * DisplaySQLAct; + + toChangeConnection * ChangeConnection; + QTabWidget *Tabs; std::list<QString> sql(void); public: @@ -148,4 +160,23 @@ virtual void windowActivated(QWidget *widget); }; + +class toSecurityQuota : public QWidget, public Ui::toSecurityQuotaUI +{ + Q_OBJECT + +private: + Q3ListViewItem *CurrentItem; + void clearItem(Q3ListViewItem *item); +public: + toSecurityQuota(QWidget *parent); + void changeUser(const QString &); + QString sql(void); + void clear(void); + void update(void); +private slots: + void changeTablespace(void); + void changeSize(void); +}; + #endif Modified: branches/tora-1.4/tora/src/tosecurityquotaui.ui =================================================================== --- branches/tora-1.4/tora/src/tosecurityquotaui.ui 2007-12-11 11:55:16 UTC (rev 2320) +++ branches/tora-1.4/tora/src/tosecurityquotaui.ui 2007-12-11 12:32:04 UTC (rev 2321) @@ -1,187 +1,159 @@ -<ui version="4.0" stdsetdef="1" > - <author></author> - <comment></comment> - <exportmacro></exportmacro> - <class>toSecurityQuotaUI</class> - <widget class="QWidget" name="toSecurityQuotaUI" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>682</width> - <height>596</height> - </rect> - </property> - <property name="windowTitle" > - <string>Form1</string> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>0</number> +<ui version="4.0" > + <class>toSecurityQuotaUI</class> + <widget class="QWidget" name="toSecurityQuotaUI" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>682</width> + <height>596</height> + </rect> + </property> + <layout class="QGridLayout" > + <property name="leftMargin" > + <number>0</number> + </property> + <property name="topMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <property name="bottomMargin" > + <number>0</number> + </property> + <property name="horizontalSpacing" > + <number>0</number> + </property> + <property name="verticalSpacing" > + <number>0</number> + </property> + <item row="1" column="0" > + <widget class="Q3ListView" name="Tablespaces" > + <property name="allColumnsShowFocus" > + <bool>true</bool> + </property> + <column> + <property name="text" > + <string>Tablespace</string> </property> - <property name="spacing" > - <number>0</number> + </column> + <column> + <property name="text" > + <string>Quota Size</string> </property> - <item row="1" column="0" > - <widget class="Q3ListView" name="Tablespaces" > - <property name="allColumnsShowFocus" > - <bool>true</bool> - </property> - <column> - <property name="text" > - <string>Tablespace</string> - </property> - <property name="clickable" > - <bool>true</bool> - </property> - <property name="resizable" > - <bool>true</bool> - </property> - </column> - <column> - <property name="text" > - <string>Quota Size</string> - </property> - <property name="clickable" > - <bool>true</bool> - </property> - <property name="resizable" > - <bool>true</bool> - </property> - </column> - <column> - <property name="text" > - <string>Used Size</string> - </property> - <property name="clickable" > - <bool>true</bool> - </property> - <property name="resizable" > - <bool>true</bool> - </property> - </column> - </widget> + </column> + <column> + <property name="text" > + <string>Used Size</string> + </property> + </column> + </widget> + </item> + <item row="2" column="0" > + <widget class="Q3ButtonGroup" name="SizeGroup" > + <property name="enabled" > + <bool>false</bool> + </property> + <property name="title" > + <string/> + </property> + <property name="lineWidth" > + <number>0</number> + </property> + <layout class="QGridLayout" > + <property name="leftMargin" > + <number>0</number> + </property> + <property name="topMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <property name="bottomMargin" > + <number>0</number> + </property> + <property name="horizontalSpacing" > + <number>6</number> + </property> + <property name="verticalSpacing" > + <number>6</number> + </property> + <item row="1" column="0" colspan="3" > + <widget class="toFilesize" native="1" name="Size" > + <property name="focusPolicy" > + <enum>Qt::TabFocus</enum> + </property> + </widget> </item> - <item row="2" column="0" > - <widget class="Q3ButtonGroup" name="SizeGroup" > - <property name="enabled" > - <bool>false</bool> - </property> - <property name="lineWidth" > - <number>0</number> - </property> - <property name="title" > - <string/> - </property> - <layout class="QGridLayout" > - <property name="margin" > - <number>0</number> - </property> - <property name="spacing" > - <number>6</number> - </property> - <item rowspan="1" row="1" column="0" colspan="3" > - <widget class="toFilesize" name="Size" > - <property name="focusPolicy" > - <enum>Qt::TabFocus</enum> - </property> - </widget> - </item> - <item row="0" column="2" > - <widget class="QRadioButton" name="Unlimited" > - <property name="text" > - <string>&Unlimited</string> - </property> - </widget> - </item> - <item row="0" column="1" > - <widget class="QRadioButton" name="None" > - <property name="text" > - <string>&None</string> - </property> - </widget> - </item> - <item row="0" column="0" > - <widget class="QRadioButton" name="Value" > - <property name="text" > - <string>&Value</string> - </property> - <property name="checked" > - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> + <item row="0" column="2" > + <widget class="QRadioButton" name="Unlimited" > + <property name="text" > + <string>&Unlimited</string> + </property> + </widget> </item> + <item row="0" column="1" > + <widget class="QRadioButton" name="None" > + <property name="text" > + <string>&None</string> + </property> + </widget> + </item> <item row="0" column="0" > - <widget class="QLabel" name="Disabled" > - <property name="text" > - <string>Belongs to Resource group or has unlimited tablespace privilege</string> - </property> - <property name="alignment" > - <set>Qt::AlignCenter</set> - </property> - <property name="wordWrap" > - <bool>false</bool> - </property> - </widget> + <widget class="QRadioButton" name="Value" > + <property name="text" > + <string>&Value</string> + </property> + <property name="checked" > + <bool>true</bool> + </property> + </widget> </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>toFilesize</class> - <extends>QWidget</extends> - <header location="local" >tofilesize.h</header> - <sizehint> - <width>40</width> - <height>40</height> - </sizehint> - <container>0</container> - <sizepolicy> - <hordata>5</hordata> - <verdata>1</verdata> - </sizepolicy> - <pixmap>image0</pixmap> - </customwidget> - </customwidgets> - <tabstops> - <tabstop>Tablespaces</tabstop> - <tabstop>Value</tabstop> - <tabstop>None</tabstop> - <tabstop>Unlimited</tabstop> - <tabstop>Size</tabstop> - </tabstops> - <images> - <image name="image0" > - <data format="XPM.GZ" length="646" >789c6dd2c10ac2300c00d07bbf2234b7229d1be245fc04c5a3201e4615f430059d0711ff5ddb2e6bb236ec90eed134cb5a19d8ef36602af5ecdbfeeac05dda0798d3abebde87e3faa374d3807fa0d633a52d38d8de6f679fe33fc776e196f53cd010188256a3600a292882096246517815ca99884606e18044a3a40d91824820924265a7923a2e8bcd05f33db1173e002913175f2a6be6d3294871a2d95fa00e8a94ee017b69d339d90df1e77c57ea072ede6758</data> - </image> - </images> - <connections> - <connection> - <sender>Value</sender> - <signal>toggled(bool)</signal> - <receiver>Size</receiver> - <slot>setEnabled(bool)</slot> - </connection> - <connection> - <sender>Tablespaces</sender> - <signal>selectionChanged()</signal> - <receiver>toSecurityQuotaUI</receiver> - <slot>changeTablespace()</slot> - </connection> - <connection> - <sender>SizeGroup</sender> - <signal>clicked(int)</signal> - <receiver>toSecurityQuotaUI</receiver> - <slot>changeSize()</slot> - </connection> - <connection> - <sender>Size</sender> - <signal>valueChanged()</signal> - <receiver>toSecurityQuotaUI</receiver> - <slot>changeSize()</slot> - </connection> - </connections> + </layout> + </widget> + </item> + <item row="0" column="0" > + <widget class="QLabel" name="Disabled" > + <property name="text" > + <string>Belongs to Resource group or has unlimited tablespace privilege</string> + </property> + <property name="alignment" > + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap" > + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>Q3ButtonGroup</class> + <extends>Q3GroupBox</extends> + <header>Qt3Support/Q3ButtonGroup</header> + <container>1</container> + </customwidget> + <customwidget> + <class>Q3ListView</class> + <extends>Q3Frame</extends> + <header>q3listview.h</header> + </customwidget> + <customwidget> + <class>toFilesize</class> + <extends>QWidget</extends> + <header>tofilesize.h</header> + </customwidget> + </customwidgets> + <tabstops> + <tabstop>Tablespaces</tabstop> + <tabstop>Value</tabstop> + <tabstop>None</tabstop> + <tabstop>Unlimited</tabstop> + <tabstop>Size</tabstop> + </tabstops> + <resources/> + <connections/> </ui> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 13:00:19
|
Revision: 2322 http://tora.svn.sourceforge.net/tora/?rev=2322&view=rev Author: subik Date: 2007-12-11 05:00:21 -0800 (Tue, 11 Dec 2007) Log Message: ----------- rollback segments ported to QActions Modified Paths: -------------- branches/tora-1.4/tora/src/torollback.cpp branches/tora-1.4/tora/src/torollback.h Modified: branches/tora-1.4/tora/src/torollback.cpp =================================================================== --- branches/tora-1.4/tora/src/torollback.cpp 2007-12-11 12:32:04 UTC (rev 2321) +++ branches/tora-1.4/tora/src/torollback.cpp 2007-12-11 13:00:21 UTC (rev 2322) @@ -677,54 +677,57 @@ { QToolBar *toolbar = toAllocBar(this, tr("Rollback analyzer")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update segment list"), - tr("Update segment list"), - this, SLOT(refresh(void)), - toolbar); + UpdateSegmentsAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Update segment list"), this); + connect(UpdateSegmentsAct, SIGNAL(triggered()), this, SLOT(refresh(void))); + toolbar->addAction(UpdateSegmentsAct); + toolbar->addSeparator(); - QToolButton *enableOld = new QToolButton(toolbar); - enableOld->setToggleButton(true); - enableOld->setIconSet(QIcon(QPixmap(const_cast<const char**>(torollback_xpm)))); - connect(enableOld, SIGNAL(toggled(bool)), this, SLOT(enableOld(bool))); - QToolTip::add - (enableOld, tr("Enable snapshot too old detection.")); + enableOldAct = new QAction(QPixmap(const_cast<const char**>(torollback_xpm)), + tr("Enable snapshot too old detection."), this); + enableOldAct->setCheckable(true); + connect(enableOldAct, SIGNAL(toggled(bool)), this, SLOT(enableOld(bool))); + toolbar->addAction(enableOldAct); + toolbar->addSeparator(); - OnlineButton = new QToolButton(QPixmap(const_cast<const char**>(online_xpm)), - tr("Take segment online"), - tr("Take segment online"), - this, SLOT(online(void)), - toolbar); - OnlineButton->setEnabled(false); - OfflineButton = new QToolButton(QPixmap(const_cast<const char**>(offline_xpm)), - tr("Take segment offline"), - tr("Take segment offline"), - this, SLOT(offline(void)), - toolbar); - OfflineButton->setEnabled(false); + OnlineAct = new QAction(QPixmap(const_cast<const char**>(online_xpm)), + tr("Take segment online"), this); + connect(OnlineAct, SIGNAL(triggered()), this, SLOT(online(void))); + toolbar->addAction(OnlineAct); + OnlineAct->setEnabled(false); + + OfflineAct = new QAction(QPixmap(const_cast<const char**>(offline_xpm)), + tr("Take segment offline"), this); + connect(OfflineAct, SIGNAL(triggered()), this, SLOT(offline(void))); + toolbar->addAction(OfflineAct); + OfflineAct->setEnabled(false); + toolbar->addSeparator(); - new QToolButton(QPixmap(const_cast<const char**>(addrollback_xpm)), - tr("Create new rollback segment"), - tr("Create new rollback segment"), - this, SLOT(addSegment(void)), - toolbar); - DropButton = new QToolButton(QPixmap(const_cast<const char**>(trash_xpm)), - tr("Drop segment"), - tr("Drop segment"), - this, SLOT(dropSegment(void)), - toolbar); - DropButton->setEnabled(false); + NewAct = new QAction(QPixmap(const_cast<const char**>(addrollback_xpm)), + tr("Create new rollback segment"), this); + connect(NewAct, SIGNAL(triggered()), this, SLOT(addSegment(void))); + toolbar->addAction(NewAct); + + DropAct = new QAction(QPixmap(const_cast<const char**>(trash_xpm)), + tr("Drop segment"), this); + connect(DropAct, SIGNAL(triggered()), this, SLOT(dropSegment(void))); + toolbar->addAction(DropAct); + DropAct->setEnabled(false); + toolbar->addSeparator(); - new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + QLabel * lab1 = new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(lab1); connect(Refresh = toRefreshCreate(toolbar, TO_TOOLBAR_WIDGET_NAME), SIGNAL(activated(const QString &)), this, SLOT(changeRefresh(const QString &))); + toolbar->addWidget(Refresh); // toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(ChangeConnection); QSplitter *splitter = new QSplitter(Qt::Vertical, this); Segments = new toRollbackView(splitter); @@ -758,7 +761,7 @@ this, SLOT(windowActivated(QWidget *))); if (!RollbackTool.config(CONF_OLD_ENABLE, "").isEmpty()) - enableOld->setOn(true); + enableOldAct->setChecked(true); else Statements->setEnabled(false); @@ -857,21 +860,15 @@ { if (item) { - if (item->text(3) == QString::fromLatin1("OFFLINE")) - OfflineButton->setEnabled(false); - else - OfflineButton->setEnabled(true); - if (item->text(3) == QString::fromLatin1("ONLINE")) - OnlineButton->setEnabled(false); - else - OnlineButton->setEnabled(true); + OfflineAct->setEnabled(item->text(3) != QString::fromLatin1("OFFLINE")); + OnlineAct->setEnabled(item->text(3) != QString::fromLatin1("ONLINE")); } else { - OnlineButton->setEnabled(false); - OfflineButton->setEnabled(false); + OnlineAct->setEnabled(false); + OfflineAct->setEnabled(false); } - DropButton->setEnabled(item); + DropAct->setEnabled(item); #if 0 // todo ToolMenu->setItemEnabled(TO_ID_ONLINE, OnlineButton->isEnabled()); ToolMenu->setItemEnabled(TO_ID_OFFLINE, OfflineButton->isEnabled()); Modified: branches/tora-1.4/tora/src/torollback.h =================================================================== --- branches/tora-1.4/tora/src/torollback.h 2007-12-11 12:32:04 UTC (rev 2321) +++ branches/tora-1.4/tora/src/torollback.h 2007-12-11 13:00:21 UTC (rev 2322) @@ -57,7 +57,9 @@ class toSGAStatement; class toStorageDefinition; class toResultLong; +class toChangeConnection; + class toRollbackDialog : public QDialog, public Ui::toRollbackDialogUI { Q_OBJECT @@ -86,10 +88,15 @@ toSGAStatement *CurrentStatement; toResultLong *TransactionUsers; - QToolButton *OnlineButton; - QToolButton *OfflineButton; - QToolButton *DropButton; + QAction * UpdateSegmentsAct; + QAction * enableOldAct; + QAction * OnlineAct; + QAction * OfflineAct; + QAction * NewAct; + QAction * DropAct; + toChangeConnection * ChangeConnection; + Q3PopupMenu *ToolMenu; QComboBox *Refresh; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 13:16:14
|
Revision: 2323 http://tora.svn.sourceforge.net/tora/?rev=2323&view=rev Author: subik Date: 2007-12-11 05:16:01 -0800 (Tue, 11 Dec 2007) Log Message: ----------- SGA to QActions; removed un-needed toConnection widgets in h files Modified Paths: -------------- branches/tora-1.4/tora/src/torollback.cpp branches/tora-1.4/tora/src/torollback.h branches/tora-1.4/tora/src/tosecurity.cpp branches/tora-1.4/tora/src/tosecurity.h branches/tora-1.4/tora/src/tosgatrace.cpp branches/tora-1.4/tora/src/tosgatrace.h branches/tora-1.4/tora/src/tostorage.cpp branches/tora-1.4/tora/src/tostorage.h Modified: branches/tora-1.4/tora/src/torollback.cpp =================================================================== --- branches/tora-1.4/tora/src/torollback.cpp 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/torollback.cpp 2007-12-11 13:16:01 UTC (rev 2323) @@ -726,8 +726,8 @@ toolbar->addWidget(Refresh); // toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); - toolbar->addWidget(ChangeConnection); + toChangeConnection * chConn = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(chConn); QSplitter *splitter = new QSplitter(Qt::Vertical, this); Segments = new toRollbackView(splitter); Modified: branches/tora-1.4/tora/src/torollback.h =================================================================== --- branches/tora-1.4/tora/src/torollback.h 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/torollback.h 2007-12-11 13:16:01 UTC (rev 2323) @@ -57,7 +57,6 @@ class toSGAStatement; class toStorageDefinition; class toResultLong; -class toChangeConnection; class toRollbackDialog : public QDialog, public Ui::toRollbackDialogUI @@ -95,8 +94,6 @@ QAction * NewAct; QAction * DropAct; - toChangeConnection * ChangeConnection; - Q3PopupMenu *ToolMenu; QComboBox *Refresh; Modified: branches/tora-1.4/tora/src/tosecurity.cpp =================================================================== --- branches/tora-1.4/tora/src/tosecurity.cpp 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tosecurity.cpp 2007-12-11 13:16:01 UTC (rev 2323) @@ -1548,8 +1548,8 @@ connect(DisplaySQLAct, SIGNAL(triggered()), this, SLOT(displaySQL(void))); toolbar->addAction(DisplaySQLAct); - ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); - toolbar->addWidget(ChangeConnection); + toChangeConnection * chConn = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(chConn); QSplitter *splitter = new QSplitter(Qt::Horizontal, this); UserList = new toListView(splitter); Modified: branches/tora-1.4/tora/src/tosecurity.h =================================================================== --- branches/tora-1.4/tora/src/tosecurity.h 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tosecurity.h 2007-12-11 13:16:01 UTC (rev 2323) @@ -55,7 +55,6 @@ // class toListView; class toSecurityPage; class toSecurityQuota; -class toChangeConnection; class toSecuritySystem : public toListView @@ -137,8 +136,6 @@ QAction * AddRoleAct; QAction * DisplaySQLAct; - toChangeConnection * ChangeConnection; - QTabWidget *Tabs; std::list<QString> sql(void); public: Modified: branches/tora-1.4/tora/src/tosgatrace.cpp =================================================================== --- branches/tora-1.4/tora/src/tosgatrace.cpp 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tosgatrace.cpp 2007-12-11 13:16:01 UTC (rev 2323) @@ -133,33 +133,48 @@ { QToolBar *toolbar = toAllocBar(this, tr("SGA trace")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Fetch statements in SGA"), - tr("Fetch statements in SGA"), - this, SLOT(refresh(void)), - toolbar); + FetchAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Fetch statements in SGA"), this); + connect(FetchAct, SIGNAL(triggered()), this, SLOT(refresh(void))); + toolbar->addAction(FetchAct); + toolbar->addSeparator(); - new QLabel(tr("Schema") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + QLabel * labSchema = new QLabel(tr("Schema") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(labSchema); + Schema = new toResultCombo(toolbar); Schema->additionalItem(tr("Any")); Schema->setSelected(connection.user().upper()); Schema->query(toSQL::sql(toSQL::TOSQL_USERLIST)); + Schema->setSizeAdjustPolicy(QComboBox::AdjustToContents); + toolbar->addWidget(Schema); connect(Schema, SIGNAL(activated(const QString &)), this, SLOT(changeSchema(const QString &))); toolbar->addSeparator(); - new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + QLabel * labRef = new QLabel(tr("Refresh") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(labRef); connect(Refresh = toRefreshCreate(toolbar, TO_TOOLBAR_WIDGET_NAME), SIGNAL(activated(const QString &)), this, SLOT(changeRefresh(const QString &))); + toolbar->addWidget(Refresh); toolbar->addSeparator(); - new QLabel(tr("Type") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + QLabel * labType = new QLabel(tr("Type") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(labType); + Type = new QComboBox(toolbar, TO_TOOLBAR_WIDGET_NAME); Type->insertItem(tr("SGA")); Type->insertItem(tr("Long operations")); + toolbar->addWidget(Type); toolbar->addSeparator(); - new QLabel(tr("Selection") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + + QLabel * labSelect = new QLabel(tr("Selection") + " ", toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(labSelect); + Limit = new QComboBox(toolbar, TO_TOOLBAR_WIDGET_NAME); Limit->insertItem(tr("All")); Limit->insertItem(tr("Unfinished")); @@ -174,9 +189,11 @@ Limit->insertItem(tr("Top buffergets/exec")); Limit->insertItem(tr("Top rows/exec")); Limit->insertItem(tr("Top buffers/row")); + toolbar->addWidget(Limit); // toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toChangeConnection * chConn = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(chConn); QSplitter *splitter = new QSplitter(Qt::Vertical, this); Modified: branches/tora-1.4/tora/src/tosgatrace.h =================================================================== --- branches/tora-1.4/tora/src/tosgatrace.h 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tosgatrace.h 2007-12-11 13:16:01 UTC (rev 2323) @@ -64,6 +64,8 @@ toResultLong *Trace; QTabWidget *ResultTab; + + QAction * FetchAct; toResultCombo *Schema; QComboBox *Type; QComboBox *Refresh; Modified: branches/tora-1.4/tora/src/tostorage.cpp =================================================================== --- branches/tora-1.4/tora/src/tostorage.cpp 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tostorage.cpp 2007-12-11 13:16:01 UTC (rev 2323) @@ -933,8 +933,8 @@ connect(MoveFileAct, SIGNAL(triggered()), this, SLOT(moveFile(void))); toolbar->addAction(MoveFileAct); - ChangeConnection = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); - toolbar->addWidget(ChangeConnection); + toChangeConnection * chConn = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(chConn); QSplitter *splitter = new QSplitter(Qt::Vertical, this); Storage = new toResultStorage(!StorageTool.config(CONF_DISP_AVAILABLEGRAPH, "Yes").isEmpty(), Modified: branches/tora-1.4/tora/src/tostorage.h =================================================================== --- branches/tora-1.4/tora/src/tostorage.h 2007-12-11 13:00:21 UTC (rev 2322) +++ branches/tora-1.4/tora/src/tostorage.h 2007-12-11 13:16:01 UTC (rev 2323) @@ -69,7 +69,6 @@ class toResultView; class toStorageDefinition; class toStorageDialog; -class toChangeConnection; class toStorageTablespace : public QWidget, public Ui::toStorageTablespaceUI @@ -203,7 +202,6 @@ QAction *DropTablespaceAct; QAction * CreateTablespaceAct; - toChangeConnection * ChangeConnection; public: toStorage(QWidget *parent, toConnection &connection); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 13:34:26
|
Revision: 2325 http://tora.svn.sourceforge.net/tora/?rev=2325&view=rev Author: subik Date: 2007-12-11 05:34:30 -0800 (Tue, 11 Dec 2007) Log Message: ----------- backup manager ported to QActions Modified Paths: -------------- branches/tora-1.4/tora/src/tobackup.cpp branches/tora-1.4/tora/src/tobackup.h Modified: branches/tora-1.4/tora/src/tobackup.cpp =================================================================== --- branches/tora-1.4/tora/src/tobackup.cpp 2007-12-11 13:33:00 UTC (rev 2324) +++ branches/tora-1.4/tora/src/tobackup.cpp 2007-12-11 13:34:30 UTC (rev 2325) @@ -318,13 +318,14 @@ { QToolBar *toolbar = toAllocBar(this, tr("Backup Manager")); - new QToolButton(QPixmap(const_cast<const char**>(refresh_xpm)), - tr("Update"), - tr("Update"), - this, SLOT(refresh(void)), - toolbar); + updateAct = new QAction(QPixmap(const_cast<const char**>(refresh_xpm)), + tr("Update"), this); + connect(updateAct, SIGNAL(triggered()), this, SLOT(refresh(void))); + toolbar->addAction(updateAct); + // toolbar->setStretchableWidget(new QLabel(toolbar, TO_TOOLBAR_WIDGET_NAME)); - new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toChangeConnection * chConn = new toChangeConnection(toolbar, TO_TOOLBAR_WIDGET_NAME); + toolbar->addWidget(chConn); Tabs = new QTabWidget(this); Modified: branches/tora-1.4/tora/src/tobackup.h =================================================================== --- branches/tora-1.4/tora/src/tobackup.h 2007-12-11 13:33:00 UTC (rev 2324) +++ branches/tora-1.4/tora/src/tobackup.h 2007-12-11 13:34:30 UTC (rev 2325) @@ -53,6 +53,7 @@ { Q_OBJECT + QAction * updateAct; QTabWidget *Tabs; toResultLong *LogSwitches; toResultLong *LogHistory; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <su...@us...> - 2007-12-11 15:28:14
|
Revision: 2326 http://tora.svn.sourceforge.net/tora/?rev=2326&view=rev Author: subik Date: 2007-12-11 07:28:07 -0800 (Tue, 11 Dec 2007) Log Message: ----------- toResultCombo should be adjusted for its content Modified Paths: -------------- branches/tora-1.4/tora/src/toresultcombo.cpp branches/tora-1.4/tora/src/tosgatrace.cpp Modified: branches/tora-1.4/tora/src/toresultcombo.cpp =================================================================== --- branches/tora-1.4/tora/src/toresultcombo.cpp 2007-12-11 13:34:30 UTC (rev 2325) +++ branches/tora-1.4/tora/src/toresultcombo.cpp 2007-12-11 15:28:07 UTC (rev 2326) @@ -51,6 +51,7 @@ connect(&Poll, SIGNAL(timeout()), this, SLOT(poll())); connect(this, SIGNAL(activated(int)), this, SLOT(changeSelected(void))); + setSizeAdjustPolicy(QComboBox::AdjustToContents); } toResultCombo::~toResultCombo() Modified: branches/tora-1.4/tora/src/tosgatrace.cpp =================================================================== --- branches/tora-1.4/tora/src/tosgatrace.cpp 2007-12-11 13:34:30 UTC (rev 2325) +++ branches/tora-1.4/tora/src/tosgatrace.cpp 2007-12-11 15:28:07 UTC (rev 2326) @@ -147,7 +147,6 @@ Schema->additionalItem(tr("Any")); Schema->setSelected(connection.user().upper()); Schema->query(toSQL::sql(toSQL::TOSQL_USERLIST)); - Schema->setSizeAdjustPolicy(QComboBox::AdjustToContents); toolbar->addWidget(Schema); connect(Schema, SIGNAL(activated(const QString &)), this, SLOT(changeSchema(const QString &))); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mrj...@us...> - 2007-12-12 04:25:24
|
Revision: 2328 http://tora.svn.sourceforge.net/tora/?rev=2328&view=rev Author: mrjohnson0 Date: 2007-12-11 20:25:28 -0800 (Tue, 11 Dec 2007) Log Message: ----------- qt4 port Modified Paths: -------------- branches/tora-1.4/tora/src/toparamget.cpp branches/tora-1.4/tora/src/toparamget.h Modified: branches/tora-1.4/tora/src/toparamget.cpp =================================================================== --- branches/tora-1.4/tora/src/toparamget.cpp 2007-12-12 04:25:10 UTC (rev 2327) +++ branches/tora-1.4/tora/src/toparamget.cpp 2007-12-12 04:25:28 UTC (rev 2328) @@ -46,72 +46,85 @@ #include <qapplication.h> #include <qcheckbox.h> #include <qcombobox.h> -#include <q3grid.h> #include <qlabel.h> #include <qlayout.h> #include <qlineedit.h> #include <qpalette.h> #include <qpushbutton.h> -#include <qregexp.h> -#include <q3scrollview.h> #include <qsizepolicy.h> -//Added by qt3to4: + #include <QResizeEvent> -#include <Q3GridLayout> +#include <QGridLayout> +#include <QScrollArea> #include <QDesktopWidget> +#include <QVBoxLayout> +#include <QHBoxLayout> std::map<QString, std::list<QString> > toParamGet::DefaultCache; std::map<QString, std::list<QString> > toParamGet::Cache; toParamGet::toParamGet(QWidget *parent, const char *name) - : QDialog(parent, name, true), toHelpContext(QString::fromLatin1("common.html#param")) -{ + : QDialog(parent, name, true), + toHelpContext(QString::fromLatin1("common.html#param")) { + toHelp::connectDialog(this); resize(500, 480); setCaption(tr("Define binding variables")); - Q3GridLayout *layout = new Q3GridLayout(this, 3, 2); - layout->setSpacing( 6 ); - layout->setMargin( 11 ); + QHBoxLayout *hlayout = new QHBoxLayout; - View = new Q3ScrollView(this); - View->enableClipper(true); - View->setGeometry(10, 10, 330, 480); - View->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding)); - layout->addMultiCellWidget(View, 0, 2, 0, 0); + // for buttons on right + QWidget *vbox = new QWidget; + QVBoxLayout *vlayout = new QVBoxLayout; - Container = new Q3Grid(4, View->viewport()); - View->addChild(Container, 5, 5); + View = new QScrollArea(this); + View->setSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::MinimumExpanding); + hlayout->addWidget(View); + + // a widget to set as central to scroll area + QWidget *ext = new QWidget(View); + View->setWidget(ext); + View->setWidgetResizable(true); + + Container = new QGridLayout; Container->setSpacing(10); - Container->setFixedWidth(View->width() - 30); - View->viewport()->setBackgroundColor(qApp->palette().active().background()); + ext->setLayout(Container); QPushButton *OkButton = new QPushButton(this, "OkButton"); OkButton->setText(tr("&Ok")); OkButton->setDefault(true); - layout->addWidget(OkButton, 0, 1); + vlayout->addWidget(OkButton); QPushButton *CancelButton = new QPushButton(this, "CancelButton"); CancelButton->setText(tr("Cancel")); CancelButton->setDefault(false); - layout->addWidget(CancelButton, 1, 1); + vlayout->addWidget(CancelButton); - QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding ); - layout->addItem(spacer, 2, 1); + QSpacerItem* spacer = new QSpacerItem(20, + 20, + QSizePolicy::Minimum, + QSizePolicy::Expanding); + vlayout->addItem(spacer); connect(OkButton, SIGNAL(clicked()), this, SLOT(accept())); connect(CancelButton, SIGNAL(clicked()), this, SLOT(reject())); + + vbox->setLayout(vlayout); + hlayout->addWidget(vbox); + setLayout(hlayout); } -toQList toParamGet::getParam(toConnection &conn, QWidget *parent, QString &str, bool interactive) -{ +toQList toParamGet::getParam(toConnection &conn, + QWidget *parent, + QString &str, + bool interactive) { std::map<QString, bool> parameters; std::list<QString> names; toParamGet *widget = NULL; - enum - { + enum { afterName, inString, normal, @@ -133,8 +146,7 @@ int colon = 1; int num = 0; - for (int i = 0; i < str.length() + 1; i++) - { + for (int i = 0; i < str.length() + 1; i++) { QChar c; QChar nc; QChar pc; @@ -154,10 +166,8 @@ state = comment; else if (state == normal && c == '/' && nc == '*') state = multiComment; - else - { - switch (state) - { + else { + switch (state) { case inString: if (c == endString) state = normal; @@ -171,8 +181,7 @@ state = normal; break; case normal: - switch (c.latin1()) - { + switch (c.latin1()) { case '\'': case '\"': endString = c; @@ -201,13 +210,11 @@ } break; case name: - if (c.isLetterOrNumber() || c == '_') - { + if (c.isLetterOrNumber() || c == '_') { fname += c; break; } - if (fname.isEmpty() && !toIsMySQL(conn)) - { + if (fname.isEmpty() && !toIsMySQL(conn)) { toStatusMessage(tr("Missing field name")); throw tr("Missing field name"); } @@ -215,8 +222,7 @@ case afterName: if (c == '<') state = specification; - else - { + else { state = normal; res += def; } @@ -235,90 +241,119 @@ break; } } - if (state == normal && !fname.isEmpty()) - { - if (direction.isEmpty() || direction == "in" || direction == "inout") - { - if (!parameters[fname]) - { + + if (state == normal && !fname.isEmpty()) { + if (direction.isEmpty() || + direction == "in" || + direction == "inout") { + + if (!parameters[fname]) { parameters[fname] = true; + if (!widget) widget = new toParamGet(parent); - new QLabel(fname, widget->Container); - QComboBox *edit = new QComboBox(widget->Container, QString::number(num)); + + QLabel *id = new QLabel(fname, widget); + widget->Container->addWidget(id, num, 0); + + // to memo finds child by widget name (row) + QComboBox *edit = new QComboBox(widget, + QString::number(num)); edit->setEditable(true); + edit->setSizePolicy(QSizePolicy::MinimumExpanding, + QSizePolicy::MinimumExpanding); + edit->setMinimumContentsLength(30); + widget->Container->addWidget(edit, num, 1); + QString defval; std::map<QString, std::list<QString> >::iterator fnd = Cache.find(fname); - if (fnd != Cache.end()) - for (std::list<QString>::iterator i = (*fnd).second.begin();i != (*fnd).second.end();i++) - { + if (fnd != Cache.end()) { + for (std::list<QString>::iterator i = (*fnd).second.begin(); + i != (*fnd).second.end(); + i++) { + if (edit->count() == 0) defval = *i; edit->insertItem(*i); } + } fnd = DefaultCache.find(fname); - if (fnd != DefaultCache.end()) - for (std::list<QString>::iterator i = (*fnd).second.begin();i != (*fnd).second.end();i++) - { + if (fnd != DefaultCache.end()) { + for (std::list<QString>::iterator i = (*fnd).second.begin(); + i != (*fnd).second.end(); + i++) { + if (edit->count() == 0) defval = *i; edit->insertItem(*i); } + } - QCheckBox *box = new QCheckBox(tr("NULL"), widget->Container); - connect(box, SIGNAL(toggled(bool)), edit, SLOT(setDisabled(bool))); - if (edit->count() > 0) - { + QCheckBox *box = new QCheckBox(tr("NULL"), widget); + connect(box, + SIGNAL(toggled(bool)), + edit, + SLOT(setDisabled(bool))); + if (edit->count() > 0) { if (defval.isNull()) box->setChecked(true); } - toParamGetButton *btn = new toParamGetButton(num, widget->Container); + widget->Container->addWidget(box, num, 2); + + toParamGetButton *btn = new toParamGetButton( + num, + widget); btn->setText(tr("Edit")); - btn->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); - connect(btn, SIGNAL(clicked(int)), widget, SLOT(showMemo(int))); - connect(box, SIGNAL(toggled(bool)), btn, SLOT(setDisabled(bool))); + connect(btn, + SIGNAL(clicked(int)), + widget, + SLOT(showMemo(int))); + connect(box, + SIGNAL(toggled(bool)), + btn, + SLOT(setDisabled(bool))); + widget->Container->addWidget(btn, num, 3); widget->Value.insert(widget->Value.end(), edit); + names.insert(names.end(), fname); - QDesktopWidget *paramDesktop = new QDesktopWidget; - edit->setMaximumWidth(paramDesktop->availableGeometry(edit).width()*2 / 3); - edit->setMinimumWidth(100); - edit->setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed)); - + widget->Container->setRowMinimumHeight(num, 30); num++; } } fname = ""; } + if (i < str.length()) res += c; - } + } // for + // set edit column to stretch + widget->Container->setColumnStretch(1, 1); + + // add widget at bottom of grid that can resize + widget->Container->addWidget(new QLabel(widget), num, 0); + widget->Container->setRowStretch(num, 1); + toQList ret; - if (widget) - { + if (widget) { (*widget->Value.begin())->setFocus(); - if (!interactive || widget->exec()) - { + if (!interactive || widget->exec()) { std::list<QString>::iterator cn = names.begin(); - for (std::list<QComboBox *>::iterator i = widget->Value.begin();i != widget->Value.end();i++) - { + for (std::list<QComboBox *>::iterator i = widget->Value.begin();i != widget->Value.end();i++) { QComboBox *current = *i; QString val; - if (current) - { + if (current) { if (current->isEnabled()) val = current->currentText(); else val = QString::null; } - if (cn != names.end()) - { + if (cn != names.end()) { std::list<QString> &lst = Cache[*cn]; for (std::list<QString>::iterator i = lst.begin();i != lst.end();i++) - if ((*i) == val) - { + if ((*i) == val) { lst.erase(i); break; } @@ -327,8 +362,7 @@ std::map<QString, std::list<QString> >::iterator fnd = DefaultCache.find(*cn); if (fnd != DefaultCache.find(*cn)) for (std::list<QString>::iterator i = (*fnd).second.begin();i != (*fnd).second.end();i++) - if ((*i) == val) - { + if ((*i) == val) { (*fnd).second.erase(i); break; } @@ -339,8 +373,7 @@ } delete widget; } - else - { + else { delete widget; toStatusMessage(tr("Aborted execution"), false, false); throw tr("Aborted execution"); @@ -360,8 +393,7 @@ std::list<QString> &lst = DefaultCache[name]; for (std::list<QString>::iterator i = lst.begin();i != lst.end();i++) - if ((*i) == val) - { + if ((*i) == val) { lst.erase(i); break; } @@ -371,8 +403,7 @@ void toParamGet::showMemo(int row) { QObject *obj = child(QString::number(row)); - if (obj) - { + if (obj) { toMemoEditor *memo = new toMemoEditor(this, ((QComboBox *) obj)->currentText(), row, @@ -383,9 +414,3 @@ ((QComboBox *)obj)->setCurrentText(memo->text()); } } - -void toParamGet::resizeEvent(QResizeEvent *e) -{ - QDialog::resizeEvent(e); - Container->setFixedWidth(View->width() - 30); -} Modified: branches/tora-1.4/tora/src/toparamget.h =================================================================== --- branches/tora-1.4/tora/src/toparamget.h 2007-12-12 04:25:10 UTC (rev 2327) +++ branches/tora-1.4/tora/src/toparamget.h 2007-12-12 04:25:28 UTC (rev 2328) @@ -47,53 +47,55 @@ #include <qdialog.h> #include <qpushbutton.h> -//Added by qt3to4: + #include <QResizeEvent> +#include <QScrollArea> +#include <QGridLayout> class QComboBox; -class Q3Grid; -class Q3ScrollView; -class toParamGetButton : public QPushButton -{ +class toParamGetButton : public QPushButton { Q_OBJECT int Row; + public: toParamGetButton(int row, QWidget *parent = 0, const char *name = 0) - : QPushButton(parent, name), Row(row) - { + : QPushButton(parent, name), Row(row) { + connect(this, SIGNAL(clicked()), this, SLOT(internalClicked())); } + private slots: - void internalClicked(void) - { + void internalClicked(void) { emit clicked(Row); } + signals: void clicked(int); }; -/** A help class to parse SQL for input/output bindings and if available also pop up a - * dialog and ask for values. Also maintains an internal cache of old values. + +/** A help class to parse SQL for input/output bindings and if + * available also pop up a dialog and ask for values. Also maintains + * an internal cache of old values. */ +class toParamGet : public QDialog, public toHelpContext { + Q_OBJECT; -class toParamGet : public QDialog, public toHelpContext -{ - Q_OBJECT /** Default values cache */ static std::map<QString, std::list<QString> > DefaultCache; + /** Specified values cache */ static std::map<QString, std::list<QString> > Cache; - Q3ScrollView *View; - Q3Grid *Container; + QScrollArea *View; + QGridLayout *Container; std::list<QComboBox *> Value; toParamGet(QWidget *parent = 0, const char *name = 0); -protected: - virtual void resizeEvent(QResizeEvent *e); + public: /** Get parameters for specified SQL string. * @param conn Connection to get binds for. @@ -103,16 +105,22 @@ * @param interactive If not interactive simply rewrite the query and pass on the defaults. * @return Returns a list of values to feed into the query. */ - static toQList getParam(toConnection &conn, QWidget *parent, QString &str, bool interactive = true); + static toQList getParam(toConnection &conn, + QWidget *parent, + QString &str, + bool interactive = true); + /** Specify a default value for the cache. This can not overwrite a manually * specified value by the user. * @param conn Connection to get binds for. * @param name Name of the bind variable. * @param val Value of the bind variable. */ - static void setDefault(toConnection &conn, const QString &name, const QString &val); + static void setDefault(toConnection &conn, + const QString &name, + const QString &val); + private slots: - virtual void showMemo(int row); }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |