diff options
| author | 2008-10-27 16:46:54 +0000 | |
|---|---|---|
| committer | 2008-10-27 16:46:54 +0000 | |
| commit | 7e081b8e8e5a939faaf266166527787d01506e95 (patch) | |
| tree | 7e43d6d4f60f4c7f686893681cfd27c38580facc | |
| parent | fixed typos (diff) | |
| download | KVIrc-7e081b8e8e5a939faaf266166527787d01506e95.tar.gz KVIrc-7e081b8e8e5a939faaf266166527787d01506e95.tar.bz2 KVIrc-7e081b8e8e5a939faaf266166527787d01506e95.zip | |
fixed clearRecentChannels action + removed obsolete class KviGarbageCollector (using QObject::deleteLater() instead)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2776 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvilib/ext/kvi_garbage.cpp | 6 | ||||
| -rw-r--r-- | src/kvilib/ext/kvi_garbage.h | 4 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_app.cpp | 12 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_app.h | 5 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ircconnection.cpp | 7 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp | 10 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_irclink.cpp | 4 | ||||
| -rw-r--r-- | src/kvirc/kvs/kvi_kvs_dnsmanager.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kvs/kvi_kvs_kernel.cpp | 14 | ||||
| -rw-r--r-- | src/kvirc/kvs/kvi_kvs_runtimecall.cpp | 1 | ||||
| -rw-r--r-- | src/kvirc/module/kvi_modulemanager.cpp | 4 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_console.cpp | 4 | ||||
| -rw-r--r-- | src/modules/dcc/dialogs.cpp | 24 | ||||
| -rw-r--r-- | src/modules/dialog/libkvidialog.cpp | 20 | ||||
| -rw-r--r-- | src/modules/file/libkvifile.cpp | 2 | ||||
| -rw-r--r-- | src/modules/objects/class_toolbutton.cpp | 140 | ||||
| -rw-r--r-- | src/modules/objects/class_toolbutton.h | 38 | ||||
| -rw-r--r-- | src/modules/objects/object_macros.h | 2 |
18 files changed, 160 insertions, 140 deletions
diff --git a/src/kvilib/ext/kvi_garbage.cpp b/src/kvilib/ext/kvi_garbage.cpp index bb71dfeee..d74429de2 100644 --- a/src/kvilib/ext/kvi_garbage.cpp +++ b/src/kvilib/ext/kvi_garbage.cpp @@ -23,8 +23,8 @@ //============================================================================= -#include "kvi_garbage.h" - +//#include "kvi_garbage.h" +/* #include <QVariant> KviGarbageCollector::KviGarbageCollector() @@ -145,4 +145,4 @@ void KviGarbageCollector::cleanup() } } } - +*/ diff --git a/src/kvilib/ext/kvi_garbage.h b/src/kvilib/ext/kvi_garbage.h index fd6340561..569a7f169 100644 --- a/src/kvilib/ext/kvi_garbage.h +++ b/src/kvilib/ext/kvi_garbage.h @@ -37,7 +37,7 @@ * and much easier. */ - +/* class KVILIB_API KviGarbageCollector : public QObject { Q_OBJECT @@ -56,5 +56,5 @@ protected slots: void cleanup(); void garbageSuicide(); }; - +*/ #endif //_KVI_GARBAGE_H_ diff --git a/src/kvirc/kernel/kvi_app.cpp b/src/kvirc/kernel/kvi_app.cpp index af48272d8..00eefe988 100644 --- a/src/kvirc/kernel/kvi_app.cpp +++ b/src/kvirc/kernel/kvi_app.cpp @@ -54,7 +54,7 @@ #include "kvi_nickserv.h" #include "kvi_identityprofile.h" #include "kvi_xlib.h" -#include "kvi_garbage.h" +////#include "kvi_garbage.h" #include "kvi_texticonmanager.h" #include "kvi_texticonwin.h" #include "kvi_historywin.h" @@ -123,7 +123,7 @@ KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict = 0; KVIRC_API KviMediaManager * g_pMediaManager = 0; KVIRC_API KviSharedFilesManager * g_pSharedFilesManager = 0; KVIRC_API KviNickServRuleSet * g_pNickServRuleSet = 0; -KVIRC_API KviGarbageCollector * g_pGarbageCollector = 0; +//KVIRC_API KviGarbageCollector * g_pGarbageCollector = 0; KVIRC_API KviCtcpPageDialog * g_pCtcpPageDialog = 0; KVIRC_API KviRegisteredChannelDataBase * g_pRegisteredChannelDataBase = 0; KVIRC_API KviHistoryWindowWidget * g_pHistoryWindow = 0; @@ -453,7 +453,7 @@ void KviApp::setup() g_pCryptEngineManager = new KviCryptEngineManager(); #endif - g_pGarbageCollector = new KviGarbageCollector(); + //g_pGarbageCollector = new KviGarbageCollector(); // and the input popup g_pInputPopup = new KviTalPopupMenu(); @@ -548,7 +548,7 @@ KviApp::~KviApp() g_pActiveWindow = 0; // .. but it should be already 0 anyway // execute pending deletes (this may still contain some UI elements) - delete g_pGarbageCollector; + //delete g_pGarbageCollector; if(!m_bSetupDone)return; // killed with IPC (nothing except the m_pFrameList was created yet) @@ -700,13 +700,13 @@ QTextCodec * KviApp::defaultSrvCodec() if(!c)debug("KviApp::defaultSrcCodec(): cannot find a suitable text codec for locale :/"); return c; } - +/* void KviApp::collectGarbage(QObject * garbage) { // if(!g_pGarbageCollector)debug("Ops... no garbage collector ?"); g_pGarbageCollector->collect(garbage); } - +*/ void KviApp::loadDefaultScript() { QString cmd; diff --git a/src/kvirc/kernel/kvi_app.h b/src/kvirc/kernel/kvi_app.h index ff49eb7aa..48d201568 100644 --- a/src/kvirc/kernel/kvi_app.h +++ b/src/kvirc/kernel/kvi_app.h @@ -127,7 +127,7 @@ public: public: //FIXME: obsolete. We can use QObject::deleteLater() - void collectGarbage(QObject * garbage); + //void collectGarbage(QObject * garbage); void destroyFrame(); void setup(); // THIS SHOULD BE PRIVATE! (but is accessed from kvi_main.cpp) @@ -176,6 +176,8 @@ public: void listAvailableOptions(KviWindow *wnd); bool getOptionString(const QString &optName,QString &buffer); bool setOptionValue(const QString &optName,const QString &value); + bool setCommonOptionValue(const QString &optName,const QString &value); + void optionResetUpdate(int flags); // kvi_app_fs.cpp : Filesystem thingies @@ -255,6 +257,7 @@ public: void checkSuggestRestoreDefaultScript(); void loadDefaultScript(); + protected: void buildRecentChannels(); void saveRecentChannels(); diff --git a/src/kvirc/kernel/kvi_ircconnection.cpp b/src/kvirc/kernel/kvi_ircconnection.cpp index 9c989dca8..d7daeec32 100644 --- a/src/kvirc/kernel/kvi_ircconnection.cpp +++ b/src/kvirc/kernel/kvi_ircconnection.cpp @@ -46,7 +46,7 @@ #include "kvi_internalcmd.h" #include "kvi_frame.h" #include "kvi_mexlinkfilter.h" -#include "kvi_garbage.h" +////#include "kvi_garbage.h" #include "kvi_malloc.h" #include "kvi_memmove.h" #include "kvi_debug.h" @@ -72,7 +72,7 @@ extern KVIRC_API KviServerDataBase * g_pServerDataBase; extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; -extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; +//extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; KviIrcConnection::KviIrcConnection(KviIrcContext * pContext,KviIrcConnectionTarget * pTarget,KviUserIdentity * pIdentity) : QObject() @@ -115,7 +115,8 @@ KviIrcConnection::~KviIrcConnection() QObject::disconnect(m_pLocalhostDns,SIGNAL(lookupDone(KviDns *)),0,0); if(m_pLocalhostDns->isRunning()) { - g_pGarbageCollector->collect(m_pLocalhostDns); + //g_pGarbageCollector->collect(m_pLocalhostDns); + m_pLocalhostDns->deleteLater(); } else { delete m_pLocalhostDns; } diff --git a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp index 219baf6d2..af67ee2ad 100644 --- a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp +++ b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp @@ -38,7 +38,7 @@ #include "kvi_internalcmd.h" #include "kvi_frame.h" #include "kvi_mexlinkfilter.h" -#include "kvi_garbage.h" +//#include "kvi_garbage.h" #include "kvi_malloc.h" #include "kvi_memmove.h" #include "kvi_debug.h" @@ -56,7 +56,7 @@ extern KVIRC_API KviServerDataBase * g_pServerDataBase; extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; -extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; +//extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; @@ -90,7 +90,8 @@ void KviIrcConnectionTargetResolver::cleanup() { // deleting a running dns may block // thus garbage-collect it and delete later - g_pGarbageCollector->collect(m_pProxyDns); + //g_pGarbageCollector->collect(m_pProxyDns); + m_pProxyDns->deleteLater(); } else { // can't block : just delete it delete m_pProxyDns; @@ -103,7 +104,8 @@ void KviIrcConnectionTargetResolver::cleanup() { // deleting a running dns may block // thus garbage-collect it and delete later - g_pGarbageCollector->collect(m_pServerDns); + //g_pGarbageCollector->collect(m_pServerDns); + m_pServerDns->deleteLater(); } else { // can't block : just delete it delete m_pServerDns; diff --git a/src/kvirc/kernel/kvi_irclink.cpp b/src/kvirc/kernel/kvi_irclink.cpp index 94a3d05bc..b5ee9326e 100644 --- a/src/kvirc/kernel/kvi_irclink.cpp +++ b/src/kvirc/kernel/kvi_irclink.cpp @@ -37,7 +37,7 @@ #include "kvi_internalcmd.h" #include "kvi_frame.h" #include "kvi_mexlinkfilter.h" -#include "kvi_garbage.h" +//#include "kvi_garbage.h" #include "kvi_malloc.h" #include "kvi_memmove.h" #include "kvi_ircconnection.h" @@ -53,7 +53,7 @@ extern KVIRC_API KviServerDataBase * g_pServerDataBase; extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; -extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; +//extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; KviIrcLink::KviIrcLink(KviIrcConnection * pConnection) diff --git a/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp b/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp index 28c4e9aaf..34f2c37cd 100644 --- a/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp +++ b/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp @@ -52,7 +52,8 @@ KviKvsDnsObject::~KviKvsDnsObject() QObject::disconnect(m_pDns,0,0,0); if(m_pDns->isRunning()) { - g_pApp->collectGarbage(m_pDns); + //g_pApp->collectGarbage(m_pDns); + m_pDns->deleteLater(); } else { delete m_pDns; } diff --git a/src/kvirc/kvs/kvi_kvs_kernel.cpp b/src/kvirc/kvs/kvi_kvs_kernel.cpp index d199a495c..1fa6c5da8 100644 --- a/src/kvirc/kvs/kvi_kvs_kernel.cpp +++ b/src/kvirc/kvs/kvi_kvs_kernel.cpp @@ -174,12 +174,12 @@ void KviKvsKernel::completeFunction(const QString &szFunctionBegin,KviPointerLis ++it; } - //KviPointerList<QString> lModules; - //lModules.setAutoDelete(true); - g_pModuleManager->completeModuleNames(szFunctionBegin,pMatches); - //QString szEmpty = ""; - //for(QString * pszModuleName = lModules.first();pszModuleName;pszModuleName = lModules.next()) - // completeModuleFunction(*pszModuleName,szEmpty,pMatches); + KviPointerList<QString> lModules; + lModules.setAutoDelete(true); + g_pModuleManager->completeModuleNames(szFunctionBegin,&lModules); + QString szEmpty = ""; + for(QString * pszModuleName = lModules.first();pszModuleName;pszModuleName = lModules.next()) + completeModuleFunction(*pszModuleName,szEmpty,pMatches); KviPointerList<QString> lAliases; lAliases.setAutoDelete(true); @@ -212,7 +212,7 @@ void KviKvsKernel::completeModuleFunction(const QString &szModuleName,const QStr QString * pszMatch = new QString(*pszModuleMatch); pszMatch->prepend("."); pszMatch->prepend(szModuleName); - //pszMatch->prepend("$"); + pszMatch->prepend("$"); pMatches->append(pszMatch); } } diff --git a/src/kvirc/kvs/kvi_kvs_runtimecall.cpp b/src/kvirc/kvs/kvi_kvs_runtimecall.cpp index 051c429eb..9a2c0d5b1 100644 --- a/src/kvirc/kvs/kvi_kvs_runtimecall.cpp +++ b/src/kvirc/kvs/kvi_kvs_runtimecall.cpp @@ -27,6 +27,7 @@ void KviKvsRunTimeCall::warning(const QString &szFmt,...) { + debug ("warning %s",szFmt.toUtf8().data()); kvi_va_list va; kvi_va_start_by_reference(va,szFmt); m_pContext->report(false,m_pContext->defaultReportLocation(),szFmt,va); diff --git a/src/kvirc/module/kvi_modulemanager.cpp b/src/kvirc/module/kvi_modulemanager.cpp index 79970d44b..84cb9b8fc 100644 --- a/src/kvirc/module/kvi_modulemanager.cpp +++ b/src/kvirc/module/kvi_modulemanager.cpp @@ -109,9 +109,9 @@ void KviModuleManager::completeModuleNames(const QString &path,const QString &wo { // KviQString::cutFromLast(*modname,".so"); #if defined(COMPILE_ON_WINDOWS) - KviQString::cutFromLast(*modname,"dll"); + KviQString::cutFromLast(*modname,".dll"); #else - KviQString::cutFromLast(*modname,"so"); + KviQString::cutFromLast(*modname,".so"); #endif if(!modname->isEmpty()) matches->append(modname); diff --git a/src/kvirc/ui/kvi_console.cpp b/src/kvirc/ui/kvi_console.cpp index a1e8099cb..0b9d464bd 100644 --- a/src/kvirc/ui/kvi_console.cpp +++ b/src/kvirc/ui/kvi_console.cpp @@ -53,7 +53,7 @@ #include "kvi_internalcmd.h" #include "kvi_sparser.h" #include "kvi_themedlabel.h" -#include "kvi_garbage.h" +//#include "kvi_garbage.h" #include "kvi_modulemanager.h" #include "kvi_fileutils.h" #include "kvi_time.h" @@ -93,7 +93,7 @@ extern KVIRC_API KviServerDataBase * g_pServerDataBase; extern KVIRC_API KviProxyDataBase * g_pProxyDataBase; -extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; +//extern KVIRC_API KviGarbageCollector * g_pGarbageCollector; KviConsole::KviConsole(KviFrame * lpFrm,int iFlags) #ifdef COMPILE_ON_WINDOWS diff --git a/src/modules/dcc/dialogs.cpp b/src/modules/dcc/dialogs.cpp index db09d936c..3c6edf06d 100644 --- a/src/modules/dcc/dialogs.cpp +++ b/src/modules/dcc/dialogs.cpp @@ -96,14 +96,16 @@ void KviDccAcceptBox::acceptClicked() { hide(); emit accepted(this,m_pDescriptor); - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); } void KviDccAcceptBox::rejectClicked() { hide(); emit rejected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); } void KviDccAcceptBox::closeEvent(QCloseEvent *e) @@ -111,7 +113,8 @@ void KviDccAcceptBox::closeEvent(QCloseEvent *e) hide(); e->ignore(); emit rejected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); } void KviDccAcceptBox::showEvent(QShowEvent *e) @@ -173,7 +176,8 @@ void KviDccRenameBox::closeEvent(QCloseEvent *e) if(m_pDescriptor) { emit cancelSelected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + //g_pApp->collectGarbage(this); + this->deleteLater(); } } @@ -188,14 +192,16 @@ void KviDccRenameBox::renameClicked() { hide(); emit renameSelected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + //g_pApp->collectGarbage(this); + this->deleteLater(); } void KviDccRenameBox::overwriteClicked() { hide(); emit overwriteSelected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + //g_pApp->collectGarbage(this); + this->deleteLater(); } void KviDccRenameBox::resumeClicked() @@ -203,14 +209,16 @@ void KviDccRenameBox::resumeClicked() hide(); m_pDescriptor->bResume = true; emit overwriteSelected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); } void KviDccRenameBox::cancelClicked() { hide(); emit cancelSelected(this,m_pDescriptor); - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); } #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/dialog/libkvidialog.cpp b/src/modules/dialog/libkvidialog.cpp index e13689ae7..0af8658b2 100644 --- a/src/modules/dialog/libkvidialog.cpp +++ b/src/modules/dialog/libkvidialog.cpp @@ -71,12 +71,15 @@ KviKvsCallbackMessageBox::KviKvsCallbackMessageBox( KviKvsCallbackObject("dialog.message",pWindow,szCode,pMagicParams,0) { setWindowTitle(szCaption); + setAttribute(Qt::WA_DeleteOnClose,false); setText(szText); setIcon(QMessageBox::NoIcon); QMessageBox::StandardButtons buttons; - if (!szButton0.isEmpty()) buttons=QMessageBox::Ok | QMessageBox::Default; - if (!szButton2.isEmpty()) buttons|=QMessageBox::Cancel | QMessageBox::Escape; - else if(!szButton1.isEmpty()) buttons|=QMessageBox::No | QMessageBox::Escape; + bool btn=false; + if (!szButton0.isEmpty()) {btn=true;buttons=QMessageBox::Ok | QMessageBox::Default;} + if (!szButton2.isEmpty()) {btn=true;buttons|=QMessageBox::Cancel | QMessageBox::Escape;} + else if(!szButton1.isEmpty()) {btn=true;buttons|=QMessageBox::No | QMessageBox::Escape;} + if (!btn) buttons=QMessageBox::Ok; setStandardButtons(buttons); g_pDialogModuleDialogList->append(this); @@ -95,6 +98,7 @@ KviKvsCallbackMessageBox::KviKvsCallbackMessageBox( KviKvsCallbackMessageBox::~KviKvsCallbackMessageBox() { + debug("Deleting"); g_pDialogModuleDialogList->removeRef(this); } @@ -114,7 +118,6 @@ void KviKvsCallbackMessageBox::done(int code) params.append(new KviKvsVariant(iVal)); execute(¶ms); - delete this; } @@ -534,7 +537,8 @@ void KviKvsCallbackFileDialog::done(int code) // ...so skip out of this call stack and ask KviApp to destroy us just // when the control returns to the main loop. // If the module is unloaded then , KviApp will notice it and will NOT delete the dialog - g_pApp->collectGarbage(this); + this->deleteLater(); + //g_pApp->collectGarbage(this); // calling dialog.unload here WILL lead to a sigsegv (this is SURE // with a lot of qt versions that have the ugly file dialog "accept before this reference" bug) @@ -660,8 +664,8 @@ void KviKvsCallbackImageDialog::done(int code) // ...so skip out of this call stack and ask KviApp to destroy us just // when the control returns to the main loop. // If the module is unloaded then , KviApp will notice it and will NOT delete the dialog - g_pApp->collectGarbage(this); - + //g_pApp->collectGarbage(this); + this->deleteLater(); // calling dialog.unload here WILL lead to a sigsegv (this is SURE // with a lot of qt versions that have the ugly file dialog "accept before this reference" bug) // to avoid it, we can execute the callback triggered by a timer... @@ -869,7 +873,7 @@ static bool dialog_module_init(KviModule * m) { g_pDialogModuleDialogList = new KviPointerList<QWidget>; g_pDialogModuleDialogList->setAutoDelete(false); - +debug("registering comman"); KVSM_REGISTER_CALLBACK_COMMAND(m,"message",dialog_kvs_cmd_message); KVSM_REGISTER_CALLBACK_COMMAND(m,"textinput",dialog_kvs_cmd_textinput); KVSM_REGISTER_CALLBACK_COMMAND(m,"file",dialog_kvs_cmd_file); diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp index 2b5320bd4..279e2186f 100644 --- a/src/modules/file/libkvifile.cpp +++ b/src/modules/file/libkvifile.cpp @@ -459,7 +459,7 @@ static bool file_kvs_fnc_size(KviKvsModuleFunctionCall * c) return true; } /* - @doc: file.allSizese + @doc: file.allSizes @type: function @title: diff --git a/src/modules/objects/class_toolbutton.cpp b/src/modules/objects/class_toolbutton.cpp index 9e36a25d8..bb7cb0e1b 100644 --- a/src/modules/objects/class_toolbutton.cpp +++ b/src/modules/objects/class_toolbutton.cpp @@ -99,30 +99,30 @@ Returns the time delay between pressing the button and the appearance of the associated popup menu in milliseconds. */ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_toolbutton,"toolbutton","widget") - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setImage", functionsetImage) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setUsesBigPixmap", functionsetUsesBigPixmap) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"usesBigPixmap", functionusesBigPixmap) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setUsesTextLabel", functionsetUsesTextLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"usesTextLabel", functionusesTextLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setAutoRaise", function_setAutoRaise) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"autoRaise", function_autoRaise) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setTextLabel", functionsetTextLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"textLabel", functiontextLabel) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setPopup", functionsetPopup) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"openPopup", functionopenPopup) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setImage) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setUsesBigPixmap) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,usesBigPixmap) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setUsesTextLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,usesTextLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setAutoRaise) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,autoRaise) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setTextLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,textLabel) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setPopup) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,openPopup) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setToggleButton", functionsetToggleButton) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"toggle", functiontoggle) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setOn", functionsetOn) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setToggleButton) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,toggle) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setOn) /* - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setPopupDelay", functionsetPopupDelay) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"popupDelay", functionpopupDelay) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,"setPopupDelay", functionsetPopupDelay) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,"popupDelay", functionpopupDelay) */ - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"setTextPosition", functionsetTextPosition) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"textPosition", functiontextPosition) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,setTextPosition) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,textPosition) - KVSO_REGISTER_HANDLER(KviKvsObject_toolbutton,"clickEvent",function_clickEvent) + KVSO_REGISTER_HANDLER_NEW(KviKvsObject_toolbutton,clickEvent) KVSO_END_REGISTERCLASS(KviKvsObject_toolbutton) KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_toolbutton,KviKvsObject_widget) @@ -141,13 +141,13 @@ bool KviKvsObject_toolbutton::init(KviKvsRunTimeContext * pContext,KviKvsVariant return true; } -bool KviKvsObject_toolbutton::functionsetImage(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setImage) { + CHECK_INTERNAL_POINTER(widget()) QString icon; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("icon_id",KVS_PT_STRING,0,icon) KVSO_PARAMETERS_END(c) - if (!widget()) return true; QPixmap * pix = g_pIconManager->getImage(icon); if(pix){ ((QToolButton *)widget())->setIcon(QIcon(*pix)); @@ -156,102 +156,103 @@ bool KviKvsObject_toolbutton::functionsetImage(KviKvsObjectFunctionCall *c) ((QToolButton *)widget())->setIcon(QIcon()); return true; } -bool KviKvsObject_toolbutton::functionsetUsesBigPixmap(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setUsesBigPixmap) { + CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if(widget()) - ((QToolButton *)widget())->setIconSize(bEnabled?QSize(32,32):QSize(22,22)); + ((QToolButton *)widget())->setIconSize(bEnabled?QSize(32,32):QSize(22,22)); return true; } -bool KviKvsObject_toolbutton::functionusesBigPixmap(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,usesBigPixmap) { - if (widget()) - c->returnValue()->setBoolean(((QToolButton *)widget())->iconSize().height() > 22); + CHECK_INTERNAL_POINTER(widget()) + c->returnValue()->setBoolean(((QToolButton *)widget())->iconSize().height() > 22); return true; } -bool KviKvsObject_toolbutton::functionsetUsesTextLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setUsesTextLabel) { + CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if(widget()) - ((QToolButton *)widget())->setToolButtonStyle(bEnabled?Qt::ToolButtonTextUnderIcon : Qt::ToolButtonIconOnly); + ((QToolButton *)widget())->setToolButtonStyle(bEnabled?Qt::ToolButtonTextUnderIcon : Qt::ToolButtonIconOnly); return true; } -bool KviKvsObject_toolbutton::functionusesTextLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,usesTextLabel) { - if (widget()) - c->returnValue()->setBoolean(((QToolButton *)widget())->toolButtonStyle() != Qt::ToolButtonIconOnly); + CHECK_INTERNAL_POINTER(widget()) + c->returnValue()->setBoolean(((QToolButton *)widget())->toolButtonStyle() != Qt::ToolButtonIconOnly); return true; } -bool KviKvsObject_toolbutton::function_setAutoRaise(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setAutoRaise) { + CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if(widget()) - ((QToolButton *)widget())->setAutoRaise(bEnabled); + ((QToolButton *)widget())->setAutoRaise(bEnabled); return true; } -bool KviKvsObject_toolbutton::function_autoRaise(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,autoRaise) { - if(widget()) - c->returnValue()->setBoolean(((QToolButton *)widget())->autoRaise()); + CHECK_INTERNAL_POINTER(widget()) + c->returnValue()->setBoolean(((QToolButton *)widget())->autoRaise()); return true; } -bool KviKvsObject_toolbutton::functionsetOn(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setOn) { + CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if(widget()) - ((QToolButton *)widget())->setChecked(bEnabled); + ((QToolButton *)widget())->setChecked(bEnabled); return true; } -bool KviKvsObject_toolbutton::functionsetToggleButton(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setToggleButton) { + CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) KVSO_PARAMETERS_END(c) - if(widget()) - ((QToolButton *)widget())->setCheckable(bEnabled); + ((QToolButton *)widget())->setCheckable(bEnabled); return true; } -bool KviKvsObject_toolbutton::functiontoggle(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,toggle) { - if (widget()) - ((QToolButton *)widget())->toggle(); + CHECK_INTERNAL_POINTER(widget()) + ((QToolButton *)widget())->toggle(); return true; } -bool KviKvsObject_toolbutton::functionsetTextLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setTextLabel) { + CHECK_INTERNAL_POINTER(widget()) QString szLabel,szTip; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) KVSO_PARAMETER("tooltip",KVS_PT_STRING,KVS_PF_OPTIONAL,szTip) KVSO_PARAMETERS_END(c) - if(!widget()) return true; ((QToolButton *)widget())->setText(szLabel); if (!szTip.isEmpty()) ((QToolButton *)widget())->setToolTip(szTip); return true; } -bool KviKvsObject_toolbutton::functiontextLabel(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,textLabel) { - if (widget()) - c->returnValue()->setString(((QToolButton *)widget())->text()); + CHECK_INTERNAL_POINTER(widget()) + c->returnValue()->setString(((QToolButton *)widget())->text()); return true; } -bool KviKvsObject_toolbutton::functionsetPopup(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setPopup) { + CHECK_INTERNAL_POINTER(widget()) KviKvsObject *ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) @@ -260,31 +261,30 @@ bool KviKvsObject_toolbutton::functionsetPopup(KviKvsObjectFunctionCall *c) ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); if (!ob) { - c->warning(__tr2qs("Widget parameter is not an object")); + c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); return true; } if (!ob->object()) { - c->warning(__tr2qs("Widget parameter is not a valid object")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); return true; } if(!ob->inheritsClass("popupmenu")) { - c->warning(__tr2qs("Can't add a non - popupmenu object")); + c->warning(__tr2qs_ctx("Can't add a non - popupmenu object","objects")); return TRUE; } - if(widget()) - ((QToolButton *)widget())->setMenu(((KviTalPopupMenu *)(ob->object()))); + ((QToolButton *)widget())->setMenu(((KviTalPopupMenu *)(ob->object()))); return true; } -bool KviKvsObject_toolbutton::functionopenPopup(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,openPopup) { - if(widget()) - ((QToolButton *)widget())->showMenu(); + CHECK_INTERNAL_POINTER(widget()) + ((QToolButton *)widget())->showMenu(); return true; } /* -bool KviKvsObject_toolbutton::functionsetPopupDelay(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setPopupDelay) { kvs_int_t uDelay; KVSO_PARAMETERS_BEGIN(c) @@ -294,37 +294,37 @@ bool KviKvsObject_toolbutton::functionsetPopupDelay(KviKvsObjectFunctionCall *c) ((QToolButton *)widget())->setPopupDelay(uDelay); return true; } -bool KviKvsObject_toolbutton::functionpopupDelay(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,popupDelay) { if (widget()) c->returnValue()->setInteger(((QToolButton *)widget())->popupDelay()); return true; } */ -bool KviKvsObject_toolbutton::functionsetTextPosition(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,setTextPosition) { + CHECK_INTERNAL_POINTER(widget()) QString szPos; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("position",KVS_PT_STRING,0,szPos) KVSO_PARAMETERS_END(c) - if(!widget())return true; if(KviQString::equalCI(szPos,"BesideIcon")) ((QToolButton *)widget())->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); else if(KviQString::equalCI(szPos,"BelowIcon")) ((QToolButton *)widget())->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); - else c->warning(__tr2qs("Unknown text position '%Q'"),&szPos); + else c->warning(__tr2qs_ctx("Unknown text position '%Q'","objects"),&szPos); return true; } -bool KviKvsObject_toolbutton::functiontextPosition(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,textPosition) { - if(!widget()) return true; + CHECK_INTERNAL_POINTER(widget()) QString szPos="BelowIcon"; if ((((QToolButton *)widget())->toolButtonStyle())==(Qt::ToolButtonTextBesideIcon)) szPos="BesideIcon"; c->returnValue()->setString(szPos); return true; } -bool KviKvsObject_toolbutton::function_clickEvent(KviKvsObjectFunctionCall *c) +KVSO_CLASS_FUNCTION(toolbutton,clickEvent) { emitSignal("clicked",c); return true; diff --git a/src/modules/objects/class_toolbutton.h b/src/modules/objects/class_toolbutton.h index 968c575a2..6dd8744b3 100644 --- a/src/modules/objects/class_toolbutton.h +++ b/src/modules/objects/class_toolbutton.h @@ -40,26 +40,26 @@ public: protected: virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool functionsetImage(KviKvsObjectFunctionCall *c); - bool functionsetUsesBigPixmap(KviKvsObjectFunctionCall *c); - bool functionusesBigPixmap(KviKvsObjectFunctionCall *c); - bool functionsetUsesTextLabel(KviKvsObjectFunctionCall *c); - bool functionusesTextLabel(KviKvsObjectFunctionCall *c); - bool functionsetTextLabel(KviKvsObjectFunctionCall *c); - bool functiontextLabel(KviKvsObjectFunctionCall *c); - bool functionsetPopup(KviKvsObjectFunctionCall *c); - bool functionopenPopup(KviKvsObjectFunctionCall *c); - bool functionsetOn(KviKvsObjectFunctionCall *c); - bool functionsetToggleButton(KviKvsObjectFunctionCall *c); - bool functiontoggle(KviKvsObjectFunctionCall *c); -// bool functionsetPopupDelay(KviKvsObjectFunctionCall *c); -// bool functionpopupDelay(KviKvsObjectFunctionCall *c); - bool functionsetTextPosition(KviKvsObjectFunctionCall *c); - bool functiontextPosition(KviKvsObjectFunctionCall *c); + bool setImage(KviKvsObjectFunctionCall *c); + bool setUsesBigPixmap(KviKvsObjectFunctionCall *c); + bool usesBigPixmap(KviKvsObjectFunctionCall *c); + bool setUsesTextLabel(KviKvsObjectFunctionCall *c); + bool usesTextLabel(KviKvsObjectFunctionCall *c); + bool setTextLabel(KviKvsObjectFunctionCall *c); + bool textLabel(KviKvsObjectFunctionCall *c); + bool setPopup(KviKvsObjectFunctionCall *c); + bool openPopup(KviKvsObjectFunctionCall *c); + bool setOn(KviKvsObjectFunctionCall *c); + bool setToggleButton(KviKvsObjectFunctionCall *c); + bool toggle(KviKvsObjectFunctionCall *c); +// bool setPopupDelay(KviKvsObjectFunctionCall *c); +// bool popupDelay(KviKvsObjectFunctionCall *c); + bool setTextPosition(KviKvsObjectFunctionCall *c); + bool textPosition(KviKvsObjectFunctionCall *c); - bool function_setAutoRaise(KviKvsObjectFunctionCall *c); - bool function_autoRaise(KviKvsObjectFunctionCall *c); - bool function_clickEvent(KviKvsObjectFunctionCall *c); + bool setAutoRaise(KviKvsObjectFunctionCall *c); + bool autoRaise(KviKvsObjectFunctionCall *c); + bool clickEvent(KviKvsObjectFunctionCall *c); signals: void clicked(); protected slots: diff --git a/src/modules/objects/object_macros.h b/src/modules/objects/object_macros.h index 15e0cc4da..9c7f90af5 100644 --- a/src/modules/objects/object_macros.h +++ b/src/modules/objects/object_macros.h @@ -106,7 +106,7 @@ g_pKvs##__className##Class->registerFunctionHandler(#__szName,(KviKvsObjectFunct return false; \ } #define CHECK_HOBJECT_IS_WIDGET(__pObject)\ -if (__pObject)\ +if (!__pObject)\ {\ c->warning(__tr2qs_ctx("Widget parameter is not an object","objects"));\ return true;\ |
