aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Alexey Uzhva2007-04-22 08:11:23 +0000
committerGravatar Alexey Uzhva2007-04-22 08:11:23 +0000
commita1fe1cc1f9882fd926cc147d10870d487094c1fd (patch)
tree824b0389a62a872bd880b039ee8edfa5693cc82c
parentsmall fix (diff)
downloadKVIrc-a1fe1cc1f9882fd926cc147d10870d487094c1fd.tar.gz
KVIrc-a1fe1cc1f9882fd926cc147d10870d487094c1fd.tar.bz2
KVIrc-a1fe1cc1f9882fd926cc147d10870d487094c1fd.zip
fixed plugin stuff
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@525 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--src/kvirc/ui/kvi_channel.cpp13
-rw-r--r--src/kvirc/ui/kvi_channel.h2
-rw-r--r--src/kvirc/ui/kvi_toolwindows_container.cpp14
-rw-r--r--src/kvirc/ui/kvi_toolwindows_container.h8
-rw-r--r--src/kvirc/ui/kvi_window.cpp30
-rw-r--r--src/kvirc/ui/kvi_window.h11
-rw-r--r--src/modules/system/plugin.cpp25
7 files changed, 56 insertions, 47 deletions
diff --git a/src/kvirc/ui/kvi_channel.cpp b/src/kvirc/ui/kvi_channel.cpp
index 54e842c2e..1f1eaeeac 100644
--- a/src/kvirc/ui/kvi_channel.cpp
+++ b/src/kvirc/ui/kvi_channel.cpp
@@ -180,8 +180,10 @@ KviChannel::KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const char * name
#endif
m_pHideToolsButton = new KviStyledToolButton(m_pButtonBox,"hide_container_button");
-
+
+#ifndef COMPILE_USE_QT4
m_pHideToolsButton->setUsesBigPixmap(false);
+#endif
m_pHideToolsButton->setFixedWidth(10);
if(g_pIconManager->getBigIcon("kvi_horizontal_left.png"))
@@ -209,15 +211,6 @@ KviChannel::KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const char * name
m_joinTime = QDateTime::currentDateTime();
m_tLastReceivedWhoReply = (kvi_time_t)m_joinTime.toTime_t();
-#ifdef COMPILE_USE_QT4
- m_pHideToolsButton->setAutoRaise(true);
- m_pDoubleViewButton->setAutoRaise(true);
- m_pListViewButton->setAutoRaise(true);
- if(m_pBanEditorButton) m_pBanEditorButton->setAutoRaise(true);
- if(m_pBanExceptionEditorButton) m_pBanExceptionEditorButton->setAutoRaise(true);
- if(m_pInviteEditorButton) m_pInviteEditorButton->setAutoRaise(true);
- m_pModeEditorButton->setAutoRaise(true);
-#endif
}
diff --git a/src/kvirc/ui/kvi_channel.h b/src/kvirc/ui/kvi_channel.h
index 763fc2f20..306f4ff39 100644
--- a/src/kvirc/ui/kvi_channel.h
+++ b/src/kvirc/ui/kvi_channel.h
@@ -115,7 +115,7 @@ public:
protected:
QSplitter * m_pTopSplitter;
QSplitter * m_pVertSplitter;
- QToolButton * m_pDoubleViewButton;
+ BUTTON_CLASS * m_pDoubleViewButton;
KviWindowToolPageButton * m_pListViewButton;
KviWindowToolPageButton * m_pBanEditorButton;
KviWindowToolPageButton * m_pBanExceptionEditorButton;
diff --git a/src/kvirc/ui/kvi_toolwindows_container.cpp b/src/kvirc/ui/kvi_toolwindows_container.cpp
index 6bb2c5ee6..270a7063a 100644
--- a/src/kvirc/ui/kvi_toolwindows_container.cpp
+++ b/src/kvirc/ui/kvi_toolwindows_container.cpp
@@ -78,16 +78,22 @@ void KviWindowToolWidget::unregisterSelf()
}*/
KviWindowToolPageButton::KviWindowToolPageButton ( int pixon,int pixoff, const QString & text, QWidget * parent,bool bOn, const char * name )
-:KviStyledToolButton(parent,name)
+:TOOL_PAGE_PARENT(parent)
{
- setOn(bOn);
+#ifdef COMPILE_USE_QT4
+ setFlat(true);
+ setObjectName("kvi_window_tool_button");
+ setIcon(QIcon(*(g_pIconManager->getSmallIcon(pixon))));
+#else
QIconSet is1;
is1.setPixmap(*(g_pIconManager->getSmallIcon(pixon)),QIconSet::Small,QIconSet::Normal,QIconSet::On);
is1.setPixmap(*(g_pIconManager->getSmallIcon(pixoff)),QIconSet::Small,QIconSet::Normal,QIconSet::Off);
setIconSet(is1);
- setToggleButton(true);
setUsesBigPixmap(false);
- setAutoRaise(true);
+#endif
+ setToggleButton(true);
+ setOn(bOn);
+
// setSizePolicy(QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Ignored));
}
diff --git a/src/kvirc/ui/kvi_toolwindows_container.h b/src/kvirc/ui/kvi_toolwindows_container.h
index 40eac4f9b..ec131d9b3 100644
--- a/src/kvirc/ui/kvi_toolwindows_container.h
+++ b/src/kvirc/ui/kvi_toolwindows_container.h
@@ -45,10 +45,14 @@ protected:
};
+#ifdef COMPILE_USE_QT4
+ #define TOOL_PAGE_PARENT QPushButton
+#else
+ #define TOOL_PAGE_PARENT KviStyledToolButton
+#endif
-
-class KVIRC_API KviWindowToolPageButton : public KviStyledToolButton
+class KVIRC_API KviWindowToolPageButton : public TOOL_PAGE_PARENT
{
Q_OBJECT
public:
diff --git a/src/kvirc/ui/kvi_window.cpp b/src/kvirc/ui/kvi_window.cpp
index 7c8b35298..583c26605 100644
--- a/src/kvirc/ui/kvi_window.cpp
+++ b/src/kvirc/ui/kvi_window.cpp
@@ -64,18 +64,14 @@
#include <qevent.h>
// it looks they can't decide :D
-#ifndef COMPILE_USE_QT4
-#if QT_VERSION >= 0x030005
- #include <qobjectlist.h>
-#else
- #include <qobjcoll.h>
-#endif
-#endif
-
#ifdef COMPILE_USE_QT4
+ #include <QPushButton>
#include <qdesktopwidget.h>
+#else
+ #include <qobjectlist.h>
#endif
+
#include <qvariant.h>
#include <qtoolbutton.h>
#include "kvi_tal_tooltip.h"
@@ -432,26 +428,24 @@ void KviWindow::destroyTaskBarItem()
// m_pTaskBarItem = 0; // actually the taskBarItem destructor sets it
}
-QToolButton * KviWindow::createToolButton(QWidget * par,const char * nam,int pixon,int pixoff,const QString & tooltip,bool bOn)
+BUTTON_CLASS * KviWindow::createToolButton(QWidget * par,const char * nam,int pixon,int pixoff,const QString & tooltip,bool bOn)
{
- QToolButton * b = new KviStyledToolButton(par,nam);
#ifdef COMPILE_USE_QT4
- b->setAutoRaise(true);
-#endif
+ BUTTON_CLASS * b = new BUTTON_CLASS(par);
+ b->setObjectName(nam);
+ b->setFlat(true);
+ b->setIcon(QIcon(*(g_pIconManager->getSmallIcon(pixon))));
+#else
+ BUTTON_CLASS * b = new BUTTON_CLASS(par,nam);
b->setToggleButton(true);
b->setUsesBigPixmap(false);
-#if QT_VERSION >= 300
-
QIconSet is1;
is1.setPixmap(*(g_pIconManager->getSmallIcon(pixon)),QIconSet::Small,QIconSet::Normal,QIconSet::On);
is1.setPixmap(*(g_pIconManager->getSmallIcon(pixoff)),QIconSet::Small,QIconSet::Normal,QIconSet::Off);
b->setIconSet(is1);
-#else
-
- b->setOnIconSet(*(g_pIconManager->getSmallIcon(pixon)));
- b->setOffIconSet(*(g_pIconManager->getSmallIcon(pixoff)));
#endif
+
KviTalToolTip::add
(b,tooltip);
b->setOn(bOn);
diff --git a/src/kvirc/ui/kvi_window.h b/src/kvirc/ui/kvi_window.h
index c42b08840..969148c29 100644
--- a/src/kvirc/ui/kvi_window.h
+++ b/src/kvirc/ui/kvi_window.h
@@ -124,7 +124,12 @@ class KviTalWidgetStack;
#define KVI_ACTIVITY_VERYHOT 5
#define KVI_ACTIVITY_FIRE 6
-
+#ifdef COMPILE_USE_QT4
+ class QPushButton;
+ #define BUTTON_CLASS QPushButton
+#else
+ #define BUTTON_CLASS QToolButton
+#endif
class KVIRC_API KviWindow : public QWidget
@@ -164,7 +169,7 @@ protected: // almost private: don't touch :D
KviCryptController * m_pCryptController;
KviCryptSessionInfo * m_pCryptSessionInfo;
#endif
- QToolButton * m_pTextEncodingButton;
+ BUTTON_CLASS * m_pTextEncodingButton;
QToolButton * m_pHideToolsButton;
QWidget * m_pLastFocusedChild;
KviAccel * m_pAccel;
@@ -366,7 +371,7 @@ protected:
void createTextEncodingButton(QWidget * par);
void createSystemTextEncodingPopup();
- QToolButton * createToolButton(QWidget * par,const char * nam,int pixon,int pixoff,const QString & tooltip,bool bOn);
+ BUTTON_CLASS * createToolButton(QWidget * par,const char * nam,int pixon,int pixoff,const QString & tooltip,bool bOn);
// This is called by KviInput: actually it links the widgetAdded
virtual void childrenTreeChanged(QWidget * widgetAdded);
diff --git a/src/modules/system/plugin.cpp b/src/modules/system/plugin.cpp
index dbe40e300..9d91c12b4 100644
--- a/src/modules/system/plugin.cpp
+++ b/src/modules/system/plugin.cpp
@@ -193,6 +193,7 @@ KviPluginManager::~KviPluginManager()
bool KviPluginManager::pluginCall(KviKvsModuleFunctionCall *c)
{
+ // /echo $system.call("traffic.dll",about)
QString szPluginPath; //contains full path and plugin name like "c:/plugin.dll"
QString szFunctionName;
@@ -225,8 +226,6 @@ bool KviPluginManager::pluginCall(KviKvsModuleFunctionCall *c)
{
iArgc = c->parameterCount() - 2;
}
-
-
if (iArgc > 0)
{
@@ -264,12 +263,12 @@ bool KviPluginManager::pluginCall(KviKvsModuleFunctionCall *c)
} else {
//Avoid using unfilled variables
ppArgv = 0;
+ pArgvBuffer = 0;
iArgc = 0;
}
//Preparing return buffer
char * returnBuffer;
-
KviPlugin * plugin;
plugin = getPlugin(szPluginPath);
@@ -282,16 +281,23 @@ bool KviPluginManager::pluginCall(KviKvsModuleFunctionCall *c)
}
if (r > 0)
{
- c->returnValue()->setString(returnBuffer);
+ c->returnValue()->setString(QString::fromLocal8Bit(returnBuffer));
}
+
//Clean up
- free(pArgvBuffer);
- free(ppArgv);
- if (!plugin->pfree(returnBuffer))
+ if(pArgvBuffer) free(pArgvBuffer);
+ if(ppArgv) free(ppArgv);
+ if(returnBuffer)
{
- c->warning(__tr2qs("The plugin has no function to free memory. Can result in Memory Leaks!"));
+ if (!plugin->pfree(returnBuffer))
+ {
+ c->warning(__tr2qs("The plugin has no function to free memory. Can result in Memory Leaks!"));
+ }
}
+
+
+
return true;
}
@@ -331,7 +337,8 @@ void KviPluginManager::unloadAll(bool forced)
bool KviPluginManager::findPlugin(QString& szPath)
{
- QString szFileName=KviFileUtils::extractFileName(szPath);
+ QString szFileName(KviFileUtils::extractFileName(szPath));
+// szFileName.detach();
if(KviFileUtils::isAbsolutePath(szPath) && KviFileUtils::fileExists(szPath))
{
// Ok,