aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2007-02-20 04:10:04 +0000
committerGravatar Szymon Tomasz Stefanek2007-02-20 04:10:04 +0000
commit9418a51b844c587db96f8c7d27c2b37dffadf5a6 (patch)
treea804233844808a54d830c4a57fa5a583f7118a22 /src
parent*AUTOMATICALLY* updated KVI_SOURCES_DATE variable (diff)
downloadKVIrc-9418a51b844c587db96f8c7d27c2b37dffadf5a6.tar.gz
KVIrc-9418a51b844c587db96f8c7d27c2b37dffadf5a6.tar.bz2
KVIrc-9418a51b844c587db96f8c7d27c2b37dffadf5a6.zip
More Qt4 port and some small fixes
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@351 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/config.h.in18
-rw-r--r--src/kvi_configstatus.h22
-rw-r--r--src/kvilib/build/Makefile.am4
-rw-r--r--src/kvilib/ext/kvi_cmdformatter.cpp2
-rw-r--r--src/kvilib/file/kvi_file.cpp2
-rw-r--r--src/kvilib/irc/kvi_ircuserdb.cpp553
-rw-r--r--src/kvilib/tal/kvi_tal_application.cpp4
-rw-r--r--src/kvilib/tal/kvi_tal_application_kde.h2
-rw-r--r--src/kvilib/tal/kvi_tal_application_qt.h2
-rw-r--r--src/kvilib/tal/kvi_tal_popupmenu_qt4.h8
-rw-r--r--src/kvilib/tal/kvi_tal_tooltip.cpp69
-rw-r--r--src/kvilib/tal/kvi_tal_tooltip.h34
-rw-r--r--src/kvirc/kernel/kvi_app.cpp3
-rw-r--r--src/kvirc/kernel/kvi_app.h2
-rw-r--r--src/kvirc/kvs/kvi_kvs_parser_expression.cpp15
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_base.h18
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_expression.h50
-rw-r--r--src/kvirc/ui/kvi_input.cpp23
-rw-r--r--src/kvirc/ui/kvi_input.h5
-rw-r--r--src/kvirc/ui/kvi_ircview.cpp21
-rw-r--r--src/kvirc/ui/kvi_mdichild.cpp6
-rw-r--r--src/kvirc/ui/kvi_topicw.cpp14
-rw-r--r--src/kvirc/ui/kvi_topicw.h3
-rw-r--r--src/kvirc/ui/kvi_userlistview.cpp8
-rw-r--r--src/modules/addon/managementdialog.cpp13
-rw-r--r--src/modules/addon/managementdialog.h8
-rw-r--r--src/modules/aliaseditor/aliaseditor.cpp7
-rw-r--r--src/modules/avatar/libkviavatar.cpp7
-rw-r--r--src/modules/chan/libkvichan.cpp4
-rw-r--r--src/modules/channelsjoin/channelsjoinwindow.cpp13
-rw-r--r--src/modules/channelsjoin/channelsjoinwindow.h2
-rw-r--r--src/modules/dcc/broker.cpp11
-rw-r--r--src/modules/dcc/broker.h10
-rw-r--r--src/modules/dcc/canvas.cpp5
-rw-r--r--src/modules/dcc/canvas.h6
-rw-r--r--src/modules/dcc/canvaswidget.cpp5
-rw-r--r--src/modules/dcc/canvaswidget.h5
-rw-r--r--src/modules/dcc/chat.cpp9
-rw-r--r--src/modules/dcc/descriptor.cpp6
-rw-r--r--src/modules/dcc/descriptor.h4
-rw-r--r--src/modules/dcc/dialogs.cpp2
-rw-r--r--src/modules/dcc/libkvidcc.cpp4
-rw-r--r--src/modules/dcc/requests.cpp7
-rw-r--r--src/modules/dcc/send.cpp2
-rw-r--r--src/modules/dcc/send.h3
-rw-r--r--src/modules/dcc/voice.cpp4
-rw-r--r--src/modules/dialog/libkvidialog.cpp11
-rw-r--r--src/modules/dockwidget/Makefile.am6
-rw-r--r--src/modules/dockwidget/libkvidockwidget.cpp22
-rw-r--r--src/modules/dockwidget/trayicon.cpp4
-rw-r--r--src/modules/dockwidget/trayicon.h4
-rw-r--r--src/modules/dockwidget/trayicon_mac.cpp4
-rw-r--r--src/modules/dockwidget/trayicon_win.cpp4
-rw-r--r--src/modules/dockwidget/trayicon_x11.cpp5
-rw-r--r--src/modules/editor/scripteditor.cpp56
-rw-r--r--src/modules/editor/scripteditor.h19
-rw-r--r--src/modules/eventeditor/eventeditor.cpp3
-rw-r--r--src/modules/file/libkvifile.cpp23
-rw-r--r--src/modules/filetransferwindow/filetransferwindow.cpp15
-rw-r--r--src/modules/help/helpwidget.cpp6
-rw-r--r--src/modules/help/helpwindow.cpp28
-rwxr-xr-xsrc/modules/help/index.cpp30
-rwxr-xr-xsrc/modules/help/index.h20
-rw-r--r--src/modules/help/libkvihelp.cpp9
-rw-r--r--src/modules/links/linkswindow.cpp6
-rw-r--r--src/modules/mediaplayer/mp_amarokinterface.cpp2
-rw-r--r--src/modules/mediaplayer/mp_dcopinterface.cpp34
-rw-r--r--src/modules/mediaplayer/mp_dcopinterface.h20
-rw-r--r--src/modules/mediaplayer/mp_interface.cpp10
-rw-r--r--src/modules/mediaplayer/mp_jukinterface.cpp2
-rw-r--r--src/modules/mediaplayer/mp_xmmsinterface.cpp2
-rw-r--r--src/modules/mircimport/libkvimircimport.cpp2
-rw-r--r--src/modules/my/idle_x11.cpp4
-rw-r--r--src/modules/str/libkvistr.cpp10
74 files changed, 870 insertions, 516 deletions
diff --git a/src/config.h.in b/src/config.h.in
index 0608196e3..e79ea040e 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -190,31 +190,31 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* The size of a `int', as computed by sizeof. */
+/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
-/* The size of a `long int', as computed by sizeof. */
+/* The size of `long int', as computed by sizeof. */
#undef SIZEOF_LONG_INT
-/* The size of a `long long int', as computed by sizeof. */
+/* The size of `long long int', as computed by sizeof. */
#undef SIZEOF_LONG_LONG_INT
-/* The size of a `short int', as computed by sizeof. */
+/* The size of `short int', as computed by sizeof. */
#undef SIZEOF_SHORT_INT
-/* The size of a `unsigned int', as computed by sizeof. */
+/* The size of `unsigned int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_INT
-/* The size of a `unsigned long int', as computed by sizeof. */
+/* The size of `unsigned long int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG_INT
-/* The size of a `unsigned long long int', as computed by sizeof. */
+/* The size of `unsigned long long int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG_LONG_INT
-/* The size of a `unsigned short int', as computed by sizeof. */
+/* The size of `unsigned short int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_SHORT_INT
-/* The size of a `void *', as computed by sizeof. */
+/* The size of `void *', as computed by sizeof. */
#undef SIZEOF_VOID_P
/* Define to 1 if you have the ANSI C header files. */
diff --git a/src/kvi_configstatus.h b/src/kvi_configstatus.h
index 72e93f949..84b1cc4d2 100644
--- a/src/kvi_configstatus.h
+++ b/src/kvi_configstatus.h
@@ -1,4 +1,4 @@
-/* src/config.h. Generated by configure. */
+/* src/config.h. Generated from config.h.in by configure. */
/* src/config.h.in. Generated from configure.in by autoheader. */
/* define this to the number of average channel users */
@@ -8,7 +8,7 @@
/* #undef BIG_ENDIAN_MACHINE_BYTE_ORDER */
/* this is the build date (configure date rather) */
-#define BUILD_DATE "Fri Feb 9 03:55:03 UTC 2007"
+#define BUILD_DATE "Tue Feb 20 03:20:49 UTC 2007"
/* these are the build flags */
#define BUILD_FLAGS "x86_64-cefgikopsAGTZ"
@@ -191,31 +191,31 @@
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
-/* The size of a `int', as computed by sizeof. */
+/* The size of `int', as computed by sizeof. */
#define SIZEOF_INT 4
-/* The size of a `long int', as computed by sizeof. */
+/* The size of `long int', as computed by sizeof. */
#define SIZEOF_LONG_INT 8
-/* The size of a `long long int', as computed by sizeof. */
+/* The size of `long long int', as computed by sizeof. */
#define SIZEOF_LONG_LONG_INT 8
-/* The size of a `short int', as computed by sizeof. */
+/* The size of `short int', as computed by sizeof. */
#define SIZEOF_SHORT_INT 2
-/* The size of a `unsigned int', as computed by sizeof. */
+/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
-/* The size of a `unsigned long int', as computed by sizeof. */
+/* The size of `unsigned long int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_INT 8
-/* The size of a `unsigned long long int', as computed by sizeof. */
+/* The size of `unsigned long long int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG_INT 8
-/* The size of a `unsigned short int', as computed by sizeof. */
+/* The size of `unsigned short int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT_INT 2
-/* The size of a `void *', as computed by sizeof. */
+/* The size of `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 8
/* Define to 1 if you have the ANSI C header files. */
diff --git a/src/kvilib/build/Makefile.am b/src/kvilib/build/Makefile.am
index 1f7417c84..3bc8f5fe1 100644
--- a/src/kvilib/build/Makefile.am
+++ b/src/kvilib/build/Makefile.am
@@ -21,7 +21,9 @@ libkvilib_la_LIBADD = $(SS_LIBLINK)
nodist_libkvilib_la_SOURCES = \
../ext/moc_kvi_crypt.cpp \
../ext/moc_kvi_garbage.cpp \
+ ../ext/moc_kvi_regusersdb.cpp \
../ext/moc_kvi_sharedfiles.cpp \
+ ../irc/moc_kvi_ircuserdb.cpp \
../net/moc_kvi_dns.cpp \
../net/moc_kvi_http.cpp \
../system/moc_kvi_locale.cpp \
@@ -309,7 +311,7 @@ headers_HEADERS = \
../tal/kvi_tal_widgetstack.cpp: ../tal/kvi_tal_widgetstack_qt4.moc
../tal/kvi_tal_wizard.cpp: ../tal/kvi_tal_wizard_qt3.moc
../tal/kvi_tal_wizard.cpp: ../tal/kvi_tal_wizard_qt4.moc
-
+../tal/kvi_tal_tooltip.cpp: ../tal/kvi_tal_tooltip.moc
#
# All the cpp files depend on symlinks beging up-to-date
diff --git a/src/kvilib/ext/kvi_cmdformatter.cpp b/src/kvilib/ext/kvi_cmdformatter.cpp
index 1518433d4..396d542ac 100644
--- a/src/kvilib/ext/kvi_cmdformatter.cpp
+++ b/src/kvilib/ext/kvi_cmdformatter.cpp
@@ -174,7 +174,7 @@ namespace KviCommandFormatter
{
buffer.remove(0,1);
buffer.remove(buffer.length() - 1,1);
- while((buffer.at(0) == QChar('\n')) || (buffer.at(0) == QChar('\r')))
+ while((buffer.length() > 0) && ((buffer.at(0) == QChar('\n')) || (buffer.at(0) == QChar('\r'))))
buffer.remove(0,1);
}
diff --git a/src/kvilib/file/kvi_file.cpp b/src/kvilib/file/kvi_file.cpp
index 7474b4c3a..c01627687 100644
--- a/src/kvilib/file/kvi_file.cpp
+++ b/src/kvilib/file/kvi_file.cpp
@@ -55,7 +55,7 @@ bool KviFile::openForReading()
bool KviFile::openForWriting(bool bAppend)
{
#ifdef COMPILE_USE_QT4
- return open(QFile::ReadOnly | (bAppend ? QFile::Append : QFile::Truncate));
+ return open(QFile::WriteOnly | (bAppend ? QFile::Append : QFile::Truncate));
#else
return open(IO_WriteOnly | (bAppend ? IO_Append : IO_Truncate));
#endif
diff --git a/src/kvilib/irc/kvi_ircuserdb.cpp b/src/kvilib/irc/kvi_ircuserdb.cpp
index 149506af8..84b250340 100644
--- a/src/kvilib/irc/kvi_ircuserdb.cpp
+++ b/src/kvilib/irc/kvi_ircuserdb.cpp
@@ -1,284 +1,285 @@
-//=============================================================================
-//
-// File : kvi_ircuserdb.cpp
-// Creation date : Mon Jul 31 2000 21:23:22 by Szymon Stefanek
-//
-// This file is part of the KVirc irc client distribution
-// Copyright (C) 2000-2004 Szymon Stefanek (pragma at kvirc dot net)
-//
-// 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; either version 2
-// of the License, or (at your opinion) any later version.
-//
-// 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.
-//
-//=============================================================================
-
-#define __KVILIB__
-
-
-#include "kvi_debug.h"
-#include "kvi_ircuserdb.h"
-#include "kvi_mirccntrl.h"
-#include "kvi_qstring.h"
-#include "kvi_stringconversion.h"
-
-//static int cacheHit = 0;
-//static int cacheMiss = 0;
-
-KviIrcUserEntry::KviIrcUserEntry(const QString &user,const QString &host)
-{
- m_szUser = user;
- m_szHost = host;
- m_pAvatar = 0;
- m_nRefs = 1;
- m_iHops = -1;
- m_bAway = false;
- m_eGender = Unknown;
- m_bBot = false;
- m_bNotFoundRegUserLoockup=false;
- m_bUseCustomColor=false;
-}
-
-void KviIrcUserEntry::setRealName(const QString &rn)
-{
- m_szRealName = rn;
- m_szRealName = KviQString::trimmed(m_szRealName);
- if(m_szRealName.length()>=3)
- {
- if( (m_szRealName[0].unicode()==KVI_TEXT_COLOR) && (m_szRealName[2].unicode()==KVI_TEXT_RESET) )
- {
- switch(m_szRealName[1].unicode())
- {
- case '1': // hum.. encoded as hidden color code eh ? publish is somewhere, so others might implement this...
- setGender(Male);
- break;
- case '2':
- setGender(Female);
- break;
- case '3':
- setBot(true);
- break;
- }
- m_szRealName.remove(0,3);
- }
- }
-}
-
-KviIrcUserEntry::~KviIrcUserEntry()
-{
- if(m_pAvatar)delete m_pAvatar;
-}
-
-void KviIrcUserEntry::setAvatar(KviAvatar * av)
-{
- if(m_pAvatar)delete m_pAvatar;
- m_pAvatar = av;
-}
-
-KviAvatar * KviIrcUserEntry::forgetAvatar()
-{
- KviAvatar * ret = m_pAvatar;
- m_pAvatar = 0;
- return ret;
-}
-
-KviIrcUserDataBase::KviIrcUserDataBase()
-{
- // we expect a maximum of ~4000 users (= ~16 KB array on a 32 bit machine)
- // ...after that we will loose in performance
- // ... well...4000 users is a really big number...say 6-7 really big channels
- // (4001 is prime)
- // up to 12000 users we will have a reasonably fast access.
- // the performance increase since kvirc versions < 3.0.0
- // is really big anyway (there was a linear list instead of a hash!!!)
-
- m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
- m_pDict->setAutoDelete(true);
- setupConnectionWithReguserDb();
-}
-
-KviIrcUserDataBase::~KviIrcUserDataBase()
-{
- delete m_pDict;
-}
-
+//=============================================================================
+//
+// File : kvi_ircuserdb.cpp
+// Creation date : Mon Jul 31 2000 21:23:22 by Szymon Stefanek
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 2000-2004 Szymon Stefanek (pragma at kvirc dot net)
+//
+// 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; either version 2
+// of the License, or (at your opinion) any later version.
+//
+// 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.
+//
+//=============================================================================
+
+#define __KVILIB__
+
+
+#include "kvi_debug.h"
+#include "kvi_ircuserdb.h"
+#include "kvi_mirccntrl.h"
+#include "kvi_qstring.h"
+#include "kvi_stringconversion.h"
+
+//static int cacheHit = 0;
+//static int cacheMiss = 0;
+
+KviIrcUserEntry::KviIrcUserEntry(const QString &user,const QString &host)
+{
+ m_szUser = user;
+ m_szHost = host;
+ m_pAvatar = 0;
+ m_nRefs = 1;
+ m_iHops = -1;
+ m_bAway = false;
+ m_eGender = Unknown;
+ m_bBot = false;
+ m_bNotFoundRegUserLoockup=false;
+ m_bUseCustomColor=false;
+}
+
+void KviIrcUserEntry::setRealName(const QString &rn)
+{
+ m_szRealName = rn;
+ m_szRealName = KviQString::trimmed(m_szRealName);
+ if(m_szRealName.length()>=3)
+ {
+ if( (m_szRealName[0].unicode()==KVI_TEXT_COLOR) && (m_szRealName[2].unicode()==KVI_TEXT_RESET) )
+ {
+ switch(m_szRealName[1].unicode())
+ {
+ case '1': // hum.. encoded as hidden color code eh ? publish is somewhere, so others might implement this...
+ setGender(Male);
+ break;
+ case '2':
+ setGender(Female);
+ break;
+ case '3':
+ setBot(true);
+ break;
+ }
+ m_szRealName.remove(0,3);
+ }
+ }
+}
+
+KviIrcUserEntry::~KviIrcUserEntry()
+{
+ if(m_pAvatar)delete m_pAvatar;
+}
+
+void KviIrcUserEntry::setAvatar(KviAvatar * av)
+{
+ if(m_pAvatar)delete m_pAvatar;
+ m_pAvatar = av;
+}
+
+KviAvatar * KviIrcUserEntry::forgetAvatar()
+{
+ KviAvatar * ret = m_pAvatar;
+ m_pAvatar = 0;
+ return ret;
+}
+
+KviIrcUserDataBase::KviIrcUserDataBase()
+: QObject()
+{
+ // we expect a maximum of ~4000 users (= ~16 KB array on a 32 bit machine)
+ // ...after that we will loose in performance
+ // ... well...4000 users is a really big number...say 6-7 really big channels
+ // (4001 is prime)
+ // up to 12000 users we will have a reasonably fast access.
+ // the performance increase since kvirc versions < 3.0.0
+ // is really big anyway (there was a linear list instead of a hash!!!)
+
+ m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
+ m_pDict->setAutoDelete(true);
+ setupConnectionWithReguserDb();
+}
+
+KviIrcUserDataBase::~KviIrcUserDataBase()
+{
+ delete m_pDict;
+}
+
bool KviIrcUserDataBase::haveCustomColor(const QString & nick)
{
- KviIrcUserEntry *u = find(nick);
- if(!u) return false;
- if( u->m_szLastRegisteredMatchNick!=nick)
- registeredUser(nick);
- if(!u->m_bNotFoundRegUserLoockup)
- {
- return u->m_bUseCustomColor;
- }
+ KviIrcUserEntry *u = find(nick);
+ if(!u) return false;
+ if( u->m_szLastRegisteredMatchNick!=nick)
+ registeredUser(nick);
+ if(!u->m_bNotFoundRegUserLoockup)
+ {
+ return u->m_bUseCustomColor;
+ }
return false;
}
-QColor* KviIrcUserDataBase::customColor(const QString & nick)
-{
- KviIrcUserEntry *u = find(nick);
- if(!u) return 0;
- if( u->m_szLastRegisteredMatchNick!=nick)
- registeredUser(nick);
-
- if(!u->m_bNotFoundRegUserLoockup)
- {
- return &(u->m_cachedColor);
- }
+QColor* KviIrcUserDataBase::customColor(const QString & nick)
+{
+ KviIrcUserEntry *u = find(nick);
+ if(!u) return 0;
+ if( u->m_szLastRegisteredMatchNick!=nick)
+ registeredUser(nick);
+
+ if(!u->m_bNotFoundRegUserLoockup)
+ {
+ return &(u->m_cachedColor);
+ }
return 0;
-}
-
-
-KviRegisteredUser* KviIrcUserDataBase::registeredUser(const QString & nick,const QString & user,const QString & host)
-{
- if(nick.isEmpty()) return 0;
- KviIrcUserEntry *u = find(nick);
- if(!u) return g_pRegisteredUserDataBase->findMatchingUser(nick,user,host);
- KviRegisteredUser* pUser=0;
-
- if(u->m_bNotFoundRegUserLoockup && u->m_szLastRegisteredMatchNick==nick)
- {
- //cacheHit++;
- //debug("cache hits/miss = %i/%i",cacheHit,cacheMiss);
- return 0;
- }
-
- if(!u->m_szRegisteredUserName.isEmpty() && u->m_szLastRegisteredMatchNick==nick)
- {
- pUser = g_pRegisteredUserDataBase->getUser(u->m_szRegisteredUserName);
- //if(pUser) cacheHit++;
- }
-
- if(!pUser) {
- //user renamed or it is a first loockup
- if(u->hasHost() && u->hasUser())
- {
- pUser=g_pRegisteredUserDataBase->findMatchingUser(nick,u->user(),u->host());
- //cacheMiss++;
- if(pUser) {
- u->m_szLastRegisteredMatchNick=nick;
- u->m_szRegisteredUserName=pUser->name();
-
- u->m_bUseCustomColor=pUser->getBoolProperty("useCustomColor");
+}
+
+
+KviRegisteredUser* KviIrcUserDataBase::registeredUser(const QString & nick,const QString & user,const QString & host)
+{
+ if(nick.isEmpty()) return 0;
+ KviIrcUserEntry *u = find(nick);
+ if(!u) return g_pRegisteredUserDataBase->findMatchingUser(nick,user,host);
+ KviRegisteredUser* pUser=0;
+
+ if(u->m_bNotFoundRegUserLoockup && u->m_szLastRegisteredMatchNick==nick)
+ {
+ //cacheHit++;
+ //debug("cache hits/miss = %i/%i",cacheHit,cacheMiss);
+ return 0;
+ }
+
+ if(!u->m_szRegisteredUserName.isEmpty() && u->m_szLastRegisteredMatchNick==nick)
+ {
+ pUser = g_pRegisteredUserDataBase->getUser(u->m_szRegisteredUserName);
+ //if(pUser) cacheHit++;
+ }
+
+ if(!pUser) {
+ //user renamed or it is a first loockup
+ if(u->hasHost() && u->hasUser())
+ {
+ pUser=g_pRegisteredUserDataBase->findMatchingUser(nick,u->user(),u->host());
+ //cacheMiss++;
+ if(pUser) {
+ u->m_szLastRegisteredMatchNick=nick;
+ u->m_szRegisteredUserName=pUser->name();
+
+ u->m_bUseCustomColor=pUser->getBoolProperty("useCustomColor");
QString szTmp=pUser->getProperty("customColor");
- KviStringConversion::fromString(szTmp,u->m_cachedColor);
-
- u->m_bNotFoundRegUserLoockup=false; //to be shure
- } else {
- u->m_szLastRegisteredMatchNick=nick;
- u->m_bNotFoundRegUserLoockup=true;
- }
- }
- }
-
-// debug("cache hits/miss = %i/%i",cacheHit,cacheMiss);
- return pUser;
-}
-
-KviRegisteredUser* KviIrcUserDataBase::registeredUser(const QString & nick)
-{
- if(nick.isEmpty()) return 0;
- KviIrcUserEntry *u = find(nick);
- if(!u) return 0;
- return registeredUser(nick,u->user(),u->host());
-}
-
-void KviIrcUserDataBase::clear()
-{
- delete m_pDict;
- m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
- m_pDict->setAutoDelete(true);
-}
-
-KviIrcUserEntry * KviIrcUserDataBase::insertUser(const QString &nick,const QString &user,const QString &hostname)
-{
- KviIrcUserEntry * e = m_pDict->find(nick);
- if(e)
- {
- e->m_nRefs++;
- if(e->m_szUser.isEmpty())
- {
- e->m_szUser = user;
- e->m_szHost = hostname;
- }
- } else {
- e = new KviIrcUserEntry(user,hostname);
- m_pDict->insert(nick,e);
- }
- return e;
-}
-
-void KviIrcUserDataBase::removeUser(const QString &nick,KviIrcUserEntry * e)
-{
- e->m_nRefs--;
- if(e->m_nRefs == 0)m_pDict->remove(nick);
-}
-
-void KviIrcUserDataBase::setupConnectionWithReguserDb()
-{
- connect(g_pRegisteredUserDataBase,SIGNAL(userRemoved(const QString&)),this,SLOT(registeredUserRemoved(const QString&)));
- connect(g_pRegisteredUserDataBase,SIGNAL(userChanged(const QString&)),this,SLOT(registeredUserChanged(const QString&)));
- connect(g_pRegisteredUserDataBase,SIGNAL(userAdded(const QString&)),this,SLOT(registeredUserAdded(const QString&)));
- connect(g_pRegisteredUserDataBase,SIGNAL(databaseCleared()),this,SLOT(registeredDatabaseCleared()));
-
-
-}
-
-void KviIrcUserDataBase::registeredUserRemoved(const QString& user)
-{
- KviDictIterator<KviIrcUserEntry> it( *m_pDict );
- for( ; it.current(); ++it )
- {
- if(it.current()->m_szRegisteredUserName==user)
- {
- it.current()->m_szRegisteredUserName="";
- it.current()->m_bNotFoundRegUserLoockup=false;
- }
- }
-}
-
-void KviIrcUserDataBase::registeredUserChanged(const QString& user)
-{
- //the same as above
- KviDictIterator<KviIrcUserEntry> it( *m_pDict );
- for( ; it.current(); ++it )
- {
- if(it.current()->m_szRegisteredUserName==user)
- {
- it.current()->m_szRegisteredUserName="";
- it.current()->m_bNotFoundRegUserLoockup=false;
- }
- }
-}
-
-void KviIrcUserDataBase::registeredUserAdded(const QString& user)
-{
- KviDictIterator<KviIrcUserEntry> it( *m_pDict );
- for( ; it.current(); ++it )
- {
- if(it.current()->m_szRegisteredUserName.isEmpty())
- {
- it.current()->m_bNotFoundRegUserLoockup=false;
- }
- }
-}
-
-void KviIrcUserDataBase::registeredDatabaseCleared()
-{
- KviDictIterator<KviIrcUserEntry> it( *m_pDict );
- for( ; it.current(); ++it )
- {
- it.current()->m_szRegisteredUserName="";
- it.current()->m_bNotFoundRegUserLoockup=false;
- }
+ KviStringConversion::fromString(szTmp,u->m_cachedColor);
+
+ u->m_bNotFoundRegUserLoockup=false; //to be shure
+ } else {
+ u->m_szLastRegisteredMatchNick=nick;
+ u->m_bNotFoundRegUserLoockup=true;
+ }
+ }
+ }
+
+// debug("cache hits/miss = %i/%i",cacheHit,cacheMiss);
+ return pUser;
+}
+
+KviRegisteredUser* KviIrcUserDataBase::registeredUser(const QString & nick)
+{
+ if(nick.isEmpty()) return 0;
+ KviIrcUserEntry *u = find(nick);
+ if(!u) return 0;
+ return registeredUser(nick,u->user(),u->host());
+}
+
+void KviIrcUserDataBase::clear()
+{
+ delete m_pDict;
+ m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
+ m_pDict->setAutoDelete(true);
+}
+
+KviIrcUserEntry * KviIrcUserDataBase::insertUser(const QString &nick,const QString &user,const QString &hostname)
+{
+ KviIrcUserEntry * e = m_pDict->find(nick);
+ if(e)
+ {
+ e->m_nRefs++;
+ if(e->m_szUser.isEmpty())
+ {
+ e->m_szUser = user;
+ e->m_szHost = hostname;
+ }
+ } else {
+ e = new KviIrcUserEntry(user,hostname);
+ m_pDict->insert(nick,e);
+ }
+ return e;
+}
+
+void KviIrcUserDataBase::removeUser(const QString &nick,KviIrcUserEntry * e)
+{
+ e->m_nRefs--;
+ if(e->m_nRefs == 0)m_pDict->remove(nick);
+}
+
+void KviIrcUserDataBase::setupConnectionWithReguserDb()
+{
+ connect(g_pRegisteredUserDataBase,SIGNAL(userRemoved(const QString&)),this,SLOT(registeredUserRemoved(const QString&)));
+ connect(g_pRegisteredUserDataBase,SIGNAL(userChanged(const QString&)),this,SLOT(registeredUserChanged(const QString&)));
+ connect(g_pRegisteredUserDataBase,SIGNAL(userAdded(const QString&)),this,SLOT(registeredUserAdded(const QString&)));
+ connect(g_pRegisteredUserDataBase,SIGNAL(databaseCleared()),this,SLOT(registeredDatabaseCleared()));
+
+
+}
+
+void KviIrcUserDataBase::registeredUserRemoved(const QString& user)
+{
+ KviDictIterator<KviIrcUserEntry> it( *m_pDict );
+ for( ; it.current(); ++it )
+ {
+ if(it.current()->m_szRegisteredUserName==user)
+ {
+ it.current()->m_szRegisteredUserName="";
+ it.current()->m_bNotFoundRegUserLoockup=false;
+ }
+ }
+}
+
+void KviIrcUserDataBase::registeredUserChanged(const QString& user)
+{
+ //the same as above
+ KviDictIterator<KviIrcUserEntry> it( *m_pDict );
+ for( ; it.current(); ++it )
+ {
+ if(it.current()->m_szRegisteredUserName==user)
+ {
+ it.current()->m_szRegisteredUserName="";
+ it.current()->m_bNotFoundRegUserLoockup=false;
+ }
+ }
+}
+
+void KviIrcUserDataBase::registeredUserAdded(const QString& user)
+{
+ KviDictIterator<KviIrcUserEntry> it( *m_pDict );
+ for( ; it.current(); ++it )
+ {
+ if(it.current()->m_szRegisteredUserName.isEmpty())
+ {
+ it.current()->m_bNotFoundRegUserLoockup=false;
+ }
+ }
+}
+
+void KviIrcUserDataBase::registeredDatabaseCleared()
+{
+ KviDictIterator<KviIrcUserEntry> it( *m_pDict );
+ for( ; it.current(); ++it )
+ {
+ it.current()->m_szRegisteredUserName="";
+ it.current()->m_bNotFoundRegUserLoockup=false;
+ }
} \ No newline at end of file
diff --git a/src/kvilib/tal/kvi_tal_application.cpp b/src/kvilib/tal/kvi_tal_application.cpp
index 129a04f42..9f63218f0 100644
--- a/src/kvilib/tal/kvi_tal_application.cpp
+++ b/src/kvilib/tal/kvi_tal_application.cpp
@@ -39,7 +39,7 @@
// The other constructors are not "old" and "stable" enough
// to be safely used at this time. We'll rethink this when KDE 4 is out.
- KviTalApplication::KviTalApplication(int argc,char ** argv)
+ KviTalApplication::KviTalApplication(int &argc,char ** argv)
: KApplication(argc,argv,"kvirc")
{
@@ -55,7 +55,7 @@
#else
- KviTalApplication::KviTalApplication(int argc,char ** argv)
+ KviTalApplication::KviTalApplication(int &argc,char ** argv)
: QApplication(argc,argv)
{
}
diff --git a/src/kvilib/tal/kvi_tal_application_kde.h b/src/kvilib/tal/kvi_tal_application_kde.h
index c471f396e..b8f258ae6 100644
--- a/src/kvilib/tal/kvi_tal_application_kde.h
+++ b/src/kvilib/tal/kvi_tal_application_kde.h
@@ -30,7 +30,7 @@ class KVILIB_API KviTalApplication : public KApplication
{
Q_OBJECT
public:
- KviTalApplication(int argc,char ** argv);
+ KviTalApplication(int &argc,char ** argv);
~KviTalApplication();
};
diff --git a/src/kvilib/tal/kvi_tal_application_qt.h b/src/kvilib/tal/kvi_tal_application_qt.h
index 0f0b8fb66..cca765db1 100644
--- a/src/kvilib/tal/kvi_tal_application_qt.h
+++ b/src/kvilib/tal/kvi_tal_application_qt.h
@@ -30,7 +30,7 @@ class KVILIB_API KviTalApplication : public QApplication
{
Q_OBJECT
public:
- KviTalApplication(int argc,char ** argv);
+ KviTalApplication(int &argc,char ** argv);
~KviTalApplication();
};
diff --git a/src/kvilib/tal/kvi_tal_popupmenu_qt4.h b/src/kvilib/tal/kvi_tal_popupmenu_qt4.h
index 514a51183..744caefc5 100644
--- a/src/kvilib/tal/kvi_tal_popupmenu_qt4.h
+++ b/src/kvilib/tal/kvi_tal_popupmenu_qt4.h
@@ -29,6 +29,7 @@
#include "kvi_qstring.h"
#include <q3popupmenu.h>
+#include <qwidgetaction.h>
class KVILIB_API KviTalPopupMenu : public Q3PopupMenu
{
@@ -73,6 +74,13 @@ public:
{
return Q3PopupMenu::insertItem(szText,pMenu,-1,-1);
}
+ int insertItem(QWidget * pWidget)
+ {
+ // needs Qt 4.2
+ QWidgetAction * pAct = new QWidgetAction(this);
+ pAct->setDefaultWidget(pWidget);
+ addAction(pAct);
+ }
};
diff --git a/src/kvilib/tal/kvi_tal_tooltip.cpp b/src/kvilib/tal/kvi_tal_tooltip.cpp
index 5628b828c..0cfb3f1ac 100644
--- a/src/kvilib/tal/kvi_tal_tooltip.cpp
+++ b/src/kvilib/tal/kvi_tal_tooltip.cpp
@@ -25,19 +25,77 @@
#define __KVILIB__
#include "kvi_tal_tooltip.h"
+#include <qevent.h>
+
+KviTalToolTipHelper::KviTalToolTipHelper(KviTalToolTip * pToolTip,QWidget * pWidget)
+: QObject(pWidget)
+{
+#ifdef COMPILE_USE_QT4
+ m_pToolTip = pToolTip;
+ pWidget->installEventFilter(this);
+#endif
+}
+
+KviTalToolTipHelper::~KviTalToolTipHelper()
+{
+#ifdef COMPILE_USE_QT4
+ if(m_pToolTip)
+ {
+ m_pToolTip->helperDying();
+ delete m_pToolTip;
+ }
+#endif
+}
+
+void KviTalToolTipHelper::toolTipDying()
+{
+#ifdef COMPILE_USE_QT4
+ m_pToolTip = 0;
+#endif
+}
+
+bool KviTalToolTipHelper::eventFilter(QObject * pObject,QEvent * pEvent)
+{
+#ifdef COMPILE_USE_QT4
+ if((pEvent->type() == QEvent::ToolTip) && m_pToolTip)
+ {
+ debug("TOOL TIP EVENT WITH POSITION %d,%d",((QHelpEvent *)pEvent)->pos().x(),((QHelpEvent *)pEvent)->pos().y());
+ m_pToolTip->maybeTip(((QHelpEvent *)pEvent)->pos());
+ return true;
+ }
+#endif
+ return false;
+}
+
+
KviTalToolTip::KviTalToolTip(QWidget * pParent)
#ifndef COMPILE_USE_QT4
: QToolTip(pParent)
#endif
{
- // FIXME: With QT4 will need a helper that intercepts
- // the widget QHelpEvent thingies...
- // Will also need a deleting parent I guess...
+#ifdef COMPILE_USE_QT4
+ m_pHelper = new KviTalToolTipHelper(this,pParent);
+ m_pParent = pParent;
+#endif
}
KviTalToolTip::~KviTalToolTip()
{
+#ifdef COMPILE_USE_QT4
+ if(m_pHelper)
+ {
+ m_pHelper->toolTipDying();
+ delete m_pHelper;
+ }
+#endif
+}
+
+#ifdef COMPILE_USE_QT4
+void KviTalToolTip::helperDying()
+{
+ m_pHelper = 0;
}
+#endif
#ifdef COMPILE_USE_QT4
void KviTalToolTip::add(QWidget * widget,const QString & text)
@@ -52,7 +110,8 @@ void KviTalToolTip::remove(QWidget * widget)
void KviTalToolTip::tip(const QRect & rect,const QString & text)
{
- QToolTip::showText(rect.topLeft(),text);
+ debug("TOOL TIP AT %d,%d",rect.topLeft().x(),rect.topLeft().y());
+ QToolTip::showText(m_pParent->mapToGlobal(rect.topLeft()),text);
}
#endif
@@ -61,4 +120,4 @@ void KviTalToolTip::maybeTip(const QPoint & p)
// does nothing here.. and in Qt 4.x will even fail to work
}
-
+#include "kvi_tal_tooltip.moc"
diff --git a/src/kvilib/tal/kvi_tal_tooltip.h b/src/kvilib/tal/kvi_tal_tooltip.h
index 4e058c2e5..34ae6220c 100644
--- a/src/kvilib/tal/kvi_tal_tooltip.h
+++ b/src/kvilib/tal/kvi_tal_tooltip.h
@@ -28,16 +28,41 @@
#include "kvi_settings.h"
#include <qtooltip.h>
+#include <qobject.h>
+
+class KviTalToolTip;
+
+// This is useful only with Qt4, but we put it here anyway
+// to have both a consistent API and make moc happy
+class KviTalToolTipHelper : public QObject
+{
+ friend class KviTalToolTip;
+ Q_OBJECT
+public:
+ KviTalToolTipHelper(KviTalToolTip * pToolTip,QWidget * pWidget);
+ ~KviTalToolTipHelper();
+protected:
+ KviTalToolTip * m_pToolTip;
+protected:
+ virtual bool eventFilter(QObject * pObject,QEvent * pEvent);
+ void toolTipDying();
+};
+
-#ifdef COMPILE_USE_QT4
class KVILIB_API KviTalToolTip
-#else
-class KVILIB_API KviTalToolTip : public QToolTip
+#ifndef COMPILE_USE_QT4
+ : public QToolTip
#endif
{
+ friend class KviTalToolTipHelper;
public:
KviTalToolTip(QWidget * pParent);
virtual ~KviTalToolTip();
+protected:
+#ifdef COMPILE_USE_QT4
+ KviTalToolTipHelper * m_pHelper;
+ QWidget * m_pParent;
+#endif
public:
#ifdef COMPILE_USE_QT4
static void add(QWidget * widget,const QString & text);
@@ -46,6 +71,9 @@ public:
#endif
protected:
virtual void maybeTip(const QPoint & p);
+#ifdef COMPILE_USE_QT4
+ void helperDying();
+#endif
};
#endif // _KVI_TAL_TOOLTIP_H_
diff --git a/src/kvirc/kernel/kvi_app.cpp b/src/kvirc/kernel/kvi_app.cpp
index 694d9a311..5c701aa92 100644
--- a/src/kvirc/kernel/kvi_app.cpp
+++ b/src/kvirc/kernel/kvi_app.cpp
@@ -164,7 +164,7 @@ QPixmap * g_pActivityMeterPixmap = 0;
KVIRC_API KviCryptEngineManager * g_pCryptEngineManager = 0; // global crypt engine manager
#endif
-KviApp::KviApp(int argc,char ** argv)
+KviApp::KviApp(int &argc,char ** argv)
: KviTalApplication(argc,argv)
{
// Ok...everything begins here
@@ -176,6 +176,7 @@ KviApp::KviApp(int argc,char ** argv)
m_pPendingAvatarChanges = 0;
m_pRecentChannelsDict = 0;
m_pIpcSentinel = 0;
+ m_iHeartbeatTimerId = -1;
// next step is setup()
m_bSetupDone = false;
}
diff --git a/src/kvirc/kernel/kvi_app.h b/src/kvirc/kernel/kvi_app.h
index 87b578f12..d5ae08117 100644
--- a/src/kvirc/kernel/kvi_app.h
+++ b/src/kvirc/kernel/kvi_app.h
@@ -82,7 +82,7 @@ class KVIRC_API KviApp : public KviTalApplication
friend class KviSetupWizard; // this resides in a module!
Q_OBJECT
public:
- KviApp(int argc,char ** argv);
+ KviApp(int &argc,char ** argv);
~KviApp();
protected:
diff --git a/src/kvirc/kvs/kvi_kvs_parser_expression.cpp b/src/kvirc/kvs/kvi_kvs_parser_expression.cpp
index ea04619df..348f08242 100644
--- a/src/kvirc/kvs/kvi_kvs_parser_expression.cpp
+++ b/src/kvirc/kvs/kvi_kvs_parser_expression.cpp
@@ -501,6 +501,8 @@ KviKvsTreeNodeExpression * KviKvsParser::parseExpression(char terminator)
KviKvsTreeNodeExpression * left = parseExpressionOperand(terminator);
if(!left)return 0;
+ QString sz;
+ left->contextDescription(sz);
skipSpaces();
@@ -518,12 +520,11 @@ KviKvsTreeNodeExpression * KviKvsParser::parseExpression(char terminator)
delete left;
return 0; // error
}
+ curTopOperator->contextDescription(sz);
curTopOperator->setLeft(left);
// ok.. parse the right side
-
-
// Now curTopOperator has the left subtree (one node) set
// and it points to the TOP (=ROOT) node
@@ -543,6 +544,7 @@ KviKvsTreeNodeExpression * KviKvsParser::parseExpression(char terminator)
delete curTopOperator;
return 0;
}
+ operand->contextDescription(sz);
skipSpaces();
@@ -561,13 +563,18 @@ KviKvsTreeNodeExpression * KviKvsParser::parseExpression(char terminator)
return 0;
}
+ auxOperator->contextDescription(sz);
+
+
//now compare operators...
- if(incompleteOperator->precedence() >= auxOperator->precedence())
+ if(incompleteOperator->precedence() > auxOperator->precedence())
{
+ // This in fact means that incomplete has LOWER precedence than
+ // aux and thus aux should be done first.
incompleteOperator->setRight(auxOperator);
auxOperator->setLeft(operand);
} else {
- // precedence of operators...
+ // incomplete has GREATER precedence than aux and thus aux should be done first
incompleteOperator->setRight(operand); //right tree complete
// go up until we find an operator with lower precedence than auxOperator (>=)
KviKvsTreeNodeExpression * tempOperator = incompleteOperator->parentWithPrecedenceLowerThan(auxOperator->precedence());
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_base.h b/src/kvirc/kvs/kvi_kvs_treenode_base.h
index 69d38ccc4..b3f60902b 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_base.h
+++ b/src/kvirc/kvs/kvi_kvs_treenode_base.h
@@ -36,24 +36,6 @@ public:
protected:
KviKvsTreeNode * m_pParent;
const QChar * m_pLocation;
- // 09.10.2003
- // the function below SHOULD be protected
- // but gcc 3.2 (20020903) spits out this:
- //
- // ../kvs/kvi_kvs_treenode_base.h: In member function `void
- // KviKvsTreeNodeCommand::setSwitchList(KviKvsTreeNodeSwitchList*)':
- // ../kvs/kvi_kvs_treenode_base.h:37: `void
- // KviKvsTreeNode::setParent(KviKvsTreeNode*)' is protected
- // ../kvs/kvi_kvs_treenode_command.cpp:61: within this context
- //
- // It is triggered by m_pSwitches->setParent(this);
- // where m_pSwitches is KviKvsTreeNodeSwitchList
- // and this context is KviKvsTreeNodeCommand
- // The error comes out also if I use
- // ((KviKvsTreeNode *)m_pSwitches)->setParent(this);
- // so gcc REALLY thinks that a protected member of
- // an ancestor class is inaccessible by a descendant.
- // well...
public:
void setParent(KviKvsTreeNode * p){ m_pParent = p; };
protected:
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_expression.h b/src/kvirc/kvs/kvi_kvs_treenode_expression.h
index cd1ac80ff..2abf88501 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_expression.h
+++ b/src/kvirc/kvs/kvi_kvs_treenode_expression.h
@@ -33,31 +33,37 @@
#define PREC_MAXIMUM -10
-#define PREC_OP_LOGICALNOT -3 /* ! */
-#define PREC_OP_BITWISENOT -2 /* ~ */
-#define PREC_OP_NEGATE -1 /* - */
+#define PREC_OP_LOGICALNOT -3 /* ! */
+#define PREC_OP_BITWISENOT -2 /* ~ */
+#define PREC_OP_NEGATE -1 /* - */
// high precedence
-#define PREC_OP_BITWISEAND 0 /* & */
-#define PREC_OP_BITWISEOR 1 /* | */
-#define PREC_OP_BITWISEXOR 2 /* ^ */
-#define PREC_OP_SHIFTRIGHT 3 /* >> */
-#define PREC_OP_SHIFTLEFT 4 /* << */
-#define PREC_OP_MULTIPLICATION 5 /* * */
-#define PREC_OP_DIVISION 6 /* / */
-#define PREC_OP_MODULUS 7 /* % */
-#define PREC_OP_SUM 8 /* + */
-#define PREC_OP_SUBTRACTION 9 /* - */
+#define PREC_OP_BITWISEAND 0 /* & */
+#define PREC_OP_BITWISEOR 1 /* | */
+#define PREC_OP_BITWISEXOR 2 /* ^ */
-#define PREC_OP_GREATERTHAN 10 /* > */ /* Case sensitive (normal for numbers) */
-#define PREC_OP_LOWERTHAN 11 /* < */ /* Case sensitive (normal for numbers) */
-#define PREC_OP_EQUALTO 12 /* == */ /* Case sensitive comparison for strings or normal comp.fr numbers */
-#define PREC_OP_GREATEROREQUALTO 13 /* >= */ /* Case sensitive (normal for numbers) */
-#define PREC_OP_LOWEROREQUALTO 14 /* <= */ /* Case sensitive (normal for numbers) */
-#define PREC_OP_NOTEQUALTO 15 /* != */ /* Case sensitive (normal for numbers) */
+#define PREC_OP_SHIFTRIGHT 3 /* >> */
+#define PREC_OP_SHIFTLEFT 3 /* << */
-#define PREC_OP_AND 16 /* && */
-#define PREC_OP_OR 17 /* || */
-#define PREC_OP_XOR 18 /* ^^ */
+#define PREC_OP_MULTIPLICATION 5 /* * */
+#define PREC_OP_DIVISION 5 /* / */
+#define PREC_OP_MODULUS 5 /* % */
+
+#define PREC_OP_SUM 8 /* + */
+#define PREC_OP_SUBTRACTION 8 /* - */
+
+#define PREC_OP_GREATERTHAN 11 /* > */ /* Case sensitive (normal for numbers) */
+#define PREC_OP_LOWERTHAN 11 /* < */ /* Case sensitive (normal for numbers) */
+
+#define PREC_OP_EQUALTO 12 /* == */ /* Case sensitive comparison for strings or normal comp.fr numbers */
+
+#define PREC_OP_GREATEROREQUALTO 14 /* >= */ /* Case sensitive (normal for numbers) */
+#define PREC_OP_LOWEROREQUALTO 14 /* <= */ /* Case sensitive (normal for numbers) */
+
+#define PREC_OP_NOTEQUALTO 15 /* != */ /* Case sensitive (normal for numbers) */
+
+#define PREC_OP_AND 16 /* && */
+#define PREC_OP_OR 17 /* || */
+#define PREC_OP_XOR 18 /* ^^ */
// low precedence
diff --git a/src/kvirc/ui/kvi_input.cpp b/src/kvirc/ui/kvi_input.cpp
index 37ddcb4ed..08ff19d0d 100644
--- a/src/kvirc/ui/kvi_input.cpp
+++ b/src/kvirc/ui/kvi_input.cpp
@@ -4,7 +4,7 @@
// Creation date : Sun Jan 3 1999 23:11:50 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2004 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 1999-2007 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -170,6 +170,7 @@ void KviInputHistory::save(const char * filename)
//=============== KviInputEditor ==============//
static int g_iInputFontCharWidth[256];
+static bool g_bInputFontMetricsDirty = true;
KviInputEditor::KviInputEditor(QWidget * par,KviWindow *wnd,KviUserListView * view)
@@ -214,7 +215,6 @@ KviInputEditor::KviInputEditor(QWidget * par,KviWindow *wnd,KviUserListView * vi
setAcceptDrops(true);
setFrameStyle( LineEditPanel );
setFrameShadow( Plain );
- recalcFontMetrics();
m_pIconMenu = new KviTalPopupMenu();
connect(m_pIconMenu,SIGNAL(activated(int)),this,SLOT(iconPopupActivated(int)));
@@ -234,9 +234,8 @@ KviInputEditor::~KviInputEditor()
killDragTimer();
}
-void KviInputEditor::recalcFontMetrics()
+void KviInputEditor::recalcFontMetrics(QFontMetrics * pFm)
{
- // FIXME: this should be shared between all input widgets and calculated only once per "apply options" session
QFontMetrics fm(KVI_OPTION_FONT(KviOption_fontInput));
unsigned short i;
for(i=1;i<32;i++)
@@ -249,12 +248,13 @@ void KviInputEditor::recalcFontMetrics()
{
g_iInputFontCharWidth[i] = fm.width(QChar(i));
}
+ g_bInputFontMetricsDirty = false;
}
void KviInputEditor::applyOptions()
{
+ g_bInputFontMetricsDirty = true;
update();
- recalcFontMetrics();
}
void KviInputEditor::dragEnterEvent(QDragEnterEvent *e)
@@ -348,6 +348,13 @@ void KviInputEditor::drawContents(QPainter *p)
QPainter pa(pDoubleBufferPixmap);
+ pa.setFont(KVI_OPTION_FONT(KviOption_fontInput));
+
+ QFontMetrics fm(pa.fontMetrics());
+ if(g_bInputFontMetricsDirty)
+ recalcFontMetrics(&fm);
+
+
#ifdef COMPILE_PSEUDO_TRANSPARENCY
if(g_pShadedChildGlobalDesktopBackground)
{
@@ -364,9 +371,6 @@ void KviInputEditor::drawContents(QPainter *p)
}
#endif
- pa.setFont(KVI_OPTION_FONT(KviOption_fontInput));
-
- QFontMetrics fm(pa.fontMetrics());
int curXPos = KVI_INPUT_MARGIN;
int maxXPos = widgetWidth-2*KVI_INPUT_MARGIN;
@@ -952,8 +956,7 @@ void KviInputEditor::moveCursorTo(int idx,bool bRepaint)
void KviInputEditor::removeSelected()
{
- if(!hasSelection()) return;
-// debug("%s %s %i %s",__FILE__,__FUNCTION__,__LINE__,m_szTextBuffer.utf8().data());
+ if(!hasSelection())return;
m_szTextBuffer.remove(m_iSelectionBegin,(m_iSelectionEnd-m_iSelectionBegin)+1);
moveCursorTo(m_iSelectionBegin,false);
selectOneChar(-1);
diff --git a/src/kvirc/ui/kvi_input.h b/src/kvirc/ui/kvi_input.h
index 412f2ddd2..5de1e76c8 100644
--- a/src/kvirc/ui/kvi_input.h
+++ b/src/kvirc/ui/kvi_input.h
@@ -7,7 +7,7 @@
// Creation date : Sun Jan 3 1999 23:04:10 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2002 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 1999-2007 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -42,6 +42,7 @@ class KviUserListView;
class KviWindow;
class KviInput;
class KviTalHBox;
+class QFontMetrics;
// Default maximum buffer size.
#define KVI_INPUT_MAX_BUFFER_SIZE 400
@@ -173,7 +174,7 @@ private:
void returnPressed(bool bRepaint = true);
void completion(bool bShift);
void standardNickCompletion(bool bAddMask,QString &word,bool bFirstWordInLine);
- void recalcFontMetrics();
+ void recalcFontMetrics(QFontMetrics * pFm);
void internalCursorRight(bool bShift);
void internalCursorLeft(bool bShift);
public slots:
diff --git a/src/kvirc/ui/kvi_ircview.cpp b/src/kvirc/ui/kvi_ircview.cpp
index 6a920ee7d..8a5bd225f 100644
--- a/src/kvirc/ui/kvi_ircview.cpp
+++ b/src/kvirc/ui/kvi_ircview.cpp
@@ -286,11 +286,18 @@ void kvi_appendWCharToQStringWithLength(QString * qstrptr,const kvi_wchar_t * pt
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
KviIrcView::KviIrcView(QWidget *parent,KviFrame *pFrm,KviWindow *pWnd)
-:QWidget(parent,"irc_view")
+: QWidget(parent,"irc_view")
{
// Ok...here we go
-
// initialize the initializable
+
+#ifdef COMPILE_USE_QT4
+ setAttribute(Qt::WA_NoSystemBackground); // This disables automatic qt double buffering
+ setAttribute(Qt::WA_PaintOutsidePaintEvent);
+ setAttribute(Qt::WA_OpaquePaintEvent);
+ setAttribute(Qt::WA_PaintOnScreen); // disable qt backing store (that would force us to trigger repaint() instead of the 10 times faster paintEvent(0))
+#endif
+
m_iFlushTimer = 0;
m_pToolsPopup = 0;
m_pFirstLine = 0;
@@ -309,7 +316,7 @@ KviIrcView::KviIrcView(QWidget *parent,KviFrame *pFrm,KviWindow *pWnd)
{
m_iMaxLines = 32;
KVI_OPTION_UINT(KviOption_uintIrcViewMaxBufferSize) = 32;
- }
+ }
m_bMouseIsDown = false;
@@ -909,7 +916,15 @@ bool KviIrcView::event(QEvent *e)
void KviIrcView::wheelEvent(QWheelEvent *e)
{
+#ifdef COMPILE_USE_QT4
+ static bool bHere = false;
+ if(bHere)return;
+ bHere = true; // Qt4 tends to jump into infinite recursion here
+#endif
g_pApp->sendEvent(m_pScrollBar,e);
+#ifdef COMPILE_USE_QT4
+ bHere = false;
+#endif
}
diff --git a/src/kvirc/ui/kvi_mdichild.cpp b/src/kvirc/ui/kvi_mdichild.cpp
index 654d11198..1e47cd2d3 100644
--- a/src/kvirc/ui/kvi_mdichild.cpp
+++ b/src/kvirc/ui/kvi_mdichild.cpp
@@ -319,7 +319,6 @@ void KviMdiChild::mouseReleaseEvent(QMouseEvent *)
QCursor KviMdiChild::getResizeCursor(int resizeCorner)
{
- debug("GET RESIZE CURSOR");
switch (resizeCorner)
{
case KVI_MDI_RESIZE_LEFT:
@@ -339,7 +338,6 @@ QCursor KviMdiChild::getResizeCursor(int resizeCorner)
return Qt::sizeBDiagCursor;
break;
default:
- debug("RETURNING DEFAULT");
return Qt::arrowCursor;
break;
}
@@ -351,14 +349,12 @@ void KviMdiChild::mouseMoveEvent(QMouseEvent *e)
{
if(m_iResizeCorner && (m_state != Maximized))resizeWindowOpaque(m_iResizeCorner);
} else {
- debug("MOVE EVENT");
setResizeCursor(getResizeCorner(e->pos().x(), e->pos().y()));
}
}
void KviMdiChild::setResizeCursor(int resizeCorner)
{
- debug("SET RESIZE CORNER %d",resizeCorner);
if(resizeCorner == m_iLastCursorCorner)
return; //Don't do it twice
m_iLastCursorCorner = resizeCorner;
@@ -544,7 +540,6 @@ void KviMdiChild::unsetClient()
void KviMdiChild::activate(bool bSetFocus)
{
- debug("CHILD ACTIVATING...");
if(!m_pCaption->active())m_pCaption->setActive(true);
if(m_pManager->topChild() != this)
m_pManager->setTopChild(this,bSetFocus);
@@ -553,7 +548,6 @@ void KviMdiChild::activate(bool bSetFocus)
void KviMdiChild::focusInEvent(QFocusEvent *)
{
- debug("FOCUS IN EVENT FOR THE CHILD");
// We gained focus by click , tab or from the caption label
// Bring this child to top
m_pCaption->setActive(true);
diff --git a/src/kvirc/ui/kvi_topicw.cpp b/src/kvirc/ui/kvi_topicw.cpp
index 61da95f96..df8b95575 100644
--- a/src/kvirc/ui/kvi_topicw.cpp
+++ b/src/kvirc/ui/kvi_topicw.cpp
@@ -157,7 +157,7 @@ QString convertToHtml(const QString &text)
unsigned int start = idx;
- while((idx < text.length()) &&
+ while(
(c != KVI_TEXT_COLOR) &&
(c != KVI_TEXT_BOLD) &&
(c != KVI_TEXT_UNDERLINE) &&
@@ -167,7 +167,8 @@ QString convertToHtml(const QString &text)
)
{
idx++;
- c = text[(int)idx].unicode();
+ if(idx >= text.length())break;
+ else c = text[(int)idx].unicode();
}
int len = idx - start;
@@ -410,6 +411,15 @@ void KviTopicWidget::paintColoredText(QPainter *p, QString text,const QColorGrou
}
}
+#ifdef COMPILE_USE_QT4
+void KviTopicWidget::paintEvent(QPaintEvent * e)
+{
+ QPainter pa(this);
+ drawFrame(&pa);
+ drawContents(&pa);
+}
+#endif
+
void KviTopicWidget::drawContents(QPainter *p)
{
#ifdef COMPILE_PSEUDO_TRANSPARENCY
diff --git a/src/kvirc/ui/kvi_topicw.h b/src/kvirc/ui/kvi_topicw.h
index a1d7f19f4..ca142760e 100644
--- a/src/kvirc/ui/kvi_topicw.h
+++ b/src/kvirc/ui/kvi_topicw.h
@@ -80,6 +80,9 @@ protected:
virtual void mousePressEvent(QMouseEvent *e);
virtual void keyPressEvent(QKeyEvent *e);
virtual void resizeEvent(QResizeEvent *e);
+#ifdef COMPILE_USE_QT4
+ virtual void paintEvent(QPaintEvent * e);
+#endif
void updateToolTip();
void deactivate();
void iconButtonClicked();
diff --git a/src/kvirc/ui/kvi_userlistview.cpp b/src/kvirc/ui/kvi_userlistview.cpp
index 2819020c9..eb10fe7d4 100644
--- a/src/kvirc/ui/kvi_userlistview.cpp
+++ b/src/kvirc/ui/kvi_userlistview.cpp
@@ -1925,7 +1925,15 @@ void KviUserListViewArea::mouseReleaseEvent(QMouseEvent *)
void KviUserListViewArea::wheelEvent(QWheelEvent *e)
{
+#ifdef COMPILE_USE_QT4
+ static bool bHere = false; // Qt4(<= 4.2.2) has a nasty bug that makes the re-sent wheelEvent to cause infinite recursion
+ if(bHere)return;
+ bHere = true;
+#endif
g_pApp->sendEvent(m_pScrollBar,e);
+#ifdef COMPILE_USE_QT4
+ bHere = false;
+#endif
}
#include "kvi_userlistview.moc"
diff --git a/src/modules/addon/managementdialog.cpp b/src/modules/addon/managementdialog.cpp
index 7b4ed078e..34433d76f 100644
--- a/src/modules/addon/managementdialog.cpp
+++ b/src/modules/addon/managementdialog.cpp
@@ -40,17 +40,22 @@
#include <qlayout.h>
#include <qapplication.h>
#include <qtooltip.h>
-#include <qdragobject.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qmessagebox.h>
#include <qframe.h>
-#include <qscrollview.h>
-#include <qheader.h>
+#include "kvi_tal_scrollview.h"
+#ifdef COMPILE_USE_QT4
+ #include <q3header.h>
+
+#else
+ #include <qheader.h>
+#endif
+#include "kvi_draganddrop.h"
#include <qpainter.h>
#include <qpixmap.h>
-#include <qsimplerichtext.h>
#include <qmessagebox.h>
+#include <qevent.h>
KviScriptManagementDialog * KviScriptManagementDialog::m_pInstance = 0;
extern QRect g_rectManagementDialogGeometry;
diff --git a/src/modules/addon/managementdialog.h b/src/modules/addon/managementdialog.h
index 9eeee79db..b7ea2bde4 100644
--- a/src/modules/addon/managementdialog.h
+++ b/src/modules/addon/managementdialog.h
@@ -36,9 +36,15 @@
class QPushButton;
class QPixmap;
-class QSimpleRichText;
class KviKvsScriptAddon;
+#ifdef COMPILE_USE_QT4
+ #include <q3simplerichtext.h>
+ #define QSimpleRichText Q3SimpleRichText
+#else
+ #include <qsimplerichtext.h>
+#endif
+
class KviScriptAddonListViewItem : public KviTalListViewItem
{
public:
diff --git a/src/modules/aliaseditor/aliaseditor.cpp b/src/modules/aliaseditor/aliaseditor.cpp
index 9033004e4..03db1ad6f 100644
--- a/src/modules/aliaseditor/aliaseditor.cpp
+++ b/src/modules/aliaseditor/aliaseditor.cpp
@@ -39,6 +39,7 @@
#include "kvi_filedialog.h"
#include "kvi_cmdformatter.h"
#include "kvi_module.h"
+#include "kvi_valuelist.h"
#include <qsplitter.h>
#include <qlayout.h>
@@ -209,7 +210,11 @@ KviAliasEditor::KviAliasEditor(QWidget * par)
QGridLayout * l = new QGridLayout(this,1,1,2,2);
+#ifdef COMPILE_USE_QT4
+ m_pSplitter = new QSplitter(Qt::Horizontal,this);
+#else
m_pSplitter = new QSplitter(QSplitter::Horizontal,this);
+#endif
l->addWidget(m_pSplitter,0,0);
@@ -698,7 +703,7 @@ void KviAliasEditor::saveProperties(KviConfig *cfg)
void KviAliasEditor::loadProperties(KviConfig *cfg)
{
- QValueList<int> def;
+ KviValueList<int> def;
def.append(20);
def.append(80);
m_pSplitter->setSizes(cfg->readIntListEntry("Sizes",def));
diff --git a/src/modules/avatar/libkviavatar.cpp b/src/modules/avatar/libkviavatar.cpp
index d3d4a9892..8a1cc8dd7 100644
--- a/src/modules/avatar/libkviavatar.cpp
+++ b/src/modules/avatar/libkviavatar.cpp
@@ -44,6 +44,7 @@
#include "kvi_sharedfiles.h"
#include "kvi_out.h"
#include "kvi_ircmask.h"
+#include "kvi_qcstring.h"
#include <qlineedit.h>
#include <qpushbutton.h>
@@ -401,11 +402,11 @@ static bool avatar_kvs_cmd_notify(KviKvsModuleCommandCall * c)
if(!c->switches()->find('q',"quiet"))
c->window()->output(KVI_OUT_AVATAR,__tr2qs("Notifying avatar '%Q' to %Q"),&avatar,&szTarget);
- QCString encodedTarget = c->window()->connection()->encodeText(szTarget);
+ KviQCString encodedTarget = c->window()->connection()->encodeText(szTarget);
if(!avatar.isEmpty())
{
- QCString encodedAvatar = c->window()->connection()->encodeText(avatar);
+ KviQCString encodedAvatar = c->window()->connection()->encodeText(avatar);
if(o)
{
@@ -537,7 +538,7 @@ static bool avatar_kvs_cmd_query(KviKvsModuleCommandCall * c)
KVSM_REQUIRE_CONNECTION(c)
- QCString target = c->window()->connection()->encodeText(szName);
+ KviQCString target = c->window()->connection()->encodeText(szName);
c->window()->connection()->sendFmtData("PRIVMSG %s :%cAVATAR%c",target.data(),0x01,0x01);
return true;
diff --git a/src/modules/chan/libkvichan.cpp b/src/modules/chan/libkvichan.cpp
index a55449a4a..2373bf876 100644
--- a/src/modules/chan/libkvichan.cpp
+++ b/src/modules/chan/libkvichan.cpp
@@ -639,10 +639,10 @@ static bool chan_kvs_fnc_getflag(KviKvsModuleFunctionCall * c)
KVSM_PARAMETER("window id",KVS_PT_STRING,KVS_PF_OPTIONAL,szId)
KVSM_PARAMETERS_END(c)
KviChannel * ch = chan_kvs_find_channel(c,szId);
- if (ch)
+ if(ch)
{
QString szFlag = QChar(ch->userListView()->getUserFlag(szNick));
- if (szFlag) c->returnValue()->setString(szFlag);
+ c->returnValue()->setString(szFlag);
}
return true;
}
diff --git a/src/modules/channelsjoin/channelsjoinwindow.cpp b/src/modules/channelsjoin/channelsjoinwindow.cpp
index 01f4ab52f..00f138597 100644
--- a/src/modules/channelsjoin/channelsjoinwindow.cpp
+++ b/src/modules/channelsjoin/channelsjoinwindow.cpp
@@ -42,7 +42,12 @@
#include <qlayout.h>
#include <qcheckbox.h>
#include <qpushbutton.h>
-#include <qheader.h>
+#ifdef COMPILE_USE_QT4
+ #include <q3header.h>
+#else
+ #include <qheader.h>
+#endif
+#include <qevent.h>
extern KviChannelsJoinWindow * g_pChannelsWindow;
extern QRect g_rectChannelsJoinGeometry;
@@ -69,7 +74,7 @@ KviChannelsJoinWindow::KviChannelsJoinWindow(QWidget * par, const char * name)
connect(m_pListView,SIGNAL(doubleClicked(KviTalListViewItem *)),this,SLOT(itemDoubleClicked(KviTalListViewItem *)));
- m_pGroupBox = new KviTalGroupBox(2,KviTalGroupBox::Horizontal,__tr2qs("Channel" ),this);
+ m_pGroupBox = new KviTalGroupBox(2,Qt::Horizontal,__tr2qs("Channel" ),this);
QString szMsg = __tr2qs("Name");
szMsg.append(":");
QLabel * l = new QLabel(szMsg,m_pGroupBox);
@@ -93,7 +98,11 @@ KviChannelsJoinWindow::KviChannelsJoinWindow(QWidget * par, const char * name)
m_pJoinButton->setDefault(true);
connect(m_pJoinButton,SIGNAL(clicked()),this,SLOT(joinClicked()));
+#ifdef COMPILE_USE_QT4
+ g->addMultiCellWidget(m_pJoinButton,2,2,0,1,Qt::AlignHCenter);
+#else
g->addMultiCellWidget(m_pJoinButton,2,2,0,1,AlignHCenter);
+#endif
m_pShowAtStartupCheck = new KviStyledCheckBox(__tr2qs("Show this window after connecting"),this);
diff --git a/src/modules/channelsjoin/channelsjoinwindow.h b/src/modules/channelsjoin/channelsjoinwindow.h
index c2f6df70a..27bf5cddf 100644
--- a/src/modules/channelsjoin/channelsjoinwindow.h
+++ b/src/modules/channelsjoin/channelsjoinwindow.h
@@ -31,9 +31,9 @@
class KviConsole;
class KviTalGroupBox;
class QPushButton;
-class KviStyledCheckBox;
class QLineEdit;
+#include "kvi_styled_controls.h"
#include "kvi_tal_listview.h"
class KviChannelsJoinWindow : public QDialog
diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp
index 221084dae..66962fd38 100644
--- a/src/modules/dcc/broker.cpp
+++ b/src/modules/dcc/broker.cpp
@@ -24,7 +24,9 @@
#include "dialogs.h"
#include "chat.h"
#include "send.h"
+#ifdef COMPILE_DCC_CANVAS
#include "canvas.h"
+#endif
#include "voice.h"
#include "kvi_app.h"
@@ -398,6 +400,8 @@ void KviDccBroker::passiveVoiceExecute(KviDccDescriptor * dcc)
// ACTIVE CANVAS
///////////////////////////////////////////////////////////////////////////////
+#ifdef COMPILE_DCC_CANVAS
+
void KviDccBroker::activeCanvasManage(KviDccDescriptor * dcc)
{
if(!dcc->bAutoAccept)
@@ -423,8 +427,11 @@ void KviDccBroker::activeCanvasManage(KviDccDescriptor * dcc)
}
}
+#endif
+
void KviDccBroker::activeCanvasExecute(KviDccBox *box,KviDccDescriptor * dcc)
{
+#ifdef COMPILE_DCC_CANVAS
if(box)box->forgetDescriptor();
if(!g_pApp->windowExists(dcc->console()))
@@ -445,12 +452,13 @@ void KviDccBroker::activeCanvasExecute(KviDccBox *box,KviDccDescriptor * dcc)
if(bMinimized)cnv->minimize();
m_pDccWindowList->append(cnv);
+#endif
}
///////////////////////////////////////////////////////////////////////////////
// PASSIVE CANVAS
///////////////////////////////////////////////////////////////////////////////
-
+#ifdef COMPILE_DCC_CANVAS
void KviDccBroker::passiveCanvasExecute(KviDccDescriptor * dcc)
{
KviStr tmp(KviStr::Format,"dcc: canvas %s@%s:%s",dcc->szNick.utf8().data(),dcc->szIp.utf8().data(),dcc->szPort.utf8().data());
@@ -462,6 +470,7 @@ void KviDccBroker::passiveCanvasExecute(KviDccDescriptor * dcc)
m_pDccWindowList->append(cnv);
}
+#endif
///////////////////////////////////////////////////////////////////////////////
// SEND
diff --git a/src/modules/dcc/broker.h b/src/modules/dcc/broker.h
index 5bac15613..c1f253849 100644
--- a/src/modules/dcc/broker.h
+++ b/src/modules/dcc/broker.h
@@ -25,6 +25,13 @@
//=======================================================================================
#include "kvi_settings.h"
+
+#ifdef COMPILE_USE_QT4
+ // #define COMPILE_DCC_CANVAS
+#else
+ #define COMPILE_DCC_CANVAS
+#endif
+
#include "kvi_string.h"
#include "kvi_list.h"
#include "kvi_sparser.h"
@@ -75,9 +82,10 @@ public:
void handleChatRequest(KviDccDescriptor * dcc);
-
+#ifdef COMPILE_DCC_CANVAS
void activeCanvasManage(KviDccDescriptor * dcc);
void passiveCanvasExecute(KviDccDescriptor * dcc);
+#endif
void activeVoiceManage(KviDccDescriptor * dcc);
void passiveVoiceExecute(KviDccDescriptor * dcc);
diff --git a/src/modules/dcc/canvas.cpp b/src/modules/dcc/canvas.cpp
index d5475b47e..dfe39e975 100644
--- a/src/modules/dcc/canvas.cpp
+++ b/src/modules/dcc/canvas.cpp
@@ -23,6 +23,9 @@
#define QT_MODULE_CANVAS
#include "canvas.h"
+
+#ifdef COMPILE_DCC_CANVAS
+
#include "dialogs.h"
#include "marshal.h"
#include "canvaswidget.h"
@@ -294,3 +297,5 @@ void KviDccCanvas::connected()
#include "m_canvas.moc"
+
+#endif
diff --git a/src/modules/dcc/canvas.h b/src/modules/dcc/canvas.h
index c9b4b68e3..2e993a25e 100644
--- a/src/modules/dcc/canvas.h
+++ b/src/modules/dcc/canvas.h
@@ -22,6 +22,10 @@
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+#include "broker.h"
+
+#ifdef COMPILE_DCC_CANVAS
+
#include "kvi_window.h"
#include "kvi_string.h"
@@ -65,6 +69,6 @@ protected slots:
void connected();
};
-
+#endif
#endif // _CANVAS_H_
diff --git a/src/modules/dcc/canvaswidget.cpp b/src/modules/dcc/canvaswidget.cpp
index bccf8e5ab..ef5d70495 100644
--- a/src/modules/dcc/canvaswidget.cpp
+++ b/src/modules/dcc/canvaswidget.cpp
@@ -22,6 +22,9 @@
#include "canvaswidget.h"
+#ifdef COMPILE_DCC_CANVAS
+
+
#include <qcursor.h>
#include <qpainter.h>
#include <qsimplerichtext.h>
@@ -1594,3 +1597,5 @@ void KviCanvasWidget::resizeEvent(QResizeEvent *)
#include "m_canvaswidget.moc"
+
+#endif
diff --git a/src/modules/dcc/canvaswidget.h b/src/modules/dcc/canvaswidget.h
index c00a6fb74..28d123e19 100644
--- a/src/modules/dcc/canvaswidget.h
+++ b/src/modules/dcc/canvaswidget.h
@@ -22,6 +22,10 @@
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+#include "broker.h"
+
+#ifdef COMPILE_DCC_CANVAS
+
#include <qcanvas.h>
@@ -313,5 +317,6 @@ protected:
};
+#endif
#endif //_CANVAS_WIDGET_H_
diff --git a/src/modules/dcc/chat.cpp b/src/modules/dcc/chat.cpp
index 8700640b3..f096ecc71 100644
--- a/src/modules/dcc/chat.cpp
+++ b/src/modules/dcc/chat.cpp
@@ -55,6 +55,7 @@
#include "kvi_ircconnection.h"
#include "kvi_ircconnectionuserinfo.h"
#include "kvi_kvs_eventtriggers.h"
+#include "kvi_qcstring.h"
#ifdef COMPILE_CRYPT_SUPPORT
#include "kvi_crypt.h"
@@ -88,7 +89,7 @@ extern KviDccBroker * g_pDccBroker;
KviDccChat::KviDccChat(KviFrame *pFrm,KviDccDescriptor * dcc,const char * name)
: KviDccWindow(KVI_WINDOW_TYPE_DCCCHAT,pFrm,name,dcc)
{
- m_pTopSplitter = new QSplitter(QSplitter::Horizontal,this,"top_splitter");
+ m_pTopSplitter = new QSplitter(Qt::Horizontal,this,"top_splitter");
KviThemedLabel * dummy;
dummy = new KviThemedLabel(m_pTopSplitter,"dummy_label");
KviTalVBox * box = new KviTalVBox(m_pTopSplitter);
@@ -97,7 +98,7 @@ KviDccChat::KviDccChat(KviFrame *pFrm,KviDccDescriptor * dcc,const char * name)
createCryptControllerButton(box);
#endif
- m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"splitter");
+ m_pSplitter = new QSplitter(Qt::Horizontal,this,"splitter");
m_pIrcView = new KviIrcView(m_pSplitter,pFrm,this);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
m_pInput = new KviInput(this);
@@ -302,7 +303,7 @@ void KviDccChat::ownMessage(const QString &text)
return;
}
- QCString szData = encodeText(text);
+ KviQCString szData = encodeText(text);
const char * d = szData.data();
if(!d)return;
@@ -377,7 +378,7 @@ void KviDccChat::ownAction(const QString &text)
{
if(m_pSlaveThread)
{
- QCString szData = encodeText(text);
+ KviQCString szData = encodeText(text);
const char * d = szData.data();
if(!d)return;
KviStr buf(KviStr::Format,"%cACTION %s%c\r\n",0x01,d,0x01);
diff --git a/src/modules/dcc/descriptor.cpp b/src/modules/dcc/descriptor.cpp
index 77202251c..38adb65a3 100644
--- a/src/modules/dcc/descriptor.cpp
+++ b/src/modules/dcc/descriptor.cpp
@@ -35,9 +35,9 @@
static unsigned int g_uNextDescriptorId = 1; // we use 0 as an invalid descriptor id
-static QIntDict<KviDccDescriptor> * g_pDescriptorDict = 0;
+static KviIntDict<KviDccDescriptor> * g_pDescriptorDict = 0;
-QIntDict<KviDccDescriptor> * KviDccDescriptor::descriptorDict()
+KviIntDict<KviDccDescriptor> * KviDccDescriptor::descriptorDict()
{
return g_pDescriptorDict;
}
@@ -62,7 +62,7 @@ KviDccDescriptor::KviDccDescriptor(KviConsole * pConsole)
if(!g_pDescriptorDict)
{
- g_pDescriptorDict = new QIntDict<KviDccDescriptor>;
+ g_pDescriptorDict = new KviIntDict<KviDccDescriptor>;
g_pDescriptorDict->setAutoDelete(false);
}
g_pDescriptorDict->replace((long)m_uId,this);
diff --git a/src/modules/dcc/descriptor.h b/src/modules/dcc/descriptor.h
index 4b5b82c60..e08ff6015 100644
--- a/src/modules/dcc/descriptor.h
+++ b/src/modules/dcc/descriptor.h
@@ -27,7 +27,7 @@
#include "kvi_string.h"
#include "kvi_console.h"
-#include <qintdict.h>
+#include "kvi_intdict.h"
class KviDccWindow;
@@ -71,7 +71,7 @@ public:
unsigned int id() const { return m_uId; };
const QString & idString() const { return m_szId; };
static KviDccDescriptor * find(unsigned int uId);
- static QIntDict<KviDccDescriptor> * descriptorDict();
+ static KviIntDict<KviDccDescriptor> * descriptorDict();
void triggerCreationEvent(); // this MUST be called by the creator of the descriptor!
//private:
diff --git a/src/modules/dcc/dialogs.cpp b/src/modules/dcc/dialogs.cpp
index 9f3f28465..b29b21d67 100644
--- a/src/modules/dcc/dialogs.cpp
+++ b/src/modules/dcc/dialogs.cpp
@@ -29,6 +29,8 @@
#include <qpushbutton.h>
#include <qlabel.h>
#include <qstringlist.h>
+#include <qevent.h>
+#include <qdesktopwidget.h>
KviDccBox::KviDccBox(KviDccBroker * br,KviDccDescriptor * dcc)
{
diff --git a/src/modules/dcc/libkvidcc.cpp b/src/modules/dcc/libkvidcc.cpp
index c8736216b..992701a09 100644
--- a/src/modules/dcc/libkvidcc.cpp
+++ b/src/modules/dcc/libkvidcc.cpp
@@ -2601,10 +2601,10 @@ static bool dcc_kvs_fnc_sessionList(KviKvsModuleFunctionCall * c)
KviKvsArray * a = new KviKvsArray();
c->returnValue()->setArray(a);
- QIntDict<KviDccDescriptor> * dict = KviDccDescriptor::descriptorDict();
+ KviIntDict<KviDccDescriptor> * dict = KviDccDescriptor::descriptorDict();
if(!dict)return true;
- QIntDictIterator<KviDccDescriptor> it(*dict);
+ KviIntDictIterator<KviDccDescriptor> it(*dict);
int idx = 0;
diff --git a/src/modules/dcc/requests.cpp b/src/modules/dcc/requests.cpp
index 6d7b60d63..db8fb3e72 100644
--- a/src/modules/dcc/requests.cpp
+++ b/src/modules/dcc/requests.cpp
@@ -427,7 +427,7 @@ static void dccModuleParseDccSend(KviDccRequest *dcc)
}
// First of all we check the transfer limits
- dcc->szParam1=dcc->pConsole->decodeText(dcc->szParam1).data();
+ dcc->szParam1=dcc->pConsole->decodeText(dcc->szParam1);
if(!dcc_module_check_limits(dcc))return;
if(!dcc_module_check_concurrent_transfers_limit(dcc))return;
@@ -716,7 +716,7 @@ static void dccModuleParseDccRSend(KviDccRequest *dcc)
//
// DCC [ST]RSEND <filename> <filesize>
//
- dcc->szParam1 = dcc->pConsole->decodeText(dcc->szParam1).data();
+ dcc->szParam1 = dcc->pConsole->decodeText(dcc->szParam1);
if(!dcc_module_check_limits(dcc))return;
if(!dcc_module_check_concurrent_transfers_limit(dcc))return;
@@ -1057,7 +1057,7 @@ static void dccModuleParseDccCanvas(KviDccRequest *dcc)
// __tr("The above request is broken: the second parameter is '%s' and shoud be 'chat'; trying to continue"),dcc->szParam1.ptr());
// }
// }
-
+#ifdef COMPILE_DCC_CANVAS
KviDccDescriptor * d = new KviDccDescriptor(dcc->pConsole);
d->szNick = dcc->ctcpMsg->pSource->nick();
d->szUser = dcc->ctcpMsg->pSource->username();
@@ -1075,6 +1075,7 @@ static void dccModuleParseDccCanvas(KviDccRequest *dcc)
dcc_module_set_dcc_type(d,"CANVAS");
d->triggerCreationEvent();
g_pDccBroker->activeCanvasManage(d);
+#endif
}
diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp
index 8c30a03e3..fe28e6020 100644
--- a/src/modules/dcc/send.cpp
+++ b/src/modules/dcc/send.cpp
@@ -1513,7 +1513,7 @@ void KviDccFileTransfer::connectionInProgress()
}
}
- KviStr port = !m_pDescriptor->szFakePort.isEmpty() ? m_pDescriptor->szFakePort.utf8().data() : m_pMarshal->localPort();
+ KviStr port = !m_pDescriptor->szFakePort.isEmpty() ? m_pDescriptor->szFakePort : m_pMarshal->localPort();
//#warning "OPTION FOR SENDING 127.0.0.1 and so on (not an unsigned nuumber)"
struct in_addr a;
if(KviNetUtils::stringIpToBinaryIp(ip,&a))ip.setNum(htonl(a.s_addr));
diff --git a/src/modules/dcc/send.h b/src/modules/dcc/send.h
index e7bd7ceda..81276820b 100644
--- a/src/modules/dcc/send.h
+++ b/src/modules/dcc/send.h
@@ -143,10 +143,11 @@ protected:
};
class KviDccFileTransfer;
-class KviStyledCheckBox;
class QSpinBox;
class QTimer;
+#include "kvi_styled_controls.h"
+
class KviDccFileTransferBandwidthDialog : public QDialog
{
Q_OBJECT
diff --git a/src/modules/dcc/voice.cpp b/src/modules/dcc/voice.cpp
index 26ef25f67..787d43665 100644
--- a/src/modules/dcc/voice.cpp
+++ b/src/modules/dcc/voice.cpp
@@ -652,7 +652,7 @@ KviDccVoice::KviDccVoice(KviFrame *pFrm,KviDccDescriptor * dcc,const char * name
m_pDescriptor = dcc;
m_pSlaveThread = 0;
- m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"splitter");
+ m_pSplitter = new QSplitter(Qt::Horizontal,this,"splitter");
m_pIrcView = new KviIrcView(m_pSplitter,pFrm,this);
m_pHBox = new KviTalHBox(this);
@@ -767,7 +767,7 @@ void KviDccVoice::connectionInProgress()
if(m_pDescriptor->bSendRequest)
{
KviStr ip = !m_pDescriptor->szFakeIp.isEmpty() ? m_pDescriptor->szFakeIp : m_pDescriptor->szListenIp;
- KviStr port = !m_pDescriptor->szFakePort.isEmpty() ? m_pDescriptor->szFakePort.utf8().data() : m_pMarshal->localPort();
+ KviStr port = !m_pDescriptor->szFakePort.isEmpty() ? m_pDescriptor->szFakePort : m_pMarshal->localPort();
//#warning "OPTION FOR SENDING 127.0.0.1 and so on (not an unsigned nuumber)"
struct in_addr a;
if(kvi_stringIpToBinaryIp(ip.ptr(),&a))ip.setNum(htonl(a.s_addr));
diff --git a/src/modules/dialog/libkvidialog.cpp b/src/modules/dialog/libkvidialog.cpp
index 03512405e..3e4e24240 100644
--- a/src/modules/dialog/libkvidialog.cpp
+++ b/src/modules/dialog/libkvidialog.cpp
@@ -29,7 +29,14 @@
#include <qlayout.h>
#include "kvi_tal_hbox.h"
#include <qlineedit.h>
-#include <qmultilineedit.h>
+#ifdef COMPILE_USE_QT4
+ #include <q3multilineedit.h>
+ #define QMultiLineEdit Q3MultiLineEdit
+ #include <qdesktopwidget.h>
+#else
+ #include <qmultilineedit.h>
+#endif
+#include <qevent.h>
#include <qlabel.h>
#include <qpushbutton.h>
@@ -67,7 +74,9 @@ KviKvsCallbackMessageBox::KviKvsCallbackMessageBox(
KviKvsCallbackObject("dialog.message",pWindow,szCode,pMagicParams,0)
{
g_pDialogModuleDialogList->append(this);
+#ifndef COMPILE_USE_QT4
setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_KVIRC)));
+#endif
QPixmap * pix = g_pIconManager->getImage(szIcon);
diff --git a/src/modules/dockwidget/Makefile.am b/src/modules/dockwidget/Makefile.am
index 476c47930..5ca31e513 100644
--- a/src/modules/dockwidget/Makefile.am
+++ b/src/modules/dockwidget/Makefile.am
@@ -9,13 +9,13 @@ pluglib_LTLIBRARIES = libkvidockwidget.la
libkvidockwidget_la_LDFLAGS = -module -avoid-version $(SS_LDFLAGS) $(SS_LIBDIRS)
-libkvidockwidget_la_SOURCES = libkvidockwidget.cpp trayicon_x11.cpp trayicon.cpp trayicon_mac.cpp
+libkvidockwidget_la_SOURCES = libkvidockwidget.cpp
-nodist_libkvidockwidget_la_SOURCES = moc_trayicon.cpp
+#nodist_libkvidockwidget_la_SOURCES = moc_trayicon.cpp
libkvidockwidget_la_LIBADD = $(SS_LIBLINK) ../../kvilib/build/libkvilib.la
-noinst_HEADERS= libkvidockwidget.h trayicon.h
+noinst_HEADERS= libkvidockwidget.h
tmpdir = $(picsdir)
diff --git a/src/modules/dockwidget/libkvidockwidget.cpp b/src/modules/dockwidget/libkvidockwidget.cpp
index 512de7fc9..000cbe6e1 100644
--- a/src/modules/dockwidget/libkvidockwidget.cpp
+++ b/src/modules/dockwidget/libkvidockwidget.cpp
@@ -54,7 +54,7 @@
#include <qpixmap.h>
#include <qpainter.h>
#include <qtimer.h>
-
+#include <qevent.h>
#include <qregexp.h>
#include <stdlib.h>
@@ -122,7 +122,9 @@ KviDockWidget::KviDockWidget(KviFrame * frm,const char * name)
createTaskbarIcon();
#else //!COMPILE_ON_WINDOWS
setMinimumSize(22,22);
- setBackgroundMode(X11ParentRelative);
+ #ifndef COMPILE_USE_QT4
+ setBackgroundMode(X11ParentRelative);
+ #endif
#ifdef COMPILE_KDE_SUPPORT
KWin::setSystemTrayWindowFor(winId(),frm->winId());
#endif
@@ -138,10 +140,12 @@ KviDockWidget::KviDockWidget(KviFrame * frm,const char * name)
m_pContextPopup->insertTitle(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_KVIRC)),__tr2qs("KVIrc"));
#else
m_pContextPopup = new KviTalPopupMenu(this);
+#ifndef COMPILE_USE_QT4
QLabel * l = new QLabel(__tr2qs("KVIrc"),m_pContextPopup);
l->setFrameStyle(QFrame::Raised | QFrame::StyledPanel);
m_pContextPopup->insertItem(l);
#endif
+#endif
m_pContextPopup->setCaption(__tr2qs("Context"));
m_iAwayMenuId = m_pContextPopup->insertItem ( __tr2qs("Away"), m_pAwayPopup);
m_pContextPopup->changeItem(m_iAwayMenuId,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_AWAY)),__tr2qs("Away"));
@@ -605,6 +609,19 @@ void KviDockWidget::grabActivityInfo()
void KviDockWidget::paintEvent(QPaintEvent * event)
{
+#ifdef COMPILE_USE_QT4
+ QPainter thisRestrictionOfQt4IsNotNice(this);
+ if(m_bFlashed)
+ {
+ erase();
+ thisRestrictionOfQt4IsNotNice.drawPixmap(4,4,16,16,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_MESSAGE)),0,0,16,16);
+ } else {
+ thisRestrictionOfQt4IsNotNice.drawPixmap(0,0,12,12,m_iOther ? ((m_iOther == 2) ? *g_pDock3 : *g_pDock2) : *g_pDock1,0,0,12,12);
+ thisRestrictionOfQt4IsNotNice.drawPixmap(0,12,12,12,m_iConsoles ? ((m_iConsoles == 2) ? *g_pDock3 : *g_pDock2) : *g_pDock1,0,12,12,12);
+ thisRestrictionOfQt4IsNotNice.drawPixmap(12,0,12,12,m_iQueries ? ((m_iQueries == 2) ? *g_pDock3 : *g_pDock2) : *g_pDock1,12,0,12,12);
+ thisRestrictionOfQt4IsNotNice.drawPixmap(12,12,12,12,m_iChannels ? ((m_iChannels == 2) ? *g_pDock3 : *g_pDock2) : *g_pDock1,12,12,12,12);
+ }
+#else
if(m_bFlashed)
{
erase();
@@ -615,6 +632,7 @@ void KviDockWidget::paintEvent(QPaintEvent * event)
bitBlt(this,12,0,m_iQueries ? ((m_iQueries == 2) ? g_pDock3 : g_pDock2) : g_pDock1,12,0,12,12,Qt::CopyROP,false);
bitBlt(this,12,12,m_iChannels ? ((m_iChannels == 2) ? g_pDock3 : g_pDock2) : g_pDock1,12,12,12,12,Qt::CopyROP,false);
}
+#endif
}
diff --git a/src/modules/dockwidget/trayicon.cpp b/src/modules/dockwidget/trayicon.cpp
index ccb6ba9ef..f3d08ab2f 100644
--- a/src/modules/dockwidget/trayicon.cpp
+++ b/src/modules/dockwidget/trayicon.cpp
@@ -18,6 +18,8 @@
*
*/
+#if 0
+
#include "trayicon.h"
#include "kvi_tal_popupmenu.h"
@@ -290,3 +292,5 @@ void TrayIcon::gotCloseEvent()
{
closed();
}
+
+#endif
diff --git a/src/modules/dockwidget/trayicon.h b/src/modules/dockwidget/trayicon.h
index f730d2aa5..17184f638 100644
--- a/src/modules/dockwidget/trayicon.h
+++ b/src/modules/dockwidget/trayicon.h
@@ -21,6 +21,8 @@
#ifndef CS_TRAYICON_H
#define CS_TRAYICON_H
+#if 0
+
#include "kvi_settings.h"
#include <qobject.h>
@@ -93,4 +95,6 @@ private:
friend class TrayIconPrivate;
};
+#endif
+
#endif // CS_TRAYICON_H
diff --git a/src/modules/dockwidget/trayicon_mac.cpp b/src/modules/dockwidget/trayicon_mac.cpp
index e8e98375a..d192a366b 100644
--- a/src/modules/dockwidget/trayicon_mac.cpp
+++ b/src/modules/dockwidget/trayicon_mac.cpp
@@ -1,3 +1,5 @@
+#if 0
+
#ifdef Q_OS_MACX
#include "trayicon.h"
@@ -19,3 +21,5 @@ void TrayIcon::sysUpdateToolTip()
}
#endif
+
+#endif
diff --git a/src/modules/dockwidget/trayicon_win.cpp b/src/modules/dockwidget/trayicon_win.cpp
index a916438af..b23ac93a8 100644
--- a/src/modules/dockwidget/trayicon_win.cpp
+++ b/src/modules/dockwidget/trayicon_win.cpp
@@ -1,3 +1,5 @@
+#if 0
+
/*
* trayicon_win.cpp - Windows trayicon, adapted from Qt example
* Copyright (C) 2003 Justin Karneges
@@ -257,3 +259,5 @@ void TrayIcon::sysUpdateToolTip()
if ( d )
d->trayMessage( NIM_MODIFY );
}
+
+#endif
diff --git a/src/modules/dockwidget/trayicon_x11.cpp b/src/modules/dockwidget/trayicon_x11.cpp
index a3966a7f4..a64580abb 100644
--- a/src/modules/dockwidget/trayicon_x11.cpp
+++ b/src/modules/dockwidget/trayicon_x11.cpp
@@ -1,3 +1,5 @@
+#if 0
+
/*
* trayicon_x11.cpp - X11 trayicon (for use with KDE and GNOME)
* Copyright (C) 2003 Justin Karneges
@@ -410,4 +412,5 @@ void TrayIcon::sysUpdateToolTip()
}
#endif
-#endif \ No newline at end of file
+#endif
+#endif
diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp
index ddaa7cb19..748a56208 100644
--- a/src/modules/editor/scripteditor.cpp
+++ b/src/modules/editor/scripteditor.cpp
@@ -29,9 +29,14 @@
#include <qtoolbutton.h>
#include <kvi_tal_groupbox.h>
#include "kvi_tal_popupmenu.h"
+#include "kvi_tal_scrollview.h"
#include <qmessagebox.h>
#include <qtimer.h>
-#include <qobjectlist.h>
+#ifdef COMPILE_USE_QT4
+ //#define QSyntaxHighlighter Q3SyntaxHighlighter
+#else
+ #include <qobjectlist.h>
+#endif
#include <qcursor.h>
#include <qfont.h>
#include <qrect.h>
@@ -74,7 +79,11 @@ KviCompletionBox::KviCompletionBox(QWidget * parent = 0)
{
setPaletteForegroundColor(QColor(0,0,0));
setPaletteBackgroundColor(QColor(255,255,255));
+#ifdef COMPILE_USE_QT4
+ setHScrollBarMode(KviTalListBox::AlwaysOff);
+#else
setHScrollBarMode(QScrollView::AlwaysOff);
+#endif
QFont listfont=font();
listfont.setPointSize(8);
setFont(listfont);
@@ -166,7 +175,7 @@ KviScriptEditorWidgetColorOptions::KviScriptEditorWidgetColorOptions(QWidget * p
KviFontSelector * f = new KviFontSelector(this,__tr2qs_ctx("Font:","editor"),&g_fntNormal,true);
g->addMultiCellWidget(f,0,0,0,2);
m_pSelectorInterfaceList->append(f);
- KviTalGroupBox * gbox = new KviTalGroupBox(1,KviTalGroupBox::Horizontal,__tr2qs("Colors" ),this);
+ KviTalGroupBox * gbox = new KviTalGroupBox(1,Qt::Horizontal,__tr2qs("Colors" ),this);
g->addMultiCellWidget(gbox,1,1,0,2);
KviColorSelector * s = addColorSelector(gbox,__tr2qs_ctx("Background:","editor"),&g_clrBackground,true);
s = addColorSelector(gbox,__tr2qs_ctx("Normal text:","editor"),&g_clrNormalText,true);
@@ -232,9 +241,17 @@ KviScriptEditorWidget::~KviScriptEditorWidget()
}
+#ifdef COMPILE_USE_QT4
+Q3PopupMenu * KviScriptEditorWidget::createPopupMenu( const QPoint& pos )
+#else
QPopupMenu * KviScriptEditorWidget::createPopupMenu( const QPoint& pos )
+#endif
{
+#ifdef COMPILE_USE_QT4
+ Q3PopupMenu *pop=KviTalTextEdit::createPopupMenu(pos);
+#else
QPopupMenu *pop=KviTalTextEdit::createPopupMenu(pos);
+#endif
pop->insertItem(__tr2qs("Context sensitive help"),this,SLOT(slotHelp()),Qt::CTRL+Qt::Key_H);
pop->insertItem(__tr2qs("&Replace"),this,SLOT(slotReplace()),Qt::CTRL+Qt::Key_R);
return pop;
@@ -271,7 +288,11 @@ void KviScriptEditorWidget::updateOptions()
p.setColor(QColorGroup::Text,g_clrNormalText);
setPalette(p);
+#ifdef COMPILE_USE_QT4
+ setTextFormat(Qt::PlainText);
+#else
setTextFormat(KviTalTextEdit::PlainText);
+#endif
// this will rehighlight everything
setText(text()); // an "hack" to ensure Update all in the editor
@@ -826,7 +847,9 @@ KviScriptEditorImplementation::KviScriptEditorImplementation(QWidget * par)
QGridLayout * g = new QGridLayout(this,2,3,0,0);
m_pFindLineedit = new QLineEdit(" ",this);
+#ifndef COMPILE_USE_QT4
m_pFindLineedit->setFrameStyle(QFrame::Sunken | QFrame::Panel);
+#endif
m_pFindLineedit->setText("");
m_pFindLineedit->setPaletteForegroundColor(g_clrFind);
@@ -834,7 +857,11 @@ KviScriptEditorImplementation::KviScriptEditorImplementation(QWidget * par)
g->addMultiCellWidget(m_pEditor,0,0,0,3);
g->setRowStretch(0,1);
+#ifdef COMPILE_USE_QT4
+ QToolButton * b = new QToolButton(Qt::DownArrow,this,"dsa2");
+#else
QToolButton * b = new QToolButton(DownArrow,this);
+#endif
b->setMinimumWidth(24);
g->addWidget(b,1,0);
@@ -976,16 +1003,20 @@ void KviScriptEditorImplementation::saveToFile()
}
}
-void KviScriptEditorImplementation::setText(const QCString &txt)
+void KviScriptEditorImplementation::setText(const KviQCString &txt)
{
m_pEditor->setText(txt.data());
+#ifdef COMPILE_USE_QT4
+ m_pEditor->setTextFormat(Qt::PlainText);
+#else
m_pEditor->setTextFormat(KviTalTextEdit::PlainText);
+#endif
m_pEditor->moveCursor(KviTalTextEdit::MoveEnd,false);
m_pEditor->setModified(false);
updateRowColLabel();
}
-void KviScriptEditorImplementation::getText(QCString &txt)
+void KviScriptEditorImplementation::getText(KviQCString &txt)
{
txt = m_pEditor->text();
}
@@ -996,7 +1027,11 @@ QLineEdit * KviScriptEditorImplementation::getFindlineedit()
void KviScriptEditorImplementation::setText(const QString &txt)
{
m_pEditor->setText(txt);
+#ifdef COMPILE_USE_QT4
+ m_pEditor->setTextFormat(Qt::PlainText);
+#else
m_pEditor->setTextFormat(KviTalTextEdit::PlainText);
+#endif
m_pEditor->moveCursor(KviTalTextEdit::MoveEnd,false);
m_pEditor->setModified(false);
updateRowColLabel();
@@ -1092,30 +1127,36 @@ KviScriptEditorReplaceDialog::KviScriptEditorReplaceDialog( QWidget* parent, con
QGridLayout *layout = new QGridLayout( this, 1, 1, 11, 6, "replace layout");
m_pFindlineedit = new QLineEdit( this, "findlineedit" );
+#ifndef COMPILE_USE_QT4
m_pFindlineedit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, m_pFindlineedit->sizePolicy().hasHeightForWidth() ) );
m_pFindlineedit->setFrameShape( QLineEdit::LineEditPanel );
m_pFindlineedit->setFrameShadow( QLineEdit::Sunken );
+#endif
layout->addMultiCellWidget( m_pFindlineedit, 2, 2, 1, 2 );
m_pReplacelineedit = new QLineEdit( this, "replacelineedit" );
+#ifndef COMPILE_USE_QT4
m_pReplacelineedit->setFrameShape( QLineEdit::LineEditPanel );
m_pReplacelineedit->setFrameShadow( QLineEdit::Sunken );
-
+#endif
layout->addMultiCellWidget( m_pReplacelineedit, 3, 3, 1, 2 );
m_pFindlineedit->setFocus();
QLabel *findlabel = new QLabel( this, "findlabel" );
findlabel->setText(tr("Word to Find"));
+#ifndef COMPILE_USE_QT4
findlabel->setAutoResize(true);
+#endif
layout->addWidget( findlabel, 2, 0 );
QLabel *replacelabel = new QLabel( this, "replacelabel" );
replacelabel->setText(tr("Replace with"));
+#ifndef COMPILE_USE_QT4
replacelabel->setAutoResize(true);
-
+#endif
layout->addWidget( replacelabel, 3, 0 );
QPushButton *cancelbutton = new QPushButton( this, "cancelButton" );
@@ -1141,9 +1182,10 @@ KviScriptEditorReplaceDialog::KviScriptEditorReplaceDialog( QWidget* parent, con
layout->addWidget( replace, 3, 3 );
replace->setEnabled(false);
+#ifndef COMPILE_USE_QT4
clearWState( WState_Polished );
-
setTabOrder(m_pFindlineedit,m_pReplacelineedit);
+#endif
// signals and slots connections
connect( replacebutton, SIGNAL( clicked() ), this, SLOT( slotReplace() ) );
connect( findNext, SIGNAL( clicked() ),this,SLOT( slotNextFind()));
diff --git a/src/modules/editor/scripteditor.h b/src/modules/editor/scripteditor.h
index 44f96ac19..8a6147ef6 100644
--- a/src/modules/editor/scripteditor.h
+++ b/src/modules/editor/scripteditor.h
@@ -28,13 +28,15 @@
#include "kvi_scripteditor.h"
#include <qlabel.h>
-#include <qcstring.h>
#include <kvi_tal_textedit.h>
#include <qsyntaxhighlighter.h>
#include <qdialog.h>
#include <qcheckbox.h>
#include "kvi_tal_listbox.h"
#include <qevent.h>
+#include "kvi_qcstring.h"
+
+#include "kvi_tal_popupmenu.h"
#include "kvi_list.h"
#include "kvi_selectors.h"
@@ -79,13 +81,22 @@ signals:
protected:
virtual void keyPressEvent(QKeyEvent * e);
void contentsMousePressEvent(QMouseEvent *);
+#ifdef COMPILE_USE_QT4
+ Q3PopupMenu *createPopupMenu( const QPoint& pos );
+#else
QPopupMenu *createPopupMenu( const QPoint& pos );
+#endif
QWidget *m_pParent;
QString m_szHelp;
};
-
+#ifdef COMPILE_USE_QT4
+ #include <q3syntaxhighlighter.h>
+ #define QSyntaxHighlighter Q3SyntaxHighlighter
+#else
+ #include <qobjectlist.h>
+#endif
class KviScriptSyntaxHighlighter : public QSyntaxHighlighter
{
public:
@@ -125,8 +136,8 @@ protected:
public:
virtual void setText(const QString &txt);
virtual void getText(QString &txt);
- virtual void setText(const QCString &txt);
- virtual void getText(QCString &txt);
+ virtual void setText(const KviQCString &txt);
+ virtual void getText(KviQCString &txt);
virtual void setFindText(const QString & text);
virtual void setEnabled(bool bEnabled);
virtual void setFocus();
diff --git a/src/modules/eventeditor/eventeditor.cpp b/src/modules/eventeditor/eventeditor.cpp
index 0d0d547ad..0428ddb67 100644
--- a/src/modules/eventeditor/eventeditor.cpp
+++ b/src/modules/eventeditor/eventeditor.cpp
@@ -47,6 +47,7 @@
#include "kvi_tal_popupmenu.h"
#include <qtooltip.h>
#include <qpushbutton.h>
+#include <qevent.h>
extern KviEventEditorWindow * g_pEventEditorWindow;
@@ -69,7 +70,7 @@ KviEventEditor::KviEventEditor(QWidget * par)
{
QGridLayout * l = new QGridLayout(this,1,1,2,2);
- QSplitter * spl = new QSplitter(QSplitter::Horizontal,this);
+ QSplitter * spl = new QSplitter(Qt::Horizontal,this);
l->addWidget(spl,0,0);
diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp
index 9be088131..bc5c30880 100644
--- a/src/modules/file/libkvifile.cpp
+++ b/src/modules/file/libkvifile.cpp
@@ -28,11 +28,12 @@
#include "kvi_malloc.h"
#include "kvi_app.h"
#include "kvi_options.h"
+#include "kvi_qcstring.h"
#include "kvi_kvs_arraycast.h"
#include <qfileinfo.h>
-#include <qfile.h>
+#include "kvi_file.h"
#include <qdir.h>
/*
@@ -481,9 +482,8 @@ static bool file_kvs_fnc_allSizes(KviKvsModuleFunctionCall * c)
return true;
}
- int iFlags = QDir::Files;
QStringList sl;
- sl = d.entryList(iFlags);
+ sl = d.entryList(QDir::Files);
KviKvsArray * a = new KviKvsArray();
QString szFile;
@@ -628,7 +628,11 @@ static bool file_kvs_fnc_ls(KviKvsModuleFunctionCall * c)
return true;
}
+#ifdef COMPILE_USE_QT4
+ QFlags<QDir::Filter> iFlags = 0;
+#else
int iFlags = 0;
+#endif
if(szFlags.isEmpty())iFlags = QDir::Dirs | QDir::Files | QDir::NoSymLinks | QDir::Readable | QDir::Writable | QDir::Executable | QDir::Hidden | QDir::System;
else {
if(szFlags.find('d',false) != -1)iFlags |= QDir::Dirs;
@@ -640,7 +644,11 @@ static bool file_kvs_fnc_ls(KviKvsModuleFunctionCall * c)
if(szFlags.find('h',false) != -1)iFlags |= QDir::Hidden;
if(szFlags.find('s',false) != -1)iFlags |= QDir::System;
}
+#ifdef COMPILE_USE_QT4
+ QFlags<QDir::SortFlag> iSort = 0;
+#else
int iSort = 0;
+#endif
if(szFlags.isEmpty())iSort = QDir::Unsorted;
else {
if(szFlags.find('n',false) != -1)iSort |= QDir::Name;
@@ -911,11 +919,10 @@ static bool file_kvs_cmd_writeLines(KviKvsModuleCommandCall * c)
KviFileUtils::adjustFilePath(szFile);
- QFile f(szFile);
+ KviFile f(szFile);
int iFlags = IO_WriteOnly;
- if(c->switches()->find('a',"append"))iFlags |= IO_Append;
- if(!f.open(iFlags))
+ if(!f.openForWriting(c->switches()->find('a',"append")))
{
if(!c->switches()->find('q',"quiet"))
c->warning(__tr2qs("Can't open the file \"%Q\" for writing"),&szFile);
@@ -930,12 +937,12 @@ static bool file_kvs_cmd_writeLines(KviKvsModuleCommandCall * c)
while(u < a.array()->size())
{
KviKvsVariant * v = a.array()->at(u);
- QCString dat;
+ KviQCString dat;
if(v)
{
QString szDat;
v->asString(szDat);
- QCString dat = bLocal8Bit ? szDat.local8Bit() : szDat.utf8();
+ KviQCString dat = bLocal8Bit ? szDat.local8Bit() : szDat.utf8();
}
if(!bNoSeparator)
{
diff --git a/src/modules/filetransferwindow/filetransferwindow.cpp b/src/modules/filetransferwindow/filetransferwindow.cpp
index e410a028f..ba3134980 100644
--- a/src/modules/filetransferwindow/filetransferwindow.cpp
+++ b/src/modules/filetransferwindow/filetransferwindow.cpp
@@ -39,7 +39,11 @@
#include <qsplitter.h>
#include <qtooltip.h>
#include "kvi_tal_hbox.h"
-#include <qheader.h>
+#ifdef COMPILE_USE_QT4
+ #include <q3header.h>
+#else
+ #include <qheader.h>
+#endif
#include <qpainter.h>
#include <qmessagebox.h>
#include <qclipboard.h>
@@ -47,6 +51,7 @@
#include <qfile.h>
#include <qlabel.h>
#include <qfontmetrics.h>
+#include <qevent.h>
#ifdef COMPILE_KDE_SUPPORT
#include <kurl.h>
@@ -150,8 +155,8 @@ KviFileTransferWindow::KviFileTransferWindow(KviModuleExtensionDescriptor * d,Kv
m_pInput = new KviInput(this,0);
- m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"splitter");
- m_pVertSplitter = new QSplitter(QSplitter::Vertical,m_pSplitter,"vsplitter");
+ m_pSplitter = new QSplitter(Qt::Horizontal,this,"splitter");
+ m_pVertSplitter = new QSplitter(Qt::Vertical,m_pSplitter,"vsplitter");
m_pListView = new KviTalListView(m_pVertSplitter);
//m_pListView->header()->hide();
@@ -574,10 +579,14 @@ void KviFileTransferWindow::copyLocalFileToClipboard()
if(!t)return;
QString tmp = t->localFileName();
if(tmp.isEmpty())return;
+#ifdef COMPILE_USE_QT4
+ QApplication::clipboard()->setText(tmp);
+#else
QApplication::clipboard()->setSelectionMode(false);
QApplication::clipboard()->setText(tmp);
QApplication::clipboard()->setSelectionMode(true);
QApplication::clipboard()->setText(tmp);
+#endif
}
void KviFileTransferWindow::openLocalFileFolder()
diff --git a/src/modules/help/helpwidget.cpp b/src/modules/help/helpwidget.cpp
index a3e04d6ca..c416b714e 100644
--- a/src/modules/help/helpwidget.cpp
+++ b/src/modules/help/helpwidget.cpp
@@ -52,7 +52,9 @@ KviHelpWidget::KviHelpWidget(QWidget * par,KviFrame * lpFrm,bool bIsStandalone)
//#warning "Re enable this when using Qt 3.0 : QProcess "
m_pTextBrowser = new QTextBrowser(this,"text_browser");
m_pTextBrowser->setFrameStyle(QFrame::StyledPanel|QFrame::Sunken);
+#ifndef COMPILE_USE_QT4
m_pTextBrowser->setFocusPolicy(QWidget::NoFocus);
+#endif
m_pToolBar = new KviTalHBox(this);
m_pBtnIndex = new KviStyledToolButton(m_pToolBar);
@@ -97,7 +99,11 @@ KviHelpWidget::~KviHelpWidget()
void KviHelpWidget::showIndex()
{
+#ifdef COMPILE_USE_QT4
+ m_pTextBrowser->setSource(QUrl("index.html"));
+#else
m_pTextBrowser->setSource("index.html");
+#endif
}
void KviHelpWidget::resizeEvent(QResizeEvent *e)
diff --git a/src/modules/help/helpwindow.cpp b/src/modules/help/helpwindow.cpp
index eb40416ac..197e9e811 100644
--- a/src/modules/help/helpwindow.cpp
+++ b/src/modules/help/helpwindow.cpp
@@ -38,7 +38,7 @@
#include <qmessagebox.h>
#include <qregexp.h>
#include <qtooltip.h>
-#include <qvaluelist.h>
+#include "kvi_valuelist.h"
extern Index * g_pDocIndex;
extern KviPtrList<KviHelpWindow> * g_pHelpWindowList;
@@ -59,7 +59,11 @@ KviHelpWindow::KviHelpWindow(KviFrame * lpFrm,const char * name)
if ( QFileInfo( szDoclist ).exists() && QFileInfo( szDict ).exists() ) {
g_pDocIndex->readDict();
} else {
+#ifdef COMPILE_USE_QT4
+ QProgressDialog* pProgressDialog = new QProgressDialog( __tr2qs("Indexing help files"), __tr2qs("Cancel"), 0,100 );
+#else
QProgressDialog* pProgressDialog = new QProgressDialog( __tr2qs("Indexing help files"), __tr2qs("Cancel"), 100 );
+#endif
connect(g_pDocIndex,SIGNAL(indexingProgress(int)), pProgressDialog, SLOT(setProgress(int)) );
g_pDocIndex->makeIndex();
g_pDocIndex->writeDict();
@@ -70,7 +74,7 @@ KviHelpWindow::KviHelpWindow(KviFrame * lpFrm,const char * name)
}
g_pHelpWindowList->append(this);
- m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"main_splitter");
+ m_pSplitter = new QSplitter(Qt::Horizontal,this,"main_splitter");
m_pHelpWidget = new KviHelpWidget(m_pSplitter,lpFrm);
m_pToolBar=new KviTalVBox(m_pSplitter);
@@ -110,7 +114,7 @@ KviHelpWindow::KviHelpWindow(KviFrame * lpFrm,const char * name)
m_pResultBox = new KviTalListBox(m_pSearchTab);
connect(m_pResultBox,SIGNAL(selected(int)),this,SLOT(searchSelected ( int )));
- QValueList<int> li;
+ KviValueList<int> li;
li.append(width()-80);
li.append(80);
m_pSplitter->setSizes(li);
@@ -130,7 +134,7 @@ void KviHelpWindow::saveProperties(KviConfig *cfg)
void KviHelpWindow::loadProperties(KviConfig *cfg)
{
- QValueList<int> def;
+ KviValueList<int> def;
int w = width();
def.append((w * 82) / 100);
def.append((w * 18) / 100);
@@ -142,7 +146,11 @@ void KviHelpWindow::loadProperties(KviConfig *cfg)
void KviHelpWindow::refreshIndex()
{
m_pIndexListBox->clear();
+#ifdef COMPILE_USE_QT4
+ QProgressDialog* pProgressDialog = new QProgressDialog( __tr2qs("Indexing help files"), __tr2qs("Cancel"), 0,100 );
+#else
QProgressDialog* pProgressDialog = new QProgressDialog( __tr2qs("Indexing help files"), __tr2qs("Cancel"), 100 );
+#endif
connect(g_pDocIndex,SIGNAL(indexingProgress(int)), pProgressDialog, SLOT(setProgress(int)) );
g_pDocIndex->makeIndex();
g_pDocIndex->writeDict();
@@ -173,7 +181,11 @@ void KviHelpWindow::startSearch()
(*it) = (*it).replace( "\"", "" );
}
if ( str.contains( '\"' ) ) {
+#ifdef COMPILE_USE_QT4
+ if ( (str.count( '\"' ))%2 == 0 ) {
+#else
if ( (str.contains( '\"' ))%2 == 0 ) {
+#endif
int beg = 0;
int end = 0;
QString s;
@@ -199,7 +211,11 @@ void KviHelpWindow::startSearch()
return;
}
}
+#ifdef COMPILE_USE_QT4
+ setCursor( Qt::WaitCursor );
+#else
setCursor( waitCursor );
+#endif
m_foundDocs.clear();
m_foundDocs = g_pDocIndex->query( m_terms, termSeq, seqWords );
@@ -228,7 +244,11 @@ void KviHelpWindow::startSearch()
if ( !s.isEmpty() )
m_terms << s;
+#ifdef COMPILE_USE_QT4
+ setCursor( Qt::ArrowCursor );
+#else
setCursor( arrowCursor );
+#endif
}
QTextBrowser * KviHelpWindow::textBrowser()
diff --git a/src/modules/help/index.cpp b/src/modules/help/index.cpp
index 7db099ab6..d4ca466d9 100755
--- a/src/modules/help/index.cpp
+++ b/src/modules/help/index.cpp
@@ -69,7 +69,7 @@
#include <ctype.h>
-
+#ifndef COMPILE_USE_QT4
int TermList::compareItems( QPtrCollection::Item i1, QPtrCollection::Item i2 )
{
@@ -85,7 +85,7 @@ int TermList::compareItems( QPtrCollection::Item i1, QPtrCollection::Item i2 )
return 1;
}
-
+#endif
QDataStream &operator>>( QDataStream &s, Document &l )
@@ -394,7 +394,7 @@ void Index::readDict()
dict.clear();
QDataStream s( &f );
QString key;
- QValueList<Document> docs;
+ KviValueList<Document> docs;
while ( !s.atEnd() ) {
s >> key;
s >> docs;
@@ -442,7 +442,7 @@ QStringList Index::query( const QStringList &terms, const QStringList &termSeq,
if ( (*it).contains( '*' ) ) {
- QValueList<Document> wcts = setupDummyTerm( getWildcardTerms( *it ) );
+ KviValueList<Document> wcts = setupDummyTerm( getWildcardTerms( *it ) );
termList.append( new Term( "dummy", wcts.count(), wcts ) );
@@ -474,17 +474,17 @@ QStringList Index::query( const QStringList &terms, const QStringList &termSeq,
- QValueList<Document> minDocs = minTerm->documents;
+ KviValueList<Document> minDocs = minTerm->documents;
- QValueList<Document>::iterator C;
+ KviValueList<Document>::iterator C;
- QValueList<Document>::ConstIterator It;
+ KviValueList<Document>::ConstIterator It;
Term *t = termList.first();
for ( ; t; t = termList.next() ) {
- QValueList<Document> docs = t->documents;
+ KviValueList<Document> docs = t->documents;
C = minDocs.begin();
@@ -596,7 +596,7 @@ QStringList Index::getWildcardTerms( const QString &term )
QStringList terms = split( term );
- QValueList<QString>::iterator iter;
+ KviValueList<QString>::iterator iter;
@@ -720,7 +720,7 @@ QStringList Index::split( const QString &str )
-QValueList<Document> Index::setupDummyTerm( const QStringList &terms )
+KviValueList<Document> Index::setupDummyTerm( const QStringList &terms )
{
@@ -746,7 +746,7 @@ QValueList<Document> Index::setupDummyTerm( const QStringList &terms )
- QValueList<Document> maxList;
+ KviValueList<Document> maxList;
@@ -760,13 +760,13 @@ QValueList<Document> Index::setupDummyTerm( const QStringList &terms )
- QValueList<Document>::iterator docIt;
+ KviValueList<Document>::iterator docIt;
Term *t = termList.first();
while ( t ) {
- QValueList<Document> docs = t->documents;
+ KviValueList<Document> docs = t->documents;
for ( docIt = docs.begin(); docIt != docs.end(); ++docIt ) {
@@ -912,9 +912,9 @@ bool Index::searchForPattern( const QStringList &patterns, const QStringList &wo
QStringList wordLst;
- QValueList<uint> a, b;
+ KviValueList<uint> a, b;
- QValueList<uint>::iterator aIt;
+ KviValueList<uint>::iterator aIt;
for ( ; patIt != patterns.end(); ++patIt ) {
diff --git a/src/modules/help/index.h b/src/modules/help/index.h
index 10b65e532..fc8ab72a9 100755
--- a/src/modules/help/index.h
+++ b/src/modules/help/index.h
@@ -31,6 +31,8 @@
#include <qstringlist.h>
#include "kvi_dict.h"
+#include "kvi_list.h"
+#include "kvi_valuelist.h"
#include <qdatastream.h>
#include <qobject.h>
@@ -62,12 +64,12 @@ class Index : public QObject
public:
struct Entry {
Entry( int d ) { documents.append( Document( d, 1 ) ); }
- Entry( QValueList<Document> l ) : documents( l ) {}
- QValueList<Document> documents;
+ Entry( KviValueList<Document> l ) : documents( l ) {}
+ KviValueList<Document> documents;
};
struct PosEntry {
PosEntry( int p ) { positions.append( p ); }
- QValueList<uint> positions;
+ KviValueList<uint> positions;
};
Index( const QString &dp, const QString &hp );
Index( const QStringList &dl, const QString &hp );
@@ -92,7 +94,7 @@ private:
void insertInDict( const QString&, int );
QStringList getWildcardTerms( const QString& );
QStringList split( const QString& );
- QValueList<Document> setupDummyTerm( const QStringList& );
+ KviValueList<Document> setupDummyTerm( const QStringList& );
bool searchForPattern( const QStringList&, const QStringList&, const QString& );
void buildMiniDict( const QString& );
QStringList docList;
@@ -107,18 +109,20 @@ private:
};
struct Term {
- Term( const QString &t, int f, QValueList<Document> l )
+ Term( const QString &t, int f, KviValueList<Document> l )
: term( t ), frequency( f ), documents( l ) {}
QString term;
int frequency;
- QValueList<Document>documents;
+ KviValueList<Document>documents;
};
-class TermList : public QPtrList<Term>
+class TermList : public KviPtrList<Term>
{
public:
- TermList() : QPtrList<Term>() {}
+ TermList() : KviPtrList<Term>() {}
+#ifndef COMPILE_USE_QT4
int compareItems( QPtrCollection::Item i1, QPtrCollection::Item i2 );
+#endif
};
#endif
diff --git a/src/modules/help/libkvihelp.cpp b/src/modules/help/libkvihelp.cpp
index a9ea33eb3..5f1c30f02 100644
--- a/src/modules/help/libkvihelp.cpp
+++ b/src/modules/help/libkvihelp.cpp
@@ -32,6 +32,11 @@
#include "kvi_frame.h"
+#ifdef COMPILE_USE_QT4
+ #include <q3mimefactory.h>
+#endif
+
+
#include <qsplitter.h>
Index * g_pDocIndex = 0;
KviPtrList<KviHelpWidget> * g_pHelpWidgetList = 0;
@@ -140,7 +145,11 @@ static bool help_kvs_cmd_open(KviKvsModuleCommandCall * c)
KVSM_PARAMETER("document",KVS_PT_STRING,KVS_PF_OPTIONAL,doc)
KVSM_PARAMETERS_END(c)
if(doc.isEmpty())doc = "index.html";
+#ifdef COMPILE_USE_QT4
+ Q3MimeSourceFactory * f = Q3MimeSourceFactory::defaultFactory();
+#else
QMimeSourceFactory * f = QMimeSourceFactory::defaultFactory();
+#endif
if(f)
{
if(!f->data(doc))
diff --git a/src/modules/links/linkswindow.cpp b/src/modules/links/linkswindow.cpp
index e8e06fb84..7986c70f2 100644
--- a/src/modules/links/linkswindow.cpp
+++ b/src/modules/links/linkswindow.cpp
@@ -45,7 +45,7 @@ KviLinksWindow::KviLinksWindow(KviFrame * lpFrm,KviConsole * lpConsole)
{
g_pLinksWindowList->append(this);
- m_pTopSplitter = new QSplitter(QSplitter::Horizontal,this,"top_splitter");
+ m_pTopSplitter = new QSplitter(Qt::Horizontal,this,"top_splitter");
// The button box on the left
KviTalHBox * box = new KviTalHBox(m_pTopSplitter);
@@ -63,8 +63,8 @@ KviLinksWindow::KviLinksWindow(KviFrame * lpFrm,KviConsole * lpConsole)
connect(lpConsole->context(),SIGNAL(stateChanged()),
this,SLOT(connectionStateChange()));
- m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"splitter");
- m_pVertSplitter = new QSplitter(QSplitter::Vertical,m_pSplitter,"vsplitter");
+ m_pSplitter = new QSplitter(Qt::Horizontal,this,"splitter");
+ m_pVertSplitter = new QSplitter(Qt::Vertical,m_pSplitter,"vsplitter");
m_pListView = new KviTalListView(m_pVertSplitter);
m_pListView->addColumn(__tr2qs("Link"));
diff --git a/src/modules/mediaplayer/mp_amarokinterface.cpp b/src/modules/mediaplayer/mp_amarokinterface.cpp
index e12c9c2cb..a307ba7ad 100644
--- a/src/modules/mediaplayer/mp_amarokinterface.cpp
+++ b/src/modules/mediaplayer/mp_amarokinterface.cpp
@@ -177,7 +177,7 @@ bool KviAmarokInterface::playMrl(const QString &mrl)
{
QString title;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
QDataStream arg(data,IO_WriteOnly);
arg << KURL(mrl);
if(!g_pApp->dcopClient()->call(m_szAppId,"playlist","playMedia(KURL)",data,replyType,replyData))
diff --git a/src/modules/mediaplayer/mp_dcopinterface.cpp b/src/modules/mediaplayer/mp_dcopinterface.cpp
index 1456d9ba0..3ee676f56 100644
--- a/src/modules/mediaplayer/mp_dcopinterface.cpp
+++ b/src/modules/mediaplayer/mp_dcopinterface.cpp
@@ -34,7 +34,7 @@
#include "kvi_app.h"
#include "kvi_thread.h"
-KviMediaPlayerDCOPInterface::KviMediaPlayerDCOPInterface(const QCString &szAppId)
+KviMediaPlayerDCOPInterface::KviMediaPlayerDCOPInterface(const KviQCString &szAppId)
: KviMediaPlayerInterface()
{
m_szAppId = szAppId;
@@ -51,14 +51,14 @@ bool KviMediaPlayerDCOPInterface::ensureAppRunning(const QString &szApp)
}
-bool KviMediaPlayerDCOPInterface::simpleDCOPCall(const QCString &szObj,const QCString &szFunc)
+bool KviMediaPlayerDCOPInterface::simpleDCOPCall(const KviQCString &szObj,const KviQCString &szFunc)
{
if(!ensureAppRunning(m_szAppId))return false;
QByteArray data;
return g_pApp->dcopClient()->send(m_szAppId,szObj,szFunc,data);
}
-bool KviMediaPlayerDCOPInterface::boolDCOPCall(const QCString &szObj,const QCString &szFunc,bool bVal)
+bool KviMediaPlayerDCOPInterface::boolDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,bool bVal)
{
if(!ensureAppRunning(m_szAppId))return false;
QByteArray data;
@@ -67,7 +67,7 @@ bool KviMediaPlayerDCOPInterface::boolDCOPCall(const QCString &szObj,const QCStr
return g_pApp->dcopClient()->send(m_szAppId,szObj,szFunc,data);
}
-bool KviMediaPlayerDCOPInterface::intDCOPCall(const QCString &szObj,const QCString &szFunc,int iVal)
+bool KviMediaPlayerDCOPInterface::intDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,int iVal)
{
if(!ensureAppRunning(m_szAppId))return false;
QByteArray data;
@@ -76,7 +76,7 @@ bool KviMediaPlayerDCOPInterface::intDCOPCall(const QCString &szObj,const QCStri
return g_pApp->dcopClient()->send(m_szAppId,szObj,szFunc,data);
}
-bool KviMediaPlayerDCOPInterface::floatDCOPCall(const QCString &szObj,const QCString &szFunc,float fVal)
+bool KviMediaPlayerDCOPInterface::floatDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,float fVal)
{
if(!ensureAppRunning(m_szAppId))return false;
QByteArray data;
@@ -85,7 +85,7 @@ bool KviMediaPlayerDCOPInterface::floatDCOPCall(const QCString &szObj,const QCSt
return g_pApp->dcopClient()->send(m_szAppId,szObj,szFunc,data);
}
-bool KviMediaPlayerDCOPInterface::stringDCOPCall(const QCString &szObj,const QCString &szFunc,QString szVal)
+bool KviMediaPlayerDCOPInterface::stringDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,QString szVal)
{
if(!ensureAppRunning(m_szAppId))return false;
QByteArray data;
@@ -94,12 +94,12 @@ bool KviMediaPlayerDCOPInterface::stringDCOPCall(const QCString &szObj,const QCS
return g_pApp->dcopClient()->send(m_szAppId,szObj,szFunc,data);
}
-bool KviMediaPlayerDCOPInterface::stringRetDCOPCall(const QCString &szObj,const QCString &szFunc,QString &ret)
+bool KviMediaPlayerDCOPInterface::stringRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,QString &ret)
{
if(!ensureAppRunning(m_szAppId))return false;
QString title;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
if(!g_pApp->dcopClient()->call(m_szAppId,szObj,szFunc,data,replyType,replyData))
return false;
QDataStream reply( replyData, IO_ReadOnly );
@@ -111,12 +111,12 @@ bool KviMediaPlayerDCOPInterface::stringRetDCOPCall(const QCString &szObj,const
return false;
}
-bool KviMediaPlayerDCOPInterface::intRetDCOPCall(const QCString &szObj,const QCString &szFunc,int &ret)
+bool KviMediaPlayerDCOPInterface::intRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,int &ret)
{
if(!ensureAppRunning(m_szAppId))return false;
QString title;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
if(!g_pApp->dcopClient()->call(m_szAppId,szObj,szFunc,data,replyType,replyData))
return false;
QDataStream reply( replyData, IO_ReadOnly );
@@ -128,12 +128,12 @@ bool KviMediaPlayerDCOPInterface::intRetDCOPCall(const QCString &szObj,const QCS
return false;
}
-bool KviMediaPlayerDCOPInterface::boolRetDCOPCall(const QCString &szObj,const QCString &szFunc,bool &ret)
+bool KviMediaPlayerDCOPInterface::boolRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,bool &ret)
{
if(!ensureAppRunning(m_szAppId))return false;
QString title;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
if(!g_pApp->dcopClient()->call(m_szAppId,szObj,szFunc,data,replyType,replyData))
return false;
QDataStream reply( replyData, IO_ReadOnly );
@@ -148,9 +148,9 @@ bool KviMediaPlayerDCOPInterface::boolRetDCOPCall(const QCString &szObj,const QC
bool KviMediaPlayerDCOPInterface::findRunningApp(const QString &szApp)
{
- QValueList<QCString> allApps = g_pApp->dcopClient() ->registeredApplications();
- QValueList<QCString>::iterator iterator;
- QCString sz = szApp.local8Bit();
+ QValueList<KviQCString> allApps = g_pApp->dcopClient() ->registeredApplications();
+ QValueList<KviQCString>::iterator iterator;
+ KviQCString sz = szApp.local8Bit();
for(iterator = allApps.begin();iterator != allApps.end();iterator++)
{
if(*iterator == sz)return true;
@@ -182,7 +182,7 @@ bool KviMediaPlayerDCOPInterface::startApp(const QString &szApp,int iWaitMSecs)
// but we want to be able to wait a defined amount of time
QStringList tmp;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
QDataStream arg(data, IO_WriteOnly);
arg << szApp << tmp;
if(!g_pApp->dcopClient()->call(
@@ -198,7 +198,7 @@ bool KviMediaPlayerDCOPInterface::startApp(const QString &szApp,int iWaitMSecs)
QDataStream reply(replyData, IO_ReadOnly);
if(replyType != "serviceResult")return false;
int result;
- QCString dcopName;
+ KviQCString dcopName;
QString error;
reply >> result >> dcopName >> error;
if(result != 0)return false;
diff --git a/src/modules/mediaplayer/mp_dcopinterface.h b/src/modules/mediaplayer/mp_dcopinterface.h
index f556e284e..14a3212d2 100644
--- a/src/modules/mediaplayer/mp_dcopinterface.h
+++ b/src/modules/mediaplayer/mp_dcopinterface.h
@@ -33,23 +33,23 @@
class KviMediaPlayerDCOPInterface : public KviMediaPlayerInterface
{
public:
- KviMediaPlayerDCOPInterface(const QCString &szAppId);
+ KviMediaPlayerDCOPInterface(const KviQCString &szAppId);
~KviMediaPlayerDCOPInterface();
protected:
- QCString m_szAppId;
+ KviQCString m_szAppId;
protected:
bool ensureAppRunning(const QString &szApp);
bool findRunningApp(const QString &szApp);
bool startApp(const QString &szApp,int iWaitMSecs = 0);
int detectApp(const QString &szApp,bool bStart,int iScoreWhenFound,int iScoreWhenStarted);
- bool simpleDCOPCall(const QCString &szObj,const QCString &szFunc);
- bool intDCOPCall(const QCString &szObj,const QCString &szFunc,int iVal);
- bool boolDCOPCall(const QCString &szObj,const QCString &szFunc,bool bVal);
- bool stringDCOPCall(const QCString &szObj,const QCString &szFunc,QString szVal);
- bool floatDCOPCall(const QCString &szObj,const QCString &szFunc,float fVal);
- bool stringRetDCOPCall(const QCString &szObj,const QCString &szFunc,QString &ret);
- bool intRetDCOPCall(const QCString &szObj,const QCString &szFunc,int &ret);
- bool boolRetDCOPCall(const QCString &szObj,const QCString &szFunc,bool &ret);
+ bool simpleDCOPCall(const KviQCString &szObj,const KviQCString &szFunc);
+ bool intDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,int iVal);
+ bool boolDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,bool bVal);
+ bool stringDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,QString szVal);
+ bool floatDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,float fVal);
+ bool stringRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,QString &ret);
+ bool intRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,int &ret);
+ bool boolRetDCOPCall(const KviQCString &szObj,const KviQCString &szFunc,bool &ret);
};
#endif //COMPILE_KDE_SUPPORT
diff --git a/src/modules/mediaplayer/mp_interface.cpp b/src/modules/mediaplayer/mp_interface.cpp
index f539bdcce..2902a68df 100644
--- a/src/modules/mediaplayer/mp_interface.cpp
+++ b/src/modules/mediaplayer/mp_interface.cpp
@@ -94,26 +94,26 @@ QString KviMediaPlayerInterface::getLocalFile()
QString KviMediaPlayerInterface::artist()
{
SCAN_MP3_FILE
- return pCodec->toUnicode(QCString(mp3.id3.artist));
+ return pCodec->toUnicode(KviQCString(mp3.id3.artist));
}
QString KviMediaPlayerInterface::title()
{
SCAN_MP3_FILE
- return pCodec->toUnicode(QCString(mp3.id3.title));
+ return pCodec->toUnicode(KviQCString(mp3.id3.title));
}
QString KviMediaPlayerInterface::genre()
{
SCAN_MP3_FILE
- return pCodec->toUnicode(QCString(get_typegenre(mp3.id3.genre[0])));
+ return pCodec->toUnicode(KviQCString(get_typegenre(mp3.id3.genre[0])));
}
QString KviMediaPlayerInterface::comment()
{
SCAN_MP3_FILE
- return pCodec->toUnicode(QCString(mp3.id3.comment));
+ return pCodec->toUnicode(KviQCString(mp3.id3.comment));
}
QString KviMediaPlayerInterface::year()
@@ -125,7 +125,7 @@ QString KviMediaPlayerInterface::year()
QString KviMediaPlayerInterface::album()
{
SCAN_MP3_FILE
- return pCodec->toUnicode(QCString(mp3.id3.album));
+ return pCodec->toUnicode(KviQCString(mp3.id3.album));
}
bool KviMediaPlayerInterface::playMrl(const QString &mrl)
diff --git a/src/modules/mediaplayer/mp_jukinterface.cpp b/src/modules/mediaplayer/mp_jukinterface.cpp
index 3e89a408f..727c18e60 100644
--- a/src/modules/mediaplayer/mp_jukinterface.cpp
+++ b/src/modules/mediaplayer/mp_jukinterface.cpp
@@ -173,7 +173,7 @@ bool KviJukInterface::playMrl(const QString &mrl)
{
QString title;
QByteArray data, replyData;
- QCString replyType;
+ KviQCString replyType;
QDataStream arg(data,IO_WriteOnly);
arg << mrl;
if(!g_pApp->dcopClient()->call(m_szAppId,"playlist","play(QString)",data,replyType,replyData))
diff --git a/src/modules/mediaplayer/mp_xmmsinterface.cpp b/src/modules/mediaplayer/mp_xmmsinterface.cpp
index 1bb1caaba..4abafec13 100644
--- a/src/modules/mediaplayer/mp_xmmsinterface.cpp
+++ b/src/modules/mediaplayer/mp_xmmsinterface.cpp
@@ -276,7 +276,7 @@ KviMediaPlayerInterface::PlayerStatus KviXmmsInterface::status()
bool KviXmmsInterface::playMrl(const QString &mrl)
{
void (*sym)(int,char *) = (void (*)(int,char *))lookupSymbol("xmms_remote_playlist_add_url_string");
- QCString tmp = mrl.local8Bit();
+ KviQCString tmp = mrl.local8Bit();
if(!tmp.isEmpty())
{
if(sym)
diff --git a/src/modules/mircimport/libkvimircimport.cpp b/src/modules/mircimport/libkvimircimport.cpp
index 65be91c4d..2ec1869a9 100644
--- a/src/modules/mircimport/libkvimircimport.cpp
+++ b/src/modules/mircimport/libkvimircimport.cpp
@@ -232,7 +232,7 @@ void KviRemoteMircServerImportWizard::start()
void KviRemoteMircServerImportWizard::getListMessage(const QString &message)
{
- if(message)m_pOutput->setText(message);
+ if(!message.isEmpty())m_pOutput->setText(message);
}
diff --git a/src/modules/my/idle_x11.cpp b/src/modules/my/idle_x11.cpp
index 11a639852..95d27fb1f 100644
--- a/src/modules/my/idle_x11.cpp
+++ b/src/modules/my/idle_x11.cpp
@@ -37,6 +37,10 @@ int IdlePlatform::secondsIdle() { return 0; }
#include<X11/Xutil.h>
#include<X11/extensions/scrnsaver.h>
+#ifdef COMPILE_USE_QT4
+ #include <qdesktopwidget.h>
+#endif
+
static XErrorHandler old_handler = 0;
extern "C" int xerrhandler(Display* dpy, XErrorEvent* err)
{
diff --git a/src/modules/str/libkvistr.cpp b/src/modules/str/libkvistr.cpp
index 9700819f8..c56d860d1 100644
--- a/src/modules/str/libkvistr.cpp
+++ b/src/modules/str/libkvistr.cpp
@@ -1988,7 +1988,7 @@ static bool str_kvs_fnc_printf(KviKvsModuleFunctionCall * c)
if(reallen == allocsize)INCREMENT_MEM
//copy up to a '?'
- if(*fmt != '?')
+ if(fmt->unicode() != '?')
{
*p++ = *fmt;
reallen++;
@@ -1996,7 +1996,7 @@ static bool str_kvs_fnc_printf(KviKvsModuleFunctionCall * c)
}
++fmt; //skip this '?'
- switch(*fmt)
+ switch(fmt->unicode())
{
case 's':
{
@@ -2139,7 +2139,7 @@ static bool str_kvs_fnc_printf(KviKvsModuleFunctionCall * c)
}
case '?':
{
- if(*fmt)
+ if(fmt->unicode())
{
if(reallen == allocsize)INCREMENT_MEM
*p++ = *fmt;
@@ -2202,7 +2202,7 @@ static bool str_kvs_fnc_printf(KviKvsModuleFunctionCall * c)
fmt = save;
*p++ = '?'; //write it
reallen++;
- if(*fmt)
+ if(fmt->unicode())
{
if(reallen == allocsize)INCREMENT_MEM
*p++ = *fmt;
@@ -2218,7 +2218,7 @@ static bool str_kvs_fnc_printf(KviKvsModuleFunctionCall * c)
{
*p++ = '?'; //write it
reallen++;
- if(*fmt)
+ if(fmt->unicode())
{
if(reallen == allocsize)INCREMENT_MEM
*p++ = *fmt;