aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2007-01-19 02:11:09 +0000
committerGravatar Szymon Tomasz Stefanek2007-01-19 02:11:09 +0000
commitecd49ed1192c79a3b55cdc4130bec1d4182f71b4 (patch)
tree2ffd5b617136b4296e25eb3c66a5cd27180f21c8
parent*AUTOMATICALLY* updated KVI_SOURCES_DATE variable (diff)
downloadKVIrc-ecd49ed1192c79a3b55cdc4130bec1d4182f71b4.tar.gz
KVIrc-ecd49ed1192c79a3b55cdc4130bec1d4182f71b4.tar.bz2
KVIrc-ecd49ed1192c79a3b55cdc4130bec1d4182f71b4.zip
More Qt 4.x port
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@195 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--ChangeLog5
-rw-r--r--src/kvi_configstatus.h2
-rw-r--r--src/kvilib/build/Makefile.am53
-rw-r--r--src/kvilib/core/kvi_error.cpp18
-rw-r--r--src/kvilib/core/kvi_error.h1
-rw-r--r--src/kvilib/core/kvi_qcstring.h39
-rw-r--r--src/kvilib/core/kvi_qstring.h120
-rw-r--r--src/kvilib/core/kvi_string.cpp36
-rw-r--r--src/kvilib/core/kvi_string.h13
-rw-r--r--src/kvilib/ext/kvi_config.cpp52
-rw-r--r--src/kvilib/ext/kvi_crypt.cpp19
-rw-r--r--src/kvilib/ext/kvi_crypt.h47
-rw-r--r--src/kvilib/ext/kvi_datacontainer.cpp172
-rw-r--r--src/kvilib/ext/kvi_datacontainer.h66
-rw-r--r--src/kvilib/ext/kvi_doublebuffer.cpp10
-rw-r--r--src/kvilib/ext/kvi_imagelib.cpp57
-rw-r--r--src/kvilib/ext/kvi_mediatype.cpp21
-rw-r--r--src/kvilib/ext/kvi_miscutils.cpp9
-rw-r--r--src/kvilib/ext/kvi_pixmap.cpp77
-rw-r--r--src/kvilib/ext/kvi_pixmap.h10
-rw-r--r--src/kvilib/ext/kvi_regchan.cpp18
-rw-r--r--src/kvilib/ext/kvi_regchan.h14
-rw-r--r--src/kvilib/ext/kvi_regusersdb.cpp38
-rw-r--r--src/kvilib/ext/kvi_regusersdb.h16
-rw-r--r--src/kvilib/ext/kvi_sharedfiles.cpp17
-rw-r--r--src/kvilib/ext/kvi_sharedfiles.h10
-rw-r--r--src/kvilib/ext/kvi_stringconversion.cpp58
-rw-r--r--src/kvilib/file/kvi_file.cpp45
-rw-r--r--src/kvilib/file/kvi_file.h45
-rw-r--r--src/kvilib/file/kvi_fileutils.cpp377
-rw-r--r--src/kvilib/file/kvi_fileutils.h55
-rw-r--r--src/kvilib/file/kvi_packagefile.cpp99
-rw-r--r--src/kvilib/file/kvi_packagefile.h12
-rw-r--r--src/kvilib/irc/kvi_avatar.cpp7
-rw-r--r--src/kvilib/irc/kvi_avatarcache.cpp6
-rw-r--r--src/kvilib/irc/kvi_avatarcache.h4
-rw-r--r--src/kvilib/irc/kvi_ircmask.cpp4
-rw-r--r--src/kvilib/irc/kvi_ircserverdb.cpp19
-rw-r--r--src/kvilib/irc/kvi_ircserverdb.h6
-rw-r--r--src/kvilib/irc/kvi_ircuserdb.cpp14
-rw-r--r--src/kvilib/irc/kvi_ircuserdb.h6
-rw-r--r--src/kvilib/irc/kvi_nickserv.cpp11
-rw-r--r--src/kvilib/irc/kvi_nickserv.h2
-rw-r--r--src/kvilib/net/kvi_dns.cpp75
-rw-r--r--src/kvilib/net/kvi_dns.h40
-rw-r--r--src/kvilib/net/kvi_http.cpp148
-rw-r--r--src/kvilib/net/kvi_http.h67
-rw-r--r--src/kvilib/net/kvi_netutils.cpp15
-rw-r--r--src/kvilib/net/kvi_netutils.h1
-rw-r--r--src/kvilib/net/kvi_ssl.cpp8
-rw-r--r--src/kvilib/net/kvi_ssl.h10
-rw-r--r--src/kvilib/system/kvi_locale.cpp102
-rw-r--r--src/kvilib/system/kvi_thread.cpp6
-rw-r--r--src/kvilib/tal/kvi_tal_filedialog.cpp170
-rw-r--r--src/kvilib/tal/kvi_tal_filedialog.h14
-rw-r--r--src/kvilib/tal/kvi_tal_filedialog_qt.h3
-rw-r--r--src/kvilib/tal/kvi_tal_filedialog_qt4.h46
-rw-r--r--src/kvilib/tal/kvi_tal_mainwindow.cpp4
-rw-r--r--src/kvilib/tal/kvi_tal_menubar.cpp4
-rw-r--r--src/kvilib/tal/kvi_tal_toolbar.cpp8
-rw-r--r--src/kvilib/tal/kvi_tal_toolbardocktype.h47
-rw-r--r--src/kvirc/kernel/kvi_actionmanager.cpp14
-rw-r--r--src/kvirc/kernel/kvi_actionmanager.h10
-rw-r--r--src/kvirc/kernel/kvi_app.cpp30
-rw-r--r--src/kvirc/kernel/kvi_app.h5
-rw-r--r--src/kvirc/kernel/kvi_app_fs.cpp21
-rw-r--r--src/kvirc/kernel/kvi_app_setup.cpp2
-rw-r--r--src/kvirc/kernel/kvi_customtoolbarmanager.cpp16
-rw-r--r--src/kvirc/kernel/kvi_customtoolbarmanager.h6
-rw-r--r--src/kvirc/kernel/kvi_filetransfer.cpp2
-rw-r--r--src/kvirc/kernel/kvi_iconmanager.cpp6
-rw-r--r--src/kvirc/kernel/kvi_iconmanager.h6
-rw-r--r--src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp50
-rw-r--r--src/kvirc/kernel/kvi_notifylist.cpp28
-rw-r--r--src/kvirc/kernel/kvi_notifylist.h6
-rw-r--r--src/kvirc/kernel/kvi_texticonmanager.cpp4
-rw-r--r--src/kvirc/kernel/kvi_texticonmanager.h6
-rw-r--r--src/kvirc/kvs/kvi_kvs_aliasmanager.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_aliasmanager.h6
-rw-r--r--src/kvirc/kvs/kvi_kvs_asyncdnsoperation.cpp16
-rw-r--r--src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_dnsmanager.cpp16
-rw-r--r--src/kvirc/kvs/kvi_kvs_hash.cpp8
-rw-r--r--src/kvirc/kvs/kvi_kvs_hash.h8
-rw-r--r--src/kvirc/kvs/kvi_kvs_kernel.cpp12
-rw-r--r--src/kvirc/kvs/kvi_kvs_kernel.h10
-rw-r--r--src/kvirc/kvs/kvi_kvs_moduleinterface.cpp8
-rw-r--r--src/kvirc/kvs/kvi_kvs_moduleinterface.h8
-rw-r--r--src/kvirc/kvs/kvi_kvs_object.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_object.h6
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_class.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_class.h8
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_controller.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_object_controller.h6
-rw-r--r--src/kvirc/kvs/kvi_kvs_parameterprocessor.cpp8
-rw-r--r--src/kvirc/kvs/kvi_kvs_parser.h4
-rw-r--r--src/kvirc/kvs/kvi_kvs_parser_specialcommands.cpp2
-rw-r--r--src/kvirc/kvs/kvi_kvs_popupmanager.cpp4
-rw-r--r--src/kvirc/kvs/kvi_kvs_popupmanager.h4
-rw-r--r--src/kvirc/kvs/kvi_kvs_scriptaddonmanager.cpp10
-rw-r--r--src/kvirc/kvs/kvi_kvs_scriptaddonmanager.h8
-rw-r--r--src/kvirc/kvs/kvi_kvs_switchlist.cpp2
-rw-r--r--src/kvirc/kvs/kvi_kvs_switchlist.h4
-rw-r--r--src/kvirc/kvs/kvi_kvs_timermanager.cpp2
-rw-r--r--src/kvirc/kvs/kvi_kvs_timermanager.h4
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp6
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_switchlist.h4
-rw-r--r--src/kvirc/kvs/kvi_kvs_variant.cpp4
-rw-r--r--src/kvirc/module/kvi_module.cpp12
-rw-r--r--src/kvirc/module/kvi_module.h4
-rw-r--r--src/kvirc/module/kvi_moduleextension.cpp10
-rw-r--r--src/kvirc/module/kvi_moduleextension.h14
-rw-r--r--src/kvirc/module/kvi_modulemanager.cpp8
-rw-r--r--src/kvirc/module/kvi_modulemanager.h4
-rw-r--r--src/kvirc/ui/kvi_actiondrawer.cpp6
-rw-r--r--src/kvirc/ui/kvi_channel.cpp4
-rw-r--r--src/kvirc/ui/kvi_channel.h2
-rw-r--r--src/kvirc/ui/kvi_console.cpp2
-rw-r--r--src/kvirc/ui/kvi_cryptcontroller.cpp10
-rw-r--r--src/kvirc/ui/kvi_frame.cpp2
-rw-r--r--src/kvirc/ui/kvi_input.cpp4
-rw-r--r--src/kvirc/ui/kvi_query.cpp2
-rw-r--r--src/kvirc/ui/kvi_query.h2
-rw-r--r--src/kvirc/ui/kvi_statusbar.cpp6
-rw-r--r--src/kvirc/ui/kvi_statusbar.h4
-rw-r--r--src/kvirc/ui/kvi_statusbarapplet.h2
-rw-r--r--src/kvirc/ui/kvi_texticonwin.cpp4
-rw-r--r--src/kvirc/ui/kvi_userlistview.cpp8
-rw-r--r--src/kvirc/ui/kvi_userlistview.h6
-rw-r--r--src/kvirc/ui/kvi_xmladdonloader.cpp2
-rw-r--r--src/modules/action/libkviaction.cpp2
-rw-r--r--src/modules/actioneditor/actioneditor.cpp4
-rw-r--r--src/modules/addon/libkviaddon.cpp4
-rw-r--r--src/modules/addon/managementdialog.cpp4
-rw-r--r--src/modules/aliaseditor/aliaseditor.cpp4
-rw-r--r--src/modules/chan/libkvichan.cpp1
-rw-r--r--src/modules/channelsjoin/channelsjoinwindow.cpp4
-rw-r--r--src/modules/config/libkviconfig.cpp12
-rw-r--r--src/modules/dcc/broker.cpp2
-rw-r--r--src/modules/dcc/broker.h4
-rw-r--r--src/modules/dcc/chat.cpp14
-rw-r--r--src/modules/dcc/voice.h2
-rw-r--r--src/modules/dockwidget/libkvidockwidget.cpp6
-rw-r--r--src/modules/filetransferwindow/libkvifiletransferwindow.cpp2
-rwxr-xr-xsrc/modules/help/index.cpp6
-rwxr-xr-xsrc/modules/help/index.h6
-rw-r--r--src/modules/http/httpfiletransfer.cpp24
-rw-r--r--src/modules/http/httpfiletransfer.h10
-rw-r--r--src/modules/logview/libkvilogview.cpp2
-rw-r--r--src/modules/mircimport/libkvimircimport.cpp4
-rw-r--r--src/modules/mircimport/libkvimircimport.h2
-rw-r--r--src/modules/objects/libkviobjects.cpp10
-rw-r--r--src/modules/options/dialog.cpp2
-rw-r--r--src/modules/options/libkvioptions.cpp8
-rw-r--r--src/modules/options/optw_servers.cpp4
-rw-r--r--src/modules/options/optw_texticons.cpp2
-rw-r--r--src/modules/perlcore/libkviperlcore.cpp8
-rw-r--r--src/modules/popupeditor/popupeditor.cpp10
-rw-r--r--src/modules/regchan/libkviregchan.cpp8
-rw-r--r--src/modules/reguser/edituser.cpp34
-rw-r--r--src/modules/reguser/edituser.h8
-rw-r--r--src/modules/reguser/libkvireguser.cpp16
-rw-r--r--src/modules/setup/setupwizard.cpp12
-rw-r--r--src/modules/sharedfile/libkvisharedfile.cpp4
-rw-r--r--src/modules/sharedfileswindow/libkvisharedfileswindow.cpp2
-rw-r--r--src/modules/sharedfileswindow/sharedfileswindow.cpp2
-rw-r--r--src/modules/snd/libkvisnd.cpp4
-rw-r--r--src/modules/snd/libkvisnd.h4
-rw-r--r--src/modules/texticons/libkvitexticons.cpp2
-rw-r--r--src/modules/theme/themefunctions.cpp2
-rw-r--r--src/modules/toolbar/libkvitoolbar.cpp4
-rw-r--r--src/modules/window/libkviwindow.cpp12
172 files changed, 1605 insertions, 1688 deletions
diff --git a/ChangeLog b/ChangeLog
index b5353f2cd..a47e5e0bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+18 Jan 2007
+ [Pragma]
+ - More Qt 4.x port. kvilib now compiles cleanly with both Qt 4.x and Qt 3.x.
+ Don't know if it really works since kvirc compilation still bails out. We'll see :)
+
15 Jan 2007
[Pragma]
- Fixed the smart encoders a bit more
diff --git a/src/kvi_configstatus.h b/src/kvi_configstatus.h
index 97e05f712..bb9f2a634 100644
--- a/src/kvi_configstatus.h
+++ b/src/kvi_configstatus.h
@@ -8,7 +8,7 @@
/* #undef BIG_ENDIAN_MACHINE_BYTE_ORDER */
/* this is the build date (configure date rather) */
-#define BUILD_DATE "Wed Jan 17 20:09:43 UTC 2007"
+#define BUILD_DATE "Fri Jan 19 01:41:16 UTC 2007"
/* these are the build flags */
#define BUILD_FLAGS "x86_64-cefgikopsAGTZ"
diff --git a/src/kvilib/build/Makefile.am b/src/kvilib/build/Makefile.am
index a1daf976e..18b394b9d 100644
--- a/src/kvilib/build/Makefile.am
+++ b/src/kvilib/build/Makefile.am
@@ -41,7 +41,6 @@ libkvilib_la_SOURCES = \
../ext/kvi_config.cpp \
../ext/kvi_crypt.cpp \
../ext/kvi_databuffer.cpp \
- ../ext/kvi_datacontainer.cpp \
../ext/kvi_doublebuffer.cpp \
../ext/kvi_garbage.cpp \
../ext/kvi_osinfo.cpp \
@@ -110,6 +109,7 @@ headers_HEADERS = \
../core/kvi_list.h \
../core/kvi_malloc.h \
../core/kvi_memmove.h \
+ ../core/kvi_qcstring.h \
../core/kvi_qstring.h \
../core/kvi_strasm.h \
../core/kvi_string.h \
@@ -119,7 +119,6 @@ headers_HEADERS = \
../ext/kvi_config.h \
../ext/kvi_crypt.h \
../ext/kvi_databuffer.h \
- ../ext/kvi_datacontainer.h \
../ext/kvi_doublebuffer.h \
../ext/kvi_osinfo.h \
../ext/kvi_garbage.h \
@@ -140,17 +139,44 @@ headers_HEADERS = \
../file/kvi_fileutils.h \
../file/kvi_packagefile.h \
../file/kvi_targzfile.h \
- ../irc/kvi_avatar.h ../irc/kvi_avatarcache.h ../irc/kvi_ircmask.h \
-../irc/kvi_ircserverdb.h ../irc/kvi_ircserver.h ../irc/kvi_ircuserdb.h ../irc/kvi_mirccntrl.h \
-../irc/kvi_nickserv.h ../net/kvi_dns.h ../net/kvi_http.h ../net/kvi_netutils.h ../net/kvi_socket.h \
-../net/kvi_sockettype.h ../net/kvi_ssl.h ../net/kvi_url.h ../system/kvi_env.h \
-../system/kvi_library.h ../system/kvi_locale.h ../system/kvi_stdarg.h \
-../system/kvi_thread.h ../system/kvi_time.h ../tal/kvi_tal_application.h ../tal/kvi_tal_application_kde.h \
-../tal/kvi_tal_application_qt.h ../tal/kvi_tal_filedialog.h ../tal/kvi_tal_filedialog_kde.h \
-../tal/kvi_tal_filedialog_qt.h ../tal/kvi_tal_mainwindow.h ../tal/kvi_tal_mainwindow_kde.h \
-../tal/kvi_tal_mainwindow_qt.h ../tal/kvi_tal_menubar.h ../tal/kvi_tal_menubar_kde.h \
-../tal/kvi_tal_menubar_qt.h ../tal/kvi_tal_toolbar.h ../tal/kvi_tal_toolbar_kde.h ../tal/kvi_tal_toolbar_qt.h \
-../tal/kvi_tal_toolbardocktype.h
+ ../irc/kvi_avatar.h \
+ ../irc/kvi_avatarcache.h \
+ ../irc/kvi_ircmask.h \
+ ../irc/kvi_ircserverdb.h \
+ ../irc/kvi_ircserver.h \
+ ../irc/kvi_ircuserdb.h \
+ ../irc/kvi_mirccntrl.h \
+ ../irc/kvi_nickserv.h \
+ ../net/kvi_dns.h \
+ ../net/kvi_http.h \
+ ../net/kvi_netutils.h \
+ ../net/kvi_socket.h \
+ ../net/kvi_sockettype.h \
+ ../net/kvi_ssl.h \
+ ../net/kvi_url.h \
+ ../system/kvi_env.h \
+ ../system/kvi_library.h \
+ ../system/kvi_locale.h \
+ ../system/kvi_stdarg.h \
+ ../system/kvi_thread.h \
+ ../system/kvi_time.h \
+ ../tal/kvi_tal_application.h \
+ ../tal/kvi_tal_application_kde.h \
+ ../tal/kvi_tal_application_qt.h \
+ ../tal/kvi_tal_filedialog.h \
+ ../tal/kvi_tal_filedialog_kde.h \
+ ../tal/kvi_tal_filedialog_qt.h \
+ ../tal/kvi_tal_filedialog_qt4.h \
+ ../tal/kvi_tal_mainwindow.h \
+ ../tal/kvi_tal_mainwindow_kde.h \
+ ../tal/kvi_tal_mainwindow_qt.h \
+ ../tal/kvi_tal_menubar.h \
+ ../tal/kvi_tal_menubar_kde.h \
+ ../tal/kvi_tal_menubar_qt.h \
+ ../tal/kvi_tal_toolbar.h \
+ ../tal/kvi_tal_toolbar_kde.h \
+ ../tal/kvi_tal_toolbar_qt.h \
+ ../tal/kvi_tal_toolbardocktype.h
@@ -195,6 +221,7 @@ headers_HEADERS = \
../tal/kvi_tal_toolbar.cpp: ../tal/kvi_tal_toolbar_qt.moc
../tal/kvi_tal_filedialog.cpp: ../tal/kvi_tal_filedialog_kde.moc
../tal/kvi_tal_filedialog.cpp: ../tal/kvi_tal_filedialog_qt.moc
+../tal/kvi_tal_filedialog.cpp: ../tal/kvi_tal_filedialog_qt4.moc
#
diff --git a/src/kvilib/core/kvi_error.cpp b/src/kvilib/core/kvi_error.cpp
index 4901f6981..0c3e46194 100644
--- a/src/kvilib/core/kvi_error.cpp
+++ b/src/kvilib/core/kvi_error.cpp
@@ -41,6 +41,11 @@
#include <string.h> // for strerror()
#endif
+// FIXME: This stuff should basically die and be eventually replaced with some
+// helper functions for handling ONLY system errors.
+//
+// WARNING: getDescription() is not even thread safe... it will die in the near future
+
const char * g_errorTable[KVI_NUM_ERRORS]=
{
__tr_no_lookup("Success"), // 000: success
@@ -168,14 +173,19 @@ const char * g_errorTable[KVI_NUM_ERRORS]=
namespace KviError
{
- QString getDescription(int iErrorCode)
+ const char * getUntranslatedDescription(int iErrorCode)
{
if((iErrorCode < KVI_NUM_ERRORS) && (iErrorCode >= 0))
- return __tr2qs_no_xgettext(g_errorTable[iErrorCode]);
+ return g_errorTable[iErrorCode];
#ifdef HAVE_STRERROR
- if(iErrorCode < 0)return QString(strerror(-iErrorCode));
+ if(iErrorCode < 0)return strerror(-iErrorCode);
#endif
- return __tr2qs_no_xgettext(g_errorTable[KviError_unknownError]);
+ return g_errorTable[KviError_unknownError];
+ }
+
+ QString getDescription(int iErrorCode)
+ {
+ return __tr2qs_no_xgettext(getUntranslatedDescription(iErrorCode));
}
int translateSystemError(int iErrNo)
diff --git a/src/kvilib/core/kvi_error.h b/src/kvilib/core/kvi_error.h
index 5e509eac8..7190eae06 100644
--- a/src/kvilib/core/kvi_error.h
+++ b/src/kvilib/core/kvi_error.h
@@ -181,6 +181,7 @@
namespace KviError
{
KVILIB_API QString getDescription(int iErrorCode);
+ KVILIB_API const char * getUntranslatedDescription(int iErrorCode);
KVILIB_API int translateSystemError(int iErrNo);
};
diff --git a/src/kvilib/core/kvi_qcstring.h b/src/kvilib/core/kvi_qcstring.h
new file mode 100644
index 000000000..f1b9cd25f
--- /dev/null
+++ b/src/kvilib/core/kvi_qcstring.h
@@ -0,0 +1,39 @@
+#ifndef _KVI_QCSTRING_H_
+#define _KVI_QCSTRING_H_
+
+//=============================================================================
+//
+// File : kvi_qcstring.h
+// Creation date : Thu Jan 18 2007 00:34:33 CEST by Szymon Stefanek
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 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
+// 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.
+//
+//=============================================================================
+
+#include "kvi_settings.h"
+
+#ifdef COMPILE_USE_QT4
+ #include <q3cstring.h> // includes <qbytearray.h>
+ #define KviQCString QByteArray
+#else
+ // this is dead in Qt 4.x
+ #include <qcstring.h>
+ #define KviQCString QCString
+#endif
+
+#endif //!_KVI_QCSTRING_H_
diff --git a/src/kvilib/core/kvi_qstring.h b/src/kvilib/core/kvi_qstring.h
index 29bc347b3..11374cac3 100644
--- a/src/kvilib/core/kvi_qstring.h
+++ b/src/kvilib/core/kvi_qstring.h
@@ -34,6 +34,7 @@
#include "kvi_settings.h"
#include "kvi_inttypes.h"
#include "kvi_stdarg.h"
+#include "kvi_qcstring.h"
#include <qstring.h>
@@ -120,6 +121,124 @@ namespace KviQString
extern KVILIB_API void transliterate(QString &s,const QString &szToFind,const QString &szReplacement);
extern KVILIB_API void bufferToHex(QString &szRetBuffer,const unsigned char * buffer,unsigned int len);
+
+ inline QString toLower(const QString &s)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.toLower();
+#else
+ return s.lower();
+#endif
+ }
+
+ inline int find(const QString &s,QChar c,int index = 0,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.indexOf(c,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.find(c,index,cs);
+#endif
+ }
+
+ inline int find(const QString &s,char c,int index = 0,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.indexOf(c,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.find(c,index,cs);
+#endif
+ }
+
+ inline int find(const QString &s,const QString & str,int index = 0,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.indexOf(str,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.find(str,index,cs);
+#endif
+ }
+
+ inline int find(const QString &s,const QRegExp & rx,int index = 0)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.indexOf(rx,index);
+#else
+ return s.find(rx,index);
+#endif
+ }
+
+ inline int find(const QString &s,const char * str,int index = 0)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.indexOf(QString(str),index);
+#else
+ return s.find(str,index);
+#endif
+ }
+
+ inline int findRev(const QString &s,QChar c,int index = -1,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.lastIndexOf(c,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.findRev(c,index,cs);
+#endif
+ }
+
+ inline int findRev(const QString &s,char c,int index = -1,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.lastIndexOf(c,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.findRev(c,index,cs);
+#endif
+ }
+
+ inline int findRev(const QString &s,const QString & str,int index = -1,bool cs = true)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.lastIndexOf(str,index,cs ? Qt::CaseSensitive : Qt::CaseInsensitive);
+#else
+ return s.findRev(str,index,cs);
+#endif
+ }
+
+ inline int findRev(const QString &s,const QRegExp & rx,int index = -1)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.lastIndexOf(rx,index);
+#else
+ return s.findRev(rx,index);
+#endif
+ }
+
+ inline int findRev(const QString &s,const char * str,int index = -1)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.lastIndexOf(QString(str),index);
+#else
+ return s.findRev(str,index);
+#endif
+ }
+
+ inline QString trimmed(const QString &s)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.trimmed();
+#else
+ return s.stripWhiteSpace();
+#endif
+ }
+
+
+ inline KviQCString toUtf8(const QString &s)
+ {
+#ifdef COMPILE_USE_QT4
+ return s.toUtf8();
+#else
+ return s.utf8();
+#endif
+ }
inline kvi_i64_t toI64(QString &szNumber,bool * bOk)
{
@@ -140,5 +259,6 @@ namespace KviQString
}
};
+// QT4SUX: Because QString::null is gone. QString() is SLOWER than QString::null since it invokes a constructor and destructor.
#endif //!_KVI_QSTRING_H_
diff --git a/src/kvilib/core/kvi_string.cpp b/src/kvilib/core/kvi_string.cpp
index 4b949de51..a97360d4e 100644
--- a/src/kvilib/core/kvi_string.cpp
+++ b/src/kvilib/core/kvi_string.cpp
@@ -34,6 +34,8 @@
#include "kvi_memmove.h"
#include "kvi_malloc.h"
+#include "kvi_qstring.h"
+
kvi_wslen_t kvi_wstrlen(const kvi_wchar_t * str)
{
const kvi_wchar_t * ptr = str;
@@ -746,11 +748,7 @@ int kvi_vsnprintf(char *buffer,int len,const char *fmt,kvi_va_list list)
case 'Q': // QString! (this should almost never happen)
{
QString * s = kvi_va_arg(list,QString *);
-#ifdef COMPILE_USE_QT4
- _QCString cs = s->toUtf8();
-#else
- _QCString cs = s->utf8();
-#endif
+ KviQCString cs = KviQString::toUtf8(*s);
const char * t = cs.data();
if(!t)continue; // nothing to do
//check for space...
@@ -815,11 +813,7 @@ int kvi_irc_vsnprintf(char *buffer,const char *fmt,kvi_va_list list,bool *bTrunc
case 'Q': // QString! (this should almost never happen)
{
QString * s = kvi_va_arg(list,QString *);
-#ifdef COMPILE_USE_QT4
- _QCString cs = s->toUtf8();
-#else
- _QCString cs = s->utf8();
-#endif
+ KviQCString cs = KviQString::toUtf8(*s);
const char * t = cs.data();
if(!t)continue; // nothing to do
while(*t)
@@ -1044,7 +1038,7 @@ KviStr::KviStr(const char *str)
}
}
-KviStr::KviStr(const _QCString &str)
+KviStr::KviStr(const KviQCString &str)
{
//Deep copy constructor
if(str.data())
@@ -1123,11 +1117,7 @@ KviStr::KviStr(const KviStr &str)
KviStr::KviStr(const QString &str)
{
-#ifdef COMPILE_USE_QT4
- _QCString sz = str.toUtf8();
-#else
- _QCString sz = str.utf8();
-#endif
+ KviQCString sz = KviQString::toUtf8(str);
if(sz.length() > 0)
{
m_len = sz.length();
@@ -1206,7 +1196,7 @@ KviStr & KviStr::operator=(const KviStr &str)
return (*this);
}
-KviStr & KviStr::operator=(const _QCString &str)
+KviStr & KviStr::operator=(const KviQCString &str)
{
m_len = str.length();
m_ptr = (char *)kvi_realloc(m_ptr,m_len+1);
@@ -1502,11 +1492,7 @@ KviStr & KviStr::setStr(const char *str,int len)
KviStr & KviStr::operator=(const QString &str)
{
-#ifdef COMPILE_USE_QT4
- _QCString sz =str.toUtf8();
-#else
- _QCString sz =str.utf8();
-#endif
+ KviQCString sz = KviQString::toUtf8(str);
if(sz.length() > 0){
m_len = sz.length();
m_ptr = (char *)kvi_realloc(m_ptr,m_len+1);
@@ -1555,11 +1541,7 @@ void KviStr::append(const char *str)
void KviStr::append(const QString &str)
{
-#ifdef COMPILE_USE_QT4
- _QCString sz=str.toUtf8();
-#else
- _QCString sz=str.utf8();
-#endif
+ KviQCString sz = KviQString::toUtf8(str);
if(sz.length() < 1)return;
m_ptr = (char *)kvi_realloc(m_ptr,m_len+sz.length()+1);
kvi_fastmove((m_ptr+m_len),sz.data(),sz.length()+1);
diff --git a/src/kvilib/core/kvi_string.h b/src/kvilib/core/kvi_string.h
index a2ef6581f..845a03b00 100644
--- a/src/kvilib/core/kvi_string.h
+++ b/src/kvilib/core/kvi_string.h
@@ -37,15 +37,8 @@
#include <qglobal.h>
#include <qstring.h>
-#ifdef COMPILE_USE_QT4
- #include <q3cstring.h> // includes <qbytearray.h>
- #define _QCString QByteArray
-#else
- // this is dead in Qt 4.x
- #include <qcstring.h>
- #define _QCString QCString
-#endif
+#include "kvi_qcstring.h"
#include "kvi_inttypes.h"
#include "kvi_heapobject.h"
#include "kvi_stdarg.h"
@@ -156,7 +149,7 @@ public:
// Safe even if the QString is null.
KviStr(const QString &str);
- KviStr(const _QCString &str);
+ KviStr(const KviQCString &str);
// Fill sonstructor.
// Creates a string long fillLen characters filled with character c.<br>
@@ -265,7 +258,7 @@ public:
KviStr & operator=(const char *str); // str can be NULL here
KviStr & operator=(char c); // 2 bytes allocated ,m_len = 1
KviStr & operator=(const QString &str);
- KviStr & operator=(const _QCString &str);
+ KviStr & operator=(const KviQCString &str);
// Append operators
KviStr & operator+=(const KviStr &str) { append(str); return (*this); };
diff --git a/src/kvilib/ext/kvi_config.cpp b/src/kvilib/ext/kvi_config.cpp
index 0e40534ba..b20423178 100644
--- a/src/kvilib/ext/kvi_config.cpp
+++ b/src/kvilib/ext/kvi_config.cpp
@@ -4,7 +4,7 @@
// Last major modification : Thu Jan 14 1999 18:03:59 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
@@ -24,12 +24,6 @@
#define __KVILIB__
-
-
-#define _KVI_DEBUG_CHECK_RANGE_
-#include "kvi_debug.h"
-
-#define _KVI_CONFIG_CPP_
#include "kvi_config.h"
#include "kvi_fileutils.h"
#include "kvi_pixmap.h"
@@ -37,6 +31,7 @@
#include "kvi_stringconversion.h"
#include "kvi_memmove.h"
#include "kvi_malloc.h"
+#include "kvi_file.h"
KviConfig::KviConfig(const QString &filename,FileMode f)
@@ -83,7 +78,6 @@ void KviConfig::clearGroup(const QString & szGroup)
{
m_bDirty = true;
m_pDict->remove(szGroup);
- __range_invalid(m_pDict->find(szGroup));
if(!m_pDict->find(m_szGroup))m_szGroup = KVI_CONFIG_DEFAULT_GROUP; //removed the current one
}
@@ -140,8 +134,8 @@ bool KviConfig::load()
// this is really faster than the old version :)
// open the file
- QFile f(m_szFileName);
- if(!f.open(IO_ReadOnly))return false;
+ KviFile f(m_szFileName);
+ if(!f.openForReading())return false;
KviStr tmp;
KviConfigGroup * p_group = 0;
@@ -362,7 +356,6 @@ bool KviConfig::load()
QFile f(m_szFileName);
if(!f.open(IO_ReadOnly))return false;
- __range_valid(m_pDict->isEmpty());
KviConfigGroup * p_group = 0;
@@ -491,8 +484,8 @@ bool KviConfig::save()
if(m_bReadOnly)return false;
- QFile f(m_szFileName);
- if(!f.open(IO_WriteOnly | IO_Truncate))return false;
+ KviFile f(m_szFileName);
+ if(!f.openForWriting())return false;
if(f.writeBlock("# KVIrc configuration file\n",27) != 27)return false;
KviDictIterator<KviConfigGroup> it(*m_pDict);
@@ -500,10 +493,10 @@ bool KviConfig::save()
{
if((it.current()->count() != 0) || (m_bPreserveEmptyGroups))
{
- KviStr group(it.currentKey().utf8());
+ KviStr group(KviQString::toUtf8(it.currentKey()));
group.hexEncodeWithTable(encode_table);
- if(f.putch('[') == -1)return false;
+ if(!f.putChar('['))return false;
if(f.writeBlock(group.ptr(),group.len()) < (int) group.len())return false;
if(f.writeBlock("]\n",2) < 2)return false;
@@ -513,15 +506,15 @@ bool KviConfig::save()
KviStr szName,szValue;
while(QString * p_str = it2.current())
{
- szName = it2.currentKey().utf8();
- szValue = p_str->utf8();
+ szName = KviQString::toUtf8(it2.currentKey());
+ szValue = KviQString::toUtf8(*p_str);
szName.hexEncodeWithTable(encode_table);
szValue.hexEncodeWhiteSpace();
if(f.writeBlock(szName.ptr(),szName.len()) < (int) szName.len())return false;
- if(f.putch('=') == -1)return false;
+ if(!f.putChar('='))return false;
if(f.writeBlock(szValue.ptr(),szValue.len()) < (int) szValue.len())return false;
- if(f.putch('\n') == -1)return false;
+ if(!f.putChar('\n'))return false;
++it2;
}
}
@@ -600,7 +593,6 @@ QString KviConfig::readEntry(const QString & szKey,const QString & szDefault)
/*
QString KviConfig::readQStringEntry(const char *szKey,const QString &szDefault)
{
- __range_valid(szKey);
KviStrDict * p_group = getCurrentGroup();
KviStr * p_str = p_group->find(szKey);
if(!p_str)return szDefault;
@@ -611,7 +603,6 @@ QString KviConfig::readQStringEntry(const char *szKey,const QString &szDefault)
/*
void KviConfig::writeEntry(const char *szKey,const QString &szValue)
{
- __range_valid(szKey);
m_bDirty = true;
KviStrDict * p_group = getCurrentGroup();
p_group->replace(szKey,new KviStr(szValue.utf8().data()));
@@ -620,19 +611,25 @@ void KviConfig::writeEntry(const char *szKey,const QString &szValue)
////////////////////////////////// QStringList
+static QString g_szConfigStringListSeparator(",\\[ITEM],");
+
QStringList KviConfig::readStringListEntry(const QString & szKey,const QStringList &list)
{
KviConfigGroup * p_group = getCurrentGroup();
QString * p_str = p_group->find(szKey);
if(!p_str)return list;
- return QStringList::split(",\\[ITEM],",*p_str);
+#ifdef COMPILE_USE_QT4
+ return p_str->split(g_szConfigStringListSeparator);
+#else
+ return QStringList::split(g_szConfigStringListSeparator,*p_str);
+#endif
}
void KviConfig::writeEntry(const QString & szKey,const QStringList &list)
{
m_bDirty = true;
KviConfigGroup * p_group = getCurrentGroup();
- QString *p_data=new QString(list.join(",\\[ITEM],"));
+ QString *p_data=new QString(list.join(g_szConfigStringListSeparator));
p_group->replace(szKey,p_data);
}
@@ -647,7 +644,11 @@ KviValueList<int> KviConfig::readIntListEntry(const QString & szKey,const KviVal
//debug("Returning default list for group %s and key %s",m_szGroup.latin1(),szKey.latin1());
return list;
}
+#ifdef COMPILE_USE_QT4
+ QStringList sl = p_str->split(",");
+#else
QStringList sl = QStringList::split(",",*p_str);
+#endif
KviValueList<int> ret;
//debug("Got option list for group %s and key %s: %s",m_szGroup.latin1(),szKey.latin1(),p_str->latin1());
@@ -822,7 +823,8 @@ bool KviConfig::readBoolEntry(const QString & szKey,bool bTrue)
KviConfigGroup * p_group = getCurrentGroup();
QString * p_str = p_group->find(szKey);
if(!p_str)return bTrue;
- return p_str->lower() == "true";
+ static QString szTrue = "true";
+ return (KviQString::toLower(*p_str) == szTrue);
}
////////////////////////////////// QRect
@@ -872,7 +874,6 @@ unsigned short int KviConfig::readUShortEntry(const QString & szKey,unsigned sho
Unused code
void KviConfig::writeEntry(const char *szKey,unsigned long lValue)
{
- __range_valid(szKey);
m_bDirty = true;
KviStrDict * p_group = getCurrentGroup();
KviStr *p_data = new KviStr();
@@ -882,7 +883,6 @@ void KviConfig::writeEntry(const char *szKey,unsigned long lValue)
unsigned long KviConfig::readULongEntry(const char *szKey,unsigned long lDefault)
{
- __range_valid(szKey);
KviStrDict * p_group = getCurrentGroup();
KviStr * p_str = p_group->find(szKey);
if(!p_str)return lDefault;
diff --git a/src/kvilib/ext/kvi_crypt.cpp b/src/kvilib/ext/kvi_crypt.cpp
index 4febe44f7..bd99bdc3e 100644
--- a/src/kvilib/ext/kvi_crypt.cpp
+++ b/src/kvilib/ext/kvi_crypt.cpp
@@ -1,9 +1,10 @@
+//=============================================================================
//
// File : kvi_crypt.cpp
// Creation date : Fri Nov 03 2000 02:34:43 CEST by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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
@@ -19,9 +20,9 @@
// 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__
-
+//=============================================================================
+#define __KVILIB__
#include "kvi_crypt.h"
#include "kvi_locale.h"
@@ -156,7 +157,7 @@
KviCryptEngine::KviCryptEngine()
{
#ifdef COMPILE_CRYPT_SUPPORT
- setLastError(__tr("Invalid crypt engine"));
+ setLastError(__tr2qs("Invalid crypt engine"));
m_iMaxEncryptLen = -1; // unlimited
m_deallocFunc = 0;
#endif //COMPILE_CRYPT_SUPPORT
@@ -188,7 +189,7 @@
KviCryptEngineManager::KviCryptEngineManager()
{
- m_pEngineDict = new QAsciiDict<KviCryptEngineDescription>;
+ m_pEngineDict = new KviDict<KviCryptEngineDescription>;
m_pEngineDict->setAutoDelete(true);
}
@@ -199,17 +200,17 @@
void KviCryptEngineManager::registerEngine(KviCryptEngineDescription * d)
{
- m_pEngineDict->replace(d->szName.ptr(),d);
+ m_pEngineDict->replace(d->szName,d);
}
- void KviCryptEngineManager::unregisterEngine(const char * szName)
+ void KviCryptEngineManager::unregisterEngine(const QString &szName)
{
m_pEngineDict->remove(szName);
}
void KviCryptEngineManager::unregisterEngines(void * providerHandle)
{
- QAsciiDictIterator<KviCryptEngineDescription> it(*m_pEngineDict);
+ KviDictIterator<KviCryptEngineDescription> it(*m_pEngineDict);
while(it.current())
{
if(it.current()->providerHandle == providerHandle)
@@ -219,7 +220,7 @@
}
}
- KviCryptEngine * KviCryptEngineManager::allocateEngine(const char * szName)
+ KviCryptEngine * KviCryptEngineManager::allocateEngine(const QString &szName)
{
KviCryptEngineDescription * d = m_pEngineDict->find(szName);
if(!d)return 0;
diff --git a/src/kvilib/ext/kvi_crypt.h b/src/kvilib/ext/kvi_crypt.h
index 189e5df2a..f5afc9f50 100644
--- a/src/kvilib/ext/kvi_crypt.h
+++ b/src/kvilib/ext/kvi_crypt.h
@@ -1,12 +1,13 @@
#ifndef _KVI_CRYPT_H_
#define _KVI_CRYPT_H_
+//=============================================================================
//
// File : kvi_crypt.h
// Creation date : Fri Nov 03 2000 01:45:21 CEST by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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
@@ -22,6 +23,7 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
@@ -35,11 +37,12 @@
//
- #include "kvi_string.h"
- #include "kvi_heapobject.h"
- #include <qasciidict.h>
- #include <qobject.h>
- //#include <qguardedptr.h>
+#include "kvi_qstring.h"
+#include "kvi_string.h"
+#include "kvi_heapobject.h"
+#include "kvi_dict.h"
+
+#include <qobject.h>
#ifdef COMPILE_CRYPT_SUPPORT
class KviCryptEngine;
@@ -50,29 +53,29 @@
// we must include this declaration to make moc happy even
// if we're not compiling the crypt support
-
+
class KVILIB_API KviCryptEngine : public QObject, public KviHeapObject
{
- friend class KviCryptEngineManager;
Q_OBJECT
+ friend class KviCryptEngineManager;
public:
KviCryptEngine();
virtual ~KviCryptEngine();
-
+
#ifdef COMPILE_CRYPT_SUPPORT
private:
crypt_engine_deallocator_func m_deallocFunc; // this is accessed by KviCryptEngineManager only
- KviStr m_szLastError;
+ QString m_szLastError;
int m_iMaxEncryptLen;
public:
void setMaxEncryptLen(int m){ m_iMaxEncryptLen = m; };
int maxEncryptLen(){ return m_iMaxEncryptLen; };
virtual bool init(const char * encKey,int encKeyLen,const char * decKey,int decKeyLen);
//
- // Encrypts plainText and returns the encrypted
+ // Encrypts utf8 plainText and returns the encrypted
// data in outBuffer. The encrypted data must be
// suitable for sending thru an IRC (eventually DCC
- // that is less restrictive) connection: so
+ // that is less restrictive) connection and must be utf8 encoded: so
// no NULL, CR and LF in the output.
// 0x01 should be also avoided since
// it is the CTCP delimiter.
@@ -85,7 +88,7 @@
enum EncryptResult { Encrypted, Encoded, EncryptError };
virtual EncryptResult encrypt(const char * plainText,KviStr &outBuffer);
//
- // Decrypts the data in inBuffer and puts the decrypted
+ // Decrypts the utf8 data in inBuffer and puts the decrypted utf8
// stuff in plainText. inBuffer is the thingie
// that we got from outBuffer of encrupt() so it
// follows the same rules.
@@ -98,13 +101,13 @@
// of the last error or an empty string if there
// was no error after the last init() call.
//
- const char * lastError(){ return m_szLastError.ptr(); };
+ const QString &lastError(){ return m_szLastError; };
protected:
//
// The following two should have clear meaning
//
void clearLastError(){ m_szLastError = ""; };
- void setLastError(const char * err){ m_szLastError = err; };
+ void setLastError(const QString &err){ m_szLastError = err; };
#endif //COMPILE_CRYPT_SUPPORT
};
@@ -120,9 +123,9 @@
KviCryptEngineDescription(){};
virtual ~KviCryptEngineDescription(){};
public:
- KviStr szName; // engine name
- KviStr szDescription; // details
- KviStr szAuthor; // algorithm author
+ QString szName; // engine name
+ QString szDescription; // details
+ QString szAuthor; // algorithm author
int iFlags; // properties
crypt_engine_allocator_func allocFunc; // engine allocator
crypt_engine_deallocator_func deallocFunc; // deallocation function (if called from outside the origin module)
@@ -136,18 +139,18 @@
KviCryptEngineManager();
virtual ~KviCryptEngineManager();
private:
- QAsciiDict<KviCryptEngineDescription> * m_pEngineDict;
+ KviDict<KviCryptEngineDescription> * m_pEngineDict;
public:
- const QAsciiDict<KviCryptEngineDescription> * engineDict(){ return m_pEngineDict; };
+ const KviDict<KviCryptEngineDescription> * engineDict(){ return m_pEngineDict; };
void registerEngine(KviCryptEngineDescription * d);
- void unregisterEngine(const char * szName);
+ void unregisterEngine(const QString &szName);
void unregisterEngines(void * providerHandle);
//
// Allocates a crypt engine
// Please note that the engine may be deleted from outside
// so you'd better connect the "destroyed" signal
//
- KviCryptEngine * allocateEngine(const char * szName);
+ KviCryptEngine * allocateEngine(const QString &szName);
void deallocateEngine(KviCryptEngine * e);
};
diff --git a/src/kvilib/ext/kvi_datacontainer.cpp b/src/kvilib/ext/kvi_datacontainer.cpp
deleted file mode 100644
index 44fa994ba..000000000
--- a/src/kvilib/ext/kvi_datacontainer.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-//
-// File : kvi_varcache.cpp
-// Creation date : Mon Feb 15 1999 01:11:40 by Szymon Stefanek
-//
-// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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_datacontainer.h"
-
-//#define _KVI_DEBUG_CHECK_RANGE_
-#include "kvi_debug.h"
-
-
-
-KviDataContainer::KviDataContainer(bool bGlobal)
-{
-// #warning "HAS IT TO BE CASE INSENSITIVE ?"
- m_pVariableDict = new QAsciiDict<KviStr>(bGlobal ? 43 : 11,false,true);
- m_pVariableDict->setAutoDelete(true);
- m_pDictionaryDict = new QAsciiDict<KviDictionary>(bGlobal ? 17 : 3,false,true);
- m_pDictionaryDict->setAutoDelete(true);
- m_pArrayDict = new QAsciiDict<KviStringArray>(bGlobal ? 31 : 5,false,true);
- m_pArrayDict->setAutoDelete(false);
-}
-
-
-KviDataContainer::~KviDataContainer()
-{
- delete m_pArrayDict;
- delete m_pVariableDict;
- delete m_pDictionaryDict;
-}
-
-KviStr * KviDataContainer::lookupVariable(const char * varName,bool bReadOnly)
-{
- KviStr * ret = m_pVariableDict->find(varName);
- if(!ret)
- {
- if(bReadOnly)return 0;
- ret = new KviStr();
- m_pVariableDict->insert(varName,ret);
- }
- return ret;
-}
-
-void KviDataContainer::removeVariable(const char * varName)
-{
- m_pVariableDict->remove(varName);
-}
-
-KviDictionary * KviDataContainer::lookupDictionary(const char * dictName,bool bReadOnly)
-{
- KviDictionary * ret = m_pDictionaryDict->find(dictName);
- if(!ret)
- {
- if(bReadOnly)return 0;
- ret = new KviDictionary(17,false,true);
- ret->setAutoDelete(true);
- m_pDictionaryDict->insert(dictName,ret);
- }
- return ret;
-}
-
-
-void KviDataContainer::insertDictionary(const char * dictName,KviDictionary * dict)
-{
- m_pDictionaryDict->replace(dictName,dict);
-}
-
-KviStr * KviDataContainer::lookupDictionaryVariable(const char * dictName,const char * varName,bool bReadOnly)
-{
- KviDictionary * dict = lookupDictionary(dictName,bReadOnly);
- if(!dict)return 0;
-
- KviStr * ret = dict->find(varName);
- if(!ret)
- {
- if(bReadOnly)return 0;
- ret = new KviStr();
- dict->insert(varName,ret);
- }
- return ret;
-}
-
-void KviDataContainer::removeDictionaryVariable(const char * dictName,const char * varName)
-{
- KviDictionary * dict = m_pDictionaryDict->find(dictName);
- if(!dict)return;
- dict->remove(varName);
- if(dict->count() == 0)m_pDictionaryDict->remove(dictName);
-}
-
-void KviDataContainer::removeDictionary(const char * dictName)
-{
- m_pDictionaryDict->remove(dictName);
-}
-
-void KviDataContainer::removeDictionaryNoDelete(const char * dictName)
-{
- m_pDictionaryDict->setAutoDelete(false);
- m_pDictionaryDict->remove(dictName);
- m_pDictionaryDict->setAutoDelete(true);
-}
-
-
-KviStringArray * KviDataContainer::lookupArray(const char * arrayName,bool bReadOnly)
-{
- KviStringArray * ret = m_pArrayDict->find(arrayName);
- if(!ret)
- {
- if(bReadOnly)return 0;
- ret = new KviStringArray();
- m_pArrayDict->insert(arrayName,ret);
- }
- return ret;
-}
-
-void KviDataContainer::removeArrayNoDelete(const char * arrayName)
-{
- m_pArrayDict->setAutoDelete(false);
- m_pArrayDict->remove(arrayName);
- m_pArrayDict->setAutoDelete(true);
-}
-
-KviStr * KviDataContainer::lookupArrayVariable(const char * arrayName,unsigned int uIdx,bool bReadOnly)
-{
- KviStringArray * a = lookupArray(arrayName,bReadOnly);
- if(!a)return 0;
- KviStr * r = a->at(uIdx);
- if(r)return r;
- if(bReadOnly)return 0;
- r = new KviStr();
- a->insert(uIdx,r);
- return r;
-}
-
-void KviDataContainer::insertArray(const char * arrayName,KviStringArray * a)
-{
- m_pArrayDict->replace(arrayName,a);
-}
-
-void KviDataContainer::removeArray(const char * arrayName)
-{
- m_pArrayDict->remove(arrayName);
-}
-
-
-void KviDataContainer::removeArrayVariable(const char * arrayName,unsigned int uIdx)
-{
- KviStringArray * a = m_pArrayDict->find(arrayName);
- if(!a)return;
- a->remove(uIdx);
- if(a->isEmpty())m_pArrayDict->remove(arrayName);
-}
diff --git a/src/kvilib/ext/kvi_datacontainer.h b/src/kvilib/ext/kvi_datacontainer.h
deleted file mode 100644
index 06e25d5cc..000000000
--- a/src/kvilib/ext/kvi_datacontainer.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _KVI_VARCACHE_H_
-#define _KVI_VARCACHE_H_
-
-//
-// File : kvi_varcache.h
-// Creation date : Mon Feb 15 1999 01:10:34 by Szymon Stefanek
-//
-// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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.
-//
-
-#include "kvi_settings.h"
-#include "kvi_heapobject.h"
-
-#include <qasciidict.h>
-
-#include "kvi_string.h"
-#include "kvi_stringarray.h"
-
-typedef QAsciiDict<KviStr> KviDictionary;
-typedef QAsciiDictIterator<KviStr> KviDictionaryIterator;
-
-class KVILIB_API KviDataContainer : public KviHeapObject
-{
-public:
- KviDataContainer(bool bGlobal = false);
- ~KviDataContainer();
-protected:
- QAsciiDict<KviStr> * m_pVariableDict;
- QAsciiDict<KviDictionary> * m_pDictionaryDict;
- QAsciiDict<KviStringArray> * m_pArrayDict;
-public:
- KviStr * lookupVariable(const char * varName,bool bReadOnly);
- void removeVariable(const char * varName);
-
- KviDictionary * lookupDictionary(const char * dictName,bool bReadOnly);
- KviStr * lookupDictionaryVariable(const char * dictName,const char * varName,bool bReadOnly);
- void insertDictionary(const char * dictName,KviDictionary * dict);
- void removeDictionary(const char * dictName);
- void removeDictionaryNoDelete(const char * dictName);
- void removeDictionaryVariable(const char * dictName,const char * varName);
-
- KviStringArray * lookupArray(const char * arrayName,bool bReadOnly);
- KviStr * lookupArrayVariable(const char * arrayName,unsigned int uIdx,bool bReadOnly);
- void removeArrayNoDelete(const char * arrayName);
- void removeArray(const char * arrayName);
- void removeArrayVariable(const char * arrayName,unsigned int uIdx);
- void insertArray(const char * arrayName,KviStringArray * a);
-};
-
-
-#endif //!_KVI_VARCACHE_H_INCLUDED_
diff --git a/src/kvilib/ext/kvi_doublebuffer.cpp b/src/kvilib/ext/kvi_doublebuffer.cpp
index 326376ffb..7a0694c2d 100644
--- a/src/kvilib/ext/kvi_doublebuffer.cpp
+++ b/src/kvilib/ext/kvi_doublebuffer.cpp
@@ -38,7 +38,12 @@ KviDoubleBuffer::KviDoubleBuffer(unsigned int uWidth,unsigned int uHeight)
// There is either no such user requirement or it has grown by the meantime
unsigned int uMaxW = uWidth > g_pMemoryPixmap->width() ? uWidth : g_pMemoryPixmap->width();
unsigned int uMaxH = uHeight > g_pMemoryPixmap->height() ? uHeight : g_pMemoryPixmap->height();
+#ifdef COMPILE_USE_QT4
+ // QT4SUX: QPixmap::resize() is missing (it's a widely used function and assigning a new QPixmap() seems to be slower and not intuitive)
+ *g_pMemoryPixmap = QPixmap(uMaxW,uMaxH);
+#else
g_pMemoryPixmap->resize(uMaxW,uMaxH);
+#endif
}
if(uWidth > g_uMaxRequestedWidth)g_uMaxRequestedWidth = uWidth;
@@ -73,7 +78,12 @@ void KviDoubleBuffer::heartbeat()
if(((g_uMaxRequestedHeight + 64) < g_pMemoryPixmap->height()) || ((g_uMaxRequestedWidth + 64) < g_pMemoryPixmap->width()))
{
// do shrink :)
+#ifdef COMPILE_USE_QT4
+ // QT4SUX: QPixmap::resize() is missing (it's a widely used function and assigning a new QPixmap() seems to be slower and not intuitive)
+ *g_pMemoryPixmap = QPixmap(g_uMaxRequestedWidth,g_uMaxRequestedHeight);
+#else
g_pMemoryPixmap->resize(g_uMaxRequestedWidth,g_uMaxRequestedHeight);
+#endif
}
g_uMaxRequestedHeight = 0;
g_uMaxRequestedWidth = 0;
diff --git a/src/kvilib/ext/kvi_imagelib.cpp b/src/kvilib/ext/kvi_imagelib.cpp
index 24f139019..88083c98d 100644
--- a/src/kvilib/ext/kvi_imagelib.cpp
+++ b/src/kvilib/ext/kvi_imagelib.cpp
@@ -1,3 +1,4 @@
+//=============================================================================
//
// File : kvi_imagelib.cpp
// Creation date : Wed Jul 21 1999 16:41:26 by Szymon Stefanek
@@ -19,13 +20,9 @@
// 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__
-
+//=============================================================================
-
-//#define _KVI_DEBUG_CLASS_NAME_ "KviImageLibrary"
-#define _KVI_DEBUG_CHECK_RANGE_
-#include "kvi_debug.h"
+#define __KVILIB__
#include <qnamespace.h>
@@ -34,6 +31,8 @@
#include "kvi_locale.h"
#include "kvi_memmove.h"
+#include <qpixmap.h>
+
//KviImageLibrary::KviImageLibrary(const QPixmap &pixmap,int imageWidth,int imageHeight)
//{
@@ -74,8 +73,6 @@ void KviImageLibrary::unloadLibrary()
bool KviImageLibrary::setImageSize(int imageWidth,int imageHeight)
{
- __range_valid(imageWidth>0);
- __range_valid(imageHeight>0);
m_iWidth=((imageWidth>0) ? imageWidth : 16);
m_iHeight=((imageHeight>0) ? imageHeight : 16);
return true;
@@ -83,28 +80,17 @@ bool KviImageLibrary::setImageSize(int imageWidth,int imageHeight)
bool KviImageLibrary::loadLibrary(const QString &path)
{
- __range_valid(path);
if(m_pLibrary)delete m_pLibrary;
m_pLibrary=new QImage(path);
if(m_pLibrary->isNull())
{
delete m_pLibrary;
m_pLibrary=0;
- debug(__tr("WARNING : Can not load image library %s"),path.latin1());
+ debug("WARNING : Can not load image library %s",KviQString::toUtf8(path).data());
}
-// else {
-// if(!m_pLibrary->mask())m_pLibrary->setMask(m_pLibrary->createHeuristicMask());
-// }
return (m_pLibrary != 0);
}
-//void KviImageLibrary::forceMask()
-//{
-// if(m_pLibrary){
-// if(!m_pLibrary->mask())m_pLibrary->setMask(m_pLibrary->createHeuristicMask());
-// }
-//}
-
int KviImageLibrary::imageCount()
{
if(!m_pLibrary)return 0;
@@ -115,9 +101,6 @@ int KviImageLibrary::imageCount()
QPixmap KviImageLibrary::getImage(int zeroBasedIndex)
{
- __range_valid(zeroBasedIndex >=0);
- __range_valid(zeroBasedIndex < imageCount());
-
if((zeroBasedIndex >= imageCount())||(zeroBasedIndex < 0)||(m_pLibrary->depth() < 8))
{
QPixmap image(32,32);
@@ -130,28 +113,26 @@ QPixmap KviImageLibrary::getImage(int zeroBasedIndex)
int xOffset=(zeroBasedIndex % imPerRow) * m_iWidth;
int yOffset=(zeroBasedIndex / imPerRow) * m_iHeight;
+#ifdef COMPILE_USE_QT4
+ QImage image(m_iWidth,m_iHeight,m_pLibrary->format());
+#else
QImage image(m_iWidth,m_iHeight,m_pLibrary->depth());
+#endif
+
+ int d = image.depth() / 8;
+#ifndef COMPILE_USE_QT4
+ if(d == 4)image.setAlphaBuffer(true); // Qt 4.x should manage it automagically
+#endif
//Copy the image data
//bitBlt(&image,0,0,m_pLibrary,xOffset,yOffset,m_iWidth,m_iHeight,Qt::CopyROP,false);
- int d = image.depth() / 8;
- if(d == 4)image.setAlphaBuffer(true);
-// debug("IMAGE DEPTH IS %d",d);
for(int i=0;i<m_iHeight;i++)
kvi_memmove(image.scanLine(i),m_pLibrary->scanLine(i + yOffset) + (xOffset * d),m_iWidth * d);
-/*
- if(m_pLibrary->mask())
- {
- //copy the mask too
- QBitmap bmp(m_iWidth,m_iHeight);
- bitBlt(&bmp,0,0,m_pLibrary->mask(),xOffset,yOffset,m_iWidth,m_iHeight,Qt::CopyROP,false);
- image.setMask(bmp);
- }
-*/
+#ifdef COMPILE_USE_QT4
+ QPixmap p = QPixmap::fromImage(image);
+#else
QPixmap p(image);
-
-// debug("PIXMAP DEPTH IS %d",p.depth());
-
+#endif
return p;
}
diff --git a/src/kvilib/ext/kvi_mediatype.cpp b/src/kvilib/ext/kvi_mediatype.cpp
index 33b939632..bc8e8a886 100644
--- a/src/kvilib/ext/kvi_mediatype.cpp
+++ b/src/kvilib/ext/kvi_mediatype.cpp
@@ -32,10 +32,10 @@
#include "kvi_config.h"
#include "kvi_fileutils.h"
#include "kvi_locale.h"
+#include "kvi_file.h"
#include "kvi_settings.h"
-#include <qfile.h>
#include <qregexp.h>
#include <qdir.h>
@@ -235,12 +235,17 @@ void KviMediaManager::insertMediaType(KviMediaType * m)
KviMediaType * KviMediaManager::findMediaType(const char * filename,bool bCheckMagic)
{
+ // FIXME: This should be ported at least to QString....
__range_valid(locked());
KviStr szFullPath = filename;
if(!kvi_isAbsolutePath(szFullPath.ptr()))
{
+#ifdef COMPILE_USE_QT4
+ KviStr tmp = QDir::currentPath();
+#else
KviStr tmp = QDir::currentDirPath();
+#endif
tmp.ensureLastCharIs('/');
szFullPath.prepend(tmp);
}
@@ -378,8 +383,8 @@ KviMediaType * KviMediaManager::findMediaTypeForRegularFile(const char * szFullP
if(bCheckMagic)
{
QString szTmp=QString::fromUtf8(szFullPath);
- QFile f(szTmp);
- if(f.open(IO_ReadOnly))
+ KviFile f(szTmp);
+ if(f.openForReading())
{
len = f.readBlock(buffer,16);
if(len > 0)
@@ -399,10 +404,16 @@ KviMediaType * KviMediaManager::findMediaTypeForRegularFile(const char * szFullP
if(len && m->szMagicBytes.hasData())
{
QRegExp re(m->szMagicBytes.ptr());
-#if QT_VERSION >= 300
- if(re.search(buffer) > -1)return m; // matched!
+ // It looks like they can't decide the name for this function :D
+ // ... well, maybe the latest choice is the best one.
+#ifdef COMPILE_USE_QT4
+ if(re.indexIn(buffer) > -1)return m; // matched!
#else
+ #if QT_VERSION >= 300
+ if(re.search(buffer) > -1)return m; // matched!
+ #else
if(re.find(buffer,0) > -1)return m; // matched!
+ #endif
#endif
// else magic failed...not a match
} else return m; // matched! (no magic check)
diff --git a/src/kvilib/ext/kvi_miscutils.cpp b/src/kvilib/ext/kvi_miscutils.cpp
index a56197ecf..b44c76ebd 100644
--- a/src/kvilib/ext/kvi_miscutils.cpp
+++ b/src/kvilib/ext/kvi_miscutils.cpp
@@ -31,8 +31,13 @@ namespace KviMiscUtils
{
int compareVersions(const QString &szVersion1,const QString &szVersion2)
{
+#ifdef COMPILE_USE_QT4
+ QStringList sl1 = szVersion1.split(".");
+ QStringList sl2 = szVersion2.split(".");
+#else
QStringList sl1 = QStringList::split(".",szVersion1);
QStringList sl2 = QStringList::split(".",szVersion2);
+#endif
QStringList::Iterator it1 = sl1.begin();
QStringList::Iterator it2 = sl2.begin();
@@ -61,7 +66,11 @@ namespace KviMiscUtils
bool isValidVersionString(const QString &szVersion)
{
+#ifdef COMPILE_USE_QT4
+ QStringList sl = szVersion.split(".");
+#else
QStringList sl = QStringList::split(".",szVersion);
+#endif
if(sl.isEmpty())return false;
// must all be numbers
for(QStringList::Iterator it = sl.begin();it != sl.end();++it)
diff --git a/src/kvilib/ext/kvi_pixmap.cpp b/src/kvilib/ext/kvi_pixmap.cpp
index a564a2a2c..7fb6990a4 100644
--- a/src/kvilib/ext/kvi_pixmap.cpp
+++ b/src/kvilib/ext/kvi_pixmap.cpp
@@ -1,9 +1,10 @@
+//=============================================================================
//
// File : kvi_pixmap.cpp
// Creation date : Sat Jun 24 2000 14:00:27 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2000-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
@@ -19,11 +20,11 @@
// 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__
-#define _KVI_DEBUG_CHECK_RANGE_
#include "kvi_debug.h"
#include "kvi_pixmap.h"
@@ -52,7 +53,6 @@ KviPixmap::KviPixmap(const KviPixmap &pix)
if(pix.pixmap())
{
m_pPix = new QPixmap(*(pix.pixmap()));
- __range_invalid(m_pPix->isNull());
}
}
}
@@ -136,52 +136,45 @@ KviPixmap & KviPixmap::operator=(const KviPixmap &pix)
if(pix.pixmap())
{
m_pPix = new QPixmap(*(pix.pixmap()));
- __range_invalid(m_pPix->isNull());
}
}
return (*this);
}
-void KviPixmapUtils::drawPixmapWithPainter(QPainter* p,QPixmap * pix,Qt::AlignmentFlags flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight)
-{
- KviPixmapUtils::drawPixmapWithPainter(p,pix,flags,paintRect,iWidgetWidth,iWidgetHeight,paintRect.left(),paintRect.top());
-}
-void KviPixmapUtils::drawPixmapWithPainter(QPainter* p,QPixmap * pix,Qt::AlignmentFlags flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight,int dx,int dy)
+void KviPixmapUtils::drawPixmapWithPainter(QPainter* p,QPixmap * pix,int flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight,int dx,int dy)
{
- if(pix)
+ if(!pix)return;
+ if(!flags)
{
- if(flags==Qt::AlignAuto )
- {
- p->drawTiledPixmap(paintRect.left(),paintRect.top(),paintRect.width(),paintRect.height(),*pix,dx,dy);
- } else {
- int iPixWidth=pix->width();
- int iPixHeight=pix->height();
- int x=0;
- int y=0;
-
- if( !(flags & Qt::AlignHorizontal_Mask ))
- x=-1;
- else if ( flags & Qt::AlignRight )
- x=iWidgetWidth - iPixWidth;
- else if( flags & Qt::AlignHCenter )
- x=(iWidgetWidth - iPixWidth)/2;
-
- if( !(flags & Qt::AlignVertical_Mask ))
- y=-1;
- else if ( flags & Qt::AlignBottom )
- y=iWidgetHeight - iPixHeight;
- else if( flags & Qt::AlignVCenter )
- y=(iWidgetHeight - iPixHeight)/2;
-
- if(x==-1) {
- p->drawTiledPixmap(paintRect.left(),y,paintRect.width(),iPixHeight,*pix,dx,dy);
- } else if(y==-1) {
- p->drawTiledPixmap(x,paintRect.top(),iPixWidth,paintRect.height(),*pix,dx,dy);
- } else {
- p->drawPixmap(x,y,*pix);
- }
-
- }
+ p->drawTiledPixmap(paintRect.left(),paintRect.top(),paintRect.width(),paintRect.height(),*pix,dx,dy);
+ return;
+ }
+
+ int iPixWidth=pix->width();
+ int iPixHeight=pix->height();
+ int x=0;
+ int y=0;
+
+ if( !(flags & Qt::AlignHorizontal_Mask ))
+ x=-1;
+ else if ( flags & Qt::AlignRight )
+ x=iWidgetWidth - iPixWidth;
+ else if( flags & Qt::AlignHCenter )
+ x=(iWidgetWidth - iPixWidth)/2;
+
+ if( !(flags & Qt::AlignVertical_Mask ))
+ y=-1;
+ else if ( flags & Qt::AlignBottom )
+ y=iWidgetHeight - iPixHeight;
+ else if( flags & Qt::AlignVCenter )
+ y=(iWidgetHeight - iPixHeight)/2;
+
+ if(x==-1) {
+ p->drawTiledPixmap(paintRect.left(),y,paintRect.width(),iPixHeight,*pix,dx,dy);
+ } else if(y==-1) {
+ p->drawTiledPixmap(x,paintRect.top(),iPixWidth,paintRect.height(),*pix,dx,dy);
+ } else {
+ p->drawPixmap(x,y,*pix);
}
}
diff --git a/src/kvilib/ext/kvi_pixmap.h b/src/kvilib/ext/kvi_pixmap.h
index f7d75564f..7ac5f9140 100644
--- a/src/kvilib/ext/kvi_pixmap.h
+++ b/src/kvilib/ext/kvi_pixmap.h
@@ -1,12 +1,13 @@
#ifndef _KVI_PIXMAP_H_
#define _KVI_PIXMAP_H_
+//=============================================================================
//
// File : kvi_pixmap.h
// Creation date : Sat Jun 24 2000 13:59:04 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2000-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
@@ -22,6 +23,8 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
+
#include "kvi_settings.h"
#include "kvi_string.h"
@@ -50,8 +53,9 @@ public:
namespace KviPixmapUtils
{
- extern KVILIB_API void drawPixmapWithPainter(QPainter* p,QPixmap * pix,Qt::AlignmentFlags flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight);
- extern KVILIB_API void drawPixmapWithPainter(QPainter* p,QPixmap * pix,Qt::AlignmentFlags flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight,int dx,int dy);
+ extern KVILIB_API void drawPixmapWithPainter(QPainter* p,QPixmap * pix,int flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight,int dx,int dy);
+ inline void drawPixmapWithPainter(QPainter* p,QPixmap * pix,int flags,const QRect& paintRect,int iWidgetWidth,int iWidgetHeight)
+ { KviPixmapUtils::drawPixmapWithPainter(p,pix,flags,paintRect,iWidgetWidth,iWidgetHeight,paintRect.left(),paintRect.top()); };
};
#endif //_KVI_PIXMAP_H_
diff --git a/src/kvilib/ext/kvi_regchan.cpp b/src/kvilib/ext/kvi_regchan.cpp
index 372b6b2ca..a47d0870b 100644
--- a/src/kvilib/ext/kvi_regchan.cpp
+++ b/src/kvilib/ext/kvi_regchan.cpp
@@ -1,9 +1,10 @@
+//=============================================================================
//
// File : kvi_regchan.cpp
// Creation date : Sat Jun 29 01:01:16 2002 GMT by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2001-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
@@ -19,18 +20,19 @@
// 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_regchan.h"
#include "kvi_config.h"
+#include "kvi_qstring.h"
KviRegisteredChannel::KviRegisteredChannel(const KviStr &name,const KviStr &netmask)
{
m_szName = name;
m_szNetMask = netmask;
- m_pPropertyDict = new QAsciiDict<KviStr>(7,false,true);
+ m_pPropertyDict = new KviAsciiDict<KviStr>(7,false,true);
m_pPropertyDict->setAutoDelete(true);
}
@@ -43,7 +45,7 @@ KviRegisteredChannel::~KviRegisteredChannel()
KviRegisteredChannelDataBase::KviRegisteredChannelDataBase()
{
- m_pChannelDict = new QAsciiDict<KviRegisteredChannelList>(17,false,true);
+ m_pChannelDict = new KviAsciiDict<KviRegisteredChannelList>(17,false,true);
m_pChannelDict->setAutoDelete(true);
}
@@ -67,7 +69,7 @@ void KviRegisteredChannelDataBase::load(const char * filename)
KviConfigGroupIterator sit(*d);
while(QString * s = sit.current())
{
- c->setProperty(sit.currentKey().utf8().data(),new KviStr(*s));
+ c->setProperty(KviQString::toUtf8(sit.currentKey()).data(),new KviStr(*s));
++sit;
}
++it;
@@ -79,14 +81,14 @@ void KviRegisteredChannelDataBase::save(const char * filename)
KviConfig cfg(filename,KviConfig::Write);
cfg.clear();
- QAsciiDictIterator<KviRegisteredChannelList> it(*m_pChannelDict);
+ KviAsciiDictIterator<KviRegisteredChannelList> it(*m_pChannelDict);
while(KviRegisteredChannelList * l = it.current())
{
for(KviRegisteredChannel * c = l->first();c;c = l->next())
{
KviStr szGrp(KviStr::Format,"%s@%s",c->name().ptr(),c->netMask().ptr());
cfg.setGroup(szGrp.ptr());
- QAsciiDictIterator<KviStr> pit(*(c->propertyDict()));
+ KviAsciiDictIterator<KviStr> pit(*(c->propertyDict()));
while(KviStr * s = pit.current())
{
cfg.writeEntry(pit.currentKey(),s->ptr());
@@ -145,7 +147,7 @@ void KviRegisteredChannelDataBase::add(KviRegisteredChannel * c)
KviRegisteredChannel * old = findExact(c->name().ptr(),c->netMask().ptr());
if(old)
{
- QAsciiDictIterator<KviStr> pit(*(old->propertyDict()));
+ KviAsciiDictIterator<KviStr> pit(*(old->propertyDict()));
while(KviStr *s = pit.current())
{
if(!c->property(pit.currentKey()))
diff --git a/src/kvilib/ext/kvi_regchan.h b/src/kvilib/ext/kvi_regchan.h
index 9e2da241b..e8102f310 100644
--- a/src/kvilib/ext/kvi_regchan.h
+++ b/src/kvilib/ext/kvi_regchan.h
@@ -1,11 +1,12 @@
#ifndef _KVI_REGCHAN_H_
#define _KVI_REGCHAN_H_
+//=============================================================================
//
// File : kvi_regchan.h
// Creation date : Sat Jun 29 01:01:15 2002 GMT by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2001-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
@@ -21,13 +22,14 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
#include "kvi_heapobject.h"
#include "kvi_string.h"
#include "kvi_list.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
class KVILIB_API KviRegisteredChannel : public KviHeapObject
{
@@ -38,9 +40,9 @@ public:
protected:
KviStr m_szName;
KviStr m_szNetMask;
- QAsciiDict<KviStr> * m_pPropertyDict;
+ KviAsciiDict<KviStr> * m_pPropertyDict;
public:
- QAsciiDict<KviStr> * propertyDict(){ return m_pPropertyDict; };
+ KviAsciiDict<KviStr> * propertyDict(){ return m_pPropertyDict; };
const KviStr & name(){ return m_szName; };
const KviStr & netMask(){ return m_szNetMask; };
KviStr * property(const char * name){ return m_pPropertyDict->find(name); };
@@ -57,9 +59,9 @@ public:
KviRegisteredChannelDataBase();
~KviRegisteredChannelDataBase();
protected:
- QAsciiDict<KviRegisteredChannelList> * m_pChannelDict;
+ KviAsciiDict<KviRegisteredChannelList> * m_pChannelDict;
public:
- QAsciiDict<KviRegisteredChannelList> * channelDict(){ return m_pChannelDict; };
+ KviAsciiDict<KviRegisteredChannelList> * channelDict(){ return m_pChannelDict; };
KviRegisteredChannel * find(const char * name,const char * net);
KviRegisteredChannel * findExact(const char * name,const char * netmask);
void remove(KviRegisteredChannel * c);
diff --git a/src/kvilib/ext/kvi_regusersdb.cpp b/src/kvilib/ext/kvi_regusersdb.cpp
index e4d3cc65d..50998dce5 100644
--- a/src/kvilib/ext/kvi_regusersdb.cpp
+++ b/src/kvilib/ext/kvi_regusersdb.cpp
@@ -215,11 +215,14 @@ void KviRegisteredUser::setProperty(const QString & name,const QString & value)
{
if(!m_pPropertyDict)
{
- m_pPropertyDict = new QDict<QString>(7,false);
+ m_pPropertyDict = new KviDict<QString>(7,false);
m_pPropertyDict->setAutoDelete(true);
}
- QString * val = new QString(value);
- val->stripWhiteSpace();
+#ifdef COMPILE_USE_QT4
+ QString * val = new QString(value.trimmed());
+#else
+ QString * val = new QString(value.stripWhiteSpace());
+#endif
if(!val->isEmpty())
{
m_pPropertyDict->replace(name,val);
@@ -244,8 +247,8 @@ bool KviRegisteredUser::getProperty(const QString & name,QString &value)
const QString & KviRegisteredUser::getProperty(const QString & name)
{
- if(!m_pPropertyDict) return QString::null;
- if(name.isEmpty()) return QString::null;
+ if(!m_pPropertyDict)return QString::null;
+ if(name.isEmpty())return QString::null;
QString * pValue = m_pPropertyDict->find(name);
if(pValue)return *pValue;
return QString::null;
@@ -262,6 +265,9 @@ bool KviRegisteredUser::getBoolProperty(const QString & name,bool def)
if(KviQString::equalCS(*pValue,"1"))return true;
if(KviQString::equalCI(*pValue,"true"))return true;
if(KviQString::equalCI(*pValue,"yes"))return true;
+ //if(KviQString::equalCI(*pValue,"yeah"))return true;
+ //if(KviQString::equalCI(*pValue,"sure"))return true;
+ //if(KviQString::equalCI(*pValue,"sureashell"))return true;
}
return def;
}
@@ -288,16 +294,16 @@ KviRegisteredUserGroup::~KviRegisteredUserGroup()
KviRegisteredUserDataBase::KviRegisteredUserDataBase()
{
- m_pUserDict = new QDict<KviRegisteredUser>(31,false); // do not copy keys
+ m_pUserDict = new KviDict<KviRegisteredUser>(31,false); // do not copy keys
m_pUserDict->setAutoDelete(true);
m_pWildMaskList = new KviRegisteredMaskList;
m_pWildMaskList->setAutoDelete(true);
- m_pMaskDict = new QDict<KviRegisteredMaskList>(49,false); // copy keys here!
+ m_pMaskDict = new KviDict<KviRegisteredMaskList>(49,false); // copy keys here!
m_pMaskDict->setAutoDelete(true);
- m_pGroupDict = new QDict<KviRegisteredUserGroup>(5,false); // copy keys here!
+ m_pGroupDict = new KviDict<KviRegisteredUserGroup>(5,false); // copy keys here!
m_pGroupDict->setAutoDelete(true);
}
@@ -424,7 +430,7 @@ void KviRegisteredUserDataBase::copyFrom(KviRegisteredUserDataBase * db)
m_pMaskDict->clear();
m_pGroupDict->clear();
- QDictIterator<KviRegisteredUser> it(*(db->m_pUserDict));
+ KviDictIterator<KviRegisteredUser> it(*(db->m_pUserDict));
while(KviRegisteredUser * theCur = it.current())
{
@@ -437,10 +443,10 @@ void KviRegisteredUserDataBase::copyFrom(KviRegisteredUserDataBase * db)
addMask(u,m2);
}
// copy properties
- QDict<QString> * pd = theCur->propertyDict();
+ KviDict<QString> * pd = theCur->propertyDict();
if(pd)
{
- QDictIterator<QString> pdi(*pd);
+ KviDictIterator<QString> pdi(*pd);
while(pdi.current())
{
u->setProperty(pdi.currentKey(),*(pdi.current()));
@@ -451,7 +457,7 @@ void KviRegisteredUserDataBase::copyFrom(KviRegisteredUserDataBase * db)
++it;
}
- QDictIterator<KviRegisteredUserGroup> git(*db->m_pGroupDict);
+ KviDictIterator<KviRegisteredUserGroup> git(*db->m_pGroupDict);
while(git.current())
{
addGroup(git.currentKey());
@@ -468,7 +474,7 @@ bool KviRegisteredUserDataBase::removeUser(const QString & name)
while(KviIrcMask * mask = u->maskList()->first())
{
if(!removeMaskByPointer(mask))
- debug("Ops... removeMaskByPointer(%s) failed ?",name.utf8().data());
+ debug("Ops... removeMaskByPointer(%s) failed ?",KviQString::toUtf8(name).data());
}
m_pUserDict->remove(name);
return true;
@@ -663,7 +669,7 @@ void KviRegisteredUserDataBase::save(const QString & filename)
cfg.clear();
cfg.preserveEmptyGroups(true);
- QDictIterator<KviRegisteredUser> it(*m_pUserDict);
+ KviDictIterator<KviRegisteredUser> it(*m_pUserDict);
while(it.current())
{
@@ -671,7 +677,7 @@ void KviRegisteredUserDataBase::save(const QString & filename)
// Write properties
if(it.current()->propertyDict())
{
- QDictIterator<QString> pit(*(it.current()->propertyDict()));
+ KviDictIterator<QString> pit(*(it.current()->propertyDict()));
while(pit.current())
{
QString tmp = "prop_";
@@ -695,7 +701,7 @@ void KviRegisteredUserDataBase::save(const QString & filename)
++it;
}
- QDictIterator<KviRegisteredUserGroup> git(*m_pGroupDict);
+ KviDictIterator<KviRegisteredUserGroup> git(*m_pGroupDict);
QString szTmp;
while(git.current())
{
diff --git a/src/kvilib/ext/kvi_regusersdb.h b/src/kvilib/ext/kvi_regusersdb.h
index e5b7be410..7f56b940c 100644
--- a/src/kvilib/ext/kvi_regusersdb.h
+++ b/src/kvilib/ext/kvi_regusersdb.h
@@ -37,7 +37,7 @@
#include "kvi_debug.h"
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
class KviRegisteredUserDataBase;
@@ -56,7 +56,7 @@ public:
private:
QString m_szName;
QString m_szGroup;
- QDict<QString> * m_pPropertyDict; // owned properties
+ KviDict<QString> * m_pPropertyDict; // owned properties
KviPtrList<KviIrcMask> * m_pMaskList; // owned masks
protected:
// mask ownership is transferred! (always!) returns false if the mask was already there
@@ -79,7 +79,7 @@ public:
bool getProperty(const QString &name,QString &value); // returns false if the property is not there
bool getBoolProperty(const QString &name,bool def=FALSE); // returns true if the property is there and is true
// the propertyDict may be 0!
- QDict<QString> * propertyDict(){ return m_pPropertyDict; };
+ KviDict<QString> * propertyDict(){ return m_pPropertyDict; };
// this is never zero (but may contain no masks)
KviPtrList<KviIrcMask> * maskList(){ return m_pMaskList; };
};
@@ -139,10 +139,10 @@ public:
KviRegisteredUserDataBase();
~KviRegisteredUserDataBase();
private:
- QDict<KviRegisteredUser> * m_pUserDict; // unique namespace, owns the objects, does not copy keys
- QDict<KviRegisteredMaskList> * m_pMaskDict; // owns the objects, copies the keys
+ KviDict<KviRegisteredUser> * m_pUserDict; // unique namespace, owns the objects, does not copy keys
+ KviDict<KviRegisteredMaskList> * m_pMaskDict; // owns the objects, copies the keys
KviRegisteredMaskList * m_pWildMaskList; // owns the objects
- QDict<KviRegisteredUserGroup>* m_pGroupDict;
+ KviDict<KviRegisteredUserGroup>* m_pGroupDict;
public:
void copyFrom(KviRegisteredUserDataBase * db);
KviRegisteredUser * addUser(const QString &name); // returns 0 if already there
@@ -164,8 +164,8 @@ public:
void load(const QString &filename);
void save(const QString &filename);
- QDict<KviRegisteredUser> * userDict(){ return m_pUserDict; };
- QDict<KviRegisteredUserGroup>* groupDict() { return m_pGroupDict; };
+ KviDict<KviRegisteredUser> * userDict(){ return m_pUserDict; };
+ KviDict<KviRegisteredUserGroup>* groupDict() { return m_pGroupDict; };
KviRegisteredUserGroup* addGroup(const QString &name);
};
diff --git a/src/kvilib/ext/kvi_sharedfiles.cpp b/src/kvilib/ext/kvi_sharedfiles.cpp
index bc04a4b8b..a9f020078 100644
--- a/src/kvilib/ext/kvi_sharedfiles.cpp
+++ b/src/kvilib/ext/kvi_sharedfiles.cpp
@@ -1,9 +1,10 @@
+//=============================================================================
//
// File : kvi_filetrader.cpp
// Creation date : Wed Aug 27 2000 10:33:11 CEST by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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
@@ -19,6 +20,7 @@
// 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__
@@ -84,7 +86,12 @@ KviSharedFile::KviSharedFile(const QString &szName,const QString &szAbsPath,cons
m_szUserMask = szUserMask;
m_expireTime = expireTime;
m_uFileSize = uFileSize;
+#ifdef COMPILE_USE_QT4
+ // QT4ROX: Because they have finally moved the functionality of QString::contains() to QString::count(), and QString::contains() now does the right job
+ m_uWildCount = m_szUserMask.count('*');
+#else
m_uWildCount = m_szUserMask.contains('*');
+#endif
m_uNonWildCount = m_szUserMask.length() - m_uWildCount;
}
@@ -96,7 +103,7 @@ KviSharedFile::~KviSharedFile()
KviSharedFilesManager::KviSharedFilesManager()
: QObject()
{
- m_pSharedListDict = new QDict<KviSharedFileList>();
+ m_pSharedListDict = new KviDict<KviSharedFileList>();
m_pSharedListDict->setAutoDelete(true);
m_pCleanupTimer = new QTimer();
connect(m_pCleanupTimer,SIGNAL(timeout()),this,SLOT(cleanup()));
@@ -111,7 +118,7 @@ KviSharedFilesManager::~KviSharedFilesManager()
void KviSharedFilesManager::cleanup()
{
- QDictIterator<KviSharedFileList> it(*m_pSharedListDict);
+ KviDictIterator<KviSharedFileList> it(*m_pSharedListDict);
time_t curTime = time(0);
bool bOtherStuffToCleanup = false;
@@ -258,7 +265,7 @@ KviSharedFile * KviSharedFilesManager::addSharedFile(const QString &szName,const
return o;
} else {
- debug("File %s unreadable: can't add offer",szAbsPath.utf8().data());
+ debug("File %s unreadable: can't add offer",KviQString::toUtf8(szAbsPath).data());
return 0;
}
}
@@ -354,7 +361,7 @@ void KviSharedFilesManager::save(const QString &filename)
cfg.clear();
cfg.setGroup("PermanentFileOffers");
- QDictIterator<KviSharedFileList> it(*m_pSharedListDict);
+ KviDictIterator<KviSharedFileList> it(*m_pSharedListDict);
int idx = 0;
while(KviSharedFileList * l = it.current())
{
diff --git a/src/kvilib/ext/kvi_sharedfiles.h b/src/kvilib/ext/kvi_sharedfiles.h
index 1a0d3e7b4..5374f151f 100644
--- a/src/kvilib/ext/kvi_sharedfiles.h
+++ b/src/kvilib/ext/kvi_sharedfiles.h
@@ -1,11 +1,12 @@
#ifndef _KVI_FILETRADER_H_
#define _KVI_FILETRADER_H_
+//=============================================================================
//
// File : kvi_filetrader.h
// Creation date : Wed Aug 27 2000 10:28:51 CEST by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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
@@ -21,6 +22,7 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
#include "kvi_heapobject.h"
@@ -29,7 +31,7 @@
#include "kvi_list.h"
#include "kvi_qstring.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include <time.h>
#include <qtimer.h>
@@ -77,7 +79,7 @@ public:
~KviSharedFilesManager();
private:
QTimer * m_pCleanupTimer;
- QDict<KviSharedFileList> * m_pSharedListDict;
+ KviDict<KviSharedFileList> * m_pSharedListDict;
public:
void addSharedFile(KviSharedFile * f);
KviSharedFile * addSharedFile(const QString &szName,const QString &szAbsPath,const QString &szMask,int timeoutInSecs);
@@ -87,7 +89,7 @@ public:
void load(const QString &filename);
void save(const QString &filename);
void clear();
- QDict<KviSharedFileList> * sharedFileListDict(){ return m_pSharedListDict; };
+ KviDict<KviSharedFileList> * sharedFileListDict(){ return m_pSharedListDict; };
private:
void doInsert(KviSharedFileList * l, KviSharedFile * o);
private slots:
diff --git a/src/kvilib/ext/kvi_stringconversion.cpp b/src/kvilib/ext/kvi_stringconversion.cpp
index b6e371c53..2e7875d59 100644
--- a/src/kvilib/ext/kvi_stringconversion.cpp
+++ b/src/kvilib/ext/kvi_stringconversion.cpp
@@ -43,16 +43,22 @@ namespace KviStringConversion
g_szLocalDir=szLocalDir;
}
- void encodePath(QString& buffer) {
- if(!buffer.isEmpty()) {
- if(!g_szLocalDir.isEmpty()) {
- if(buffer.find(g_szLocalDir)==0) {
+ void encodePath(QString& buffer)
+ {
+ if(!buffer.isEmpty())
+ {
+ if(!g_szLocalDir.isEmpty())
+ {
+ if(KviQString::find(buffer,g_szLocalDir)==0)
+ {
buffer.remove(0,g_szLocalDir.length());
buffer.prepend("local://");
}
}
- if(!g_szGlobalDir.isEmpty()) {
- if(buffer.find(g_szGlobalDir)==0) {
+ if(!g_szGlobalDir.isEmpty())
+ {
+ if(KviQString::find(buffer,g_szGlobalDir)==0)
+ {
buffer.remove(0,g_szGlobalDir.length());
buffer.prepend("global://");
}
@@ -60,16 +66,22 @@ namespace KviStringConversion
}
}
- void decodePath(QString& buffer) {
- if(!buffer.isEmpty()) {
- if(!g_szLocalDir.isEmpty()) {
- if(buffer.find("local://")==0) {
+ void decodePath(QString& buffer)
+ {
+ if(!buffer.isEmpty())
+ {
+ if(!g_szLocalDir.isEmpty())
+ {
+ if(KviQString::find(buffer,"local://")==0)
+ {
buffer.remove(0,8);
buffer.prepend(g_szLocalDir);
}
}
- if(!g_szGlobalDir.isEmpty()) {
- if(buffer.find("global://")==0) {
+ if(!g_szGlobalDir.isEmpty())
+ {
+ if(KviQString::find(buffer,"global://")==0)
+ {
buffer.remove(0,9);
buffer.prepend(g_szGlobalDir);
}
@@ -77,14 +89,18 @@ namespace KviStringConversion
}
}
- void encodePath(QStringList& buffer){
- for ( QStringList::Iterator it = buffer.begin(); it != buffer.end(); ++it ) {
+ void encodePath(QStringList& buffer)
+ {
+ for ( QStringList::Iterator it = buffer.begin(); it != buffer.end(); ++it )
+ {
encodePath(*it);
}
}
- void decodePath(QStringList& buffer){
- for ( QStringList::Iterator it = buffer.begin(); it != buffer.end(); ++it ) {
+ void decodePath(QStringList& buffer)
+ {
+ for ( QStringList::Iterator it = buffer.begin(); it != buffer.end(); ++it )
+ {
decodePath(*it);
}
}
@@ -132,7 +148,7 @@ namespace KviStringConversion
bool fromString(const QString & szValue,QRect &buffer)
{
- const char * c = szValue.latin1();
+ const char * c = KviQString::toUtf8(szValue).data();
if(!c)return false;
int l,t,w,h;
if(sscanf(c,"%d,%d,%d,%d",&l,&t,&w,&h) != 4)return false;
@@ -178,7 +194,7 @@ namespace KviStringConversion
{
int iId,iLog,iLevel;
unsigned int uFore,uBack;
- const char * c = szValue.latin1();
+ const char * c = KviQString::toUtf8(szValue).data();
if(!c)return false;
if(sscanf(c,"%d,%u,%u,%d,%d",&iId,&uFore,&uBack,&iLog,&iLevel) != 5)return false;
buffer = KviMsgType(buffer.m_szType,iId,uFore,uBack,iLog,iLevel);
@@ -198,7 +214,7 @@ namespace KviStringConversion
void toString(const QFont &fValue,QString &buffer)
{
QString family(fValue.family());
- buffer.sprintf("%s,%d,%d,%d",family.utf8().data(),fValue.pointSize(),fValue.styleHint(),fValue.weight());
+ buffer.sprintf("%s,%d,%d,%d",KviQString::toUtf8(family).data(),fValue.pointSize(),fValue.styleHint(),fValue.weight());
QString options;
if(fValue.bold())options.append('b');
if(fValue.italic())options.append('i');
@@ -248,7 +264,11 @@ namespace KviStringConversion
bool fromString(const QString & szValue,QStringList &buffer)
{
+#ifdef COMPILE_USE_QT4
+ buffer = szValue.split(",");
+#else
buffer = QStringList::split(",",szValue);
+#endif
return true;
}
diff --git a/src/kvilib/file/kvi_file.cpp b/src/kvilib/file/kvi_file.cpp
index 3dbeb6f94..7474b4c3a 100644
--- a/src/kvilib/file/kvi_file.cpp
+++ b/src/kvilib/file/kvi_file.cpp
@@ -4,7 +4,7 @@
// Creation date : Mon Dec 17 2001 00:04:12 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2001-2002 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2001-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
@@ -43,6 +43,25 @@ KviFile::~KviFile()
{
}
+bool KviFile::openForReading()
+{
+#ifdef COMPILE_USE_QT4
+ return open(QFile::ReadOnly);
+#else
+ return open(IO_ReadOnly);
+#endif
+}
+
+bool KviFile::openForWriting(bool bAppend)
+{
+#ifdef COMPILE_USE_QT4
+ return open(QFile::ReadOnly | (bAppend ? QFile::Append : QFile::Truncate));
+#else
+ return open(IO_WriteOnly | (bAppend ? IO_Append : IO_Truncate));
+#endif
+}
+
+
bool KviFile::save(const QByteArray &bData)
{
if(!save((kvi_u32_t)(bData.size())))return false;
@@ -53,31 +72,35 @@ bool KviFile::load(QByteArray &bData)
{
kvi_u32_t iLen;
if(!load(iLen))return false;
- bData.resize(iLen);
+ bData.resize(iLen); // it is automatically null terminated in Qt 4.x... BLEAH :D
if(readBlock((char *)(bData.data()),iLen) != iLen)return false;
return true;
}
-bool KviFile::save(const QCString &szData)
+#ifndef COMPILE_USE_QT4
+
+bool KviFile::save(const KviQCString &szData)
{
if(!save((kvi_u32_t)(szData.length())))return false;
return (writeBlock(szData.data(),szData.length()) == ((int)(szData.length())));
}
-bool KviFile::load(QCString &szData)
+bool KviFile::load(KviQCString &szData)
{
kvi_u32_t iLen;
if(!load(iLen))return false;
- szData.resize(iLen + 1);
+ szData.resize(iLen + 1); // this would allocate one extra byte with Qt 4.x...
if(readBlock((char *)(szData.data()),iLen) != iLen)return false;
*(szData.data() + iLen) = 0;
return true;
}
+#endif
+
bool KviFile::save(const QString &szData)
{
- QCString c = szData.utf8();
+ KviQCString c = KviQString::toUtf8(szData);
if(!save((kvi_u32_t)(c.length())))return false;
return (writeBlock(c.data(),c.length()) == ((int)(c.length())));
}
@@ -86,7 +109,7 @@ bool KviFile::load(QString &szData)
{
kvi_u32_t iLen;
if(!load(iLen))return false;
- QCString tmp;
+ KviQCString tmp;
tmp.resize(iLen + 1);
if(readBlock((char *)(tmp.data()),iLen) != iLen)return false;
*(tmp.data() + iLen) = 0;
@@ -204,9 +227,9 @@ bool KviFile::skipFirst(char t,unsigned int maxdist)
{
while(maxdist > 0)
{
- int c = getch();
+ char c;
+ if(!getChar(&c))return false;
if(((char)c) == t)return true;
- if(c == -1)return false;
maxdist--;
}
return false;
@@ -217,13 +240,13 @@ bool KviFile::skipFirst(const KviStr &t,unsigned int maxdist)
char * ptr = t.ptr();
while(maxdist > 0)
{
- int c = getch();
+ char c;
+ if(!getChar(&c))return false;
if(c == *ptr)
{
ptr++;
if(!*ptr)return true;
} else {
- if(c == -1)return false;
ptr = t.ptr();
}
maxdist--;
diff --git a/src/kvilib/file/kvi_file.h b/src/kvilib/file/kvi_file.h
index 5d04fc7bd..f500619c1 100644
--- a/src/kvilib/file/kvi_file.h
+++ b/src/kvilib/file/kvi_file.h
@@ -1,12 +1,13 @@
#ifndef _KVI_FILE_H_
#define _KVI_FILE_H_
+//=============================================================================
//
// File : kvi_file.h
// Creation date : Mon Dec 17 2001 00:05:04 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2001-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
@@ -22,17 +23,25 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
#include "kvi_heapobject.h"
+#include "kvi_qstring.h"
#include "kvi_string.h"
#include "kvi_list.h"
#include "kvi_inttypes.h"
+#include "kvi_qcstring.h"
#include <qfile.h>
-#include <qcstring.h>
#include <time.h>
+#ifdef COMPILE_USE_QT4
+ #define kvi_file_offset_t qlonglong
+#else
+ #define kvi_file_offset_t QFile::Offset
+#endif
+
class KVILIB_API KviFile : public QFile, public KviHeapObject
{
@@ -41,6 +50,25 @@ public:
KviFile(const QString &name);
~KviFile();
public:
+ // Wrappers portable across Qt 3.x and Qt 4.x
+ bool openForReading();
+ bool openForWriting(bool bAppend = false);
+
+#ifndef COMPILE_USE_QT4
+ // Functions present in Qt 4.x but not Qt 3.x
+ bool putChar(char c){ return putch(c) != -1; };
+ bool ungetChar(char c){ return ungetch(c) != -1; };
+ bool getChar(char * c){ *c = getch(); return *c != -1; };
+ bool seek(kvi_file_offset_t o){ return at(o); };
+ kvi_file_offset_t pos(){ return at(); };
+#endif
+
+#ifdef COMPILE_USE_QT4
+ // Missing functions in Qt 4.x
+ quint64 writeBlock(const char * data,quint64 uLen){ return write(data,uLen); };
+ quint64 readBlock(char * data,quint64 uLen){ return read(data,uLen); };
+#endif
+
// This stuff loads and saves LITTLE ENDIAN DATA!
bool save(kvi_u64_t t);
bool load(kvi_u64_t &t);
@@ -66,14 +94,14 @@ public:
bool save(kvi_i8_t t){ return save((kvi_u8_t)t); };
bool load(kvi_i8_t &t){ return load((kvi_u8_t &)t); };;
-// bool save(time_t t){ return save((kvi_i32_t)t); };
-// bool load(time_t &t){ return load((kvi_i32_t)t); };
-
bool save(const KviStr &szData);
bool load(KviStr &szData);
-
- bool save(const QCString &szData);
- bool load(QCString &szData);
+
+#ifndef COMPILE_USE_QT4
+ // Under Qt 4.x these collide with QByteArray
+ bool save(const KviQCString &szData);
+ bool load(KviQCString &szData);
+#endif
bool save(const QByteArray &bData);
bool load(QByteArray &bData);
@@ -89,5 +117,4 @@ public:
};
-
#endif //_KVI_FILE_H_
diff --git a/src/kvilib/file/kvi_fileutils.cpp b/src/kvilib/file/kvi_fileutils.cpp
index 876659eb9..858489111 100644
--- a/src/kvilib/file/kvi_fileutils.cpp
+++ b/src/kvilib/file/kvi_fileutils.cpp
@@ -4,7 +4,7 @@
// Creation date : Fri Dec 25 1998 18:26:48 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1998-2004 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 1998-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
@@ -25,20 +25,17 @@
#define __KVILIB__
-#define _KVI_DEBUG_CHECK_RANGE_
-#include "kvi_debug.h"
-
#define _KVI_FILEUTLIS_CPP_
#include "kvi_fileutils.h"
#include "kvi_qstring.h"
-
+#include "kvi_file.h"
#include "kvi_malloc.h"
#include <qdir.h>
-#include <qfile.h>
#include <qfileinfo.h>
#include <qglobal.h>
#include <qtextcodec.h>
+#include <qtextstream.h>
namespace KviFileUtils
@@ -103,8 +100,7 @@ namespace KviFileUtils
bool makeDir(const QString &szPath)
{
QDir d;
- szPath.stripWhiteSpace();
- QString dir = szPath;
+ QString dir = KviQString::trimmed(szPath);
adjustFilePath(dir);
QString createdDir;
@@ -126,7 +122,7 @@ namespace KviFileUtils
{
if(!d.mkdir(createdDir))
{
- debug("Can't create directory %s",createdDir.utf8().data());
+ debug("Can't create directory %s",KviQString::toUtf8(createdDir).data());
return false;
}
}
@@ -156,10 +152,10 @@ namespace KviFileUtils
bool copyFile(const QString &szSrc,const QString &szDst)
{
- QFile f1(szSrc);
- if(!f1.open(IO_ReadOnly))return false;
- QFile f2(szDst);
- if(!f2.open(IO_WriteOnly|IO_Truncate))
+ KviFile f1(szSrc);
+ if(!f1.openForReading())return false;
+ KviFile f2(szDst);
+ if(!f2.openForWriting())
{
f1.close();
return false;
@@ -190,8 +186,8 @@ namespace KviFileUtils
bool loadFile(const QString &szPath,QString &szBuffer,bool bUtf8)
{
- QFile f(szPath);
- if(!f.open(IO_ReadOnly))return false;
+ KviFile f(szPath);
+ if(!f.openForReading())return false;
if(bUtf8)
{
QByteArray ba = f.readAll();
@@ -218,7 +214,7 @@ namespace KviFileUtils
if(szPath.startsWith("\\"))szPath.prepend("C:");
#else
szPath.replace('\\',"/");
- while(szPath.find("//") != -1)szPath.replace("//","/");
+ while(KviQString::find(szPath,"//") != -1)szPath.replace("//","/");
// deal with windows paths
if((szPath.length() > 2) && (szPath.at(0) != QChar('/')))
{
@@ -227,8 +223,12 @@ namespace KviFileUtils
szPath.remove(0,2);
}
}
+#ifdef COMPILE_USE_QT4
+ szPath=QDir::cleanPath(szPath);
+#else
szPath=QDir::cleanDirPath(szPath);
#endif
+#endif
}
@@ -260,7 +260,7 @@ namespace KviFileUtils
bool removeFile(const QString &szPath)
{
QDir d;
- return d.remove(szPath,true);
+ return d.remove(szPath);
}
bool removeFile(const char* path)
@@ -314,12 +314,9 @@ namespace KviFileUtils
bool writeFile(const QString &szPath,const QString &szData,bool bAppend)
{
- QFile f(szPath);
- int iFlags = IO_WriteOnly;
- if(bAppend)iFlags |= IO_Append;
- else iFlags |= IO_Truncate;
- if(!f.open(iFlags))return false;
- QCString szTmp = szData.utf8();
+ KviFile f(szPath);
+ if(!f.openForWriting(bAppend))return false;
+ KviQCString szTmp = KviQString::toUtf8(szData);
if(!szTmp.data())return true;
if(f.writeBlock(szTmp.data(),szTmp.length()) != ((int)(szTmp.length())))return false;
return true;
@@ -333,12 +330,9 @@ namespace KviFileUtils
bool writeFileLocal8Bit(const QString &szPath,const QString &szData,bool bAppend)
{
- QFile f(szPath);
- int iFlags = IO_WriteOnly;
- if(bAppend)iFlags |= IO_Append;
- else iFlags |= IO_Truncate;
- if(!f.open(iFlags))return false;
- QCString szTmp = QTextCodec::codecForLocale()->fromUnicode(szData);
+ KviFile f(szPath);
+ if(!f.openForWriting(bAppend))return false;
+ KviQCString szTmp = QTextCodec::codecForLocale()->fromUnicode(szData);
if(!szTmp.data())return true;
if(f.writeBlock(szTmp.data(),szTmp.length()) != ((int)(szTmp.length())))return false;
return true;
@@ -352,8 +346,8 @@ namespace KviFileUtils
bool readFile(const QString &szPath,QString &szBuffer,unsigned int uMaxSize)
{
- QFile f(szPath);
- if(!f.open(IO_ReadOnly))return false;
+ KviFile f(szPath);
+ if(!f.openForReading())return false;
if(f.size() < 1)
{
szBuffer = "";
@@ -383,7 +377,11 @@ namespace KviFileUtils
QString extractFileName(const QString &szFileNameWithPath)
{
+#ifdef COMPILE_USE_QT4
+ return QFileInfo(szFileNameWithPath).absoluteFilePath();
+#else
return QFileInfo(szFileNameWithPath).absFilePath();
+#endif
}
bool readLine(QFile * f,QString &szBuffer,bool bUtf8)
@@ -412,144 +410,8 @@ namespace KviFileUtils
}
};
-//================ kvi_askFor*Name ============//
-//
-// THIS STUFF IS DEAD: NOBODY USES IT
-//#include <qfiledialog.h>
-//#warning "These functions should die in favr of g_pApp->askFor*Name"
-//
-//QString kvi_askForDirectoryName(const char *basePath)
-//{
-// return QFileDialog::getExistingDirectory(basePath);
-//}
-//
-//QString kvi_askForOpenFileName(const char *basePath,const char *filter)
-//{
-// return QFileDialog::getOpenFileName(basePath,filter);
-//}
-//
-//QStringList kvi_askForOpenFileNames(const char *basePath,const char *filter)
-//{
-// return QFileDialog::getOpenFileNames(filter,basePath);
-//}
-//
-//QString kvi_askForSaveFileName(const char *baseFileName)
-//{
-// return QFileDialog::getSaveFileName(baseFileName);
-//}
-//
-
-void kvi_adjustFilePath(KviStr & path)
-{
-#ifdef COMPILE_ON_WINDOWS
- path.replaceAll("/","\\");
- while(path.findFirstIdx("\\\\") != -1)path.replaceAll("\\\\","\\");
- if(path.firstCharIs('\\'))path.prepend("C:"); // use the default drive
-#else
- path.replaceAll("\\","/");
- while(path.findFirstIdx("//") != -1)path.replaceAll("//","/");
- if((*(path.ptr()) != '/') && (path.len() > 2))
- {
- if((*(path.ptr() + 1) == ':') && (*(path.ptr() + 2) == '/'))
- {
- path.cutLeft(2);
- }
- }
-#endif
-}
-
-void kvi_adjustFilePath(QString & path)
-{
-#ifdef COMPILE_ON_WINDOWS
- path.replace("/","\\");
- while(path.find("\\\\") != -1)path.replace("\\\\","\\");
- if( path[0]== ('\\') )path.prepend("C:"); // use the default drive
-#else
- path.replace("\\","/");
- while(path.find("//") != -1)path.replace("//","/");
- if((*(path.utf8().data()) != '/') && (path.length() > 2))
- {
- if((*(path.utf8().data() + 1) == ':') && (*(path.utf8().data() + 2) == '/'))
- {
- path = path.right(path.length()-2);
- }
- }
-#endif
-}
-
-static Q_UINT32 replacetable[8] =
-{
- 0xFFFFFFFF,
- 0xD4008424,
- 0x10000000,
- 0x10000000,
- 0xFFFFFFFF,
- 0xFFFFFFFF,
- 0xFFFFFFFF,
- 0xFFFFFFFF
-};
-
static char hexchars[16] = { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' };
-/*void kvi_encodeFileName(KviStr & path)
-{
- char * aux = path.ptr();
-
- char * repl = (char *)kvi_malloc((sizeof(char) * path.len() * 3) + 1);
-
- char * dst = repl;
-
- while(*aux)
- {
- //if(replacetable[*((unsigned char *)aux) / 32] & ((Q_UINT32)(1 << (*((unsigned char *)aux) % 32))))
- if( (*aux)<32 || !QChar(*aux).isPrint() )
- {
- *dst++ = '%';
- *dst++ = hexchars[*((unsigned char *)aux) >> 4];
- *dst++ = hexchars[*((unsigned char *)aux) & 15];
- } else {
- *dst++ = tolower(*aux);
- }
-
- aux++;
- }
-
- *dst = '\0';
-
- path = repl;
-
- kvi_free(repl);
-}
-
-void kvi_encodeFileName(QString & path)
-{
- char * aux = path.utf8().data();
-
- char * repl = (char *)kvi_malloc((sizeof(char) * path.length() * 3) + 1);
-
- char * dst = repl;
-
- while(*aux)
- {
- //if(replacetable[*((unsigned char *)aux) / 32] & ((Q_UINT32)(1 << (*((unsigned char *)aux) % 32))))
- if( (*aux)<32 || !QChar(*aux).isPrint() )
- {
- *dst++ = '%';
- *dst++ = hexchars[*((unsigned char *)aux) >> 4];
- *dst++ = hexchars[*((unsigned char *)aux) & 15];
- } else {
- *dst++ = tolower(*aux);
- }
-
- aux++;
- }
-
- *dst = '\0';
-
- path = repl;
-
- kvi_free(repl);
-}*/
void kvi_encodeFileName(KviStr & path)
{
@@ -565,7 +427,7 @@ void kvi_encodeFileName(QString & path)
for(int i=0;i<src.length();i++)
{
QChar cur=src[i];
- if( ! (cur.isLetter() || cur.isDigit() || cur==" " || cur=="_" || cur=="." || cur=="#" || cur=="%") )
+ if( ! (cur.isLetter() || cur.isDigit() || cur==' ' || cur=='_' || cur=='.' || cur=='#' || cur=='%') )
{
if(cur.row()!=0)
{
@@ -576,7 +438,8 @@ void kvi_encodeFileName(QString & path)
path+='%';
path+=hexchars[cur.cell() >> 4];
path+=hexchars[cur.cell() & 15];
- } else if (cur=="%"){
+ } else if (cur=='%')
+ {
path+="%%";
} else {
path+=cur;
@@ -588,7 +451,6 @@ void kvi_encodeFileName(QString & path)
bool kvi_isAbsolutePath(const char *path)
{
- __range_valid(path);
if(*path == '/')return true;
if(isalpha(*path))
{
@@ -597,87 +459,6 @@ bool kvi_isAbsolutePath(const char *path)
return false;
}
-//============ kvi_directoryExists ================//
-
-/*bool kvi_directoryExists(const char *path)
-{
- __range_valid(path);
- QFileInfo f(QTextCodec::codecForLocale()->fromUnicode(path));
- return (f.exists() && f.isDir());
-}*/
-
-//============ kvi_fileExists ================//
-
-/*bool kvi_fileExists(const char *path)
-{
- __range_valid(path);
- QFileInfo f(QTextCodec::codecForLocale()->fromUnicode(path));
- return (f.exists() && f.isFile());
-}*/
-
-/*bool kvi_removeFile(const char * path)
-{
- __range_valid(path);
- QDir d;
- return d.remove(QTextCodec::codecForLocale()->fromUnicode(path),true);
-}*/
-
-/*
-bool kvi_removeDir(const char * path)
-{
- __range_valid(path);
- QDir d;
- return d.rmdir(path);
-}
-*/
-
-//============= kvi_fileIsReadable =============//
-
-/*bool kvi_fileIsReadable(const char *path)
-{
- __range_valid(path);
- QFileInfo f(QTextCodec::codecForLocale()->fromUnicode(path));
- return (f.exists() && f.isFile() && f.isReadable());
-}*/
-
-//================ kvi_makeDir ================//
-/*
-bool kvi_makeDir(const char *path)
-{
- __range_valid(path);
- QDir d;
- KviStr dir(path);
- dir.stripWhiteSpace();
- kvi_adjustFilePath(dir);
- KviStr createdDir("");
-#ifndef COMPILE_ON_WINDOWS
- dir.stripLeft(KVI_PATH_SEPARATOR_CHAR);
-#else
- int idx = dir.findFirstIdx(":");
- if(idx == 1)
- {
- KviStr drive = dir.left(2);
- dir.cutLeft(2);
- createdDir = drive;
- }
- dir.stripLeft(KVI_PATH_SEPARATOR_CHAR);
-#endif
- while(dir.hasData())
- {
- createdDir+=KVI_PATH_SEPARATOR;
- createdDir+=dir.getToken(KVI_PATH_SEPARATOR_CHAR);
- if(!kvi_directoryExists(createdDir.m_ptr))
- {
- if(!d.mkdir(createdDir.m_ptr)){
- debug("Can't create directory %s",createdDir.m_ptr);
- return false;
- }
- }
- dir.stripLeft(KVI_PATH_SEPARATOR_CHAR);
- }
- return true;
-}
-*/
//=================== kvi_readLine =====================//
bool kvi_readLine(QFile *f,KviStr &str)
@@ -688,98 +469,4 @@ bool kvi_readLine(QFile *f,KviStr &str)
return szBuff.isNull() ? 1 : 0;
}
-//==================== kvi_readStrippedLine =====================//
-
-bool kvi_readStrippedLine(QFile *f,KviStr &str)
-{
- bool bRet = kvi_readLine(f,str);
- str.stripWhiteSpace();
- return bRet;
-}
-
-//==================== kvi_readFirstNonEmptyStrippedLine =========================//
-
-// FIXME: #warning "This is used only by kvi_config.cpp (1 occurence) and opw_servers.cpp (1 occurence)"
-// FIXME: #warning "Maybe remove it ? (It is a bad concept at all)"
-
-bool kvi_readFirstNonEmptyStrippedLine(QFile *f,KviStr &str)
-{
- bool bContinue;
- do{
- bContinue = kvi_readStrippedLine(f,str);
- } while(bContinue && str.isEmpty());
- return bContinue;
-}
-
-//=================== kvi_writeLine =======================//
-
-bool kvi_writeLine(QFile *f,const char *line)
-{
- bool bRet = (f->writeBlock(line,(Q_ULONG)strlen(line)) != -1);
- return bRet ? (f->putch('\n') != -1) : false;
-}
-
-//=================== kvi_loadFile =======================//
-
-/*bool kvi_loadFile(const char *path,KviStr &buffer)
-{
- QFile f(QTextCodec::codecForLocale()->fromUnicode(path));
- if(!f.open(IO_ReadOnly))return false;
- buffer = "";
- KviStr tmp;
- while(kvi_readLine(&f,tmp))
- {
- buffer.append(tmp);
- buffer.append('\n'); // kvi_readLine returned true...last char was a newline
- }
- // kvi_readLine returned false , no ending newline encountered
- // but tmp may still contain some data
- if(tmp.hasData())buffer.append(tmp);
- return true;
-}*/
-
-/*bool kvi_writeFile(const char *path,KviStr &buffer,bool bAppend)
-{
- QFile f(QTextCodec::codecForLocale()->fromUnicode(path));
- int iFlags = IO_WriteOnly;
- if(bAppend)iFlags |= IO_Append;
- else iFlags |= IO_Truncate;
- if(!f.open(iFlags))return false;
- if(f.writeBlock(buffer.ptr(),buffer.len()) != buffer.len())return false;
- f.close();
- return true;
-}*/
-
-/*
-bool kvi_copyFile(const char *src,const char *dst)
-{
- QFile f1(src);
- if(!f1.open(IO_ReadOnly))return false;
- QFile f2(dst);
- if(!f2.open(IO_WriteOnly|IO_Truncate)){
- f1.close();
- return false;
- }
- char buffer[1024];
- while(!f1.atEnd())
- {
- int len = f1.readBlock(buffer,1024);
- if(len <= 0)
- {
- f1.close();
- f2.close();
- return false; //"serious error"
- }
- f2.writeBlock(buffer,len);
- }
- f1.close();
- f2.close();
- return true;
-}
-bool kvi_renameFile(const char *src,const char *dst)
-{
- QDir d;
- return d.rename(QString(src),QString(dst));
-}
-*/
diff --git a/src/kvilib/file/kvi_fileutils.h b/src/kvilib/file/kvi_fileutils.h
index 4a7580959..6c70a88db 100644
--- a/src/kvilib/file/kvi_fileutils.h
+++ b/src/kvilib/file/kvi_fileutils.h
@@ -92,71 +92,18 @@ namespace KviFileUtils
extern KVILIB_API bool isAbsolutePath(const QString &szPath);
};
-/*
-Important:
-
-REMEMBER: ONLY QString's doesn't break localization!
-char* filenames breaks it
-instead of QFile(char*) we MUST use QString szString=char* ; QFile(szString);
-*/
+// ALL THIS STUFF BELOW SHOULD DIE: IF YOU SEE IT, REPLACE WITH THE FUNCTIONS IN THE NAMESPACE ABOVE
// Returns true if the path begins with '/'
KVILIB_API extern bool kvi_isAbsolutePath(const char *path);
-// Simplifies the path from double separators , and eventually converts the separators
-KVILIB_API extern void kvi_adjustFilePath(KviStr & path);
-KVILIB_API extern void kvi_adjustFilePath(QString & path);
// Translates ANY string into a valid filename (with no path!)
// There is NO way to come back to the original string
// the algo is one-way only
KVILIB_API extern void kvi_encodeFileName(KviStr & path);
KVILIB_API extern void kvi_encodeFileName(QString & path);
-// Returns true if the file exists and IS a file
-//DEPRECATED: breaks intarnationalization!
-//KVILIB_API extern bool kvi_fileExists(const char *path);
-
-// kvi_fileExists & isReadable
-//DEPRECATED: breaks intarnationalization!
-//KVILIB_API extern bool kvi_fileIsReadable(const char *path);
-
-// Returns true if the file exists and IS a directory
-//DEPRECATED: breaks intarnationalization!
-//KVILIB_API extern bool kvi_directoryExists(const char *path);
-
-// Makes a directory (and eventually all the leading path)
-//KVILIB_API extern bool kvi_makeDir(const char *path);
-
-// Loads a file to a buffer (false if the file does not exist)
-//DEPRECATED: breaks intarnationalization!
-//KVILIB_API extern bool kvi_loadFile(const char *path,KviStr &buffer);
-// Writes a buffer to a new file
-
-//DEPRECATED: breaks intarnationalization!
-//KVILIB_API extern bool kvi_writeFile(const char *path,KviStr &buffer,bool bAppend = false);
-
-// cp :)
-//KVILIB_API extern bool kvi_copyFile(const char *src,const char *dst);
-
-// mv :)
-//KVILIB_API extern bool kvi_renameFile(const char *src,const char *dst);
// Reads a single line from the file and returns false if EOF was encountered.
KVILIB_API extern bool kvi_readLine(QFile *f,KviStr &str);
-// Same as above but strips whitespace too.
-KVILIB_API extern bool kvi_readStrippedLine(QFile *f,KviStr &str);
-// Reads stripped lines until a non empty one is found...
-// An empty line may be returned if EOF is found before reading any significant data.
-KVILIB_API extern bool kvi_readFirstNonEmptyStrippedLine(QFile *f,KviStr &str);
-// Writes a data line to the file f and returns false if an error occurs
-KVILIB_API extern bool kvi_writeLine(QFile *f,const char *line);
// Removes a file
-KVILIB_API extern bool kvi_removeFile(const char * path);
-// Removes a dir
-//KVILIB_API extern bool kvi_removeDir(const char * path);
-
-// File dialogs (DEAD)
-//__kvi_extern QString kvi_askForDirectoryName(const char * basePath = 0);
-//__kvi_extern QString kvi_askForOpenFileName(const char *basePath = 0,const char *filter = 0);
-//__kvi_extern QStringList kvi_askForOpenFileNames(const char * basePath = 0,const char * filter = 0);
-//__kvi_extern QString kvi_askForSaveFileName(const char *baseFileName = 0);
#endif //_KVI_FILEUTILS_H_INCLUDED_
diff --git a/src/kvilib/file/kvi_packagefile.cpp b/src/kvilib/file/kvi_packagefile.cpp
index 1e0ea89bc..c489089b4 100644
--- a/src/kvilib/file/kvi_packagefile.cpp
+++ b/src/kvilib/file/kvi_packagefile.cpp
@@ -31,6 +31,8 @@
#include "kvi_inttypes.h"
#include <qprogressdialog.h>
+#include <qlabel.h>
+
#include <qdir.h>
#ifdef COMPILE_ZLIB_SUPPORT
@@ -101,9 +103,9 @@
KviPackageIOEngine::KviPackageIOEngine()
{
m_pProgressDialog = 0;
- m_pStringInfoFields = new QDict<QString>();
+ m_pStringInfoFields = new KviDict<QString>();
m_pStringInfoFields->setAutoDelete(true);
- m_pBinaryInfoFields = new QDict<QByteArray>();
+ m_pBinaryInfoFields = new KviDict<QByteArray>();
m_pBinaryInfoFields->setAutoDelete(true);
}
@@ -118,7 +120,11 @@ KviPackageIOEngine::~KviPackageIOEngine()
bool KviPackageIOEngine::updateProgress(int iProgress,const QString &szLabel)
{
if(!m_pProgressDialog)return true;
+#ifdef COMPILE_USE_QT4
+ m_pProgressDialog->setValue(iProgress);
+#else
m_pProgressDialog->setProgress(iProgress);
+#endif
m_pProgressDialogLabel->setText(szLabel);
qApp->processEvents();
if(m_pProgressDialog->wasCanceled())
@@ -131,8 +137,14 @@ bool KviPackageIOEngine::updateProgress(int iProgress,const QString &szLabel)
void KviPackageIOEngine::showProgressDialog(const QString &szCaption,int iTotalSteps)
{
+#ifdef COMPILE_USE_QT4
+ m_pProgressDialog = new QProgressDialog(QString(""),__tr2qs("Cancel"),0,iTotalSteps,0);
+ m_pProgressDialog->setModal(true);
+ m_pProgressDialog->setWindowTitle(szCaption);
+#else
m_pProgressDialog = new QProgressDialog(QString(""),__tr2qs("Cancel"),iTotalSteps,0,"",true);
m_pProgressDialog->setCaption(szCaption);
+#endif
m_pProgressDialogLabel = new QLabel(m_pProgressDialog);
m_pProgressDialogLabel->setMaximumSize(500,300);
m_pProgressDialog->setLabel(m_pProgressDialogLabel);
@@ -214,34 +226,67 @@ bool KviPackageWriter::addFileInternal(const QFileInfo * fi,const QString &szLoc
bool KviPackageWriter::addDirectory(const QString &szLocalDirectoryName,const QString &szTargetDirectoryPrefix,kvi_u32_t uAddFileFlags)
{
QDir d(szLocalDirectoryName);
- int iFlags = QDir::Files | QDir::Readable;
+#ifdef COMPILE_USE_QT4
+ QDir::Filters iFlags;
+#else
+ int iFlags;
+#endif
+ iFlags = QDir::Files | QDir::Readable;
if(!(uAddFileFlags & FollowSymLinks))
iFlags |= QDir::NoSymLinks;
+
+ // QT4SUX: Because the QDir::entryInfoList() breaks really a lot of code by returning an object that behaves in a _totally_ different way.. it's also much slower
+
+#ifdef COMPILE_USE_QT4
+ int j;
+ QFileInfoList sl = d.entryInfoList(iFlags);
+ for(j=0;j<sl.size();j++)
+ {
+#else
const QFileInfoList * sl = d.entryInfoList(iFlags);
if(!sl)return false;
QFileInfoListIterator it(*sl);
while(QFileInfo * fi = it.current())
{
+#endif
QString szSFileName = szLocalDirectoryName;
KviQString::ensureLastCharIs(szSFileName,QChar(KVI_PATH_SEPARATOR_CHAR));
+#ifdef COMPILE_USE_QT4
+ QFileInfo slowCopy = sl.at(j);
+ szSFileName += slowCopy.fileName();
+#else
szSFileName += fi->fileName();
+#endif
QString szDFileName = szTargetDirectoryPrefix;
KviQString::ensureLastCharIs(szDFileName,QChar(KVI_PATH_SEPARATOR_CHAR));
+#ifdef COMPILE_USE_QT4
+ szDFileName += slowCopy.fileName();
+ if(!addFileInternal(&slowCopy,szSFileName,szDFileName,uAddFileFlags))
+ return false;
+#else
szDFileName += fi->fileName();
if(!addFileInternal(fi,szSFileName,szDFileName,uAddFileFlags))
return false;
+#endif
+#ifndef COMPILE_USE_QT4
++it;
+#endif
}
iFlags = QDir::Dirs | QDir::Readable;
if(!(uAddFileFlags & FollowSymLinks))
iFlags |= QDir::NoSymLinks;
sl = d.entryInfoList(iFlags);
+#ifdef COMPILE_USE_QT4
+ for(j=0;j<sl.size();j++)
+ {
+ QString szDir = sl.at(j).fileName();
+#else
if(!sl)return false;
-
QFileInfoListIterator it2(*sl);
while(QFileInfo * fi2 = it2.current())
{
QString szDir = fi2->fileName();
+#endif
if(!KviQString::equalCS(szDir,"..") && !KviQString::equalCS(szDir,"."))
{
QString szSDirName = szLocalDirectoryName;
@@ -253,7 +298,9 @@ bool KviPackageWriter::addDirectory(const QString &szLocalDirectoryName,const QS
if(!addDirectory(szSDirName,szDDirName,uAddFileFlags))
return false;
}
+#ifndef COMPILE_USE_QT4
++it2;
+#endif
}
return true;
@@ -272,7 +319,7 @@ bool KviPackageWriter::packFile(KviFile * pFile,DataField * pDataField)
KviFile source(pDataField->m_szFileLocalName);
- if(!source.open(IO_ReadOnly))
+ if(!source.openForReading())
{
setLastError(__tr2qs("Failed to open a source file for reading"));
return false;
@@ -291,12 +338,12 @@ bool KviPackageWriter::packFile(KviFile * pFile,DataField * pDataField)
if(!pFile->save(uFlags))return writeError();
- QCString szTargetFileName = pDataField->m_szFileTargetName.utf8();
+ KviQCString szTargetFileName = KviQString::toUtf8(pDataField->m_szFileTargetName);
// Path
if(!pFile->save(szTargetFileName))return writeError();
- KviFile::Offset savedSizeOffset = pFile->at();
+ kvi_file_offset_t savedSizeOffset = pFile->pos();
// Size : will update it if compression is requested
if(!pFile->save(uSize))return writeError();
@@ -418,8 +465,8 @@ bool KviPackageWriter::packFile(KviFile * pFile,DataField * pDataField)
} while(ret == Z_OK);
// store the compressed data size
- KviFile::Offset here = pFile->at();
- pFile->at(savedSizeOffset);
+ kvi_file_offset_t here = pFile->pos();
+ pFile->seek(savedSizeOffset);
uSize = zstr.total_out;
deflateEnd(&zstr);
@@ -431,7 +478,7 @@ bool KviPackageWriter::packFile(KviFile * pFile,DataField * pDataField)
return false;
}
- pFile->at(here);
+ pFile->seek(here);
} else {
#endif
unsigned char buffer[BUFFER_SIZE];
@@ -482,7 +529,7 @@ bool KviPackageWriter::packInternal(const QString &szFileName,kvi_u32_t uPackFla
{
KviFile f(szFileName);
- if(!f.open(IO_WriteOnly | IO_Truncate))
+ if(!f.openForWriting())
{
setLastError(__tr2qs("Can't open file for writing"));
return false;
@@ -517,7 +564,7 @@ bool KviPackageWriter::packInternal(const QString &szFileName,kvi_u32_t uPackFla
return false; // aborted
// InfoFields (string)
- QDictIterator<QString> it(*m_pStringInfoFields);
+ KviDictIterator<QString> it(*m_pStringInfoFields);
while(QString * s = it.current())
{
if(!f.save(it.currentKey()))return writeError();
@@ -528,7 +575,7 @@ bool KviPackageWriter::packInternal(const QString &szFileName,kvi_u32_t uPackFla
}
// InfoFields (binary)
- QDictIterator<QByteArray> it2(*m_pBinaryInfoFields);
+ KviDictIterator<QByteArray> it2(*m_pBinaryInfoFields);
while(QByteArray * b = it2.current())
{
if(!f.save(it2.currentKey()))return writeError();
@@ -549,7 +596,7 @@ bool KviPackageWriter::packInternal(const QString &szFileName,kvi_u32_t uPackFla
kvi_u32_t uDataFieldType = pDataField->m_uType;
if(!f.save(uDataFieldType))return writeError();
- KviFile::Offset savedLenOffset = f.at();
+ kvi_file_offset_t savedLenOffset = f.pos();
// here we will store the length of the field once it's written
if(!f.save(uDataFieldType))return writeError();
@@ -567,12 +614,12 @@ bool KviPackageWriter::packInternal(const QString &szFileName,kvi_u32_t uPackFla
break;
}
- KviFile::Offset savedEndOffset = f.at();
- f.at(savedLenOffset);
+ kvi_file_offset_t savedEndOffset = f.pos();
+ f.seek(savedLenOffset);
if(!f.save(pDataField->m_uWrittenFieldLength))
return writeError();
- f.at(savedEndOffset);
+ f.seek(savedEndOffset);
iIdx++;
}
@@ -669,7 +716,7 @@ bool KviPackageReader::readHeaderInternal(KviFile * pFile,const QString &szLocal
bool KviPackageReader::readHeader(const QString &szLocalFileName)
{
KviFile f(szLocalFileName);
- if(!f.open(IO_ReadOnly))
+ if(!f.openForReading())
{
setLastError(__tr2qs("Can't open file for reading"));
return false;
@@ -707,7 +754,7 @@ bool KviPackageReader::unpackFile(KviFile * pFile,const QString &szUnpackPath)
KviFileUtils::adjustFilePath(szFileName);
- int idx = szFileName.findRev(QChar(KVI_PATH_SEPARATOR_CHAR));
+ int idx = KviQString::findRev(szFileName,QChar(KVI_PATH_SEPARATOR_CHAR));
if(idx != -1)
{
QString szPrefixPath = szFileName.left(idx);
@@ -719,7 +766,7 @@ bool KviPackageReader::unpackFile(KviFile * pFile,const QString &szUnpackPath)
}
KviFile dest(szFileName);
- if(!dest.open(IO_WriteOnly | IO_Truncate))
+ if(!dest.openForWriting())
{
setLastError(__tr2qs("Failed to open a source file for reading"));
return false;
@@ -727,7 +774,7 @@ bool KviPackageReader::unpackFile(KviFile * pFile,const QString &szUnpackPath)
QString szProgressText;
KviQString::sprintf(szProgressText,__tr2qs("Unpacking file %Q"),&szFileName);
- if(!updateProgress(pFile->at(),szProgressText))
+ if(!updateProgress(pFile->pos(),szProgressText))
return false; // aborted
// Size
@@ -816,7 +863,7 @@ bool KviPackageReader::unpackFile(KviFile * pFile,const QString &szUnpackPath)
QString szTmp;
KviQString::sprintf(szTmp,QString(" (%d of %d bytes)"),zstr.total_in,uSize);
QString szPrg = szProgressText + szTmp;
- if(!updateProgress(pFile->at(),szPrg))
+ if(!updateProgress(pFile->pos(),szPrg))
return false; // aborted
}
}
@@ -884,7 +931,7 @@ bool KviPackageReader::unpackFile(KviFile * pFile,const QString &szUnpackPath)
QString szTmp;
KviQString::sprintf(szTmp,QString(" (%d of %d bytes)"),iTotalFileSize,uSize);
QString szPrg = szProgressText + szTmp;
- if(!updateProgress(pFile->at(),szPrg))
+ if(!updateProgress(pFile->pos(),szPrg))
return false; // aborted
}
@@ -922,13 +969,13 @@ bool KviPackageReader::unpackInternal(const QString &szLocalFileName,const QStri
{
KviFile f(szLocalFileName);
- if(!f.open(IO_ReadOnly))
+ if(!f.openForReading())
{
setLastError(__tr2qs("Can't open file for reading"));
return false;
}
- KviFile::Offset size = f.size();
+ kvi_file_offset_t size = f.size();
if(!(uUnpackFlags & NoProgressDialog))
{
@@ -940,7 +987,7 @@ bool KviPackageReader::unpackInternal(const QString &szLocalFileName,const QStri
if(!readHeaderInternal(&f,szLocalFileName))
return false;
- if(!updateProgress(f.at(),__tr2qs("Reading package data")))
+ if(!updateProgress(f.pos(),__tr2qs("Reading package data")))
return false; // aborted
while(!f.atEnd())
diff --git a/src/kvilib/file/kvi_packagefile.h b/src/kvilib/file/kvi_packagefile.h
index aba851d17..b38a14fbd 100644
--- a/src/kvilib/file/kvi_packagefile.h
+++ b/src/kvilib/file/kvi_packagefile.h
@@ -26,9 +26,9 @@
#include "kvi_settings.h"
#include "kvi_qstring.h"
-#include <qdict.h>
+#include "kvi_dict.h"
+#include "kvi_qcstring.h" // QByteArray anyway
#include <qobject.h>
-#include <qcstring.h> // QByteArray
#include "kvi_list.h"
class KviFile;
@@ -48,15 +48,15 @@ public:
virtual ~KviPackageIOEngine();
protected:
QString m_szLastError;
- QDict<QString> * m_pStringInfoFields;
- QDict<QByteArray> * m_pBinaryInfoFields;
+ KviDict<QString> * m_pStringInfoFields;
+ KviDict<QByteArray> * m_pBinaryInfoFields;
QProgressDialog * m_pProgressDialog;
QLabel * m_pProgressDialogLabel;
public:
const QString & lastError(){ return m_szLastError; };
void setLastError(const QString &szLastError){ m_szLastError = szLastError; };
- QDict<QString> * stringInfoFields(){ return m_pStringInfoFields; };
- QDict<QByteArray> * binaryInfoFields(){ return m_pBinaryInfoFields; };
+ KviDict<QString> * stringInfoFields(){ return m_pStringInfoFields; };
+ KviDict<QByteArray> * binaryInfoFields(){ return m_pBinaryInfoFields; };
protected:
void showProgressDialog(const QString &szCaption,int iTotalSteps);
void hideProgressDialog();
diff --git a/src/kvilib/irc/kvi_avatar.cpp b/src/kvilib/irc/kvi_avatar.cpp
index bd43d46e8..3735c2f9d 100644
--- a/src/kvilib/irc/kvi_avatar.cpp
+++ b/src/kvilib/irc/kvi_avatar.cpp
@@ -152,11 +152,14 @@ QPixmap * KviAvatar::scaledPixmap(unsigned int w,unsigned int h)
scaleH = h;
scaleW = (scaleH * curW) / curH;
}
-
+
+#ifdef COMPILE_USE_QT4
+ m_pScaledPixmap = new QPixmap(m_pPixmap->scaled(scaleW,scaleH));
+#else
QImage img = m_pPixmap->convertToImage();
m_pScaledPixmap = new QPixmap();
m_pScaledPixmap->convertFromImage(img.smoothScale(scaleW,scaleH));
-
+#endif
return m_pScaledPixmap;
}
diff --git a/src/kvilib/irc/kvi_avatarcache.cpp b/src/kvilib/irc/kvi_avatarcache.cpp
index 9fe20a854..53c526d62 100644
--- a/src/kvilib/irc/kvi_avatarcache.cpp
+++ b/src/kvilib/irc/kvi_avatarcache.cpp
@@ -66,7 +66,7 @@ void KviAvatarCache::done()
KviAvatarCache::KviAvatarCache()
{
- m_pAvatarDict = new QDict<KviAvatarCacheEntry>(CACHE_DICT_SIZE,false);
+ m_pAvatarDict = new KviDict<KviAvatarCacheEntry>(CACHE_DICT_SIZE,false);
m_pAvatarDict->setAutoDelete(true);
}
@@ -163,7 +163,7 @@ void KviAvatarCache::save(const QString &szFileName)
KviConfig cfg(szFileName,KviConfig::Write);
// cfg.clear(); // not needed with KviConfig::Write
- QDictIterator<KviAvatarCacheEntry> it(*m_pAvatarDict);
+ KviDictIterator<KviAvatarCacheEntry> it(*m_pAvatarDict);
while(KviAvatarCacheEntry * e = it.current())
{
@@ -180,7 +180,7 @@ void KviAvatarCache::save(const QString &szFileName)
void KviAvatarCache::cleanup()
{
// first do a quick run deleting the avatars really too old
- QDictIterator<KviAvatarCacheEntry> it(*m_pAvatarDict);
+ KviDictIterator<KviAvatarCacheEntry> it(*m_pAvatarDict);
kvi_time_t tNow = kvi_unixTime();
diff --git a/src/kvilib/irc/kvi_avatarcache.h b/src/kvilib/irc/kvi_avatarcache.h
index bb436e7d0..dc8b944c9 100644
--- a/src/kvilib/irc/kvi_avatarcache.h
+++ b/src/kvilib/irc/kvi_avatarcache.h
@@ -29,7 +29,7 @@
#include "kvi_time.h"
#include "kvi_ircmask.h"
-#include <qdict.h>
+#include "kvi_dict.h"
typedef struct _KviAvatarCacheEntry
@@ -46,7 +46,7 @@ protected:
KviAvatarCache();
~KviAvatarCache();
public:
- QDict<KviAvatarCacheEntry> * m_pAvatarDict;
+ KviDict<KviAvatarCacheEntry> * m_pAvatarDict;
protected:
static KviAvatarCache * m_pAvatarCacheInstance;
public:
diff --git a/src/kvilib/irc/kvi_ircmask.cpp b/src/kvilib/irc/kvi_ircmask.cpp
index 2b2df85ba..e4b66b527 100644
--- a/src/kvilib/irc/kvi_ircmask.cpp
+++ b/src/kvilib/irc/kvi_ircmask.cpp
@@ -293,7 +293,11 @@ bool KviIrcMask::hasNumericHost() const
else {
if((uc < '0') || (uc > '9'))
{
+#ifdef COMPILE_USE_QT4
+ uc = p->toUpper().unicode();
+#else
uc = p->upper().unicode();
+#endif
if((uc < 'A') || (uc > 'F'))return false;
}
}
diff --git a/src/kvilib/irc/kvi_ircserverdb.cpp b/src/kvilib/irc/kvi_ircserverdb.cpp
index 2bd9ee726..4f9137eb5 100644
--- a/src/kvilib/irc/kvi_ircserverdb.cpp
+++ b/src/kvilib/irc/kvi_ircserverdb.cpp
@@ -90,7 +90,7 @@ KviIrcServer * KviIrcServerDataBaseRecord::currentServer()
KviIrcServerDataBase::KviIrcServerDataBase()
{
- m_pRecords = new QDict<KviIrcServerDataBaseRecord>(17,false);
+ m_pRecords = new KviDict<KviIrcServerDataBaseRecord>(17,false);
m_pRecords->setAutoDelete(true);
m_pAutoConnectOnStartupServers = 0;
m_pAutoConnectOnStartupNetworks = 0;
@@ -149,7 +149,7 @@ KviIrcServerDataBaseRecord * KviIrcServerDataBase::currentRecord()
if(!m_szCurrentNetwork.isEmpty())r = m_pRecords->find(m_szCurrentNetwork);
if(r)return r;
- QDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
+ KviDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
r = it.current();
if(!r)return 0;
m_szCurrentNetwork = r->network()->name();
@@ -158,7 +158,7 @@ KviIrcServerDataBaseRecord * KviIrcServerDataBase::currentRecord()
void KviIrcServerDataBase::updateServerIp(KviIrcServer * pServer,const QString & ip)
{
- QDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
+ KviDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
while(KviIrcServerDataBaseRecord * r = it.current())
{
KviIrcServer * srv = r->findServer(pServer);
@@ -184,8 +184,13 @@ bool KviIrcServerDataBase::makeCurrentBestServerInNetwork(const QString &szNetNa
for(KviIrcServer * s = r->m_pServerList->first();s;s = r->m_pServerList->next())
{
+#ifdef COMPILE_USE_QT4
+ if(s->m_szDescription.contains("random",Qt::CaseInsensitive) ||
+ (s->m_szDescription.contains("round",Qt::CaseInsensitive) && s->m_szDescription.contains("robin",Qt::CaseInsensitive)))
+#else
if(s->m_szDescription.contains("random",false) ||
(s->m_szDescription.contains("round",false) && s->m_szDescription.contains("robin",false)))
+#endif
{
r->setCurrentServer(s);
return true;
@@ -220,7 +225,7 @@ bool KviIrcServerDataBase::makeCurrentServer(KviIrcServerDefinition * d,QString
{
KviIrcServer * pServer = 0;
- QDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
+ KviDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
KviIrcServerDataBaseRecord * r = 0;
KviIrcServer * srv;
@@ -338,7 +343,11 @@ search_finished:
if(!(bIsValidIpV4 || bIsValidIpV6))
{
// is it a valid hostname ? (must contain at least one dot)
+#ifdef COMPILE_USE_QT4
+ if(!d->szServer.contains('.'))
+#else
if(d->szServer.contains('.') < 1)
+#endif
{
// assume it is a network name!
KviIrcServerDataBaseRecord * r = m_pRecords->find(d->szServer);
@@ -462,7 +471,7 @@ void KviIrcServerDataBase::save(const QString &filename)
cfg.clear(); // clear any old entry
- QDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
+ KviDictIterator<KviIrcServerDataBaseRecord> it(*m_pRecords);
QString tmp;
diff --git a/src/kvilib/irc/kvi_ircserverdb.h b/src/kvilib/irc/kvi_ircserverdb.h
index aacbe71c5..a11b324d5 100644
--- a/src/kvilib/irc/kvi_ircserverdb.h
+++ b/src/kvilib/irc/kvi_ircserverdb.h
@@ -28,7 +28,7 @@
#include "kvi_qstring.h"
#include "kvi_ircserver.h"
-#include <qdict.h>
+#include "kvi_dict.h"
typedef struct _KviIrcServerDefinition
{
@@ -75,7 +75,7 @@ public:
KviIrcServerDataBase();
~KviIrcServerDataBase();
private:
- QDict<KviIrcServerDataBaseRecord> * m_pRecords;
+ KviDict<KviIrcServerDataBaseRecord> * m_pRecords;
QString m_szCurrentNetwork;
// This list is computed when the data are loaded from disk
// during the startup and is used by KviApp to
@@ -89,7 +89,7 @@ private:
KviPtrList<KviIrcServerDataBaseRecord> * m_pAutoConnectOnStartupNetworks;
public:
void clear();
- QDict<KviIrcServerDataBaseRecord> * recordDict(){ return m_pRecords; };
+ KviDict<KviIrcServerDataBaseRecord> * recordDict(){ return m_pRecords; };
KviPtrList<KviIrcServer> * autoConnectOnStartupServers(){ return m_pAutoConnectOnStartupServers; };
KviPtrList<KviIrcServerDataBaseRecord> * autoConnectOnStartupNetworks(){ return m_pAutoConnectOnStartupNetworks; };
void clearAutoConnectOnStartupServers();
diff --git a/src/kvilib/irc/kvi_ircuserdb.cpp b/src/kvilib/irc/kvi_ircuserdb.cpp
index eb5ecb143..99e966725 100644
--- a/src/kvilib/irc/kvi_ircuserdb.cpp
+++ b/src/kvilib/irc/kvi_ircuserdb.cpp
@@ -28,6 +28,7 @@
#include "kvi_debug.h"
#include "kvi_ircuserdb.h"
#include "kvi_mirccntrl.h"
+#include "kvi_qstring.h"
KviIrcUserEntry::KviIrcUserEntry(const QString &user,const QString &host)
@@ -44,13 +45,14 @@ KviIrcUserEntry::KviIrcUserEntry(const QString &user,const QString &host)
void KviIrcUserEntry::setRealName(const QString &rn)
{
m_szRealName = rn;
- m_szRealName = m_szRealName.stripWhiteSpace();
+ m_szRealName = KviQString::trimmed(m_szRealName);
if(m_szRealName.length()>=3)
{
- if( (m_szRealName[0].latin1()==KVI_TEXT_COLOR) && (m_szRealName[2].latin1()==KVI_TEXT_RESET) )
+ if( (m_szRealName[0].unicode()==KVI_TEXT_COLOR) && (m_szRealName[2].unicode()==KVI_TEXT_RESET) )
{
- switch(m_szRealName[1].latin1()){
- case '1':
+ 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':
@@ -92,7 +94,7 @@ KviIrcUserDataBase::KviIrcUserDataBase()
// 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 QDict<KviIrcUserEntry>(4001,false);
+ m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
m_pDict->setAutoDelete(true);
}
@@ -104,7 +106,7 @@ KviIrcUserDataBase::~KviIrcUserDataBase()
void KviIrcUserDataBase::clear()
{
delete m_pDict;
- m_pDict = new QDict<KviIrcUserEntry>(4001,false);
+ m_pDict = new KviDict<KviIrcUserEntry>(4001,false);
m_pDict->setAutoDelete(true);
}
diff --git a/src/kvilib/irc/kvi_ircuserdb.h b/src/kvilib/irc/kvi_ircuserdb.h
index 5395ee1d1..c8fcff6c5 100644
--- a/src/kvilib/irc/kvi_ircuserdb.h
+++ b/src/kvilib/irc/kvi_ircuserdb.h
@@ -27,7 +27,7 @@
#include "kvi_settings.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_string.h"
#include "kvi_avatar.h"
@@ -108,13 +108,13 @@ public:
KviIrcUserDataBase();
~KviIrcUserDataBase();
private:
- QDict<KviIrcUserEntry> * m_pDict;
+ KviDict<KviIrcUserEntry> * m_pDict;
public:
void clear();
KviIrcUserEntry * insertUser(const QString &nick,const QString &user,const QString &hostname);
KviIrcUserEntry * find(const QString &nick){ return m_pDict->find(nick); };
void removeUser(const QString &nick,KviIrcUserEntry * e);
- QDict<KviIrcUserEntry> * dict(){ return m_pDict; };
+ KviDict<KviIrcUserEntry> * dict(){ return m_pDict; };
};
#endif //_KVI_IRCUSERDB_H_
diff --git a/src/kvilib/irc/kvi_nickserv.cpp b/src/kvilib/irc/kvi_nickserv.cpp
index 133d40855..46474c802 100644
--- a/src/kvilib/irc/kvi_nickserv.cpp
+++ b/src/kvilib/irc/kvi_nickserv.cpp
@@ -203,11 +203,19 @@ KviNickServRule * KviNickServRuleSet::matchRule(const QString &szNick,const KviI
if(!KviQString::matchStringCI(r->registeredNick(),szNick,false,true)) continue;
if(!szServer.isEmpty())
{
+#ifdef COMPILE_USE_QT4
+ QRegExp res(r->serverMask(),Qt::CaseInsensitive,QRegExp::Wildcard);
+#else
QRegExp res(r->serverMask(),false,true);
+#endif
if(!res.exactMatch(szServer))continue;
}
if(!nickServ->matchedBy(KviIrcMask(r->nickServMask())))continue;
+#ifdef COMPILE_USE_QT4
+ QRegExp re(r->messageRegexp(),Qt::CaseInsensitive,QRegExp::Wildcard);
+#else
QRegExp re(r->messageRegexp(),false,true);
+#endif
if(re.exactMatch(szMsg))return r;
}
return 0;
@@ -275,8 +283,7 @@ bool KviNickServRule::load(KviConfig * cfg,const QString &prefix)
{
QString tmp;
KviQString::sprintf(tmp,"%QRegisteredNick",&prefix);
- m_szRegisteredNick = cfg->readQStringEntry(tmp);
- m_szRegisteredNick.stripWhiteSpace();
+ m_szRegisteredNick = KviQString::trimmed(cfg->readQStringEntry(tmp));
if(m_szRegisteredNick.isEmpty())return false;
KviQString::sprintf(tmp,"%QNickServMask",&prefix);
m_szNickServMask = cfg->readQStringEntry(tmp);
diff --git a/src/kvilib/irc/kvi_nickserv.h b/src/kvilib/irc/kvi_nickserv.h
index 262ac0a0c..b0eb5c70d 100644
--- a/src/kvilib/irc/kvi_nickserv.h
+++ b/src/kvilib/irc/kvi_nickserv.h
@@ -87,7 +87,7 @@ public:
KviNickServRuleSet(const KviNickServRuleSet &s);
~KviNickServRuleSet();
protected:
- KviPtrList<KviNickServRule> * m_pRules; // FIXME: Replace with QDict<KviPtrList>
+ KviPtrList<KviNickServRule> * m_pRules; // FIXME: Replace with KviDict<KviPtrList>
bool m_bEnabled;
public:
// avoid crashes under windows
diff --git a/src/kvilib/net/kvi_dns.cpp b/src/kvilib/net/kvi_dns.cpp
index 73f76e2cb..a2de3271a 100644
--- a/src/kvilib/net/kvi_dns.cpp
+++ b/src/kvilib/net/kvi_dns.cpp
@@ -4,7 +4,7 @@
// Creation date : Sat Jul 21 2000 17:19:31 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2000-2004 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2000-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
@@ -23,7 +23,6 @@
//=============================================================================
#define __KVILIB__
-
#include "kvi_dns.h"
#include "kvi_error.h"
#include "kvi_netutils.h"
@@ -61,9 +60,9 @@
KviDnsResult::KviDnsResult()
{
m_iError = KviError_success;
- m_pHostnameList = new KviPtrList<KviStr>;
+ m_pHostnameList = new KviPtrList<QString>;
m_pHostnameList->setAutoDelete(true);
- m_pIpAddressList = new KviPtrList<KviStr>;
+ m_pIpAddressList = new KviPtrList<QString>;
m_pIpAddressList->setAutoDelete(true);
}
@@ -74,21 +73,19 @@ KviDnsResult::~KviDnsResult()
delete m_pIpAddressList;
}
-void KviDnsResult::appendHostname(const char * host)
+void KviDnsResult::appendHostname(const QString &host)
{
- m_pHostnameList->append(new KviStr(host));
+ m_pHostnameList->append(new QString(host));
}
-void KviDnsResult::appendAddress(const char * addr)
+void KviDnsResult::appendAddress(const QString &addr)
{
- m_pIpAddressList->append(new KviStr(addr));
+ m_pIpAddressList->append(new QString(addr));
}
-
-
KviDnsThread::KviDnsThread(KviDns * pDns)
{
m_pParentDns = pDns;
@@ -144,11 +141,9 @@ void KviDnsThread::postDnsError(KviDnsResult * dns,int iErr)
void KviDnsThread::run()
{
- m_szQuery.stripWhiteSpace();
-
KviDnsResult * dns = new KviDnsResult();
- dns->setQuery(m_szQuery.ptr());
+ dns->setQuery(m_szQuery);
if(m_szQuery.isEmpty())
{
@@ -183,11 +178,11 @@ void KviDnsThread::run()
// DIE DIE!....I hope that this stuff will disappear sooner or later :)
- if(kvi_stringIpToBinaryIp(m_szQuery.ptr(),&inAddr))
+ if(KviNetUtils::stringIpToBinaryIp(m_szQuery,&inAddr))
{
pHostEntry = gethostbyaddr((const char *)&inAddr,sizeof(inAddr),AF_INET);
} else {
- pHostEntry = gethostbyname(m_szQuery.ptr());
+ pHostEntry = gethostbyname(m_szQuery);
}
if(!pHostEntry)
@@ -203,21 +198,21 @@ void KviDnsThread::run()
} else {
dns->appendHostname(pHostEntry->h_name);
QString szIp;
- kvi_binaryIpToStringIp(* ((struct in_addr*)(pHostEntry->h_addr)),szIp);
+ KviNetUtils::binaryIpToStringIp(* ((struct in_addr*)(pHostEntry->h_addr)),szIp);
dns->appendAddress(szIp);
int idx = 1;
while(pHostEntry->h_addr_list[idx])
{
QString tmp;
- kvi_binaryIpToStringIp(* ((struct in_addr*)(pHostEntry->h_addr_list[idx])),tmp);
+ KviNetUtils::binaryIpToStringIp(* ((struct in_addr*)(pHostEntry->h_addr_list[idx])),tmp);
if(tmp.hasData())dns->appendAddress(tmp);
++idx;
}
if(pHostEntry->h_aliases[0])
{
- dns->appendHostname(pHostEntry->h_aliases[0]);
- if(pHostEntry->h_aliases[1])dns->appendHostname(pHostEntry->h_aliases[1]);
+ dns->appendHostname(QString::fromUtf8(pHostEntry->h_aliases[0]));
+ if(pHostEntry->h_aliases[1])dns->appendHostname(QString::fromUtf8(pHostEntry->h_aliases[1]));
}
}
@@ -235,10 +230,10 @@ void KviDnsThread::run()
bool bIsIpV6Ip = false;
#endif
- bool bIsIpV4Ip = kvi_stringIpToBinaryIp(m_szQuery.ptr(),(struct in_addr *)&(ipv4Addr.sin_addr));
+ bool bIsIpV4Ip = KviNetUtils::stringIpToBinaryIp(m_szQuery,(struct in_addr *)&(ipv4Addr.sin_addr));
#ifdef COMPILE_IPV6_SUPPORT
- if(!bIsIpV4Ip)bIsIpV6Ip = kvi_stringIpToBinaryIp_V6(m_szQuery.ptr(),(struct in6_addr *)&(ipv6Addr.sin6_addr));
+ if(!bIsIpV4Ip)bIsIpV6Ip = KviNetUtils::stringIpToBinaryIp_V6(m_szQuery,(struct in6_addr *)&(ipv6Addr.sin6_addr));
#endif
//#ifdef HAVE_GETNAMEINFO
@@ -272,7 +267,7 @@ void KviDnsThread::run()
if(retVal != 0)dns->setError(translateDnsError(retVal));
else {
dns->appendHostname(retname);
- dns->appendAddress(m_szQuery.ptr());
+ dns->appendAddress(m_szQuery);
}
} else {
@@ -298,17 +293,17 @@ void KviDnsThread::run()
hints.ai_addr = 0;
hints.ai_next = 0;
- retVal = getaddrinfo(m_szQuery.ptr(),0,&hints,&pRet);
+ retVal = getaddrinfo(KviQString::toUtf8(m_szQuery).data(),0,&hints,&pRet);
if(retVal != 0)dns->setError(translateDnsError(retVal));
else {
- dns->appendHostname(pRet->ai_canonname ? pRet->ai_canonname : m_szQuery.ptr());
+ dns->appendHostname(pRet->ai_canonname ? QString::fromUtf8(pRet->ai_canonname) : m_szQuery);
QString szIp;
#ifdef COMPILE_IPV6_SUPPORT
- if(pRet->ai_family == PF_INET6)kvi_binaryIpToStringIp_V6(((sockaddr_in6 *)(pRet->ai_addr))->sin6_addr,szIp);
+ if(pRet->ai_family == PF_INET6)KviNetUtils::binaryIpToStringIp_V6(((sockaddr_in6 *)(pRet->ai_addr))->sin6_addr,szIp);
else {
#endif
- kvi_binaryIpToStringIp(((sockaddr_in *)(pRet->ai_addr))->sin_addr,szIp);
+ KviNetUtils::binaryIpToStringIp(((sockaddr_in *)(pRet->ai_addr))->sin_addr,szIp);
#ifdef COMPILE_IPV6_SUPPORT
}
#endif
@@ -319,10 +314,10 @@ void KviDnsThread::run()
{
QString tmp;
#ifdef COMPILE_IPV6_SUPPORT
- if(pNext->ai_family == PF_INET6)kvi_binaryIpToStringIp_V6(((sockaddr_in6 *)(pNext->ai_addr))->sin6_addr,tmp);
+ if(pNext->ai_family == PF_INET6)KviNetUtils::binaryIpToStringIp_V6(((sockaddr_in6 *)(pNext->ai_addr))->sin6_addr,tmp);
else {
#endif
- kvi_binaryIpToStringIp(((sockaddr_in *)(pNext->ai_addr))->sin_addr,tmp);
+ KviNetUtils::binaryIpToStringIp(((sockaddr_in *)(pNext->ai_addr))->sin_addr,tmp);
#ifdef COMPILE_IPV6_SUPPORT
}
#endif
@@ -331,7 +326,7 @@ void KviDnsThread::run()
if(pNext->ai_canonname)
{
// FIXME: only of not equal to other names ?
- dns->appendHostname(pNext->ai_canonname);
+ dns->appendHostname(QString::fromUtf8(pNext->ai_canonname));
}
pNext = pNext->ai_next;
@@ -380,7 +375,7 @@ bool KviDns::isRunning() const
bool KviDns::lookup(const QString &query,QueryType type)
{
if(m_state == Busy)return false;
- m_pSlaveThread->setQuery(query,type);
+ m_pSlaveThread->setQuery(KviQString::trimmed(query),type);
bool bStarted = m_pSlaveThread->start();
m_state = bStarted ? Busy : Failure;
return bStarted;
@@ -398,12 +393,12 @@ KviDnsResult * KviDns::result()
return m_pDnsResult;
}
-KviPtrList<KviStr> * KviDns::hostnameList()
+KviPtrList<QString> * KviDns::hostnameList()
{
return result()->hostnameList();
}
-KviPtrList<KviStr> * KviDns::ipAddressList()
+KviPtrList<QString> * KviDns::ipAddressList()
{
return result()->ipAddressList();
}
@@ -418,19 +413,21 @@ int KviDns::ipAddressCount()
return result()->ipAddressList()->count();
}
-const char * KviDns::firstHostname()
+const QString & KviDns::firstHostname()
{
- if(result()->hostnameList()->first())return result()->hostnameList()->first()->ptr();
- return KviStr::emptyString().ptr();
+ QString * pStr = result()->hostnameList()->first();
+ if(pStr)return *pStr;
+ return QString::null;
}
-const char * KviDns::firstIpAddress()
+const QString & KviDns::firstIpAddress()
{
- if(result()->ipAddressList()->first())return result()->ipAddressList()->first()->ptr();
- return KviStr::emptyString().ptr();
+ QString * pStr = result()->ipAddressList()->first();
+ if(pStr)return *pStr;
+ return QString::null;
}
-const char * KviDns::query()
+const QString & KviDns::query()
{
return result()->query();
}
diff --git a/src/kvilib/net/kvi_dns.h b/src/kvilib/net/kvi_dns.h
index 02a133607..911edfdae 100644
--- a/src/kvilib/net/kvi_dns.h
+++ b/src/kvilib/net/kvi_dns.h
@@ -1,12 +1,13 @@
#ifndef _KVI_DNS_H_
#define _KVI_DNS_H_
+//=============================================================================
//
// File : kvi_dns.h
// Creation date : Sat Jul 21 2000 13:59:11 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 1999-2000 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
@@ -22,11 +23,12 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
#include "kvi_heapobject.h"
#include "kvi_thread.h"
-#include "kvi_string.h"
+#include "kvi_qstring.h"
class KviDnsThread; // not part of the API
@@ -42,21 +44,21 @@ public:
~KviDnsResult();
protected:
int m_iError;
- KviPtrList<KviStr> * m_pHostnameList;
- KviPtrList<KviStr> * m_pIpAddressList;
- KviStr m_szQuery;
+ KviPtrList<QString> * m_pHostnameList;
+ KviPtrList<QString> * m_pIpAddressList;
+ QString m_szQuery;
public:
int error(){ return m_iError; };
// never store nor delete these pointers!
// (these are NEVER 0)
- KviPtrList<KviStr> * hostnameList(){ return m_pHostnameList; };
- KviPtrList<KviStr> * ipAddressList(){ return m_pIpAddressList; };
- const char * query(){ return m_szQuery.ptr(); };
+ KviPtrList<QString> * hostnameList(){ return m_pHostnameList; };
+ KviPtrList<QString> * ipAddressList(){ return m_pIpAddressList; };
+ const QString &query(){ return m_szQuery; };
protected:
void setError(int iError){ m_iError = iError; };
void setQuery(const QString &query){ m_szQuery = query; };
- void appendHostname(const char * host);
- void appendAddress(const char * addr);
+ void appendHostname(const QString &host);
+ void appendAddress(const QString &addr);
};
@@ -90,13 +92,13 @@ public:
// Results (return always non null-data..but valid results only if state() == Success or Failure)
int error();
- const char * firstHostname();
- const char * firstIpAddress();
+ const QString & firstHostname();
+ const QString & firstIpAddress();
int hostnameCount();
int ipAddressCount();
- KviPtrList<KviStr> * hostnameList();
- KviPtrList<KviStr> * ipAddressList();
- const char * query();
+ KviPtrList<QString> * hostnameList();
+ KviPtrList<QString> * ipAddressList();
+ const QString & query();
bool isRunning() const;
// Auxiliary data store
@@ -125,11 +127,11 @@ protected:
KviDnsThread(KviDns * pDns);
~KviDnsThread();
protected:
- KviStr m_szQuery;
- KviDns::QueryType m_queryType;
- KviDns * m_pParentDns;
+ QString m_szQuery;
+ KviDns::QueryType m_queryType;
+ KviDns * m_pParentDns;
public:
- void setQuery(const char * query,KviDns::QueryType type){ m_szQuery = query; m_queryType = type; };
+ void setQuery(const QString &query,KviDns::QueryType type){ m_szQuery = query; m_queryType = type; };
protected:
virtual void run();
int translateDnsError(int iErr);
diff --git a/src/kvilib/net/kvi_http.cpp b/src/kvilib/net/kvi_http.cpp
index 9d61ce5a0..518a6a9f0 100644
--- a/src/kvilib/net/kvi_http.cpp
+++ b/src/kvilib/net/kvi_http.cpp
@@ -119,7 +119,7 @@ void KviHttpRequest::reset()
resetInternalStatus();
}
-bool KviHttpRequest::get(const KviUrl &u,ProcessingType p,const char * szFileName)
+bool KviHttpRequest::get(const KviUrl &u,ProcessingType p,const QString &szFileName)
{
reset();
setUrl(u);
@@ -145,7 +145,7 @@ bool KviHttpRequest::start()
if((m_eExistingFileAction == Resume) && (m_uContentOffset == 0))
{
// determine the content offset automatically
- if(QFile::exists(m_szFileName))
+ if(KviFile::exists(m_szFileName))
{
// we check it
QFileInfo fi(m_szFileName);
@@ -190,25 +190,25 @@ bool KviHttpRequest::startDnsLookup()
return false;
}
- KviStr tmp(KviStr::Format,__tr2qs("Looking up host %s"),m_url.host().ptr());
- emit status(tmp.ptr());
+ QString tmp;
+ KviQString::sprintf(tmp,__tr2qs("Looking up host %s"),m_url.host().ptr());
+ emit status(tmp); // FIXME
- emit resolvingHost(m_url.host().ptr());
+ emit resolvingHost(QString(m_url.host().ptr()));
return true;
}
void KviHttpRequest::dnsLookupDone(KviDns *d)
{
- __range_valid(m_pDns == d);
-
if(d->state() == KviDns::Success)
{
m_szIp = d->firstIpAddress();
delete m_pDns;
m_pDns = 0;
- KviStr tmp(KviStr::Format,__tr2qs("Host %s resolved to %s"),m_url.host().ptr(),m_szIp.ptr());
- emit status(tmp.ptr());
+ QString tmp;
+ KviQString::sprintf(tmp,__tr2qs("Host %s resolved to %Q"),m_url.host().ptr(),&m_szIp);
+ emit status(tmp);
haveServerIp();
} else {
int iErr = d->error();
@@ -223,16 +223,16 @@ void KviHttpRequest::haveServerIp()
unsigned short uPort = m_url.port();
if(uPort == 0)uPort = 80;
- KviStr tmp;
- tmp.sprintf("%s:%u",m_szIp.ptr(),uPort);
- emit contactingHost(tmp.ptr());
+ QString tmp;
+ KviQString::sprintf(tmp,"%Q:%u",&m_szIp,uPort);
+ emit contactingHost(tmp);
if(m_pThread)delete m_pThread;
m_pThread = new KviHttpRequestThread(
this,
m_url.host().ptr(),
- m_szIp.ptr(),
+ m_szIp,
uPort,
m_url.path().ptr(),
m_uContentOffset,
@@ -248,8 +248,8 @@ void KviHttpRequest::haveServerIp()
return;
}
- tmp.sprintf(__tr2qs("Contacting host %s on port %u"),m_szIp.ptr(),uPort);
- emit status(tmp.ptr());
+ KviQString::sprintf(tmp,__tr2qs("Contacting host %Q on port %u"),&m_szIp,uPort);
+ emit status(tmp);
}
bool KviHttpRequest::event(QEvent *e)
@@ -273,8 +273,12 @@ bool KviHttpRequest::event(QEvent *e)
break;
case KVI_HTTP_REQUEST_THREAD_EVENT_REQUESTSENT:
{
- KviStr * req = ((KviThreadDataEvent<KviStr> *)e)->getData();
- QStringList sl = QStringList::split("\r\n",req->ptr());
+ QString * req = ((KviThreadDataEvent<QString> *)e)->getData();
+#ifdef COMPILE_USE_QT4
+ QStringList sl = req->split("\r\n");
+#else
+ QStringList sl = QStringList::split("\r\n",*req);
+#endif
emit requestSent(sl);
delete req;
return true;
@@ -322,7 +326,7 @@ bool KviHttpRequest::event(QEvent *e)
case KVI_THREAD_EVENT_ERROR:
{
KviStr * err = ((KviThreadDataEvent<KviStr> *)e)->getData();
- m_szLastError = __tr_no_xgettext(err->ptr());
+ m_szLastError = __tr2qs_no_xgettext(err->ptr());
delete err;
resetInternalStatus();
emit terminated(false);
@@ -332,7 +336,7 @@ bool KviHttpRequest::event(QEvent *e)
case KVI_THREAD_EVENT_MESSAGE:
{
KviStr * msg = ((KviThreadDataEvent<KviStr> *)e)->getData();
- emit status(__tr_no_xgettext(msg->ptr()));
+ emit status(__tr2qs_no_xgettext(msg->ptr()));
delete msg;
return true;
}
@@ -387,16 +391,16 @@ bool KviHttpRequest::openFile()
{
if(m_eProcessingType != StoreToFile)return true;
- int iOpenFlags = IO_WriteOnly;
+ bool bAppend = false;
// take action when the file is existing
- if(QFile::exists(m_szFileName))
+ if(KviFile::exists(m_szFileName))
{
switch(m_eExistingFileAction)
{
case Resume:
{
- iOpenFlags = IO_WriteOnly | IO_Append;
+ bAppend = true;
}
break;
case RenameIncoming:
@@ -406,7 +410,7 @@ bool KviHttpRequest::openFile()
do {
i++;
m_szFileName = tmp + QString(".kvirnm-%1").arg(i);
- } while(QFile::exists(m_szFileName));
+ } while(KviFile::exists(m_szFileName));
}
break;
case RenameExisting:
@@ -416,7 +420,7 @@ bool KviHttpRequest::openFile()
do {
i++;
tmp = m_szFileName + QString(".kvirnm-%1").arg(i);
- } while(QFile::exists(tmp));
+ } while(KviFile::exists(tmp));
QDir d;
if(!d.rename(m_szFileName,tmp))
{
@@ -435,12 +439,12 @@ bool KviHttpRequest::openFile()
}
}
- m_pFile = new QFile(m_szFileName);
+ m_pFile = new KviFile(m_szFileName);
- if(!m_pFile->open(iOpenFlags))
+ if(!m_pFile->openForWriting(bAppend))
{
resetInternalStatus();
- m_szLastError.sprintf(__tr2qs("Can't open file \"%s\" for writing"),m_szFileName.utf8().data());
+ KviQString::sprintf(m_szLastError,__tr2qs("Can't open file \"%Q\" for writing"),&m_szFileName);
emit terminated(false);
return false;
}
@@ -495,10 +499,11 @@ bool KviHttpRequest::processHeader(KviStr &szHeader)
return false;
}
- KviStr tmp(KviStr::Format,__tr2qs("Received HTTP response: %s"),szResponse.ptr());
+ QString tmp;
+ KviQString::sprintf(tmp,__tr2qs("Received HTTP response: %s"),szResponse.ptr());
- emit status(tmp.ptr());
- emit receivedResponse(szResponse.ptr());
+ emit status(tmp);
+ emit receivedResponse(QString(szResponse.ptr()));
KviPtrList<KviStr> hlist;
hlist.setAutoDelete(true);
@@ -515,7 +520,7 @@ bool KviHttpRequest::processHeader(KviStr &szHeader)
}
if(szHeader.hasData())hlist.append(new KviStr(szHeader));
- QAsciiDict<KviStr> hdr(11,false,true);
+ KviAsciiDict<KviStr> hdr(11,false,true);
hdr.setAutoDelete(true);
for(KviStr * s = hlist.first();s;s = hlist.next())
@@ -865,8 +870,17 @@ check_stream_length:
-KviHttpRequestThread::KviHttpRequestThread(KviHttpRequest * r,const char * szHost,const char * szIp,unsigned short uPort,const char * szPath,unsigned int uContentOffset,RequestMethod m,const QString &szPostData,bool bUseSSL)
-: KviSensitiveThread()
+KviHttpRequestThread::KviHttpRequestThread(
+ KviHttpRequest * r,
+ const QString &szHost,
+ const QString &szIp,
+ unsigned short uPort,
+ const QString & szPath,
+ unsigned int uContentOffset,
+ RequestMethod m,
+ const QString &szPostData,
+ bool bUseSSL
+) : KviSensitiveThread()
{
m_pRequest = r;
m_szHost = szHost;
@@ -910,7 +924,7 @@ bool KviHttpRequestThread::processInternalEvents()
return true;
}
-bool KviHttpRequestThread::failure(const char * error)
+bool KviHttpRequestThread::failure(const char *error)
{
if(error)
{
@@ -931,7 +945,7 @@ bool KviHttpRequestThread::selectForWrite(int iTimeoutInSecs)
{
if(!processInternalEvents())
{
- return failure();
+ return failure(0);
}
fd_set writeSet;
@@ -964,15 +978,13 @@ bool KviHttpRequestThread::selectForWrite(int iTimeoutInSecs)
if((err != EAGAIN) && (err != EINTR))
#endif
{
- KviStr tmp(KviStr::Format,__tr2qs("Select error: %s (errno=%d)"),
- KviError::getDescription(KviError::translateSystemError(err)).utf8().data(),err);
- return failure(tmp.ptr());
+ return failure(KviError::getUntranslatedDescription(KviError::translateSystemError(err)));
}
}
}
- if((time(0) - startTime) > iTimeoutInSecs)return failure(__tr2qs("Operation timed out"));
+ if((time(0) - startTime) > iTimeoutInSecs)return failure(__tr_no_lookup("Operation timed out"));
usleep(100000); // 1/10 sec
}
@@ -988,7 +1000,7 @@ bool KviHttpRequestThread::sslFailure()
{
failure(buffer.ptr());
} else {
- failure(__tr2qs("Unexpected SSL error"));
+ failure(__tr_no_lookup("Unexpected SSL error"));
}
#endif
return false;
@@ -998,15 +1010,15 @@ bool KviHttpRequestThread::connectToRemoteHost()
{
m_sock = kvi_socket_create(KVI_SOCKET_PF_INET,KVI_SOCKET_TYPE_STREAM,0); //tcp
if(m_sock == KVI_INVALID_SOCKET)
- return failure(__tr2qs("Failed to create the socket"));
+ return failure(__tr_no_lookup("Failed to create the socket"));
if(!kvi_socket_setNonBlocking(m_sock))
- return failure(__tr2qs("Failed to enter non blocking mode"));
+ return failure(__tr_no_lookup("Failed to enter non blocking mode"));
sockaddr_in saddr;
- if(!kvi_stringIpToBinaryIp(m_szIp.ptr(),&(saddr.sin_addr)))
- return failure(__tr2qs("Invalid target address"));
+ if(!KviNetUtils::stringIpToBinaryIp(m_szIp,&(saddr.sin_addr)))
+ return failure(__tr_no_lookup("Invalid target address"));
saddr.sin_port = htons(m_uPort);
saddr.sin_family = AF_INET;
@@ -1016,9 +1028,7 @@ bool KviHttpRequestThread::connectToRemoteHost()
int err = kvi_socket_error();
if(!kvi_socket_recoverableConnectError(err))
{
- KviStr tmp(KviStr::Format,__tr2qs("Connect error: %s (errno=%d)"),
- KviError::getDescription(KviError::translateSystemError(err)).utf8().data(),err);
- return failure(tmp.ptr());
+ return failure(KviError::getUntranslatedDescription(KviError::translateSystemError(err)));
}
}
@@ -1035,9 +1045,7 @@ bool KviHttpRequestThread::connectToRemoteHost()
//failed
if(sockError > 0)sockError = KviError::translateSystemError(sockError);
else sockError = KviError_unknownError;
- KviStr tmp(KviStr::Format,__tr2qs("Connect error: %s (errno=%d)"),
- KviError::getDescription(sockError).utf8().data(),sockError);
- return failure(tmp.ptr());
+ return failure(KviError::getUntranslatedDescription(sockError));
}
#ifdef COMPILE_SSL_SUPPORT
@@ -1045,9 +1053,9 @@ bool KviHttpRequestThread::connectToRemoteHost()
{
m_pSSL = new KviSSL();
if(!m_pSSL->initContext(KviSSL::Client))
- return failure(__tr2qs("Failed to initialize the SSL context"));
+ return failure(__tr_no_lookup("Failed to initialize the SSL context"));
if(!m_pSSL->initSocket(m_sock))
- return failure(__tr2qs("Failed to initialize the SSL connection"));
+ return failure(__tr_no_lookup("Failed to initialize the SSL connection"));
for(;;)
{
@@ -1064,7 +1072,7 @@ bool KviHttpRequestThread::connectToRemoteHost()
if(!selectForWrite(60))return false;
break;
case KviSSL::RemoteEndClosedConnection:
- return failure(__tr2qs("Remote end has closed the connection"));
+ return failure(__tr_no_lookup("Remote end has closed the connection"));
break;
case KviSSL::SSLError:
return sslFailure();
@@ -1076,7 +1084,7 @@ bool KviHttpRequestThread::connectToRemoteHost()
if(!kvi_socket_recoverableError(err))
{
// Declare problems :)
- return failure(__tr2qs("Unrecoverable SSL error during handshake"));
+ return failure(__tr_no_lookup("Unrecoverable SSL error during handshake"));
} // else can recover ? (EAGAIN , EINTR ?) ... should select for read or for write
}
break;
@@ -1143,7 +1151,7 @@ bool KviHttpRequestThread::sendBuffer(const char * buffer,int bufLen,int iTimeou
case KviSSL::SyscallError:
if(wrtn == 0)
{
- return failure(__tr("Remote end has closed the connection"));
+ return failure(__tr_no_lookup("Remote end has closed the connection"));
} else {
int iSSLErr = m_pSSL->getLastError(true);
if(iSSLErr != 0)
@@ -1172,9 +1180,7 @@ handle_system_error:
if((err != EAGAIN) && (err != EINTR))
#endif
{
- KviStr tmp(KviStr::Format,__tr2qs("Write error: %s (errno=%d)"),
- KviError::getDescription(KviError::translateSystemError(err)).utf8().data(),err);
- return failure(tmp.ptr());
+ return failure(KviError::getUntranslatedDescription(KviError::translateSystemError(err)));
}
#ifdef COMPILE_SSL_SUPPORT
}
@@ -1184,7 +1190,7 @@ handle_system_error:
int diff = time(0) - startTime;
if(diff > iTimeoutInSecs)
- return failure(__tr2qs("Operation timed out"));
+ return failure(__tr_no_lookup("Operation timed out"));
usleep(10000);
}
@@ -1229,9 +1235,7 @@ int KviHttpRequestThread::selectForReadStep()
if((err != EAGAIN) && (err != EINTR))
#endif
{
- KviStr tmp(KviStr::Format,__tr2qs("Select error: %s (errno=%d)"),
- KviError::getDescription(KviError::translateSystemError(err)).utf8().data(),err);
- failure(tmp.ptr());
+ failure(KviError::getUntranslatedDescription(KviError::translateSystemError(err)));
return -1;
}
}
@@ -1265,7 +1269,7 @@ bool KviHttpRequestThread::selectForRead(int iTimeoutInSecs)
int diff = time(0) - startTime;
if(diff > iTimeoutInSecs)
- return failure(__tr2qs("Operation timed out (while selecting for read)"));
+ return failure(__tr_no_lookup("Operation timed out (while selecting for read)"));
usleep(100000); // 1/10 sec
}
@@ -1333,9 +1337,7 @@ bool KviHttpRequestThread::readDataStep()
#endif
{
// yes...read error
- KviStr tmp(KviStr::Format,__tr2qs("Read error: %s (errno=%d)"),
- KviError::getDescription(KviError::translateSystemError(err)).utf8().data(),err);
- return failure(tmp.ptr());
+ return failure(KviError::getUntranslatedDescription(KviError::translateSystemError(err)));
}
return selectForRead(120); // EINTR or EAGAIN...transient problem
} else {
@@ -1377,7 +1379,7 @@ void KviHttpRequestThread::runInternal()
#ifndef COMPILE_SSL_SUPPORT
if(m_bUseSSL)
{
- failure(__tr2qs("This KVIrc executable has no SSL support"));
+ failure(__tr_no_lookup("This KVIrc executable has no SSL support"));
return;
}
#endif
@@ -1401,27 +1403,25 @@ void KviHttpRequestThread::runInternal()
"Connection: Close\r\n" \
"User-Agent: KVIrc-http-slave/1.0.0\r\n" \
"Accept: */*\r\n",
- szMethod.ptr(),m_szPath.ptr(),m_szHost.ptr());
+ szMethod.ptr(),KviQString::toUtf8(m_szPath).data(),KviQString::toUtf8(m_szHost).data());
if(m_uContentOffset > 0)
szRequest.append(KviStr::Format,"Range: bytes=%u-\r\n",m_uContentOffset);
- QCString szPostData = m_szPostData.utf8();
-
if(m_eRequestMethod == Post)
{
szRequest.append(KviStr::Format,"Content-Type: application/x-www-form-urlencoded\r\n" \
"Content-Length: %u\r\n" \
"Cache-control: no-cache\r\n" \
- "Pragma: no-cache\r\n",szPostData.length());
+ "Pragma: no-cache\r\n",m_szPostData.length());
}
szRequest += "\r\n";
if(m_eRequestMethod == Post)
{
- if(!szPostData.isEmpty())
- szRequest.append(szPostData.data());
+ if(!m_szPostData.isEmpty())
+ szRequest.append(m_szPostData);
szRequest += "\r\n";
}
@@ -1430,7 +1430,7 @@ void KviHttpRequestThread::runInternal()
if(!sendBuffer(szRequest.ptr(),szRequest.len(),60))return;
// now loop reading data
- postEvent(m_pRequest,new KviThreadDataEvent<KviStr>(KVI_HTTP_REQUEST_THREAD_EVENT_REQUESTSENT,new KviStr(szRequest)));
+ postEvent(m_pRequest,new KviThreadDataEvent<QString>(KVI_HTTP_REQUEST_THREAD_EVENT_REQUESTSENT,new QString(szRequest)));
for(;;)
{
diff --git a/src/kvilib/net/kvi_http.h b/src/kvilib/net/kvi_http.h
index 8b8d91464..9f3504e54 100644
--- a/src/kvilib/net/kvi_http.h
+++ b/src/kvilib/net/kvi_http.h
@@ -6,7 +6,7 @@
// Creation date : Sat Aug 17 13:43:31 2002 GMT by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2002-2006 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2002-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
@@ -33,22 +33,40 @@
#include "kvi_inttypes.h"
#include "kvi_url.h"
-//#include <zlib.h>
#include <qobject.h>
-#include <qasciidict.h>
-#include <qfile.h>
+#include "kvi_asciidict.h"
+#include "kvi_file.h"
#include <qstringlist.h>
class KviDns;
class KviSSL;
class KviHttpRequestThread;
+//
+// This class implements a HTTP protocol client.
+// It's able to send GET, POST and HEAD requests,
+// download stuff to a file or to a qt SLOT().
+//
+
class KVILIB_API KviHttpRequest : public QObject, public KviHeapObject
{
Q_OBJECT
public:
- enum ProcessingType { HeadersOnly, WholeFile, Blocks, Lines, StoreToFile };
- enum ExistingFileAction { Overwrite, RenameIncoming, RenameExisting, Resume };
+ enum ProcessingType
+ {
+ HeadersOnly, // Download headers only (HEAD request)
+ WholeFile, // Emit the data as whole file (binaryData() is emitted)
+ Blocks, // Emit the data as blocks (binaryData() is emitted)
+ Lines, // Emit the data as ASCII text lines (the client must take care of decoding the data)
+ StoreToFile // Store the data to a file
+ };
+ enum ExistingFileAction
+ {
+ Overwrite, // Overwrite existing file
+ RenameIncoming, // Automatically rename the incoming file
+ RenameExisting, // Automatically rename the existing file
+ Resume // Attempt to resume the file (get partial content)
+ };
public:
KviHttpRequest();
~KviHttpRequest();
@@ -62,14 +80,12 @@ protected:
unsigned int m_uMaxContentLength;
unsigned int m_uContentOffset;
QString m_szPostData;
-
// status
QString m_szLastError;
unsigned int m_uTotalSize;
unsigned int m_uReceivedSize;
-
// internal status
- KviStr m_szIp;
+ QString m_szIp;
KviDns * m_pDns;
KviHttpRequestThread * m_pThread;
KviDataBuffer * m_pBuffer;
@@ -78,8 +94,7 @@ protected:
bool m_bGzip;
unsigned int m_uRemainingChunkSize;
bool m_bIgnoreRemainingData; // used in chunked transfer after the last chunk has been seen
- QFile * m_pFile;
-// z_stream m_zStream;
+ KviFile * m_pFile;
protected:
bool startDnsLookup();
virtual bool event(QEvent *e);
@@ -115,29 +130,29 @@ public:
void setPrivateData(void * ptr){ m_pPrivateData = ptr; };
void setMaxContentLength(int uMaxContentLength){ m_uMaxContentLength = uMaxContentLength; }; //0 means unlimited
// this will work regardless of ExistingFileAction : even if the file doesn't exist
- void setContentOffset(int uContentOffset){ m_uContentOffset= uContentOffset; };
+ void setContentOffset(int uContentOffset){ m_uContentOffset = uContentOffset; };
bool start();
// this is a shortcut for reset()+setUrl()+setProcessingType()+setFileName()+start()
- bool get(const KviUrl &u,ProcessingType p = WholeFile,const char * szFileName = 0);
+ bool get(const KviUrl &u,ProcessingType p = WholeFile,const QString &szFileName = QString::null);
const QString & lastError(){ return m_szLastError; };
void abort();
signals:
- void resolvingHost(const char * hostname);
- void contactingHost(const char * ipandport);
+ void resolvingHost(const QString &hostname);
+ void contactingHost(const QString &ipandport);
void connectionEstabilished();
- void receivedResponse(const char * response);
+ void receivedResponse(const QString &response);
void terminated(bool bSuccess);
- void status(const char * message);
+ void status(const QString &message);
void data(const KviStr &data);
void binaryData(const KviDataBuffer &data);
- void header(QAsciiDict<KviStr> * hdr);
+ void header(KviAsciiDict<KviStr> * hdr);
void requestSent(const QStringList &request);
};
@@ -149,10 +164,10 @@ public:
enum RequestMethod { Post, Get , Head };
protected:
KviHttpRequestThread(KviHttpRequest * r,
- const char * szHost,
- const char * szIp,
+ const QString &szHost,
+ const QString &szIp,
unsigned short uPort,
- const char * szPath,
+ const QString &szPath,
unsigned int uContentOffset,
RequestMethod m,
const QString &szPostData = QString::null,
@@ -163,9 +178,9 @@ public:
protected:
KviHttpRequest * m_pRequest;
- KviStr m_szHost;
- KviStr m_szIp;
- KviStr m_szPath;
+ QString m_szHost;
+ QString m_szIp;
+ QString m_szPath;
unsigned int m_uContentOffset;
RequestMethod m_eRequestMethod;
QString m_szPostData;
@@ -180,8 +195,8 @@ protected:
int selectForReadStep();
bool selectForRead(int iTimeoutInSecs);
bool readDataStep();
- bool sendBuffer(const char * buffer,int bufLen,int iTimeoutInSecs);
- bool failure(const char * error = 0);
+ bool sendBuffer(const char *buffer,int bufLen,int iTimeoutInSecs);
+ bool failure(const char *error=0);
bool sslFailure();
bool selectForWrite(int iTimeoutInSecs);
bool connectToRemoteHost();
diff --git a/src/kvilib/net/kvi_netutils.cpp b/src/kvilib/net/kvi_netutils.cpp
index 625441cf1..971008acb 100644
--- a/src/kvilib/net/kvi_netutils.cpp
+++ b/src/kvilib/net/kvi_netutils.cpp
@@ -976,7 +976,7 @@ namespace KviNetUtils
return FALSE;
#else //HAVE_INET_ATON
if(szStringIp.isEmpty())return false;
- return (inet_aton(szStringIp.utf8().data(),address) != 0);
+ return (inet_aton(KviQString::toUtf8(szStringIp).data(),address) != 0);
#endif //HAVE_INET_ATON
}
@@ -1003,7 +1003,7 @@ namespace KviNetUtils
{
- return (inet_pton(AF_INET6,szStringIp.utf8().data(),(void *)address) == 1);
+ return (inet_pton(AF_INET6,KviQString::toUtf8(szStringIp).data(),(void *)address) == 1);
}
@@ -1021,6 +1021,15 @@ namespace KviNetUtils
}
+ bool binaryIpToStringIp_V6(struct in6_addr in,QString &szBuffer)
+ {
+ char buf[46];
+ bool bRet = inet_ntop(AF_INET6,(void *)&in,buf,46);
+ szBuffer= buf;
+ return bRet;
+ }
+
+
#endif //COMPILE_IPV6_SUPPORT
@@ -1107,7 +1116,7 @@ namespace KviNetUtils
- kvi_memmove(ifr.ifr_name,szInterfaceName.utf8().data(),len + 1);
+ kvi_memmove(ifr.ifr_name,KviQString::toUtf8(szInterfaceName).data(),len + 1);
diff --git a/src/kvilib/net/kvi_netutils.h b/src/kvilib/net/kvi_netutils.h
index acc365d2b..2e0b01827 100644
--- a/src/kvilib/net/kvi_netutils.h
+++ b/src/kvilib/net/kvi_netutils.h
@@ -93,6 +93,7 @@ namespace KviNetUtils
#ifdef COMPILE_IPV6_SUPPORT
KVILIB_API bool isValidStringIp_V6(const QString &szStringIp);
KVILIB_API bool stringIpToBinaryIp_V6(const QString &szStringIp,struct in6_addr * address);
+ KVILIB_API bool binaryIpToStringIp_V6(struct in6_addr in,QString &szBuffer);
#endif
KVILIB_API bool isRoutableIp(const char * ipaddr);
KVILIB_API bool isRoutableIpString(const QString &szIpString);
diff --git a/src/kvilib/net/kvi_ssl.cpp b/src/kvilib/net/kvi_ssl.cpp
index 2c8b97f1d..51c874cf4 100644
--- a/src/kvilib/net/kvi_ssl.cpp
+++ b/src/kvilib/net/kvi_ssl.cpp
@@ -481,9 +481,9 @@ KviSSLCipherInfo * KviSSL::getCurrentCipherInfo()
KviSSLCertificate::KviSSLCertificate(X509 * x509)
{
- m_pSubject = new QAsciiDict<KviStr>(17);
+ m_pSubject = new KviAsciiDict<KviStr>(17);
m_pSubject->setAutoDelete(true);
- m_pIssuer = new QAsciiDict<KviStr>(17);
+ m_pIssuer = new KviAsciiDict<KviStr>(17);
m_pIssuer->setAutoDelete(true);
m_pX509 = 0;
setX509(x509);
@@ -546,7 +546,7 @@ void KviSSLCertificate::extractIssuer()
splitX509String(m_pIssuer,t);
}
-void KviSSLCertificate::splitX509String(QAsciiDict<KviStr> * dict,const char * t)
+void KviSSLCertificate::splitX509String(KviAsciiDict<KviStr> * dict,const char * t)
{
KviStr buf = t;
int cnt;
@@ -575,7 +575,7 @@ void KviSSLCertificate::splitX509String(QAsciiDict<KviStr> * dict,const char * t
}
-const char * KviSSLCertificate::dictEntry(QAsciiDict<KviStr> * dict,const char * entry)
+const char * KviSSLCertificate::dictEntry(KviAsciiDict<KviStr> * dict,const char * entry)
{
KviStr * t = dict->find(entry);
if(!t)return __tr("Unknown");
diff --git a/src/kvilib/net/kvi_ssl.h b/src/kvilib/net/kvi_ssl.h
index 8671047f4..d61e67ab3 100644
--- a/src/kvilib/net/kvi_ssl.h
+++ b/src/kvilib/net/kvi_ssl.h
@@ -29,7 +29,7 @@
#include "kvi_string.h"
#include "kvi_sockettype.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <openssl/ssl.h>
@@ -41,8 +41,8 @@ public:
~KviSSLCertificate();
protected:
X509 * m_pX509;
- QAsciiDict<KviStr> * m_pSubject;
- QAsciiDict<KviStr> * m_pIssuer;
+ KviAsciiDict<KviStr> * m_pSubject;
+ KviAsciiDict<KviStr> * m_pIssuer;
int m_iPubKeyBits;
KviStr m_szPubKeyType;
int m_iSerialNumber;
@@ -55,8 +55,8 @@ private:
void extractPubKeyInfo();
void extractSerialNumber();
void extractSignature();
- const char * dictEntry(QAsciiDict<KviStr> * dict,const char * entry);
- void splitX509String(QAsciiDict<KviStr> * dict,const char * t);
+ const char * dictEntry(KviAsciiDict<KviStr> * dict,const char * entry);
+ void splitX509String(KviAsciiDict<KviStr> * dict,const char * t);
// void getPKeyType(int type,KviStr &buffer);
public:
void setX509(X509 * x509);
diff --git a/src/kvilib/system/kvi_locale.cpp b/src/kvilib/system/kvi_locale.cpp
index 2c5570412..d3b443d0f 100644
--- a/src/kvilib/system/kvi_locale.cpp
+++ b/src/kvilib/system/kvi_locale.cpp
@@ -37,9 +37,15 @@
#include <qtextcodec.h>
#include <qdir.h>
+#ifdef COMPILE_USE_QT4
+ #include <qlocale.h>
+#endif
+
#include "kvi_string.h"
+#include "kvi_qcstring.h"
#include "kvi_env.h"
#include "kvi_fileutils.h"
+#include "kvi_file.h"
KVILIB_API KviMessageCatalogue * g_pMainCatalogue = 0;
@@ -156,7 +162,7 @@ static bool may_be_utf8(const unsigned char * p,int len)
class KviSmartTextCodec : public QTextCodec
{
protected:
- KviStr m_szName;
+ KviQCString m_szName;
QTextCodec * m_pRecvCodec;
QTextCodec * m_pSendCodec;
public:
@@ -186,18 +192,29 @@ public:
}
public:
bool ok(){ return m_pRecvCodec && g_pUtf8TextCodec; };
- virtual const char * name () const { return m_szName.ptr(); };
- virtual const char * mimeName () const { return m_pRecvCodec->mimeName(); };
+
virtual int mibEnum () const { return 0; };
- virtual QTextDecoder * makeDecoder () const { return m_pRecvCodec->makeDecoder(); };
- virtual QTextEncoder * makeEncoder () const { return m_pSendCodec->makeEncoder(); };
+
#ifdef COMPILE_USE_QT4
- QByteArray fromUnicode (const QString & uc) const { return m_pSendCodec->fromUnicode(uc); };
- virtual QByteArray fromUnicode (const QString & uc,int & lenInOut) const { return m_pSendCodec->fromUnicode(uc,lenInOut); };
+ virtual QByteArray name() const { return m_szName; };
+protected:
+ virtual QByteArray convertFromUnicode(const QChar * input,int number,ConverterState * state) const
+ {
+ return m_pSendCodec->fromUnicode(input,number,state);
+ }
+ virtual QString convertToUnicode(const char * chars,int len,ConverterState * state) const
+ {
+ if(may_be_utf8((const unsigned char *)chars,len))return g_pUtf8TextCodec->toUnicode(chars,len,state);
+ return m_pRecvCodec->toUnicode(chars,len,state);
+ }
#else
+public:
+ virtual const char * mimeName () const { return m_pRecvCodec->mimeName(); };
+ virtual const char * name () const { return m_szName.data(); };
+ virtual QTextDecoder * makeDecoder () const { return m_pRecvCodec->makeDecoder(); };
+ virtual QTextEncoder * makeEncoder () const { return m_pSendCodec->makeEncoder(); };
QCString fromUnicode (const QString & uc) const { return m_pSendCodec->fromUnicode(uc); };
virtual QCString fromUnicode (const QString & uc,int & lenInOut) const { return m_pSendCodec->fromUnicode(uc,lenInOut); };
-#endif
QString toUnicode(const char * chars) const
{
if(may_be_utf8((const unsigned char *)chars))return g_pUtf8TextCodec->toUnicode(chars);
@@ -218,7 +235,6 @@ public:
if(may_be_utf8((const unsigned char *)(a.data()),a.size()))return g_pUtf8TextCodec->toUnicode(a);
return m_pRecvCodec->toUnicode(a);
};
-#ifndef COMPILE_USE_QT4
QString toUnicode(const QCString & a,int len) const
{
if(may_be_utf8((const unsigned char *)(a.data()),len))return g_pUtf8TextCodec->toUnicode(a,len);
@@ -229,7 +245,7 @@ public:
if(may_be_utf8((const unsigned char *)(a.data())))return g_pUtf8TextCodec->toUnicode(a);
return m_pRecvCodec->toUnicode(a);
};
-#endif
+
virtual bool canEncode(QChar ch) const { return m_pSendCodec->canEncode(ch); };
virtual bool canEncode(const QString &s) const { return m_pSendCodec->canEncode(s); };
virtual int heuristicContentMatch(const char * chars,int len) const
@@ -239,6 +255,7 @@ public:
return iii;
}
virtual int heuristicNameMatch(const char * hint) const { return 0; };
+#endif
};
static KviAsciiDict<KviSmartTextCodec> * g_pSmartCodecDict = 0;
@@ -288,27 +305,27 @@ static KviAsciiDict<KviSmartTextCodec> * g_pSmartCodecDict = 0;
struct GnuMoFileHeader
{
// The magic number.
- Q_UINT32 magic;
+ kvi_u32_t magic;
// The revision number of the file format.
- Q_UINT32 revision;
+ kvi_u32_t revision;
// The number of strings pairs.
- Q_UINT32 nstrings;
+ kvi_u32_t nstrings;
// Offset of table with start offsets of original strings.
- Q_UINT32 orig_tab_offset;
+ kvi_u32_t orig_tab_offset;
// Offset of table with start offsets of translation strings.
- Q_UINT32 trans_tab_offset;
+ kvi_u32_t trans_tab_offset;
// Size of hashing table.
- Q_UINT32 hash_tab_size;
+ kvi_u32_t hash_tab_size;
// Offset of first hashing entry.
- Q_UINT32 hash_tab_offset;
+ kvi_u32_t hash_tab_offset;
};
struct GnuMoStringDescriptor
{
// Length of addressed string.
- Q_UINT32 length;
+ kvi_u32_t length;
// Offset of string in file.
- Q_UINT32 offset;
+ kvi_u32_t offset;
};
#define KVI_SWAP_IF_NEEDED(flag,value) (flag ? kvi_swap32(value) : (value))
@@ -361,10 +378,10 @@ bool KviMessageCatalogue::load(const QString& name)
QString szCatalogueFile(name);
// Try to load the header
- QFile f(szCatalogueFile);
- if(!f.open(IO_ReadOnly))
+ KviFile f(szCatalogueFile);
+ if(!f.openForReading())
{
- debug("[KviLocale]: Failed to open the messages file %s: probably doesn't exist",szCatalogueFile.utf8().data());
+ debug("[KviLocale]: Failed to open the messages file %s: probably doesn't exist",KviQString::toUtf8(szCatalogueFile).data());
return false;
}
@@ -372,7 +389,7 @@ bool KviMessageCatalogue::load(const QString& name)
if(f.readBlock((char *)&hdr,sizeof(GnuMoFileHeader)) < (int)sizeof(GnuMoFileHeader))
{
- debug("KviLocale: Failed to read header of %s",szCatalogueFile.utf8().data());
+ debug("KviLocale: Failed to read header of %s",KviQString::toUtf8(szCatalogueFile).data());
f.close();
return false;
}
@@ -383,10 +400,10 @@ bool KviMessageCatalogue::load(const QString& name)
{
if(hdr.magic == KVI_LOCALE_MAGIC_SWAPPED)
{
- debug("KviLocale: Swapped magic for file %s: swapping data too",szCatalogueFile.utf8().data());
+ debug("KviLocale: Swapped magic for file %s: swapping data too",KviQString::toUtf8(szCatalogueFile).data());
bMustSwap = true;
} else {
- debug("KviLocale: Bad locale magic for file %s: not a *.mo file ?",szCatalogueFile.utf8().data());
+ debug("KviLocale: Bad locale magic for file %s: not a *.mo file ?",KviQString::toUtf8(szCatalogueFile).data());
f.close();
return false;
}
@@ -394,7 +411,7 @@ bool KviMessageCatalogue::load(const QString& name)
if(KVI_SWAP_IF_NEEDED(bMustSwap,hdr.revision) != MO_REVISION_NUMBER)
{
- debug("KviLocale: Invalid *.mo file revision number for file %s",szCatalogueFile.utf8().data());
+ debug("KviLocale: Invalid *.mo file revision number for file %s",KviQString::toUtf8(szCatalogueFile).data());
f.close();
return false;
}
@@ -403,7 +420,7 @@ bool KviMessageCatalogue::load(const QString& name)
if(numberOfStrings <= 0)
{
- debug("KviLocale: No translated messages found in file %s",szCatalogueFile.utf8().data());
+ debug("KviLocale: No translated messages found in file %s",KviQString::toUtf8(szCatalogueFile).data());
f.close();
return false;
}
@@ -415,7 +432,7 @@ bool KviMessageCatalogue::load(const QString& name)
}
// return back
- f.at(0);
+ f.seek(0);
unsigned int fSize = f.size();
char * buffer = (char *)kvi_malloc(fSize);
@@ -423,7 +440,7 @@ bool KviMessageCatalogue::load(const QString& name)
// FIXME: maybe read it in blocks eh ?
if(f.readBlock(buffer,fSize) < (int)fSize)
{
- debug("KviLocale: Error while reading the translation file %s",szCatalogueFile.utf8().data());
+ debug("KviLocale: Error while reading the translation file %s",KviQString::toUtf8(szCatalogueFile).data());
kvi_free(buffer);
f.close();
return false;
@@ -432,7 +449,7 @@ bool KviMessageCatalogue::load(const QString& name)
// Check for broken *.mo files
if(fSize < (24 + (sizeof(GnuMoStringDescriptor) * numberOfStrings)))
{
- debug("KviLocale: Broken translation file %s (too small for all descriptors)",szCatalogueFile.utf8().data());
+ debug("KviLocale: Broken translation file %s (too small for all descriptors)",KviQString::toUtf8(szCatalogueFile).data());
kvi_free(buffer);
f.close();
return false;
@@ -447,7 +464,7 @@ bool KviMessageCatalogue::load(const QString& name)
if(fSize < (unsigned int)expectedFileSize)
{
- debug("KviLocale: Broken translation file %s (too small for all the message strings)",szCatalogueFile.utf8().data());
+ debug("KviLocale: Broken translation file %s (too small for all the message strings)",KviQString::toUtf8(szCatalogueFile).data());
kvi_free(buffer);
f.close();
return false;
@@ -735,10 +752,10 @@ namespace KviLocale
return g_szLang;
}
- bool loadCatalogue(const QString& name,const QString& szLocaleDir)
+ bool loadCatalogue(const QString &name,const QString &szLocaleDir)
{
//debug("Looking up catalogue %s",name);
- if(g_pCatalogueDict->find(name))return true; // already loaded
+ if(g_pCatalogueDict->find(KviQString::toUtf8(name).data()))return true; // already loaded
QString szBuffer;
@@ -748,17 +765,17 @@ namespace KviLocale
if(c->load(szBuffer))
{
//debug("KviLocale: loaded catalogue %s",name);
- g_pCatalogueDict->insert(name,c);
+ g_pCatalogueDict->insert(KviQString::toUtf8(name).data(),c);
return true;
}
}
return false;
}
- bool unloadCatalogue(const QString& name)
+ bool unloadCatalogue(const QString &name)
{
//debug("Unloading catalogue : %s",name);
- return g_pCatalogueDict->remove(name);
+ return g_pCatalogueDict->remove(KviQString::toUtf8(name).data());
}
bool findCatalogue(QString &szBuffer,const QString& name,const QString& szLocaleDir)
@@ -769,7 +786,6 @@ namespace KviLocale
KviQString::ensureLastCharIs(szLocDir,KVI_PATH_SEPARATOR_CHAR);
szBuffer = szLocDir+name+"_"+szLocale.ptr()+".mo";
-// debug("Lookup %s",szBuffer.utf8().data());
if(KviFileUtils::fileExists(szBuffer))return true;
if(szLocale.findFirstIdx('.') != -1)
@@ -817,11 +833,15 @@ namespace KviLocale
// translation map was sucesfully loaded
//
- void init(QApplication * app,const QString& localeDir)
+ void init(QApplication * app,const QString &localeDir)
{
// first of all try to find out the current locale
g_szLang="";
+#ifdef COMPILE_USE_QT4
+ QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homePath());
+#else
QString szLangFile=QString("%1/.kvirc_force_locale").arg(QDir::homeDirPath());
+#endif
if(KviFileUtils::fileExists(szLangFile))
{
QString szTmp;
@@ -829,7 +849,11 @@ namespace KviLocale
g_szLang=szTmp;
}
if(g_szLang.isEmpty())g_szLang = kvi_getenv("KVIRC_LANG");
+#ifdef COMPILE_USE_QT4
+ if(g_szLang.isEmpty())g_szLang = QLocale::system().name();
+#else
if(g_szLang.isEmpty())g_szLang = QTextCodec::locale();
+#endif
if(g_szLang.isEmpty())g_szLang = kvi_getenv("LC_MESSAGES");
if(g_szLang.isEmpty())g_szLang = kvi_getenv("LANG");
if(g_szLang.isEmpty())g_szLang = "en";
@@ -898,7 +922,7 @@ namespace KviLocale
KviMessageCatalogue * getLoadedCatalogue(const QString& name)
{
- return g_pCatalogueDict->find(name);
+ return g_pCatalogueDict->find(KviQString::toUtf8(name).data());
}
diff --git a/src/kvilib/system/kvi_thread.cpp b/src/kvilib/system/kvi_thread.cpp
index 1b348b527..5dcdae8f9 100644
--- a/src/kvilib/system/kvi_thread.cpp
+++ b/src/kvilib/system/kvi_thread.cpp
@@ -189,17 +189,17 @@ KviThreadManager::KviThreadManager()
if(pipe(m_fd) != 0)
{
- debug("Ops...thread manager pipe creation failed (%s)",KviError::getDescription(KviError::translateSystemError(errno)).utf8().data());
+ debug("Ops...thread manager pipe creation failed (%s)",KviQString::toUtf8(KviError::getDescription(KviError::translateSystemError(errno))).data());
}
if(fcntl(m_fd[KVI_THREAD_PIPE_SIDE_SLAVE],F_SETFL,O_NONBLOCK) == -1)
{
- debug("Ops...thread manager slave pipe initialisation failed (%s)",KviError::getDescription(KviError::translateSystemError(errno)).utf8().data());
+ debug("Ops...thread manager slave pipe initialisation failed (%s)",KviQString::toUtf8(KviError::getDescription(KviError::translateSystemError(errno))).data());
}
if(fcntl(m_fd[KVI_THREAD_PIPE_SIDE_MASTER],F_SETFL,O_NONBLOCK) == -1)
{
- debug("Ops...thread manager master pipe initialisation failed (%s)",KviError::getDescription(KviError::translateSystemError(errno)).utf8().data());
+ debug("Ops...thread manager master pipe initialisation failed (%s)",KviQString::toUtf8(KviError::getDescription(KviError::translateSystemError(errno))).data());
}
m_pSn = new QSocketNotifier(m_fd[KVI_THREAD_PIPE_SIDE_MASTER],QSocketNotifier::Read);
diff --git a/src/kvilib/tal/kvi_tal_filedialog.cpp b/src/kvilib/tal/kvi_tal_filedialog.cpp
index 3bfb8d8c5..2e317f5f3 100644
--- a/src/kvilib/tal/kvi_tal_filedialog.cpp
+++ b/src/kvilib/tal/kvi_tal_filedialog.cpp
@@ -1,9 +1,10 @@
+//=============================================================================
//
// File : kvi_tal_filedialog.coo
// Creation date : Thu Sep 11 2003 04:09:24 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2003 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2003-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
@@ -19,106 +20,157 @@
// 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_tal_filedialog.h"
-#ifdef COMPILE_KDE_SUPPORT
+#ifdef COMPILE_USE_QT4
+
+ #include <qdir.h>
KviTalFileDialog::KviTalFileDialog(const QString &dirName,const QString &filter,QWidget *parent,const char *name,bool modal)
- : KFileDialog(dirName,filter,parent,name,modal)
+ : QFileDialog(parent,"",dirName,filter)
{
- clearWFlags(WDestructiveClose);
+ setModal(modal);
}
KviTalFileDialog::~KviTalFileDialog()
{
}
-
+
void KviTalFileDialog::setFileMode(FileMode m)
{
switch(m)
{
case AnyFile:
- setMode(KFile::File | KFile::LocalOnly);
- setOperationMode(Saving);
+ QFileDialog::setFileMode(QFileDialog::AnyFile);
break;
case ExistingFile:
- setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly);
- setOperationMode(Opening);
+ QFileDialog::setFileMode(QFileDialog::ExistingFile);
break;
case ExistingFiles:
- setMode(KFile::Files | KFile::ExistingOnly | KFile::LocalOnly);
- setOperationMode(Opening);
+ QFileDialog::setFileMode(QFileDialog::ExistingFiles);
break;
case Directory:
- setMode(KFile::Directory);
+ QFileDialog::setFileMode(QFileDialog::Directory);
break;
case DirectoryOnly:
- setMode(KFile::Directory);
+ QFileDialog::setFileMode(QFileDialog::DirectoryOnly);
break;
default:
- setMode(KFile::File | KFile::LocalOnly);
- setOperationMode(Saving);
+ QFileDialog::setFileMode(QFileDialog::AnyFile);
break;
}
}
void KviTalFileDialog::setDirectory(const QString &szDirectory)
{
- setURL(szDirectory);
+ setDirectory(szDirectory);
}
- #include "kvi_tal_filedialog_kde.moc"
+ #include "kvi_tal_filedialog_qt4.moc"
#else
- #include <qdir.h>
-
- KviTalFileDialog::KviTalFileDialog(const QString &dirName,const QString &filter,QWidget *parent,const char *name,bool modal)
- : QFileDialog(dirName,filter,parent,name,modal)
- {
- clearWFlags(WDestructiveClose);
- }
-
- KviTalFileDialog::~KviTalFileDialog()
- {
- }
-
- void KviTalFileDialog::setFileMode(FileMode m)
- {
- switch(m)
+ #ifdef COMPILE_KDE_SUPPORT
+
+ KviTalFileDialog::KviTalFileDialog(const QString &dirName,const QString &filter,QWidget *parent,const char *name,bool modal)
+ : KFileDialog(dirName,filter,parent,name,modal)
{
- case AnyFile:
- setMode(QFileDialog::AnyFile);
- break;
- case ExistingFile:
- setMode(QFileDialog::ExistingFile);
- break;
- case ExistingFiles:
- setMode(QFileDialog::ExistingFiles);
- break;
- case Directory:
- setMode(QFileDialog::Directory);
- break;
- case DirectoryOnly:
- setMode(QFileDialog::DirectoryOnly);
- break;
- default:
- setMode(QFileDialog::AnyFile);
- break;
+ clearWFlags(WDestructiveClose);
}
- }
- void KviTalFileDialog::setDirectory(const QString &szDirectory)
- {
- setDir(QDir(szDirectory));
- }
-
-
- #include "kvi_tal_filedialog_qt.moc"
-
+ KviTalFileDialog::~KviTalFileDialog()
+ {
+ }
+
+ void KviTalFileDialog::setFileMode(FileMode m)
+ {
+ switch(m)
+ {
+ case AnyFile:
+ setMode(KFile::File | KFile::LocalOnly);
+ setOperationMode(Saving);
+ break;
+ case ExistingFile:
+ setMode(KFile::File | KFile::ExistingOnly | KFile::LocalOnly);
+ setOperationMode(Opening);
+ break;
+ case ExistingFiles:
+ setMode(KFile::Files | KFile::ExistingOnly | KFile::LocalOnly);
+ setOperationMode(Opening);
+ break;
+ case Directory:
+ setMode(KFile::Directory);
+ break;
+ case DirectoryOnly:
+ setMode(KFile::Directory);
+ break;
+ default:
+ setMode(KFile::File | KFile::LocalOnly);
+ setOperationMode(Saving);
+ break;
+ }
+ }
+
+ void KviTalFileDialog::setDirectory(const QString &szDirectory)
+ {
+ setURL(szDirectory);
+ }
+
+
+ #include "kvi_tal_filedialog_kde.moc"
+
+ #else
+
+ #include <qdir.h>
+
+ KviTalFileDialog::KviTalFileDialog(const QString &dirName,const QString &filter,QWidget *parent,const char *name,bool modal)
+ : QFileDialog(dirName,filter,parent,name,modal)
+ {
+ clearWFlags(WDestructiveClose);
+ }
+
+ KviTalFileDialog::~KviTalFileDialog()
+ {
+ }
+
+ void KviTalFileDialog::setFileMode(FileMode m)
+ {
+ switch(m)
+ {
+ case AnyFile:
+ setMode(QFileDialog::AnyFile);
+ break;
+ case ExistingFile:
+ setMode(QFileDialog::ExistingFile);
+ break;
+ case ExistingFiles:
+ setMode(QFileDialog::ExistingFiles);
+ break;
+ case Directory:
+ setMode(QFileDialog::Directory);
+ break;
+ case DirectoryOnly:
+ setMode(QFileDialog::DirectoryOnly);
+ break;
+ default:
+ setMode(QFileDialog::AnyFile);
+ break;
+ }
+ }
+
+ void KviTalFileDialog::setDirectory(const QString &szDirectory)
+ {
+ setDir(QDir(szDirectory));
+ }
+
+
+ #include "kvi_tal_filedialog_qt.moc"
+
+ #endif
#endif
diff --git a/src/kvilib/tal/kvi_tal_filedialog.h b/src/kvilib/tal/kvi_tal_filedialog.h
index a651e8e69..4de6b6f90 100644
--- a/src/kvilib/tal/kvi_tal_filedialog.h
+++ b/src/kvilib/tal/kvi_tal_filedialog.h
@@ -1,12 +1,13 @@
#ifndef _KVI_TAL_FILEDIALOG_H_
#define _KVI_TAL_FILEDIALOG_H_
+//=============================================================================
//
// File : kvi_tal_filedialog.h
// Creation date : Thu Sep 11 2003 04:41:08 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2003 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2003-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
@@ -22,13 +23,18 @@
// along with this program. If not, write to the Free Software Foundation,
// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
+//=============================================================================
#include "kvi_settings.h"
-#ifdef COMPILE_KDE_SUPPORT
- #include "kvi_tal_filedialog_kde.h"
+#ifdef COMPILE_USE_QT4
+ #include "kvi_tal_filedialog_qt4.h"
#else
- #include "kvi_tal_filedialog_qt.h"
+ #ifdef COMPILE_KDE_SUPPORT
+ #include "kvi_tal_filedialog_kde.h"
+ #else
+ #include "kvi_tal_filedialog_qt.h"
+ #endif
#endif
#endif // _KVI_TAL_FILEDIALOG_H_
diff --git a/src/kvilib/tal/kvi_tal_filedialog_qt.h b/src/kvilib/tal/kvi_tal_filedialog_qt.h
index d2ab332b6..931cd1206 100644
--- a/src/kvilib/tal/kvi_tal_filedialog_qt.h
+++ b/src/kvilib/tal/kvi_tal_filedialog_qt.h
@@ -37,9 +37,6 @@ public:
void setFileMode(FileMode m);
void setDirectory(const QString &szDirectory);
-
-
-
static QString getExistingDirectoryPath(const QString &dir = QString::null,const QString &caption = QString::null,QWidget *parent = 0)
{ return getExistingDirectory(dir,parent,0 /* name */,caption); };
};
diff --git a/src/kvilib/tal/kvi_tal_filedialog_qt4.h b/src/kvilib/tal/kvi_tal_filedialog_qt4.h
new file mode 100644
index 000000000..7407cfec4
--- /dev/null
+++ b/src/kvilib/tal/kvi_tal_filedialog_qt4.h
@@ -0,0 +1,46 @@
+#ifndef _KVI_TAL_FILEDIALOG_QT4_H_
+#define _KVI_TAL_FILEDIALOG_QT4_H_
+
+//=============================================================================
+//
+// File : kvi_tal_filedialog_qt4.h
+// Creation date : Fri 19 Jan 2007 02:17:12 by Szymon Stefanek
+//
+// This file is part of the KVirc irc client distribution
+// Copyright (C) 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
+// 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.
+//
+//=============================================================================
+
+#include <qfiledialog.h>
+
+class KVILIB_API KviTalFileDialog : public QFileDialog
+{
+ Q_OBJECT
+public:
+ KviTalFileDialog(const QString &dirName,const QString &filter = QString::null,QWidget *parent = 0,const char *name = 0,bool modal = FALSE);
+ ~KviTalFileDialog();
+public:
+ enum FileMode { AnyFile, ExistingFile, ExistingFiles, Directory, DirectoryOnly };
+
+ void setFileMode(FileMode m);
+ void setDirectory(const QString &szDirectory);
+
+ static QString getExistingDirectoryPath(const QString &dir = QString::null,const QString &caption = QString::null,QWidget *parent = 0)
+ { return getExistingDirectory(parent,caption,dir); };
+};
+
+#endif // _KVI_TAL_FILEDIALOG_QT_H_
diff --git a/src/kvilib/tal/kvi_tal_mainwindow.cpp b/src/kvilib/tal/kvi_tal_mainwindow.cpp
index 320ddc3cb..d7348b6b6 100644
--- a/src/kvilib/tal/kvi_tal_mainwindow.cpp
+++ b/src/kvilib/tal/kvi_tal_mainwindow.cpp
@@ -41,7 +41,11 @@
#else
KviTalMainWindow::KviTalMainWindow(QWidget * par,const char * nam)
+#ifdef COMPILE_USE_QT4
+ : QMainWindow(par)
+#else
: QMainWindow(par,nam)
+#endif
{
}
diff --git a/src/kvilib/tal/kvi_tal_menubar.cpp b/src/kvilib/tal/kvi_tal_menubar.cpp
index 73fe8ffe6..72f38a800 100644
--- a/src/kvilib/tal/kvi_tal_menubar.cpp
+++ b/src/kvilib/tal/kvi_tal_menubar.cpp
@@ -41,7 +41,11 @@
#else
KviTalMenuBar::KviTalMenuBar(QWidget * par,const char * nam)
+#ifdef COMPILE_USE_QT4
+ : QMenuBar(par)
+#else
: QMenuBar(par,nam)
+#endif
{
}
diff --git a/src/kvilib/tal/kvi_tal_toolbar.cpp b/src/kvilib/tal/kvi_tal_toolbar.cpp
index 9c412b8b4..14c465912 100644
--- a/src/kvilib/tal/kvi_tal_toolbar.cpp
+++ b/src/kvilib/tal/kvi_tal_toolbar.cpp
@@ -42,8 +42,16 @@
#else
KviTalToolBar::KviTalToolBar(const QString &label,QMainWindow *w,QT_TOOLBARDOCK_TYPE dock,bool bNewLine,const char * nam)
+#ifdef COMPILE_USE_QT4
+ : QToolBar(label,w)
+#else
: QToolBar(label,w,dock,bNewLine,nam)
+#endif
{
+#ifdef COMPILE_USE_QT4
+ if(bNewLine)w->addToolBarBreak(dock);
+ w->addToolBar(dock,this);
+#endif
}
KviTalToolBar::~KviTalToolBar()
diff --git a/src/kvilib/tal/kvi_tal_toolbardocktype.h b/src/kvilib/tal/kvi_tal_toolbardocktype.h
index 90793ba2f..93314ceae 100644
--- a/src/kvilib/tal/kvi_tal_toolbardocktype.h
+++ b/src/kvilib/tal/kvi_tal_toolbardocktype.h
@@ -24,25 +24,36 @@
#include "kvi_settings.h"
-
-#if QT_VERSION >= 300
- #define QT_TOOLBARDOCK_TYPE Qt::Dock
- #define QT_DOCK_TOP Qt::DockTop
- #define QT_DOCK_LEFT Qt::DockLeft
- #define QT_DOCK_RIGHT Qt::DockRight
- #define QT_DOCK_BOTTOM Qt::DockBottom
- #define QT_DOCK_MINIMIZED Qt::DockMinimized
- #define QT_DOCK_TORNOFF Qt::DockTornOff
- #define QT_DOCK_UNMANAGED Qt::DockUnmanaged
+#ifdef COMPILE_USE_QT4
+ #define QT_TOOLBARDOCK_TYPE Qt::ToolBarArea
+ #define QT_DOCK_TOP Qt::TopToolBarArea
+ #define QT_DOCK_LEFT Qt::LeftToolBarArea
+ #define QT_DOCK_RIGHT Qt::RightToolBarArea
+ #define QT_DOCK_BOTTOM Qt::BottomToolBarArea
+ // THESE ARE UNSUPPORTED UNDER QT4!
+ #define QT_DOCK_MINIMIZED Qt::TopToolBarArea
+ #define QT_DOCK_TORNOFF Qt::TopToolBarArea
+ #define QT_DOCK_UNMANAGED Qt::TopToolBarArea
#else
- #define QT_TOOLBARDOCK_TYPE QMainWindow::ToolBarDock
- #define QT_DOCK_TOP QMainWindow::Top
- #define QT_DOCK_LEFT QMainWindow::Left
- #define QT_DOCK_RIGHT QMainWindow::Right
- #define QT_DOCK_BOTTOM QMainWindow::Bottom
- #define QT_DOCK_MINIMIZED QMainWindow::Minimized
- #define QT_DOCK_TORNOFF QMainWindow::TornOff
- #define QT_DOCK_UNMANAGED QMainWindow::Unmanaged
+ #if QT_VERSION >= 300
+ #define QT_TOOLBARDOCK_TYPE Qt::Dock
+ #define QT_DOCK_TOP Qt::DockTop
+ #define QT_DOCK_LEFT Qt::DockLeft
+ #define QT_DOCK_RIGHT Qt::DockRight
+ #define QT_DOCK_BOTTOM Qt::DockBottom
+ #define QT_DOCK_MINIMIZED Qt::DockMinimized
+ #define QT_DOCK_TORNOFF Qt::DockTornOff
+ #define QT_DOCK_UNMANAGED Qt::DockUnmanaged
+ #else
+ #define QT_TOOLBARDOCK_TYPE QMainWindow::ToolBarDock
+ #define QT_DOCK_TOP QMainWindow::Top
+ #define QT_DOCK_LEFT QMainWindow::Left
+ #define QT_DOCK_RIGHT QMainWindow::Right
+ #define QT_DOCK_BOTTOM QMainWindow::Bottom
+ #define QT_DOCK_MINIMIZED QMainWindow::Minimized
+ #define QT_DOCK_TORNOFF QMainWindow::TornOff
+ #define QT_DOCK_UNMANAGED QMainWindow::Unmanaged
+ #endif
#endif
#endif //_KVI_TAL_TOOLBARDOCKTYPE_H_
diff --git a/src/kvirc/kernel/kvi_actionmanager.cpp b/src/kvirc/kernel/kvi_actionmanager.cpp
index 349759ee8..4e3f1677e 100644
--- a/src/kvirc/kernel/kvi_actionmanager.cpp
+++ b/src/kvirc/kernel/kvi_actionmanager.cpp
@@ -52,10 +52,10 @@ extern void register_core_actions(KviActionManager *);
KviActionManager::KviActionManager()
: QObject()
{
- m_pActions = new QDict<KviAction>(101);
+ m_pActions = new KviDict<KviAction>(101);
m_pActions->setAutoDelete(false);
- m_pCategories = new QDict<KviActionCategory>(17,false);
+ m_pCategories = new KviDict<KviActionCategory>(17,false);
m_pCategories->setAutoDelete(true);
#define CATEGORY(__var,__name,__vname,__descr) \
@@ -82,7 +82,7 @@ KviActionManager::~KviActionManager()
// killed all the modules at this point...
//KviActionDialog::cleanup();
- QDictIterator<KviAction> it(*m_pActions);
+ KviDictIterator<KviAction> it(*m_pActions);
while(KviAction * a = it.current())
{
disconnect(a,SIGNAL(destroyed()),this,SLOT(actionDestroyed()));
@@ -113,7 +113,7 @@ void KviActionManager::save(const QString &szFileName)
KviConfig cfg(szFileName,KviConfig::Write);
cfg.clear();
- QDictIterator<KviAction> it(*m_pActions);
+ KviDictIterator<KviAction> it(*m_pActions);
while(KviAction * a = it.current())
{
if(a->isKviUserActionNeverOverrideThis())
@@ -130,7 +130,7 @@ void KviActionManager::killAllKvsUserActions()
KviPtrList<KviKvsUserAction> dying;
dying.setAutoDelete(true);
- QDictIterator<KviAction> it(*m_pActions);
+ KviDictIterator<KviAction> it(*m_pActions);
while(KviAction * a = it.current())
{
if(a->isKviUserActionNeverOverrideThis())
@@ -238,7 +238,7 @@ void KviActionManager::done()
void KviActionManager::delayedRegisterAccelerators()
{
- QDictIterator<KviAction> it(*m_pActions);
+ KviDictIterator<KviAction> it(*m_pActions);
while(KviAction * a = it.current())
{
a->registerAccelerator();
@@ -310,7 +310,7 @@ void KviActionManager::listActionsByCategory(const QString &szCatName,KviPtrList
pBuffer->setAutoDelete(false);
pBuffer->clear();
if(!pCat)return;
- QDictIterator<KviAction> it(*m_pActions);
+ KviDictIterator<KviAction> it(*m_pActions);
while(KviAction * a = it.current())
{
if(a->category() == pCat)
diff --git a/src/kvirc/kernel/kvi_actionmanager.h b/src/kvirc/kernel/kvi_actionmanager.h
index 5273d0ca3..57c60c71a 100644
--- a/src/kvirc/kernel/kvi_actionmanager.h
+++ b/src/kvirc/kernel/kvi_actionmanager.h
@@ -28,7 +28,7 @@
#include "kvi_action.h"
#include <qobject.h>
-#include <qdict.h>
+#include "kvi_dict.h"
class KviActionDrawer;
class KviCustomToolBar;
@@ -45,8 +45,8 @@ public:
~KviActionManager();
protected:
static KviActionManager * m_pInstance;
- QDict<KviAction> * m_pActions;
- QDict<KviActionCategory> * m_pCategories;
+ KviDict<KviAction> * m_pActions;
+ KviDict<KviActionCategory> * m_pCategories;
static bool m_bCustomizingToolBars;
// action categories
@@ -74,9 +74,9 @@ public:
static KviActionCategory * categoryChannel(){ return m_pCategoryChannel; };
static KviActionCategory * categoryTools(){ return m_pCategoryTools; };
- QDict<KviAction> * actions(){ return m_pActions; };
+ KviDict<KviAction> * actions(){ return m_pActions; };
KviActionCategory * category(const QString &szName);
- QDict<KviActionCategory> * categories(){ return m_pCategories; };
+ KviDict<KviActionCategory> * categories(){ return m_pCategories; };
void killAllKvsUserActions();
diff --git a/src/kvirc/kernel/kvi_app.cpp b/src/kvirc/kernel/kvi_app.cpp
index c6531acf3..7a28eb6f8 100644
--- a/src/kvirc/kernel/kvi_app.cpp
+++ b/src/kvirc/kernel/kvi_app.cpp
@@ -86,7 +86,7 @@
#include <qpopupmenu.h>
#include <qsplitter.h>
#include <qstringlist.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qmime.h>
#include <qlistbox.h>
#include <qclipboard.h>
@@ -113,7 +113,7 @@ KVIRC_API KviTextIconWindow * g_pTextIconWindow = 0;
KVIRC_API QPopupMenu * g_pInputPopup = 0;
KVIRC_API QStringList * g_pRecentTopicList = 0;
//KVIRC_API QStringList * g_pBookmarkList = 0;
-KVIRC_API QAsciiDict<KviWindow> * g_pGlobalWindowDict = 0;
+KVIRC_API KviAsciiDict<KviWindow> * g_pGlobalWindowDict = 0;
KVIRC_API KviMediaManager * g_pMediaManager = 0;
KVIRC_API KviRegisteredUserDataBase * g_pRegisteredUserDataBase = 0;
KVIRC_API KviSharedFilesManager * g_pSharedFilesManager = 0;
@@ -421,7 +421,7 @@ void KviApp::setup()
KVI_SPLASH_SET_PROGRESS(91)
// Global window dictionary
- g_pGlobalWindowDict = new QAsciiDict<KviWindow>(41);
+ g_pGlobalWindowDict = new KviAsciiDict<KviWindow>(41);
g_pGlobalWindowDict->setAutoDelete(false);
// Script object controller
//g_pScriptObjectController = new KviScriptObjectController(); gone
@@ -889,7 +889,7 @@ void KviApp::setClipboardText(const KviStr &str)
void KviApp::setAvatarFromOptions()
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1544,7 +1544,7 @@ void KviApp::destroyFrame()
bool KviApp::connectionExists(KviIrcConnection *cnn)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1557,7 +1557,7 @@ bool KviApp::connectionExists(KviIrcConnection *cnn)
bool KviApp::windowExists(KviWindow *wnd)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1574,7 +1574,7 @@ unsigned int KviApp::windowCount()
KviConsole * KviApp::findConsole(QString &server,QString &nick)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1619,7 +1619,7 @@ KviConsole * KviApp::findConsole(KviStr &server,KviStr &nick)
void KviApp::restartLagMeters()
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1634,7 +1634,7 @@ void KviApp::restartLagMeters()
void KviApp::restartNotifyLists()
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1649,7 +1649,7 @@ void KviApp::restartNotifyLists()
void KviApp::resetAvatarForMatchingUsers(KviRegisteredUser * u)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1663,7 +1663,7 @@ void KviApp::resetAvatarForMatchingUsers(KviRegisteredUser * u)
KviConsole * KviApp::findConsole(unsigned int ircContextId)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1689,7 +1689,7 @@ KviConsole * KviApp::topmostConnectedConsole()
// try ANY connected console
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1710,7 +1710,7 @@ KviWindow * KviApp::findWindow(const char * windowId)
KviWindow * KviApp::findWindowByCaption(const QString &windowCaption,int iContextId)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(it.current())
{
@@ -1806,7 +1806,7 @@ void KviApp::buildRecentChannels()
{
if(m_pRecentChannelsDict)
delete m_pRecentChannelsDict;
- m_pRecentChannelsDict = new QAsciiDict<QStringList>;
+ m_pRecentChannelsDict = new KviAsciiDict<QStringList>;
m_pRecentChannelsDict->setAutoDelete(TRUE);
QString szChan,szNet;
for (
@@ -1841,7 +1841,7 @@ void KviApp::saveRecentChannels()
if(!m_pRecentChannelsDict) return;
QString szTmp;
KVI_OPTION_STRINGLIST(KviOption_stringlistRecentChannels).clear();
- QAsciiDictIterator<QStringList> it( *m_pRecentChannelsDict );
+ KviAsciiDictIterator<QStringList> it( *m_pRecentChannelsDict );
for( ; it.current(); ++it )
{
for ( QStringList::Iterator it_str = it.current()->begin(); it_str != it.current()->end(); ++it_str ) {
diff --git a/src/kvirc/kernel/kvi_app.h b/src/kvirc/kernel/kvi_app.h
index 5931bbe7c..372c9d93d 100644
--- a/src/kvirc/kernel/kvi_app.h
+++ b/src/kvirc/kernel/kvi_app.h
@@ -31,6 +31,7 @@
#include "kvi_tal_application.h"
#include "kvi_list.h"
#include "kvi_time.h"
+#include "kvi_asciidict.h" // ?
#define KVI_RECENT_CHANNELS_SEPARATOR ":"
@@ -94,7 +95,7 @@ protected:
bool m_bUpdateGuiPending;
KviPtrList<KviPendingAvatarChange> * m_pPendingAvatarChanges;
bool m_bSetupDone;
- QAsciiDict<QStringList> *m_pRecentChannelsDict;
+ KviAsciiDict<QStringList> * m_pRecentChannelsDict;
#ifdef COMPILE_PSEUDO_TRANSPARENCY
bool m_bUpdatePseudoTransparencyPending;
#endif
@@ -187,7 +188,7 @@ public:
void getLocalKvircDirectory(QString &szData,KvircSubdir dir,const QString &appendFile = QString::null,bool bCreateIfNeeded = true);
void getTmpFileName(QString &szBuffer,const QString &szEndingFileName = QString::null);
bool trashFile(const char *filename);
- void getChannelDumpLogFileName(KviStr &str);
+ void getChannelDumpLogFileName(QString &str);
static QTextCodec * defaultTextCodec();
diff --git a/src/kvirc/kernel/kvi_app_fs.cpp b/src/kvirc/kernel/kvi_app_fs.cpp
index 7e56bf1d7..4105267a3 100644
--- a/src/kvirc/kernel/kvi_app_fs.cpp
+++ b/src/kvirc/kernel/kvi_app_fs.cpp
@@ -301,13 +301,14 @@ void KviApp::completeDirectory(const QString &word,KviPtrList<QString> * matches
// Returns a valid filename for the channel dump log
//
-void KviApp::getChannelDumpLogFileName(KviStr &str)
+void KviApp::getChannelDumpLogFileName(QString &str)
{
unsigned int logN = 0;
- KviStr fPrefix="kick_";
+ QString fPrefix="kick_";
do{
- KviStr fName(KviStr::Format,"%s%u.log",fPrefix.ptr(),logN);
- getLocalKvircDirectory(str,Log,fName.ptr());
+ QString fName;
+ KviQString::sprintf(fName,"%Q%u.log",&fPrefix,logN);
+ getLocalKvircDirectory(str,Log,fName);
logN++;
if(logN > 9999)
{
@@ -315,8 +316,8 @@ void KviApp::getChannelDumpLogFileName(KviStr &str)
fPrefix+="x";
logN = 0;
}
- } while(KviFileUtils::fileExists(str.ptr()));
- kvi_adjustFilePath(str);
+ } while(KviFileUtils::fileExists(str));
+ KviFileUtils::adjustFilePath(str);
}
bool KviApp::findFileByMediaType(KviStr &szRetPath,const char * filename)
@@ -339,7 +340,9 @@ bool KviApp::findFileByMediaType(KviStr &szRetPath,const char * filename)
{
g_pMediaManager->unlock();
//if(retMediaType)*retMediaType = mt;
- kvi_adjustFilePath(szRetPath);
+ QString szTmp = szRetPath.ptr(); // FIXME
+ KviFileUtils::adjustFilePath(szTmp);
+ szRetPath = szTmp;
return true;
} // else mime type not matched...we should not be looking there!
}
@@ -364,7 +367,9 @@ bool KviApp::findUserFile(KviStr &szRetPath,const char *filename)
if(kvi_isAbsolutePath(filename))
{
szRetPath=filename;
- kvi_adjustFilePath(szRetPath);
+ QString szTmp = szRetPath.ptr(); // FIXME
+ KviFileUtils::adjustFilePath(szTmp);
+ szRetPath = szTmp;
return KviFileUtils::fileExists(filename);
}
diff --git a/src/kvirc/kernel/kvi_app_setup.cpp b/src/kvirc/kernel/kvi_app_setup.cpp
index b5025f7a8..faa3a13b3 100644
--- a/src/kvirc/kernel/kvi_app_setup.cpp
+++ b/src/kvirc/kernel/kvi_app_setup.cpp
@@ -141,7 +141,7 @@ void KviApp::findGlobalKvircDirectory()
// with the image and help files inside
#ifdef GLOBAL_KVIRC_DIR
m_szGlobalKvircDir = GLOBAL_KVIRC_DIR;
- kvi_adjustFilePath(m_szGlobalKvircDir);
+ KviFileUtils::adjustFilePath(m_szGlobalKvircDir);
if(checkGlobalKvircDirectory(m_szGlobalKvircDir))return;
#endif //GLOBAL_KVIRC_DIR
diff --git a/src/kvirc/kernel/kvi_customtoolbarmanager.cpp b/src/kvirc/kernel/kvi_customtoolbarmanager.cpp
index de07deca5..1d8e67ba0 100644
--- a/src/kvirc/kernel/kvi_customtoolbarmanager.cpp
+++ b/src/kvirc/kernel/kvi_customtoolbarmanager.cpp
@@ -33,7 +33,7 @@ KviCustomToolBarManager * KviCustomToolBarManager::m_pInstance = 0;
KviCustomToolBarManager::KviCustomToolBarManager()
{
- m_pDescriptors = new QDict<KviCustomToolBarDescriptor>(17,false);
+ m_pDescriptors = new KviDict<KviCustomToolBarDescriptor>(17,false);
m_pDescriptors->setAutoDelete(true);
}
@@ -44,7 +44,7 @@ KviCustomToolBarManager::~KviCustomToolBarManager()
KviCustomToolBar * KviCustomToolBarManager::firstExistingToolBar()
{
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
if(d->toolBar())return d->toolBar();
@@ -94,7 +94,7 @@ QString KviCustomToolBarManager::idForNewToolBar(const QString &szTemplate)
KviCustomToolBarDescriptor * KviCustomToolBarManager::findDescriptorByInternalId(int id)
{
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
if(d->internalId() == id)return d;
@@ -140,7 +140,7 @@ KviCustomToolBarDescriptor * KviCustomToolBarManager::create(const QString &szId
void KviCustomToolBarManager::storeVisibilityState()
{
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
d->m_bVisibleAtStartup = d->toolBar() != 0;
@@ -152,7 +152,7 @@ void KviCustomToolBarManager::storeVisibilityState()
int KviCustomToolBarManager::visibleToolBarCount()
{
int cnt = 0;
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
if(d->toolBar() != 0)cnt++;
@@ -163,7 +163,7 @@ int KviCustomToolBarManager::visibleToolBarCount()
void KviCustomToolBarManager::createToolBarsVisibleAtStartup()
{
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
if(d->m_bVisibleAtStartup && (!d->toolBar()))
@@ -174,7 +174,7 @@ void KviCustomToolBarManager::createToolBarsVisibleAtStartup()
void KviCustomToolBarManager::updateVisibleToolBars()
{
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
if(d->toolBar())d->updateToolBar();
@@ -201,7 +201,7 @@ void KviCustomToolBarManager::load(const QString &szFileName)
void KviCustomToolBarManager::save(const QString &szFileName)
{
KviConfig cfg(szFileName,KviConfig::Write);
- QDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
+ KviDictIterator<KviCustomToolBarDescriptor> it(*m_pDescriptors);
while(KviCustomToolBarDescriptor * d = it.current())
{
cfg.setGroup(d->id());
diff --git a/src/kvirc/kernel/kvi_customtoolbarmanager.h b/src/kvirc/kernel/kvi_customtoolbarmanager.h
index 505768018..3b1f458f2 100644
--- a/src/kvirc/kernel/kvi_customtoolbarmanager.h
+++ b/src/kvirc/kernel/kvi_customtoolbarmanager.h
@@ -25,7 +25,7 @@
//=============================================================================
#include "kvi_settings.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#ifdef COMPILE_ON_WINDOWS
#include "kvi_customtoolbardescriptor.h"
@@ -45,7 +45,7 @@ protected:
~KviCustomToolBarManager();
protected:
static KviCustomToolBarManager * m_pInstance;
- QDict<KviCustomToolBarDescriptor> * m_pDescriptors;
+ KviDict<KviCustomToolBarDescriptor> * m_pDescriptors;
public:
static KviCustomToolBarManager * instance(){ return m_pInstance; };
static void init();
@@ -54,7 +54,7 @@ public:
int descriptorCount(){ return m_pDescriptors->count(); };
int visibleToolBarCount();
QString idForNewToolBar(const QString &szTemplate);
- QDict<KviCustomToolBarDescriptor> * descriptors(){ return m_pDescriptors; };
+ KviDict<KviCustomToolBarDescriptor> * descriptors(){ return m_pDescriptors; };
KviCustomToolBar * firstExistingToolBar();
KviCustomToolBarDescriptor * create(const QString &szId,const QString &szLabelCode);
KviCustomToolBarDescriptor * find(const QString &szId){ return m_pDescriptors->find(szId); };
diff --git a/src/kvirc/kernel/kvi_filetransfer.cpp b/src/kvirc/kernel/kvi_filetransfer.cpp
index 72df32128..17ba83470 100644
--- a/src/kvirc/kernel/kvi_filetransfer.cpp
+++ b/src/kvirc/kernel/kvi_filetransfer.cpp
@@ -88,7 +88,7 @@ void KviFileTransferManager::invokeTransferWindow(KviWindow * pWnd,bool bCreateM
{
if(!m_pTransferWindow)
{
- QDict<QVariant> d(7,false);
+ KviDict<QVariant> d(7,false);
d.setAutoDelete(true);
d.replace("bCreateMinimized",new QVariant(bCreateMinimized,0));
d.replace("bNoRaise",new QVariant(bNoRaise,0));
diff --git a/src/kvirc/kernel/kvi_iconmanager.cpp b/src/kvirc/kernel/kvi_iconmanager.cpp
index 4bef15837..a67c17898 100644
--- a/src/kvirc/kernel/kvi_iconmanager.cpp
+++ b/src/kvirc/kernel/kvi_iconmanager.cpp
@@ -462,7 +462,7 @@ KviIconManager::KviIconManager()
//loadSmallIcons();
- m_pCachedImages = new QDict<KviCachedPixmap>(21,true);
+ m_pCachedImages = new KviDict<KviCachedPixmap>(21,true);
m_pCachedImages->setAutoDelete(true);
m_uCacheTotalSize = 0;
@@ -527,7 +527,7 @@ int KviIconManager::getSmallIconIdFromName(const QString &szName)
{
if(!m_pIconNames)
{
- m_pIconNames = new QDict<int>(257,false);
+ m_pIconNames = new KviDict<int>(257,false);
m_pIconNames->setAutoDelete(true);
for(int i=0;i<KVI_NUM_SMALL_ICONS;i++)
@@ -874,7 +874,7 @@ void KviIconManager::cacheCleanup()
{
QStringList l;
- QDictIterator<KviCachedPixmap> it(*m_pCachedImages);
+ KviDictIterator<KviCachedPixmap> it(*m_pCachedImages);
//#warning "IMPLEMENT CLEANUP"
diff --git a/src/kvirc/kernel/kvi_iconmanager.h b/src/kvirc/kernel/kvi_iconmanager.h
index dadc3c2ea..40599de8f 100644
--- a/src/kvirc/kernel/kvi_iconmanager.h
+++ b/src/kvirc/kernel/kvi_iconmanager.h
@@ -33,7 +33,7 @@
#include <qpixmap.h>
#include <qobject.h>
#include <qwidget.h>
-#include <qdict.h>
+#include "kvi_dict.h"
@@ -439,8 +439,8 @@ private:
QPixmap * m_smallIcons[KVI_NUM_SMALL_ICONS];
KviIconWidget * m_pIconWidget;
- QDict<KviCachedPixmap> * m_pCachedImages;
- QDict<int> * m_pIconNames;
+ KviDict<KviCachedPixmap> * m_pCachedImages;
+ KviDict<int> * m_pIconNames;
unsigned int m_uCacheTotalSize;
unsigned int m_uCacheMaxSize;
public:
diff --git a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp
index 9334e4fab..2400dc5c3 100644
--- a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp
+++ b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp
@@ -262,21 +262,23 @@ void KviIrcConnectionTargetResolver::proxyLookupTerminated(KviDns *)
__tr2qs("Resuming direct server connection"));
m_pTarget->clearProxy();
} else {
+ QString szFirstIpAddress = m_pProxyDns->firstIpAddress();
if(!_OUTPUT_MUTE)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
- __tr2qs("Proxy hostname resolved to %s"),m_pProxyDns->firstIpAddress());
+ __tr2qs("Proxy hostname resolved to %Q"),&szFirstIpAddress);
+
m_pTarget->proxy()->m_szIp = m_pProxyDns->firstIpAddress();
- g_pProxyDataBase->updateProxyIp(m_pTarget->proxy()->m_szIp.ptr(),m_pProxyDns->firstIpAddress());
+ g_pProxyDataBase->updateProxyIp(m_pTarget->proxy()->m_szIp.ptr(),szFirstIpAddress);
if(m_pProxyDns->hostnameCount() > 1)
{
- KviStr szFirstHostname = m_pProxyDns->firstHostname();
+ QString szFirstHostname = m_pProxyDns->firstHostname();
- for(KviStr * addr = m_pProxyDns->hostnameList()->next();addr;addr = m_pProxyDns->hostnameList()->next())
+ for(QString * addr = m_pProxyDns->hostnameList()->next();addr;addr = m_pProxyDns->hostnameList()->next())
{
if(!_OUTPUT_QUIET)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
- __tr2qs("Proxy %s has a nickname: %s"),szFirstHostname.ptr(),addr->ptr());
+ __tr2qs("Proxy %Q has a nickname: %Q"),&szFirstHostname,addr);
}
}
}
@@ -324,17 +326,17 @@ void KviIrcConnectionTargetResolver::lookupServerHostname()
{
m_pTarget->server()->m_szIp=m_pTarget->server()->m_szHostname;
haveServerIp();
- } else {
+ } else {
if(m_pServerDns)
{
debug("Something weird is happening, m_pServerDns is non-zero in lookupServerHostname()");
delete m_pServerDns;
- m_pServerDns = 0;
+ m_pServerDns = 0;
}
m_pServerDns = new KviDns();
connect(m_pServerDns,SIGNAL(lookupDone(KviDns *)),this,
SLOT(serverLookupTerminated(KviDns *)));
- if(!m_pServerDns->lookup(m_pTarget->server()->m_szHostname.utf8().data(),
+ if(!m_pServerDns->lookup(m_pTarget->server()->m_szHostname,
m_pTarget->server()->isIpV6() ? KviDns::IpV6 : KviDns::IpV4))
{
m_pConsole->outputNoFmt(KVI_OUT_SYSTEMERROR,
@@ -364,42 +366,42 @@ void KviIrcConnectionTargetResolver::serverLookupTerminated(KviDns *)
if(!(m_pTarget->server()->isIpV6()))
{
m_pConsole->output(KVI_OUT_SYSTEMERROR,
- __tr2qs("If this server is an IPv6 one, try /server -i %s"),
- m_pTarget->server()->m_szHostname.utf8().data());
+ __tr2qs("If this server is an IPv6 one, try /server -i %Q"),
+ &(m_pTarget->server()->m_szHostname));
}
#endif
terminate(Error,m_pServerDns->error());
return;
}
-
+ QString szFirstIpAddress = m_pServerDns->firstIpAddress();
if(!_OUTPUT_MUTE)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
- __tr2qs("Server hostname resolved to %s"),
- m_pServerDns->firstIpAddress());
- g_pIrcServerDataBase->updateServerIp(m_pTarget->server(),m_pServerDns->firstIpAddress());
+ __tr2qs("Server hostname resolved to %Q"),
+ &szFirstIpAddress);
+ g_pIrcServerDataBase->updateServerIp(m_pTarget->server(),szFirstIpAddress);
+
+ QString szFirstHostname = m_pServerDns->firstHostname();
- if(!kvi_strEqualCI(m_pTarget->server()->m_szHostname.utf8().data(),m_pServerDns->firstHostname()))
+ if(!KviQString::equalCI(m_pTarget->server()->m_szHostname,m_pServerDns->firstHostname()))
{
if(!_OUTPUT_QUIET)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
- __tr2qs("Real hostname for %s is %s"),
- m_pTarget->server()->m_szHostname.utf8().data(),
- m_pServerDns->firstHostname());
- m_pTarget->server()->m_szHostname = m_pServerDns->firstHostname();
+ __tr2qs("Real hostname for %Q is %Q"),
+ &(m_pTarget->server()->m_szHostname),
+ &szFirstHostname);
+ m_pTarget->server()->m_szHostname = szFirstHostname;
}
m_pTarget->server()->m_szIp = m_pServerDns->firstIpAddress();
if(m_pServerDns->hostnameCount() > 1)
{
- KviStr szFirstHostname = m_pServerDns->firstHostname();
-
- for(KviStr * addr = m_pServerDns->hostnameList()->next();addr;addr = m_pServerDns->hostnameList()->next())
+ for(QString * addr = m_pServerDns->hostnameList()->next();addr;addr = m_pServerDns->hostnameList()->next())
{
if(!_OUTPUT_QUIET)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
- __tr2qs("Server %s has a nickname: %s"),
- szFirstHostname.ptr(),addr->ptr());
+ __tr2qs("Server %Q has a nickname: %Q"),
+ &szFirstHostname,addr);
}
}
diff --git a/src/kvirc/kernel/kvi_notifylist.cpp b/src/kvirc/kernel/kvi_notifylist.cpp
index ad117012b..03a401cb8 100644
--- a/src/kvirc/kernel/kvi_notifylist.cpp
+++ b/src/kvirc/kernel/kvi_notifylist.cpp
@@ -168,8 +168,8 @@ void KviNotifyListManager::notifyOnLine(const QString &nick,const QString &user,
else
KviQString::sprintf(szWho,"\r!n\r%Q\r",&nick);
- QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
QString szNotify;
while(KviRegisteredUser * u = it.current())
@@ -228,8 +228,8 @@ void KviNotifyListManager::notifyOffLine(const QString &nick,const QString &user
QString szMsg;
- QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
QString szNotify;
while(KviRegisteredUser * u = it.current())
@@ -321,7 +321,7 @@ void KviNotifyListManager::notifyOffLine(const QString &nick,const QString &user
KviIsOnNotifyListManager::KviIsOnNotifyListManager(KviIrcConnection * pConnection)
: KviNotifyListManager(pConnection)
{
- m_pRegUserDict = new QDict<QString>(17,false); // case insensitive , copy keys
+ m_pRegUserDict = new KviDict<QString>(17,false); // case insensitive , copy keys
m_pRegUserDict->setAutoDelete(true);
m_pNotifyList = new KviPtrList<QString>;
m_pNotifyList->setAutoDelete(true);
@@ -378,8 +378,8 @@ void KviIsOnNotifyListManager::buildRegUserDict()
{
m_pRegUserDict->clear();
- const QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ const KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
while(KviRegisteredUser * u = it.current())
{
QString notify;
@@ -437,7 +437,7 @@ void KviIsOnNotifyListManager::newNotifySession()
void KviIsOnNotifyListManager::buildNotifyList()
{
m_pNotifyList->clear();
- QDictIterator<QString> it(*m_pRegUserDict);
+ KviDictIterator<QString> it(*m_pRegUserDict);
while(it.current())
{
m_pNotifyList->append(new QString(it.currentKey()));
@@ -1052,8 +1052,8 @@ void KviStupidNotifyListManager::stop()
void KviStupidNotifyListManager::buildNickList()
{
- const QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ const KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
m_pNickList->clear();
while(it.current())
{
@@ -1075,7 +1075,7 @@ void KviStupidNotifyListManager::buildNickList()
KviWatchNotifyListManager::KviWatchNotifyListManager(KviIrcConnection * pConnection)
: KviNotifyListManager(pConnection)
{
- m_pRegUserDict = new QDict<QString>(17,false);
+ m_pRegUserDict = new KviDict<QString>(17,false);
m_pRegUserDict->setAutoDelete(true);
}
@@ -1088,8 +1088,8 @@ void KviWatchNotifyListManager::buildRegUserDict()
{
m_pRegUserDict->clear();
- const QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ const KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
while(KviRegisteredUser * u = it.current())
{
QString notify;
@@ -1114,7 +1114,7 @@ void KviWatchNotifyListManager::start()
QString watchStr;
- QDictIterator<QString> it(*m_pRegUserDict);
+ KviDictIterator<QString> it(*m_pRegUserDict);
while(it.current())
{
QString nk = it.currentKey();
diff --git a/src/kvirc/kernel/kvi_notifylist.h b/src/kvirc/kernel/kvi_notifylist.h
index 06f5b74f0..734d7915b 100644
--- a/src/kvirc/kernel/kvi_notifylist.h
+++ b/src/kvirc/kernel/kvi_notifylist.h
@@ -30,7 +30,7 @@
#include <qobject.h>
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qtimer.h>
#include "kvi_qstring.h"
@@ -75,7 +75,7 @@ protected:
KviIsOnNotifyListManager(KviIrcConnection * pConnection);
~KviIsOnNotifyListManager();
private:
- QDict<QString> * m_pRegUserDict; // dict notifystring->reguser name
+ KviDict<QString> * m_pRegUserDict; // dict notifystring->reguser name
KviPtrList<QString> * m_pNotifyList; // list of notifystring (total)
KviPtrList<QString> * m_pIsOnList; // list of notifystring (one session)
QString m_szIsOnString; // m_pIsOnList in form of a string
@@ -148,7 +148,7 @@ public:
KviWatchNotifyListManager(KviIrcConnection * pConnection);
~KviWatchNotifyListManager();
protected:
- QDict<QString> * m_pRegUserDict; // dict notifystring->reguser name
+ KviDict<QString> * m_pRegUserDict; // dict notifystring->reguser name
protected:
void buildRegUserDict();
virtual void start();
diff --git a/src/kvirc/kernel/kvi_texticonmanager.cpp b/src/kvirc/kernel/kvi_texticonmanager.cpp
index 80f828f09..7af47c51b 100644
--- a/src/kvirc/kernel/kvi_texticonmanager.cpp
+++ b/src/kvirc/kernel/kvi_texticonmanager.cpp
@@ -75,7 +75,7 @@ QPixmap * KviTextIcon::pixmap()
KviTextIconManager::KviTextIconManager()
: QObject()
{
- m_pTextIconDict = new QDict<KviTextIcon>(47,false);
+ m_pTextIconDict = new KviDict<KviTextIcon>(47,false);
m_pTextIconDict->setAutoDelete(true);
}
@@ -240,7 +240,7 @@ void KviTextIconManager::save(const QString &filename)
cfg.setGroup("TextIcons");
- QDictIterator<KviTextIcon> it(*m_pTextIconDict);
+ KviDictIterator<KviTextIcon> it(*m_pTextIconDict);
while(KviTextIcon * i = it.current())
{
if(i->id()!=-1)
diff --git a/src/kvirc/kernel/kvi_texticonmanager.h b/src/kvirc/kernel/kvi_texticonmanager.h
index 7c10e360a..fca0f4147 100644
--- a/src/kvirc/kernel/kvi_texticonmanager.h
+++ b/src/kvirc/kernel/kvi_texticonmanager.h
@@ -28,7 +28,7 @@
#include "kvi_settings.h"
#include <qpixmap.h>
-#include <qdict.h>
+#include "kvi_dict.h"
class KVIRC_API KviTextIcon
@@ -60,11 +60,11 @@ public:
KviTextIconManager();
~KviTextIconManager();
private:
- QDict<KviTextIcon> * m_pTextIconDict;
+ KviDict<KviTextIcon> * m_pTextIconDict;
signals:
void changed();
public:
- QDict<KviTextIcon> * textIconDict(){ return m_pTextIconDict; };
+ KviDict<KviTextIcon> * textIconDict(){ return m_pTextIconDict; };
void checkDefaultAssociations();
void clear();
void insert(const QString &name,int id);
diff --git a/src/kvirc/kvs/kvi_kvs_aliasmanager.cpp b/src/kvirc/kvs/kvi_kvs_aliasmanager.cpp
index 5a8769a5c..1372760d0 100644
--- a/src/kvirc/kvs/kvi_kvs_aliasmanager.cpp
+++ b/src/kvirc/kvs/kvi_kvs_aliasmanager.cpp
@@ -32,7 +32,7 @@ KviKvsAliasManager * KviKvsAliasManager::m_pAliasManager = 0;
KviKvsAliasManager::KviKvsAliasManager()
{
m_pAliasManager = this;
- m_pAliasDict = new QDict<KviKvsScript>(51,false);
+ m_pAliasDict = new KviDict<KviKvsScript>(51,false);
m_pAliasDict->setAutoDelete(true);
}
@@ -63,7 +63,7 @@ void KviKvsAliasManager::done()
void KviKvsAliasManager::completeCommand(const QString &word,KviPtrList<QString> * matches)
{
- QDictIterator<KviKvsScript> it(*m_pAliasDict);
+ KviDictIterator<KviKvsScript> it(*m_pAliasDict);
while(it.current())
{
if(KviQString::equalCIN(word,it.current()->name(),word.length()))
@@ -79,7 +79,7 @@ void KviKvsAliasManager::save(const QString & filename)
KviConfig cfg(filename,KviConfig::Write);
cfg.clear();
- QDictIterator<KviKvsScript> it(*m_pAliasDict);
+ KviDictIterator<KviKvsScript> it(*m_pAliasDict);
while(it.current())
{
diff --git a/src/kvirc/kvs/kvi_kvs_aliasmanager.h b/src/kvirc/kvs/kvi_kvs_aliasmanager.h
index 56e0c614b..db2ef9f8c 100644
--- a/src/kvirc/kvs/kvi_kvs_aliasmanager.h
+++ b/src/kvirc/kvs/kvi_kvs_aliasmanager.h
@@ -25,7 +25,7 @@
//=============================================================================
#include "kvi_settings.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_list.h"
#include "kvi_qstring.h"
@@ -38,7 +38,7 @@ protected: // it only can be created and destroyed by KviKvsAliasManager::init()
KviKvsAliasManager();
~KviKvsAliasManager();
protected:
- QDict<KviKvsScript> * m_pAliasDict;
+ KviDict<KviKvsScript> * m_pAliasDict;
static KviKvsAliasManager * m_pAliasManager;
public:
static KviKvsAliasManager * instance()
@@ -46,7 +46,7 @@ public:
static void init(); // called by KviKvs::init()
static void done(); // called by KviKvs::done()
- QDict<KviKvsScript> * aliasDict(){ return m_pAliasDict; };
+ KviDict<KviKvsScript> * aliasDict(){ return m_pAliasDict; };
const KviKvsScript * lookup(const QString & szName)
{ return m_pAliasDict->find(szName); };
void add(const QString &szName,KviKvsScript * pAlias)
diff --git a/src/kvirc/kvs/kvi_kvs_asyncdnsoperation.cpp b/src/kvirc/kvs/kvi_kvs_asyncdnsoperation.cpp
index a46a8125d..4d790de13 100644
--- a/src/kvirc/kvs/kvi_kvs_asyncdnsoperation.cpp
+++ b/src/kvirc/kvs/kvi_kvs_asyncdnsoperation.cpp
@@ -79,13 +79,13 @@ void KviKvsAsyncDnsOperation::lookupTerminated(KviDns *)
params.append(new KviKvsVariant());
params.append(new KviKvsVariant(*m_pMagic));
} else {
- KviStr * fh = m_pDns->hostnameList()->first();
- KviStr * fi = m_pDns->ipAddressList()->first();
+ QString * fh = m_pDns->hostnameList()->first();
+ QString * fi = m_pDns->ipAddressList()->first();
params.append(new KviKvsVariant(m_szQuery));
params.append(new KviKvsVariant((kvs_int_t)1));
- params.append(new KviKvsVariant(fi ? QString(fi->ptr()) : QString("?.?.?.?")));
- params.append(new KviKvsVariant(fh ? QString(fh->ptr()) : QString("?.?")));
+ params.append(new KviKvsVariant(fi ? *fi : QString("?.?.?.?")));
+ params.append(new KviKvsVariant(fh ? *fh : QString("?.?")));
params.append(new KviKvsVariant(*m_pMagic));
}
@@ -104,15 +104,15 @@ void KviKvsAsyncDnsOperation::lookupTerminated(KviDns *)
pWnd->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Error: %Q"),&strDescription);
} else {
int idx = 1;
- for(KviStr * h = m_pDns->hostnameList()->first();h;h = m_pDns->hostnameList()->next())
+ for(QString * h = m_pDns->hostnameList()->first();h;h = m_pDns->hostnameList()->next())
{
- pWnd->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Hostname %d: %s"),idx,h->ptr());
+ pWnd->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Hostname %d: %Q"),idx,h);
idx++;
}
idx = 1;
- for(KviStr * a = m_pDns->ipAddressList()->first();a;a = m_pDns->ipAddressList()->next())
+ for(QString * a = m_pDns->ipAddressList()->first();a;a = m_pDns->ipAddressList()->next())
{
- pWnd->output(KVI_OUT_HOSTLOOKUP,__tr2qs("IP address %d: %s"),idx,a->ptr());
+ pWnd->output(KVI_OUT_HOSTLOOKUP,__tr2qs("IP address %d: %Q"),idx,a);
idx++;
}
}
diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp b/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp
index c3fc78884..34612a3d7 100644
--- a/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp
+++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp
@@ -51,7 +51,7 @@
#include <qtooltip.h>
// kvi_app.cpp
-extern QAsciiDict<KviWindow> * g_pGlobalWindowDict;
+extern KviAsciiDict<KviWindow> * g_pGlobalWindowDict;
namespace KviKvsCoreSimpleCommands
{
@@ -116,7 +116,7 @@ namespace KviKvsCoreSimpleCommands
if(KVSCSC_pSwitches->find('a',"all-networks"))
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE)
@@ -170,7 +170,7 @@ namespace KviKvsCoreSimpleCommands
if(KVSCSC_pSwitches->find('a',"all-networks"))
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE)
diff --git a/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp b/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp
index fbf06773e..0dcfe8f46 100644
--- a/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp
+++ b/src/kvirc/kvs/kvi_kvs_dnsmanager.cpp
@@ -140,12 +140,12 @@ void KviKvsDnsManager::dnsLookupTerminated(KviDns * pDns)
o->parameterList()->prepend(new KviKvsVariant(KviError::getDescription(o->dns()->error()))); // $2
o->parameterList()->prepend(new KviKvsVariant((kvs_int_t)0)); // $1
} else {
- KviStr * fh = o->dns()->hostnameList()->first();
- KviStr * fi = o->dns()->ipAddressList()->first();
+ QString * fh = o->dns()->hostnameList()->first();
+ QString * fi = o->dns()->ipAddressList()->first();
// $4... is the magic data
- o->parameterList()->prepend(new KviKvsVariant(fh ? fh->ptr() : "?.?")); // $3
- o->parameterList()->prepend(new KviKvsVariant(fi ? fi->ptr() : "?.?.?.?")); // $2
+ o->parameterList()->prepend(new KviKvsVariant(fh ? *fh : QString("?.?"))); // $3
+ o->parameterList()->prepend(new KviKvsVariant(fi ? *fi : QString("?.?.?.?"))); // $2
o->parameterList()->prepend(new KviKvsVariant((kvs_int_t)1)); // $1
}
o->parameterList()->prepend(new KviKvsVariant(o->query())); // $0
@@ -161,15 +161,15 @@ void KviKvsDnsManager::dnsLookupTerminated(KviDns * pDns)
o->window()->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Error: %Q"),&szErr);
} else {
int idx = 1;
- for(KviStr * h = o->dns()->hostnameList()->first();h;h = o->dns()->hostnameList()->next())
+ for(QString * h = o->dns()->hostnameList()->first();h;h = o->dns()->hostnameList()->next())
{
- o->window()->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Hostname %d: %s"),idx,h->ptr());
+ o->window()->output(KVI_OUT_HOSTLOOKUP,__tr2qs("Hostname %d: %Q"),idx,h);
idx++;
}
idx = 1;
- for(KviStr * a = o->dns()->ipAddressList()->first();a;a = o->dns()->ipAddressList()->next())
+ for(QString * a = o->dns()->ipAddressList()->first();a;a = o->dns()->ipAddressList()->next())
{
- o->window()->output(KVI_OUT_HOSTLOOKUP,__tr2qs("IP address %d: %s"),idx,a->ptr());
+ o->window()->output(KVI_OUT_HOSTLOOKUP,__tr2qs("IP address %d: %Q"),idx,a);
idx++;
}
}
diff --git a/src/kvirc/kvs/kvi_kvs_hash.cpp b/src/kvirc/kvs/kvi_kvs_hash.cpp
index c1762c483..0bb2d1b70 100644
--- a/src/kvirc/kvs/kvi_kvs_hash.cpp
+++ b/src/kvirc/kvs/kvi_kvs_hash.cpp
@@ -28,15 +28,15 @@
KviKvsHash::KviKvsHash()
{
- m_pDict = new QDict<KviKvsVariant>(17,false);
+ m_pDict = new KviDict<KviKvsVariant>(17,false);
m_pDict->setAutoDelete(true);
}
KviKvsHash::KviKvsHash(const KviKvsHash &h)
{
- m_pDict = new QDict<KviKvsVariant>();
+ m_pDict = new KviDict<KviKvsVariant>();
m_pDict->setAutoDelete(true);
- QDictIterator<KviKvsVariant> it(*(h.m_pDict));
+ KviDictIterator<KviKvsVariant> it(*(h.m_pDict));
while(it.current())
{
m_pDict->replace(it.currentKey(),new KviKvsVariant(*(it.current())));
@@ -51,7 +51,7 @@ KviKvsHash::~KviKvsHash()
void KviKvsHash::appendAsString(QString &szBuffer) const
{
- QDictIterator<KviKvsVariant> it(*m_pDict);
+ KviDictIterator<KviKvsVariant> it(*m_pDict);
bool bNeedComma = false;
while(KviKvsVariant * s = it.current())
{
diff --git a/src/kvirc/kvs/kvi_kvs_hash.h b/src/kvirc/kvs/kvi_kvs_hash.h
index 024a92b08..00d0c8739 100644
--- a/src/kvirc/kvs/kvi_kvs_hash.h
+++ b/src/kvirc/kvs/kvi_kvs_hash.h
@@ -26,13 +26,13 @@
#include "kvi_settings.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_qstring.h"
#include "kvi_kvs_variant.h"
#include "kvi_heapobject.h"
-typedef KVIRC_API QDictIterator<KviKvsVariant> KviKvsHashIterator;
+typedef KVIRC_API KviDictIterator<KviKvsVariant> KviKvsHashIterator;
// This class must not have virtual funcitons nor destructor
// Otherwise it will happily crash on windows when it is
@@ -44,7 +44,7 @@ public:
KviKvsHash(const KviKvsHash &h);
~KviKvsHash();
protected:
- QDict<KviKvsVariant> * m_pDict;
+ KviDict<KviKvsVariant> * m_pDict;
public:
void unset(const QString &szKey){ m_pDict->remove(szKey); };
void set(const QString &szKey,KviKvsVariant * pVal){ m_pDict->replace(szKey,pVal); };
@@ -56,7 +56,7 @@ public:
void appendAsString(QString &szBuffer) const;
- const QDict<KviKvsVariant> * dict(){ return m_pDict; };
+ const KviDict<KviKvsVariant> * dict(){ return m_pDict; };
};
#endif //!_KVI_KVS_HASH_H_
diff --git a/src/kvirc/kvs/kvi_kvs_kernel.cpp b/src/kvirc/kvs/kvi_kvs_kernel.cpp
index 7e2837f1c..cab1d6249 100644
--- a/src/kvirc/kvs/kvi_kvs_kernel.cpp
+++ b/src/kvirc/kvs/kvi_kvs_kernel.cpp
@@ -47,13 +47,13 @@ KviKvsKernel::KviKvsKernel()
{
m_pKvsKernel = this;
- m_pSpecialCommandParsingRoutineDict = new QDict<KviKvsSpecialCommandParsingRoutine>(17,false);
+ m_pSpecialCommandParsingRoutineDict = new KviDict<KviKvsSpecialCommandParsingRoutine>(17,false);
m_pSpecialCommandParsingRoutineDict->setAutoDelete(true);
- m_pCoreSimpleCommandExecRoutineDict = new QDict<KviKvsCoreSimpleCommandExecRoutine>(51,false);
+ m_pCoreSimpleCommandExecRoutineDict = new KviDict<KviKvsCoreSimpleCommandExecRoutine>(51,false);
m_pCoreSimpleCommandExecRoutineDict->setAutoDelete(true);
- m_pCoreFunctionExecRoutineDict = new QDict<KviKvsCoreFunctionExecRoutine>(51,false);
+ m_pCoreFunctionExecRoutineDict = new KviDict<KviKvsCoreFunctionExecRoutine>(51,false);
m_pCoreFunctionExecRoutineDict->setAutoDelete(true);
- m_pCoreCallbackCommandExecRoutineDict = new QDict<KviKvsCoreCallbackCommandExecRoutine>(17,false);
+ m_pCoreCallbackCommandExecRoutineDict = new KviDict<KviKvsCoreCallbackCommandExecRoutine>(17,false);
m_pCoreCallbackCommandExecRoutineDict->setAutoDelete(true);
m_pGlobalVariables = new KviKvsHash();
@@ -101,7 +101,7 @@ void KviKvsKernel::done()
#define COMPLETE_COMMAND_BY_DICT(__type,__dict) \
{ \
- QDictIterator<__type> it(*__dict); \
+ KviDictIterator<__type> it(*__dict); \
int l = szCommandBegin.length(); \
while(it.current()) \
{ \
@@ -162,7 +162,7 @@ void KviKvsKernel::completeFunction(const QString &szFunctionBegin,KviPtrList<QS
{
// no module name inside
- QDictIterator<KviKvsCoreFunctionExecRoutine> it(*m_pCoreFunctionExecRoutineDict);
+ KviDictIterator<KviKvsCoreFunctionExecRoutine> it(*m_pCoreFunctionExecRoutineDict);
int l = szFunctionBegin.length();
while(it.current())
{
diff --git a/src/kvirc/kvs/kvi_kvs_kernel.h b/src/kvirc/kvs/kvi_kvs_kernel.h
index 8d7ebc688..fe9a18e21 100644
--- a/src/kvirc/kvs/kvi_kvs_kernel.h
+++ b/src/kvirc/kvs/kvi_kvs_kernel.h
@@ -30,7 +30,7 @@
#include "kvi_list.h"
#include "kvi_qstring.h"
-#include <qdict.h>
+#include "kvi_dict.h"
class KviKvsTreeNodeSpecialCommand;
class KviKvsObjectController;
@@ -76,11 +76,11 @@ public:
private:
static KviKvsKernel * m_pKvsKernel; // global kernel object
- QDict<KviKvsSpecialCommandParsingRoutine> * m_pSpecialCommandParsingRoutineDict;
+ KviDict<KviKvsSpecialCommandParsingRoutine> * m_pSpecialCommandParsingRoutineDict;
- QDict<KviKvsCoreSimpleCommandExecRoutine> * m_pCoreSimpleCommandExecRoutineDict;
- QDict<KviKvsCoreCallbackCommandExecRoutine> * m_pCoreCallbackCommandExecRoutineDict;
- QDict<KviKvsCoreFunctionExecRoutine> * m_pCoreFunctionExecRoutineDict;
+ KviDict<KviKvsCoreSimpleCommandExecRoutine> * m_pCoreSimpleCommandExecRoutineDict;
+ KviDict<KviKvsCoreCallbackCommandExecRoutine> * m_pCoreCallbackCommandExecRoutineDict;
+ KviDict<KviKvsCoreFunctionExecRoutine> * m_pCoreFunctionExecRoutineDict;
KviKvsHash * m_pGlobalVariables;
KviKvsVariantList * m_pEmptyParameterList;
diff --git a/src/kvirc/kvs/kvi_kvs_moduleinterface.cpp b/src/kvirc/kvs/kvi_kvs_moduleinterface.cpp
index acc931e41..7406105a0 100644
--- a/src/kvirc/kvs/kvi_kvs_moduleinterface.cpp
+++ b/src/kvirc/kvs/kvi_kvs_moduleinterface.cpp
@@ -48,11 +48,11 @@ bool KviKvsModuleCallbackCommandCall::getParameterCode(unsigned int uParamIdx,QS
KviKvsModuleInterface::KviKvsModuleInterface()
{
- m_pModuleSimpleCommandExecRoutineDict = new QDict<KviKvsModuleSimpleCommandExecRoutine>(17,false);
+ m_pModuleSimpleCommandExecRoutineDict = new KviDict<KviKvsModuleSimpleCommandExecRoutine>(17,false);
m_pModuleSimpleCommandExecRoutineDict->setAutoDelete(true);
- m_pModuleFunctionExecRoutineDict = new QDict<KviKvsModuleFunctionExecRoutine>(17,false);
+ m_pModuleFunctionExecRoutineDict = new KviDict<KviKvsModuleFunctionExecRoutine>(17,false);
m_pModuleFunctionExecRoutineDict->setAutoDelete(true);
- m_pModuleCallbackCommandExecRoutineDict = new QDict<KviKvsModuleCallbackCommandExecRoutine>(17,false);
+ m_pModuleCallbackCommandExecRoutineDict = new KviDict<KviKvsModuleCallbackCommandExecRoutine>(17,false);
m_pModuleCallbackCommandExecRoutineDict->setAutoDelete(true);
}
@@ -66,7 +66,7 @@ KviKvsModuleInterface::~KviKvsModuleInterface()
#define COMPLETE_WORD_BY_DICT(__word,__list,__type,__dict) \
{ \
- QDictIterator<__type> it(*__dict); \
+ KviDictIterator<__type> it(*__dict); \
int l = __word.length(); \
while(it.current()) \
{ \
diff --git a/src/kvirc/kvs/kvi_kvs_moduleinterface.h b/src/kvirc/kvs/kvi_kvs_moduleinterface.h
index e7caa0d4c..60a454acd 100644
--- a/src/kvirc/kvs/kvi_kvs_moduleinterface.h
+++ b/src/kvirc/kvs/kvi_kvs_moduleinterface.h
@@ -27,7 +27,7 @@
#include "kvi_settings.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_kvs_runtimecall.h"
#include "kvi_kvs_parameterprocessor.h"
@@ -137,9 +137,9 @@ public:
KviKvsModuleInterface();
~KviKvsModuleInterface();
protected:
- QDict<KviKvsModuleSimpleCommandExecRoutine> * m_pModuleSimpleCommandExecRoutineDict;
- QDict<KviKvsModuleFunctionExecRoutine> * m_pModuleFunctionExecRoutineDict;
- QDict<KviKvsModuleCallbackCommandExecRoutine> * m_pModuleCallbackCommandExecRoutineDict;
+ KviDict<KviKvsModuleSimpleCommandExecRoutine> * m_pModuleSimpleCommandExecRoutineDict;
+ KviDict<KviKvsModuleFunctionExecRoutine> * m_pModuleFunctionExecRoutineDict;
+ KviDict<KviKvsModuleCallbackCommandExecRoutine> * m_pModuleCallbackCommandExecRoutineDict;
public:
void kvsRegisterSimpleCommand(const QString &szCommand,KviKvsModuleSimpleCommandExecRoutine r);
void kvsRegisterCallbackCommand(const QString &szCommand,KviKvsModuleCallbackCommandExecRoutine r);
diff --git a/src/kvirc/kvs/kvi_kvs_object.cpp b/src/kvirc/kvs/kvi_kvs_object.cpp
index 3aff89c6b..57ae53798 100644
--- a/src/kvirc/kvs/kvi_kvs_object.cpp
+++ b/src/kvirc/kvs/kvi_kvs_object.cpp
@@ -638,7 +638,7 @@ KviKvsObject::~KviKvsObject()
// Disconnect all the signals
if(m_pSignalDict)
{
- QDictIterator<KviKvsObjectConnectionList> it(*m_pSignalDict);
+ KviDictIterator<KviKvsObjectConnectionList> it(*m_pSignalDict);
while(it.current())
{
@@ -715,7 +715,7 @@ bool KviKvsObject::connectSignal(const QString &sigName,KviKvsObject * pTarget,c
if(!m_pSignalDict)
{
- m_pSignalDict = new QDict<KviKvsObjectConnectionList>(7,false);
+ m_pSignalDict = new KviDict<KviKvsObjectConnectionList>(7,false);
m_pSignalDict->setAutoDelete(true);
}
@@ -1608,7 +1608,7 @@ void KviKvsObject::registerPrivateImplementation(const QString &szFunctionName,c
} else {
if(!m_pFunctionHandlers)
{
- m_pFunctionHandlers = new QDict<KviKvsObjectFunctionHandler>(7,false);
+ m_pFunctionHandlers = new KviDict<KviKvsObjectFunctionHandler>(7,false);
m_pFunctionHandlers->setAutoDelete(true);
}
diff --git a/src/kvirc/kvs/kvi_kvs_object.h b/src/kvirc/kvs/kvi_kvs_object.h
index 5717065c7..2ecf3a474 100644
--- a/src/kvirc/kvs/kvi_kvs_object.h
+++ b/src/kvirc/kvs/kvi_kvs_object.h
@@ -67,9 +67,9 @@ protected:
KviPtrList<KviKvsObject> * m_pChildList;
- QDict<KviKvsObjectFunctionHandler> * m_pFunctionHandlers; // our function handlers
+ KviDict<KviKvsObjectFunctionHandler> * m_pFunctionHandlers; // our function handlers
- QDict<KviKvsObjectConnectionList> * m_pSignalDict; // our signals connected to other object functions
+ KviDict<KviKvsObjectConnectionList> * m_pSignalDict; // our signals connected to other object functions
KviKvsObjectConnectionList * m_pConnectionList; // signals connected to this object functions
@@ -111,7 +111,7 @@ public:
kvs_hobject_t signalSender(){ return m_hSignalSender; };
void setSignalName(const QString &szSigName){ m_szSignalName = szSigName; };
- QDict<KviKvsObjectFunctionHandler> * functionHandlers(){ return m_pFunctionHandlers; };
+ KviDict<KviKvsObjectFunctionHandler> * functionHandlers(){ return m_pFunctionHandlers; };
KviKvsHash * dataContainer(){ return m_pDataContainer; };
diff --git a/src/kvirc/kvs/kvi_kvs_object_class.cpp b/src/kvirc/kvs/kvi_kvs_object_class.cpp
index 38c8af8da..bb97db1df 100644
--- a/src/kvirc/kvs/kvi_kvs_object_class.cpp
+++ b/src/kvirc/kvs/kvi_kvs_object_class.cpp
@@ -49,7 +49,7 @@ KviKvsObjectClass::KviKvsObjectClass(
m_szName = szName;
m_bBuiltin = bBuiltin;
m_bDirty = !bBuiltin;
- m_pFunctionHandlers = new QDict<KviKvsObjectFunctionHandler>(17,false);
+ m_pFunctionHandlers = new KviDict<KviKvsObjectFunctionHandler>(17,false);
m_pFunctionHandlers->setAutoDelete(true);
m_pChildClasses = new KviPtrList<KviKvsObjectClass>;
m_pChildClasses->setAutoDelete(false);
@@ -58,7 +58,7 @@ KviKvsObjectClass::KviKvsObjectClass(
// inherit everything from the class above
if(pParent)
{
- QDictIterator<KviKvsObjectFunctionHandler> it(*(pParent->functionHandlers()));
+ KviDictIterator<KviKvsObjectFunctionHandler> it(*(pParent->functionHandlers()));
while(KviKvsObjectFunctionHandler * fh = it.current())
{
m_pFunctionHandlers->insert(it.currentKey(),fh->clone());
@@ -185,7 +185,7 @@ bool KviKvsObjectClass::save(const QString &szFileName)
"{\n",
&m_szName,&szParentName);
- QDictIterator<KviKvsObjectFunctionHandler> it(*m_pFunctionHandlers);
+ KviDictIterator<KviKvsObjectFunctionHandler> it(*m_pFunctionHandlers);
while(KviKvsObjectFunctionHandler * h = it.current())
{
diff --git a/src/kvirc/kvs/kvi_kvs_object_class.h b/src/kvirc/kvs/kvi_kvs_object_class.h
index c0be50ee4..3b8e7f50e 100644
--- a/src/kvirc/kvs/kvi_kvs_object_class.h
+++ b/src/kvirc/kvs/kvi_kvs_object_class.h
@@ -28,7 +28,7 @@
#include "kvi_qstring.h"
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_kvs_object_functionhandler.h"
@@ -63,14 +63,14 @@ protected:
KviKvsObjectClass * m_pParentClass; // the parent (base) class
QString m_szName; // the class name
bool m_bBuiltin; // is this a builtin or script based class ?
- QDict<KviKvsObjectFunctionHandler> * m_pFunctionHandlers; // all our function handlers
+ KviDict<KviKvsObjectFunctionHandler> * m_pFunctionHandlers; // all our function handlers
KviPtrList<KviKvsObjectClass> * m_pChildClasses; //
KviKvsObjectAllocateInstanceProc m_allocProc;
bool m_bDirty; // not yet flushed to disk (only for not builtin classes)
protected:
void registerChildClass(KviKvsObjectClass *pClass);
void unregisterChildClass(KviKvsObjectClass *pClass);
- QDict<KviKvsObjectFunctionHandler> * functionHandlers(){ return m_pFunctionHandlers; };
+ KviDict<KviKvsObjectFunctionHandler> * functionHandlers(){ return m_pFunctionHandlers; };
public:
void clearDirtyFlag(){ m_bDirty = false; };
bool isDirty(){ return m_bDirty; };
@@ -94,7 +94,7 @@ public:
bool save(const QString &szFileName);
static bool load(const QString &szFileName);
void getFunctionCode(QString &szCode,KviKvsObjectFunctionHandler &h);
- QDict<KviKvsObjectFunctionHandler> * getHandlers(){return m_pFunctionHandlers;};
+ KviDict<KviKvsObjectFunctionHandler> * getHandlers(){return m_pFunctionHandlers;};
};
diff --git a/src/kvirc/kvs/kvi_kvs_object_controller.cpp b/src/kvirc/kvs/kvi_kvs_object_controller.cpp
index 06e250dc6..10c5baaaa 100644
--- a/src/kvirc/kvs/kvi_kvs_object_controller.cpp
+++ b/src/kvirc/kvs/kvi_kvs_object_controller.cpp
@@ -44,7 +44,7 @@ KviKvsObjectController::KviKvsObjectController()
m_pTopLevelObjectList->setAutoDelete(false);
m_pObjectDict = new QPtrDict<KviKvsObject>(101);
m_pObjectDict->setAutoDelete(false);
- m_pClassDict = new QDict<KviKvsObjectClass>(31,false);
+ m_pClassDict = new KviDict<KviKvsObjectClass>(31,false);
m_pClassDict->setAutoDelete(false);
}
@@ -104,7 +104,7 @@ void KviKvsObjectController::killAllObjectsWithClass(KviKvsObjectClass * pClass)
void KviKvsObjectController::clearUserClasses()
{
flushUserClasses();
- QDictIterator<KviKvsObjectClass> it(*m_pClassDict);
+ KviDictIterator<KviKvsObjectClass> it(*m_pClassDict);
KviPtrList<KviKvsObjectClass> l;
l.setAutoDelete(true);
while(it.current())
@@ -156,7 +156,7 @@ void KviKvsObjectController::unregisterObject(KviKvsObject *pObject)
void KviKvsObjectController::flushUserClasses()
{
- QDictIterator<KviKvsObjectClass> it(*m_pClassDict);
+ KviDictIterator<KviKvsObjectClass> it(*m_pClassDict);
while(KviKvsObjectClass * c = it.current())
{
if(!c->isBuiltin())
diff --git a/src/kvirc/kvs/kvi_kvs_object_controller.h b/src/kvirc/kvs/kvi_kvs_object_controller.h
index 723089078..e06b0776e 100644
--- a/src/kvirc/kvs/kvi_kvs_object_controller.h
+++ b/src/kvirc/kvs/kvi_kvs_object_controller.h
@@ -30,7 +30,7 @@
#include "kvi_qstring.h"
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qptrdict.h>
#include "kvi_kvs_object.h"
@@ -46,7 +46,7 @@ public:
protected:
KviPtrList<KviKvsObject> * m_pTopLevelObjectList;
QPtrDict<KviKvsObject> * m_pObjectDict;
- QDict<KviKvsObjectClass> * m_pClassDict;
+ KviDict<KviKvsObjectClass> * m_pClassDict;
KviKvsObjectClass * m_pObjectClass; //base class
protected:
// the classes and the objects register themselves with the controller
@@ -64,7 +64,7 @@ public:
KviKvsObjectClass * lookupClass(const QString &szClass,bool bBuiltinOnly = false);
KviKvsObject * lookupObject(kvs_hobject_t hObject){ return m_pObjectDict->find(hObject); };
QPtrDict<KviKvsObject> * objectDict(){ return m_pObjectDict; };
- QDict<KviKvsObjectClass> * classDict(){ return m_pClassDict; };
+ KviDict<KviKvsObjectClass> * classDict(){ return m_pClassDict; };
};
#endif //!_KVI_KVS_OBJECT_CONTROLLER_H_
diff --git a/src/kvirc/kvs/kvi_kvs_parameterprocessor.cpp b/src/kvirc/kvs/kvi_kvs_parameterprocessor.cpp
index 98ff10bf4..0f7fbbeb0 100644
--- a/src/kvirc/kvs/kvi_kvs_parameterprocessor.cpp
+++ b/src/kvirc/kvs/kvi_kvs_parameterprocessor.cpp
@@ -140,14 +140,11 @@ namespace KviKvsParameterProcessor
bool process(KviKvsVariantList * pVariantList,KviKvsRunTimeContext * pContext,KviKvsParameterProcessor::ParameterFormat * pFmtArray)
{
KviKvsVariant * v = pVariantList->first();
-
- debug("PROCESSING PARAM");
-
+
while(pFmtArray->szName)
{
if(!v)
{
- debug("NO V");
// parameter not present
// it MUST be optional
if(!(pFmtArray->uFlags & KVS_PF_OPTIONAL))
@@ -158,7 +155,6 @@ namespace KviKvsParameterProcessor
pContext->error(szError);
return false;
}
- debug("SETTING DEFAULT VALUES");
// ok, missing but optional (all the following are implicitly optional too)
// set to default values
do {
@@ -167,12 +163,10 @@ namespace KviKvsParameterProcessor
} while(pFmtArray->szName);
return true;
}
- debug("GOT V");
// here we do only "light" casts: hard ones must be done explicitly by the user
switch(pFmtArray->uType)
{
case KVS_PT_STRING:
- debug("IS STRING");
v->asString(*((QString *)(pFmtArray->pContainer)));
if(pFmtArray->uFlags & KVS_PF_APPENDREMAINING)
{
diff --git a/src/kvirc/kvs/kvi_kvs_parser.h b/src/kvirc/kvs/kvi_kvs_parser.h
index 7ad9af3bb..b210ca1bf 100644
--- a/src/kvirc/kvs/kvi_kvs_parser.h
+++ b/src/kvirc/kvs/kvi_kvs_parser.h
@@ -28,7 +28,7 @@
#include "kvi_qstring.h"
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
class KviKvsTreeNode;
@@ -64,7 +64,7 @@ private:
const QChar * m_pBuffer; // the local pointer to the beginning of the buffer
const QChar * m_ptr; // the parsing pointer
// parsing state
- QDict<QString> * m_pGlobals; // the dict of the vars declared with global in this script
+ KviDict<QString> * m_pGlobals; // the dict of the vars declared with global in this script
int m_iFlags; // the current parsing flags
bool m_bError; // error(..) was called ?
// this stuff is used only for reporting errors and warnings
diff --git a/src/kvirc/kvs/kvi_kvs_parser_specialcommands.cpp b/src/kvirc/kvs/kvi_kvs_parser_specialcommands.cpp
index 107c0dbf0..b85fcf97a 100644
--- a/src/kvirc/kvs/kvi_kvs_parser_specialcommands.cpp
+++ b/src/kvirc/kvs/kvi_kvs_parser_specialcommands.cpp
@@ -260,7 +260,7 @@ KviKvsTreeNodeCommand * KviKvsParser::parseSpecialCommandGlobal()
if(!m_pGlobals)
{
- m_pGlobals = new QDict<QString>(17,false);
+ m_pGlobals = new KviDict<QString>(17,false);
m_pGlobals->setAutoDelete(true);
}
m_pGlobals->replace(szIdentifier,new QString());
diff --git a/src/kvirc/kvs/kvi_kvs_popupmanager.cpp b/src/kvirc/kvs/kvi_kvs_popupmanager.cpp
index 517f99976..e31de00b5 100644
--- a/src/kvirc/kvs/kvi_kvs_popupmanager.cpp
+++ b/src/kvirc/kvs/kvi_kvs_popupmanager.cpp
@@ -33,7 +33,7 @@ KviKvsPopupManager * KviKvsPopupManager::m_pInstance = 0;
KviKvsPopupManager::KviKvsPopupManager()
{
m_pInstance = this;
- m_pPopupDict = new QDict<KviKvsPopupMenu>(17,false);
+ m_pPopupDict = new KviDict<KviKvsPopupMenu>(17,false);
m_pPopupDict->setAutoDelete(true);
}
@@ -104,7 +104,7 @@ void KviKvsPopupManager::save(const QString &szFileName)
KviConfig cfg(szFileName,KviConfig::Write);
cfg.clear();
- QDictIterator<KviKvsPopupMenu> it(*m_pPopupDict);
+ KviDictIterator<KviKvsPopupMenu> it(*m_pPopupDict);
while(it.current())
{
cfg.setGroup(it.current()->popupName());
diff --git a/src/kvirc/kvs/kvi_kvs_popupmanager.h b/src/kvirc/kvs/kvi_kvs_popupmanager.h
index 93b6b5a57..903671dd5 100644
--- a/src/kvirc/kvs/kvi_kvs_popupmanager.h
+++ b/src/kvirc/kvs/kvi_kvs_popupmanager.h
@@ -33,7 +33,7 @@ protected: // can only be created by init/done
KviKvsPopupManager();
~KviKvsPopupManager();
protected:
- QDict<KviKvsPopupMenu> * m_pPopupDict;
+ KviDict<KviKvsPopupMenu> * m_pPopupDict;
static KviKvsPopupManager * m_pInstance;
public:
static KviKvsPopupManager * instance(){ return m_pInstance; };
@@ -41,7 +41,7 @@ public:
static void done();
int popupCount(){ return m_pPopupDict->count(); };
- QDict<KviKvsPopupMenu> * popupDict(){ return m_pPopupDict; };
+ KviDict<KviKvsPopupMenu> * popupDict(){ return m_pPopupDict; };
KviKvsPopupMenu * lookup(const QString &szPopupName){ return m_pPopupDict->find(szPopupName); };
KviKvsPopupMenu * get(const QString &szPopupName);
diff --git a/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.cpp b/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.cpp
index 5c1ed92fa..93705ccfa 100644
--- a/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.cpp
+++ b/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.cpp
@@ -243,7 +243,7 @@ KviKvsScriptAddonManager::KviKvsScriptAddonManager()
{
m_pInstance = this;
m_bLoaded = false;
- m_pAddonDict = new QDict<KviKvsScriptAddon>(17,false);
+ m_pAddonDict = new KviDict<KviKvsScriptAddon>(17,false);
m_pAddonDict->setAutoDelete(true);
}
@@ -294,7 +294,7 @@ void KviKvsScriptAddonManager::save(const QString &szFileName)
cfg.clear();
- QDictIterator<KviKvsScriptAddon> it(*m_pAddonDict);
+ KviDictIterator<KviKvsScriptAddon> it(*m_pAddonDict);
while(KviKvsScriptAddon * a = it.current())
{
@@ -315,10 +315,10 @@ void KviKvsScriptAddonManager::delayedLoad()
KviConfig cfg(m_szFileName,KviConfig::Read);
- QDict<KviConfigGroup> * d = cfg.dict();
+ KviDict<KviConfigGroup> * d = cfg.dict();
if(!d)return;
- QDictIterator<KviConfigGroup> it(*d);
+ KviDictIterator<KviConfigGroup> it(*d);
while(it.current())
{
QString szName = it.currentKey();
@@ -331,7 +331,7 @@ void KviKvsScriptAddonManager::delayedLoad()
}
}
-QDict<KviKvsScriptAddon> * KviKvsScriptAddonManager::addonDict()
+KviDict<KviKvsScriptAddon> * KviKvsScriptAddonManager::addonDict()
{
if(!m_bLoaded)delayedLoad();
return m_pAddonDict;
diff --git a/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.h b/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.h
index 6f50fcadb..20953462a 100644
--- a/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.h
+++ b/src/kvirc/kvs/kvi_kvs_scriptaddonmanager.h
@@ -27,7 +27,7 @@
#include "kvi_settings.h"
#include "kvi_heapobject.h"
#include "kvi_qstring.h"
-#include <qdict.h>
+#include "kvi_dict.h"
class KviConfig;
@@ -50,7 +50,7 @@ protected:
);
public:
KviKvsScriptAddon(const KviKvsScriptAddon &a);
-public: // QDict wants that... how to restrict the deletion to KviKvsScriptAddonManager only ?
+public: // KviDict wants that... how to restrict the deletion to KviKvsScriptAddonManager only ?
~KviKvsScriptAddon();
protected:
QString m_szName; // the short name of the addon
@@ -108,7 +108,7 @@ protected:
// this class implements delayed loading
QString m_szFileName; // the file name that we will load from
bool m_bLoaded; // have we loaded stuff from disk yet ?
- QDict<KviKvsScriptAddon> * m_pAddonDict; // all the registered addons
+ KviDict<KviKvsScriptAddon> * m_pAddonDict; // all the registered addons
public:
static KviKvsScriptAddonManager * instance(){ return m_pInstance; };
static void init(); // called by KviKvs::init()
@@ -117,7 +117,7 @@ public:
bool registerAddon(KviKvsScriptAddonRegistrationData * d);
KviKvsScriptAddon * findAddon(const QString &szName);
bool unregisterAddon(const QString &szName,KviWindow * pWnd,bool bExecuteUninstallCallback = true);
- QDict<KviKvsScriptAddon> * addonDict();
+ KviDict<KviKvsScriptAddon> * addonDict();
void clear();
void load(const QString &szFileName); // called in the KviKvs namespace
diff --git a/src/kvirc/kvs/kvi_kvs_switchlist.cpp b/src/kvirc/kvs/kvi_kvs_switchlist.cpp
index 5eaeb500f..9c491cb0b 100644
--- a/src/kvirc/kvs/kvi_kvs_switchlist.cpp
+++ b/src/kvirc/kvs/kvi_kvs_switchlist.cpp
@@ -76,7 +76,7 @@ void KviKvsSwitchList::addLong(const QString &szLongKey,KviKvsVariant * pVariant
#ifdef COMPILE_NEW_KVS
if(!m_pLongSwitchDict)
{
- m_pLongSwitchDict = new QDict<KviKvsVariant>(11);
+ m_pLongSwitchDict = new KviDict<KviKvsVariant>(11);
m_pLongSwitchDict->setAutoDelete(true);
}
m_pLongSwitchDict->replace(szLongKey,pVariant);
diff --git a/src/kvirc/kvs/kvi_kvs_switchlist.h b/src/kvirc/kvs/kvi_kvs_switchlist.h
index c600f5228..868e47718 100644
--- a/src/kvirc/kvs/kvi_kvs_switchlist.h
+++ b/src/kvirc/kvs/kvi_kvs_switchlist.h
@@ -29,7 +29,7 @@
#include "kvi_kvs_variant.h"
#include <qintdict.h>
-#include <qdict.h>
+#include "kvi_dict.h"
class KVIRC_API KviKvsSwitchList
{
@@ -38,7 +38,7 @@ public:
~KviKvsSwitchList();
protected:
QIntDict<KviKvsVariant> * m_pShortSwitchDict;
- QDict<KviKvsVariant> * m_pLongSwitchDict;
+ KviDict<KviKvsVariant> * m_pLongSwitchDict;
public:
void clear();
void addShort(unsigned short uShortKey,KviKvsVariant * pVariant);
diff --git a/src/kvirc/kvs/kvi_kvs_timermanager.cpp b/src/kvirc/kvs/kvi_kvs_timermanager.cpp
index d09871b1f..05bd28606 100644
--- a/src/kvirc/kvs/kvi_kvs_timermanager.cpp
+++ b/src/kvirc/kvs/kvi_kvs_timermanager.cpp
@@ -72,7 +72,7 @@ KviKvsTimerManager::KviKvsTimerManager()
{
m_pTimerDictById = new QIntDict<KviKvsTimer>(17);
m_pTimerDictById->setAutoDelete(false);
- m_pTimerDictByName = new QDict<KviKvsTimer>(17,false);
+ m_pTimerDictByName = new KviDict<KviKvsTimer>(17,false);
m_pTimerDictByName->setAutoDelete(false);
m_pKilledTimerList = 0;
m_iAssassinTimer = 0;
diff --git a/src/kvirc/kvs/kvi_kvs_timermanager.h b/src/kvirc/kvs/kvi_kvs_timermanager.h
index 06b464eab..60a2ab1a1 100644
--- a/src/kvirc/kvs/kvi_kvs_timermanager.h
+++ b/src/kvirc/kvs/kvi_kvs_timermanager.h
@@ -30,7 +30,7 @@
#include <qobject.h>
#include <qintdict.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_list.h"
class KviKvsTimerManager;
@@ -93,7 +93,7 @@ protected: // it only can be created and destroyed by KviKvsTimerManager::init()
~KviKvsTimerManager();
private:
QIntDict<KviKvsTimer> * m_pTimerDictById; // stored by id
- QDict<KviKvsTimer> * m_pTimerDictByName; // stored by name
+ KviDict<KviKvsTimer> * m_pTimerDictByName; // stored by name
static KviKvsTimerManager * m_pInstance; // the one and only timer manager instance
KviPtrList<KviKvsTimer> * m_pKilledTimerList; // list of timers for that killing has been scheduled
int m_iAssassinTimer; // assassin timer id
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
index 7c359a9c1..18b4e1aa7 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
+++ b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.cpp
@@ -65,7 +65,7 @@ void KviKvsTreeNodeSwitchList::dump(const char * prefix)
}
if(m_pLongSwitchDict)
{
- QDictIterator<KviKvsTreeNodeData> it(*m_pLongSwitchDict);
+ KviDictIterator<KviKvsTreeNodeData> it(*m_pLongSwitchDict);
while(it.current())
{
QString tmp = prefix;
@@ -94,7 +94,7 @@ void KviKvsTreeNodeSwitchList::addLong(const QString &szLongKey,KviKvsTreeNodeDa
{
if(!m_pLongSwitchDict)
{
- m_pLongSwitchDict = new QDict<KviKvsTreeNodeData>(11);
+ m_pLongSwitchDict = new KviDict<KviKvsTreeNodeData>(11);
m_pLongSwitchDict->setAutoDelete(true);
}
@@ -124,7 +124,7 @@ bool KviKvsTreeNodeSwitchList::evaluate(KviKvsRunTimeContext * c,KviKvsSwitchLis
}
if(m_pLongSwitchDict)
{
- QDictIterator<KviKvsTreeNodeData> it(*m_pLongSwitchDict);
+ KviDictIterator<KviKvsTreeNodeData> it(*m_pLongSwitchDict);
while(KviKvsTreeNodeData * d = it.current())
{
KviKvsVariant * v = new KviKvsVariant();
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.h b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.h
index 64f535991..f5c0f512d 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_switchlist.h
+++ b/src/kvirc/kvs/kvi_kvs_treenode_switchlist.h
@@ -28,7 +28,7 @@
#include "kvi_qstring.h"
#include <qintdict.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_kvs_treenode_base.h"
#include "kvi_kvs_treenode_data.h"
@@ -43,7 +43,7 @@ public:
~KviKvsTreeNodeSwitchList();
public:
QIntDict<KviKvsTreeNodeData> * m_pShortSwitchDict;
- QDict<KviKvsTreeNodeData> *m_pLongSwitchDict;
+ KviDict<KviKvsTreeNodeData> *m_pLongSwitchDict;
public:
void addShort(int iShortKey,KviKvsTreeNodeData * p);
void addLong(const QString &szLongKey,KviKvsTreeNodeData * p);
diff --git a/src/kvirc/kvs/kvi_kvs_variant.cpp b/src/kvirc/kvs/kvi_kvs_variant.cpp
index d392a7814..cdf2435c1 100644
--- a/src/kvirc/kvs/kvi_kvs_variant.cpp
+++ b/src/kvirc/kvs/kvi_kvs_variant.cpp
@@ -412,7 +412,7 @@ void KviKvsVariant::castToArray(KviKvsArrayCast *c) const
break;
case KviKvsVariantData::Hash:
{
- QDictIterator<KviKvsVariant> it(*(m_pData->m_u.pHash->dict()));
+ KviDictIterator<KviKvsVariant> it(*(m_pData->m_u.pHash->dict()));
KviKvsArray * a = new KviKvsArray();
kvs_int_t idx = 0;
while(KviKvsVariant * v = it.current())
@@ -450,7 +450,7 @@ void KviKvsVariant::convertToArray()
break;
case KviKvsVariantData::Hash:
{
- QDictIterator<KviKvsVariant> it(*(m_pData->m_u.pHash->dict()));
+ KviDictIterator<KviKvsVariant> it(*(m_pData->m_u.pHash->dict()));
KviKvsArray * a = new KviKvsArray();
kvs_int_t idx = 0;
while(KviKvsVariant * v = it.current())
diff --git a/src/kvirc/module/kvi_module.cpp b/src/kvirc/module/kvi_module.cpp
index 868308022..0fc16dbcf 100644
--- a/src/kvirc/module/kvi_module.cpp
+++ b/src/kvirc/module/kvi_module.cpp
@@ -145,9 +145,9 @@ KviModule::KviModule(kvi_library_t handle,KviModuleInfo * info,const char * name
m_szFileName = filename;
// FIXME: this should become case insensitive and converted toUpper()
/*
- m_pCommandDict = new QAsciiDict<KviModuleCommandParseProc>(17,false,true);
+ m_pCommandDict = new KviAsciiDict<KviModuleCommandParseProc>(17,false,true);
m_pCommandDict->setAutoDelete(true);
- m_pFunctionDict = new QAsciiDict<KviModuleFunctionParseProc>(17,false,true);
+ m_pFunctionDict = new KviAsciiDict<KviModuleFunctionParseProc>(17,false,true);
m_pFunctionDict->setAutoDelete(true);
*/
m_uLock = 0;
@@ -218,7 +218,7 @@ void KviModule::setGenericFunctionParseProc(KviModuleFunctionParseProc proc)
void KviModule::completeCommand(const QString &cmd,KviPtrList<QString> * matches)
{
- QAsciiDictIterator<KviModuleCommandParseProc> it(*m_pCommandDict);
+ KviAsciiDictIterator<KviModuleCommandParseProc> it(*m_pCommandDict);
while(it.current())
{
@@ -234,7 +234,7 @@ void KviModule::completeCommand(const QString &cmd,KviPtrList<QString> * matches
void KviModule::completeFunction(const QString &cmd,KviPtrList<QString> * matches)
{
- QAsciiDictIterator<KviModuleFunctionParseProc> it(*m_pFunctionDict);
+ KviAsciiDictIterator<KviModuleFunctionParseProc> it(*m_pFunctionDict);
while(it.current())
{
@@ -282,7 +282,7 @@ void KviModule::unregisterCommand(const char * cmd)
void KviModule::unregisterAllCommands()
{
delete m_pCommandDict;
- m_pCommandDict = new QAsciiDict<KviModuleCommandParseProc>(17,false,true);
+ m_pCommandDict = new KviAsciiDict<KviModuleCommandParseProc>(17,false,true);
m_pCommandDict->setAutoDelete(true);
}
@@ -328,7 +328,7 @@ void KviModule::unregisterFunction(const char * fnc)
void KviModule::unregisterAllFunctions()
{
delete m_pFunctionDict;
- m_pFunctionDict = new QAsciiDict<KviModuleFunctionParseProc>(17,false,true);
+ m_pFunctionDict = new KviAsciiDict<KviModuleFunctionParseProc>(17,false,true);
m_pFunctionDict->setAutoDelete(true);
}
*/
diff --git a/src/kvirc/module/kvi_module.h b/src/kvirc/module/kvi_module.h
index 5f73a1ef2..7726c27c2 100644
--- a/src/kvirc/module/kvi_module.h
+++ b/src/kvirc/module/kvi_module.h
@@ -34,7 +34,7 @@
#include "kvi_moduleextension.h"
#include "kvi_kvs_moduleinterface.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#ifdef COMPILE_CRYPT_SUPPORT
#include "kvi_crypt.h"
@@ -136,7 +136,7 @@ typedef bool (*KviModuleEventParseProc)(KviModule *,KviWindow *,KviParameterList
class KVIRC_API KviModule : public KviKvsModuleInterface
{
- friend class QAsciiDict<KviModule>;
+ friend class KviAsciiDict<KviModule>;
friend class KviModuleManager;
friend class KviUserParser;
protected:
diff --git a/src/kvirc/module/kvi_moduleextension.cpp b/src/kvirc/module/kvi_moduleextension.cpp
index 4ede919c1..531add470 100644
--- a/src/kvirc/module/kvi_moduleextension.cpp
+++ b/src/kvirc/module/kvi_moduleextension.cpp
@@ -61,7 +61,7 @@ void KviModuleExtensionDescriptor::setIcon(const QPixmap &pix)
else m_pIcon = new QPixmap(pix);
}
-KviModuleExtension * KviModuleExtensionDescriptor::allocate(KviWindow * pWnd,QDict<QVariant> * pParams,void * pSpecial)
+KviModuleExtension * KviModuleExtensionDescriptor::allocate(KviWindow * pWnd,KviDict<QVariant> * pParams,void * pSpecial)
{
KviModuleExtensionAllocStruct s;
s.pDescriptor = this;
@@ -91,7 +91,7 @@ void KviModuleExtensionDescriptor::unregisterObject(KviModuleExtension * e)
KviModuleExtensionManager::KviModuleExtensionManager()
{
- m_pExtensionDict = new QAsciiDict<KviModuleExtensionDescriptorList>(17,false);
+ m_pExtensionDict = new KviAsciiDict<KviModuleExtensionDescriptorList>(17,false);
m_pExtensionDict->setAutoDelete(true);
}
@@ -122,7 +122,7 @@ KviModuleExtensionDescriptor * KviModuleExtensionManager::registerExtension(KviM
void KviModuleExtensionManager::unregisterExtensionsByModule(KviModule * m)
{
- QAsciiDictIterator<KviModuleExtensionDescriptorList> it(*m_pExtensionDict);
+ KviAsciiDictIterator<KviModuleExtensionDescriptorList> it(*m_pExtensionDict);
KviPtrList<KviStr> dying;
dying.setAutoDelete(true);
while(KviModuleExtensionDescriptorList * l = it.current())
@@ -181,7 +181,7 @@ KviModuleExtensionDescriptor * KviModuleExtensionManager::findExtensionDescripto
return 0;
}
-KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd,QDict<QVariant> * pParams,void * pSpecial,const char * preloadModule)
+KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd,KviDict<QVariant> * pParams,void * pSpecial,const char * preloadModule)
{
KviModuleExtensionDescriptorList * l = allocateExtensionGetDescriptorList(szType,preloadModule);
if(!l)return 0;
@@ -208,7 +208,7 @@ KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &
}
-KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,int id,KviWindow * pWnd,QDict<QVariant> * pParams,void * pSpecial,const char * preloadModule)
+KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,int id,KviWindow * pWnd,KviDict<QVariant> * pParams,void * pSpecial,const char * preloadModule)
{
KviModuleExtensionDescriptorList * l = allocateExtensionGetDescriptorList(szType,preloadModule);
if(!l)return 0;
diff --git a/src/kvirc/module/kvi_moduleextension.h b/src/kvirc/module/kvi_moduleextension.h
index cd7fe4b36..c36306cdf 100644
--- a/src/kvirc/module/kvi_moduleextension.h
+++ b/src/kvirc/module/kvi_moduleextension.h
@@ -27,10 +27,10 @@
#include "kvi_list.h"
#include "kvi_heapobject.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qpixmap.h>
#include <qvariant.h>
-#include <qdict.h>
+#include "kvi_dict.h"
class KviWindow;
class KviModule;
@@ -41,7 +41,7 @@ typedef struct _KviModuleExtensionAllocStructTag
{
KviModuleExtensionDescriptor * pDescriptor; // module extension that this alloc routine refers to
KviWindow * pWindow; // may be 0!
- QDict<QVariant> * pParams; // parameter dict (may be 0!)
+ KviDict<QVariant> * pParams; // parameter dict (may be 0!)
void * pSpecial; // special parameter passed to the alloc routine, may be 0
} KviModuleExtensionAllocStruct;
@@ -70,7 +70,7 @@ private:
KviModule * m_pModule; // module pointer
public:
// pParams ownership is NOT taken
- KviModuleExtension * allocate(KviWindow * pWnd = 0,QDict<QVariant> * pParams = 0,void * pSpecial = 0);
+ KviModuleExtension * allocate(KviWindow * pWnd = 0,KviDict<QVariant> * pParams = 0,void * pSpecial = 0);
int id(){ return m_iId; };
KviModule * module(){ return m_pModule; };
@@ -107,7 +107,7 @@ protected:
KviModuleExtensionManager(); // KviApp calls this
~KviModuleExtensionManager(); // and this
protected:
- QAsciiDict<KviModuleExtensionDescriptorList> * m_pExtensionDict;
+ KviAsciiDict<KviModuleExtensionDescriptorList> * m_pExtensionDict;
protected:
// Only KviModule can call this
KviModuleExtensionDescriptor * registerExtension(KviModule * m,const KviStr &szType,const KviStr &szName,const QString &szVisibleName,KviModuleExtensionAllocRoutine r,const QPixmap &icon);
@@ -116,8 +116,8 @@ public:
KviModuleExtensionDescriptor * findExtensionDescriptor(const KviStr &szType,const KviStr &szName);
static KviModuleExtensionManager * instance(){ return g_pModuleExtensionManager; };
KviModuleExtensionDescriptorList * getExtensionList(const KviStr &szType);
- KviModuleExtension * allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd = 0,QDict<QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0);
- KviModuleExtension * allocateExtension(const KviStr &szType,int id,KviWindow * pWnd = 0,QDict<QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0);
+ KviModuleExtension * allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd = 0,KviDict<QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0);
+ KviModuleExtension * allocateExtension(const KviStr &szType,int id,KviWindow * pWnd = 0,KviDict<QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0);
private:
KviModuleExtensionDescriptorList * allocateExtensionGetDescriptorList(const KviStr &szType,const char * preloadModule);
};
diff --git a/src/kvirc/module/kvi_modulemanager.cpp b/src/kvirc/module/kvi_modulemanager.cpp
index 811aa5243..83c44da1b 100644
--- a/src/kvirc/module/kvi_modulemanager.cpp
+++ b/src/kvirc/module/kvi_modulemanager.cpp
@@ -43,7 +43,7 @@ KviModuleManager * g_pModuleManager = 0;
KviModuleManager::KviModuleManager()
{
- m_pModuleDict = new QAsciiDict<KviModule>(17,false);
+ m_pModuleDict = new KviAsciiDict<KviModule>(17,false);
m_pModuleDict->setAutoDelete(false);
m_pCleanupTimer = new QTimer(this);
@@ -309,7 +309,7 @@ bool KviModuleManager::unloadModule(KviModule * module)
bool KviModuleManager::hasLockedModules()
{
- QAsciiDictIterator<KviModule> it(*m_pModuleDict);
+ KviAsciiDictIterator<KviModule> it(*m_pModuleDict);
while(KviModule * m = it.current())
{
if(m->isLocked())return true;
@@ -321,7 +321,7 @@ bool KviModuleManager::hasLockedModules()
void KviModuleManager::cleanupUnusedModules()
{
- QAsciiDictIterator<KviModule> it(*m_pModuleDict);
+ KviAsciiDictIterator<KviModule> it(*m_pModuleDict);
while(it.current())
{
if(it.current()->secondsSinceLastAccess() > KVI_OPTION_UINT(KviOption_uintModuleCleanupTimeout))
@@ -351,6 +351,6 @@ void KviModuleManager::cleanupUnusedModules()
void KviModuleManager::unloadAllModules()
{
- QAsciiDictIterator<KviModule> it(*m_pModuleDict);
+ KviAsciiDictIterator<KviModule> it(*m_pModuleDict);
while(it.current())unloadModule(it.current());
}
diff --git a/src/kvirc/module/kvi_modulemanager.h b/src/kvirc/module/kvi_modulemanager.h
index 3391381c1..91e973f15 100644
--- a/src/kvirc/module/kvi_modulemanager.h
+++ b/src/kvirc/module/kvi_modulemanager.h
@@ -28,7 +28,7 @@
#include "kvi_settings.h"
#include <qobject.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qtimer.h>
#include "kvi_list.h"
@@ -41,7 +41,7 @@ public:
KviModuleManager();
~KviModuleManager();
private:
- QAsciiDict<KviModule> * m_pModuleDict;
+ KviAsciiDict<KviModule> * m_pModuleDict;
QTimer * m_pCleanupTimer;
KviStr m_szLastError;
public:
diff --git a/src/kvirc/ui/kvi_actiondrawer.cpp b/src/kvirc/ui/kvi_actiondrawer.cpp
index e674d5e20..6b6b5b8a6 100644
--- a/src/kvirc/ui/kvi_actiondrawer.cpp
+++ b/src/kvirc/ui/kvi_actiondrawer.cpp
@@ -181,13 +181,13 @@ void KviActionDrawer::fill()
{
KviActionManager::loadAllAvailableActions();
- QDict<KviActionDrawerPage> pages;
+ KviDict<KviActionDrawerPage> pages;
pages.setAutoDelete(false);
- QDict<KviAction> * d = KviActionManager::instance()->actions();
+ KviDict<KviAction> * d = KviActionManager::instance()->actions();
if(!d)return; // ooops
- QDictIterator<KviAction> it(*d);
+ KviDictIterator<KviAction> it(*d);
while(KviAction * a = it.current())
{
KviActionCategory * c = a->category();
diff --git a/src/kvirc/ui/kvi_channel.cpp b/src/kvirc/ui/kvi_channel.cpp
index c565c52d5..b87254573 100644
--- a/src/kvirc/ui/kvi_channel.cpp
+++ b/src/kvirc/ui/kvi_channel.cpp
@@ -76,7 +76,7 @@
#include <qvaluelist.h>
#include <qpalette.h>
#include <qpopupmenu.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qmessagebox.h>
#include <qwidgetstack.h>
@@ -1278,7 +1278,7 @@ void KviChannel::getChannelActivityStats(KviChannelActivityStats * s)
tTwoMinsAgo-= 120;
tNow -= 60;
- QDict<int> userDict;
+ KviDict<int> userDict;
userDict.setAutoDelete(false);
int fake;
diff --git a/src/kvirc/ui/kvi_channel.h b/src/kvirc/ui/kvi_channel.h
index 82e56e2d3..3d116bfbb 100644
--- a/src/kvirc/ui/kvi_channel.h
+++ b/src/kvirc/ui/kvi_channel.h
@@ -37,7 +37,7 @@
#include <qstrlist.h>
#include <qdatetime.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qstringlist.h>
class KviConsole;
diff --git a/src/kvirc/ui/kvi_console.cpp b/src/kvirc/ui/kvi_console.cpp
index bdd87596d..368e4b558 100644
--- a/src/kvirc/ui/kvi_console.cpp
+++ b/src/kvirc/ui/kvi_console.cpp
@@ -965,7 +965,7 @@ void KviConsole::resetAvatarForMatchingUsers(KviRegisteredUser * u)
QString szAvatar;
if(!u->getProperty("avatar",szAvatar))return;
- QDictIterator<KviIrcUserEntry> it(*(connection()->userDataBase()->dict()));
+ KviDictIterator<KviIrcUserEntry> it(*(connection()->userDataBase()->dict()));
while(KviIrcUserEntry * e = it.current())
{
if(e->hasHost())
diff --git a/src/kvirc/ui/kvi_cryptcontroller.cpp b/src/kvirc/ui/kvi_cryptcontroller.cpp
index 6af852318..fc3323586 100644
--- a/src/kvirc/ui/kvi_cryptcontroller.cpp
+++ b/src/kvirc/ui/kvi_cryptcontroller.cpp
@@ -41,21 +41,21 @@
#include "kvi_toolwindows_container.h"
#include <qlayout.h>
- #include <qasciidict.h>
+ #include "kvi_asciidict.h"
// kvi_app.cpp
extern KVIRC_API KviCryptEngineManager * g_pCryptEngineManager;
extern KVIRC_API KviModuleManager * g_pModuleManager;
KviEngineListBoxItem::KviEngineListBoxItem(QListBox * lb,KviCryptEngineDescription * d,const char * modName)
- : QListBoxText(lb,d->szName.ptr())
+ : QListBoxText(lb,d->szName)
{
m_szName = d->szName;
m_szAuthor = d->szAuthor;
m_szDescription = d->szDescription;
m_iFlags = d->iFlags;
m_szModuleName = modName;
- setText(d->szName.ptr());
+ setText(d->szName);
}
KviEngineListBoxItem::~KviEngineListBoxItem()
@@ -176,10 +176,10 @@
void KviCryptController::fillEngineList()
{
- const QAsciiDict<KviCryptEngineDescription> * a = g_pCryptEngineManager->engineDict();
+ const KviDict<KviCryptEngineDescription> * a = g_pCryptEngineManager->engineDict();
if(a)
{
- QAsciiDictIterator<KviCryptEngineDescription> it(*a);
+ KviDictIterator<KviCryptEngineDescription> it(*a);
while(it.current())
{
KviStr modName = it.current()->providerHandle ? ((KviModule *)(it.current()->providerHandle))->name() : "";
diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp
index 0c15365b1..5fb823c9b 100644
--- a/src/kvirc/ui/kvi_frame.cpp
+++ b/src/kvirc/ui/kvi_frame.cpp
@@ -1045,7 +1045,7 @@ void KviFrame::fillToolBarsPopup(QPopupMenu * p)
}
// FIXME: Should this display "Hide %1" when the toolbar is already visible ?
- QDictIterator<KviCustomToolBarDescriptor> it2(*(KviCustomToolBarManager::instance()->descriptors()));
+ KviDictIterator<KviCustomToolBarDescriptor> it2(*(KviCustomToolBarManager::instance()->descriptors()));
if(it2.current())
{
if(cnt > 0)p->insertSeparator();
diff --git a/src/kvirc/ui/kvi_input.cpp b/src/kvirc/ui/kvi_input.cpp
index 54a3ff3c4..2ae3f9e38 100644
--- a/src/kvirc/ui/kvi_input.cpp
+++ b/src/kvirc/ui/kvi_input.cpp
@@ -816,8 +816,8 @@ void KviInputEditor::mousePressEvent(QMouseEvent *e)
g_pInputPopup->insertSeparator();
m_pIconMenu->clear();
- QDict<KviTextIcon> * d = g_pTextIconManager->textIconDict();
- QDictIterator<KviTextIcon> it(*d);
+ KviDict<KviTextIcon> * d = g_pTextIconManager->textIconDict();
+ KviDictIterator<KviTextIcon> it(*d);
QStringList strList;
while(KviTextIcon * i = it.current())
{
diff --git a/src/kvirc/ui/kvi_query.cpp b/src/kvirc/ui/kvi_query.cpp
index 1f3c44a58..185c9516e 100644
--- a/src/kvirc/ui/kvi_query.cpp
+++ b/src/kvirc/ui/kvi_query.cpp
@@ -410,7 +410,7 @@ void KviQuery::notifyCommonChannels(const QString &nick,const QString &user,cons
if(targetCount() > 0)
{
- QDictIterator<KviUserListEntry> it(*(m_pUserListView->entryDict()));
+ KviDictIterator<KviUserListEntry> it(*(m_pUserListView->entryDict()));
if(it.current())szName = it.currentKey();
}
diff --git a/src/kvirc/ui/kvi_query.h b/src/kvirc/ui/kvi_query.h
index 42bcffaf2..863e1a3c0 100644
--- a/src/kvirc/ui/kvi_query.h
+++ b/src/kvirc/ui/kvi_query.h
@@ -31,7 +31,7 @@
#include "kvi_userlistview.h"
#include "kvi_themedlabel.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qgrid.h>
class KviConsole;
diff --git a/src/kvirc/ui/kvi_statusbar.cpp b/src/kvirc/ui/kvi_statusbar.cpp
index 95b55a1b0..66d799ad4 100644
--- a/src/kvirc/ui/kvi_statusbar.cpp
+++ b/src/kvirc/ui/kvi_statusbar.cpp
@@ -82,7 +82,7 @@ KviStatusBar::KviStatusBar(KviFrame * pFrame)
m_pClickedApplet = 0;
- m_pAppletDescriptors = new QDict<KviStatusBarAppletDescriptor>;
+ m_pAppletDescriptors = new KviDict<KviStatusBarAppletDescriptor>;
m_pAppletDescriptors->setAutoDelete(true);
KviStatusBarClock::selfRegister(this);
@@ -366,7 +366,7 @@ void KviStatusBar::appletsPopupAboutToShow()
// FIXME: could we cache the module results in some way ?
g_pModuleManager->loadModulesByCaps("statusbarapplet");
- QDictIterator<KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
+ KviDictIterator<KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
while(KviStatusBarAppletDescriptor * d = it.current())
{
int id;
@@ -398,7 +398,7 @@ void KviStatusBar::appletsPopupActivated(int id)
if(!m_pAppletsPopup)return;
int par = m_pAppletsPopup->itemParameter(id);
- QDictIterator<KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
+ KviDictIterator<KviStatusBarAppletDescriptor> it(*m_pAppletDescriptors);
while(KviStatusBarAppletDescriptor * d = it.current())
{
if(par == d->id())
diff --git a/src/kvirc/ui/kvi_statusbar.h b/src/kvirc/ui/kvi_statusbar.h
index 7f873dd4e..54ba0fd7c 100644
--- a/src/kvirc/ui/kvi_statusbar.h
+++ b/src/kvirc/ui/kvi_statusbar.h
@@ -29,7 +29,7 @@
#include "kvi_heapobject.h"
#include <qstring.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qstatusbar.h>
class KviFrame;
@@ -74,7 +74,7 @@ protected:
QTimer * m_pMessageTimer;
QLabel * m_pMessageLabel;
KviPtrList<KviStatusBarApplet> * m_pAppletList;
- QDict<KviStatusBarAppletDescriptor> * m_pAppletDescriptors;
+ KviDict<KviStatusBarAppletDescriptor> * m_pAppletDescriptors;
QPopupMenu * m_pContextPopup;
QPopupMenu * m_pAppletsPopup;
KviStatusBarApplet * m_pClickedApplet;
diff --git a/src/kvirc/ui/kvi_statusbarapplet.h b/src/kvirc/ui/kvi_statusbarapplet.h
index 8cd8c0dbd..e84db315e 100644
--- a/src/kvirc/ui/kvi_statusbarapplet.h
+++ b/src/kvirc/ui/kvi_statusbarapplet.h
@@ -30,7 +30,7 @@
#include "kvi_statusbar.h"
#include <qstring.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qstatusbar.h>
#include <qlabel.h>
#include <qpixmap.h>
diff --git a/src/kvirc/ui/kvi_texticonwin.cpp b/src/kvirc/ui/kvi_texticonwin.cpp
index beefac559..86cf16d3d 100644
--- a/src/kvirc/ui/kvi_texticonwin.cpp
+++ b/src/kvirc/ui/kvi_texticonwin.cpp
@@ -60,8 +60,8 @@ KviTextIconWindow::~KviTextIconWindow()
void KviTextIconWindow::fill()
{
clear();
- QDict<KviTextIcon> * d = g_pTextIconManager->textIconDict();
- QDictIterator<KviTextIcon> it(*d);
+ KviDict<KviTextIcon> * d = g_pTextIconManager->textIconDict();
+ KviDictIterator<KviTextIcon> it(*d);
while(KviTextIcon * i = it.current())
{
QPixmap *pix = i->pixmap();
diff --git a/src/kvirc/ui/kvi_userlistview.cpp b/src/kvirc/ui/kvi_userlistview.cpp
index 85fdec216..004bb6b70 100644
--- a/src/kvirc/ui/kvi_userlistview.cpp
+++ b/src/kvirc/ui/kvi_userlistview.cpp
@@ -190,7 +190,7 @@ KviUserListView::KviUserListView(QWidget * parent,KviWindowToolPageButton* butto
{
setAutoDelete(0);
m_pKviWindow = pWnd;
- m_pEntryDict = new QDict<KviUserListEntry>(dictSize,false);
+ m_pEntryDict = new KviDict<KviUserListEntry>(dictSize,false);
m_pEntryDict->setAutoDelete(true);
m_pUsersLabel = new QLabel(this,"userslabel");
@@ -944,7 +944,7 @@ void KviUserListView::appendSelectedNicknames(QString &buffer)
}
void KviUserListView::select(const QString& nick){
- QDictIterator<KviUserListEntry> it(*m_pEntryDict);
+ KviDictIterator<KviUserListEntry> it(*m_pEntryDict);
while(it.current())
{
((KviUserListEntry *)it.current())->m_bSelected = false;
@@ -1084,7 +1084,7 @@ void KviUserListView::updateUsersLabel()
void KviUserListView::partAllButOne(const QString &whoNot)
{
QStringList ll;
- QDictIterator<KviUserListEntry> it(*m_pEntryDict);
+ KviDictIterator<KviUserListEntry> it(*m_pEntryDict);
while(it.current())
{
if(!KviQString::equalCI(whoNot,it.currentKey()))
@@ -1099,7 +1099,7 @@ void KviUserListView::partAllButOne(const QString &whoNot)
void KviUserListView::removeAllEntries()
{
- QDictIterator<KviUserListEntry> it(*m_pEntryDict);
+ KviDictIterator<KviUserListEntry> it(*m_pEntryDict);
while(it.current())
{
m_pIrcUserDataBase->removeUser(it.currentKey(),
diff --git a/src/kvirc/ui/kvi_userlistview.h b/src/kvirc/ui/kvi_userlistview.h
index 95bd10298..6ccc06ec5 100644
--- a/src/kvirc/ui/kvi_userlistview.h
+++ b/src/kvirc/ui/kvi_userlistview.h
@@ -36,7 +36,7 @@
#include <qtooltip.h>
#include <qwidget.h>
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_toolwindows_container.h"
class QLabel;
@@ -130,7 +130,7 @@ public:
KviUserListView(QWidget * parent,KviWindowToolPageButton* button,KviIrcUserDataBase * db,KviWindow * pWnd,int dictSize = 5,const QString &label_text = QString::null,const char * name = 0);
~KviUserListView();
protected:
- QDict<KviUserListEntry> * m_pEntryDict;
+ KviDict<KviUserListEntry> * m_pEntryDict;
KviUserListEntry * m_pTopItem;
KviUserListEntry * m_pHeadItem;
KviUserListEntry * m_pTailItem;
@@ -166,7 +166,7 @@ public:
void updateArea();
void select(const QString&);
void applyOptions();
- QDict<KviUserListEntry> * entryDict(){ return m_pEntryDict; };
+ KviDict<KviUserListEntry> * entryDict(){ return m_pEntryDict; };
KviUserListEntry * firstItem(){ return m_pHeadItem; };
KviUserListEntry * itemAt(const QPoint &pnt,QRect * rct = 0);
bool itemVisible(KviUserListEntry * e);
diff --git a/src/kvirc/ui/kvi_xmladdonloader.cpp b/src/kvirc/ui/kvi_xmladdonloader.cpp
index 31f90a184..9a64f8813 100644
--- a/src/kvirc/ui/kvi_xmladdonloader.cpp
+++ b/src/kvirc/ui/kvi_xmladdonloader.cpp
@@ -105,7 +105,7 @@ void KviXmlAddonLoader::fillListView()
{
m_pListView->clear();
- QAsciiDict<QCheckListItem> dict;
+ KviAsciiDict<QCheckListItem> dict;
if(m_pDocument) delete m_pDocument;
m_pDocument = new QDomDocument();
diff --git a/src/modules/action/libkviaction.cpp b/src/modules/action/libkviaction.cpp
index 2faa36fd5..a731ab104 100644
--- a/src/modules/action/libkviaction.cpp
+++ b/src/modules/action/libkviaction.cpp
@@ -55,7 +55,7 @@ static bool action_kvs_cmd_list(KviKvsModuleCommandCall * c)
{
KviWindow * pOut = c->window();
- QDictIterator<KviAction> it(*(KviActionManager::instance()->actions()));
+ KviDictIterator<KviAction> it(*(KviActionManager::instance()->actions()));
while(KviAction * a = it.current())
{
if(a->isKviUserActionNeverOverrideThis())
diff --git a/src/modules/actioneditor/actioneditor.cpp b/src/modules/actioneditor/actioneditor.cpp
index 81ba38956..5bd001497 100644
--- a/src/modules/actioneditor/actioneditor.cpp
+++ b/src/modules/actioneditor/actioneditor.cpp
@@ -322,7 +322,7 @@ KviSingleActionEditor::KviSingleActionEditor(QWidget * par,KviActionEditor * ed)
g->setColStretch(1,1);
- QDictIterator<KviActionCategory> it(*(KviActionManager::instance()->categories()));
+ KviDictIterator<KviActionCategory> it(*(KviActionManager::instance()->categories()));
while(KviActionCategory * ac = it.current())
{
m_pCategoryCombo->insertItem(ac->visibleName() + " (" + ac->name() + ")");
@@ -681,7 +681,7 @@ KviActionEditor::KviActionEditor(QWidget * par)
KviActionEditorListViewItem * last = 0;
KviActionEditorListViewItem * first = 0;
- QDictIterator<KviAction> it(*(KviActionManager::instance()->actions()));
+ KviDictIterator<KviAction> it(*(KviActionManager::instance()->actions()));
while(KviAction * a = it.current())
{
if(a->isKviUserActionNeverOverrideThis())
diff --git a/src/modules/addon/libkviaddon.cpp b/src/modules/addon/libkviaddon.cpp
index 2095bf216..465402ca0 100644
--- a/src/modules/addon/libkviaddon.cpp
+++ b/src/modules/addon/libkviaddon.cpp
@@ -135,10 +135,10 @@ static bool addon_kvs_fnc_version(KviKvsModuleFunctionCall * c)
static bool addon_kvs_cmd_list(KviKvsModuleCommandCall * c)
{
- QDict<KviKvsScriptAddon> * da = KviKvsScriptAddonManager::instance()->addonDict();
+ KviDict<KviKvsScriptAddon> * da = KviKvsScriptAddonManager::instance()->addonDict();
int cnt = 0;
- QDictIterator<KviKvsScriptAddon> it(*da);
+ KviDictIterator<KviKvsScriptAddon> it(*da);
while(KviKvsScriptAddon * a = it.current())
{
c->window()->output(KVI_OUT_SYSTEMMESSAGE,__tr2qs("%cAddon id %Q, version %Q%c"),KVI_TEXT_BOLD,&(a->name()),&(a->version()),KVI_TEXT_BOLD);
diff --git a/src/modules/addon/managementdialog.cpp b/src/modules/addon/managementdialog.cpp
index f5bb0e6ad..69f0241ac 100644
--- a/src/modules/addon/managementdialog.cpp
+++ b/src/modules/addon/managementdialog.cpp
@@ -250,9 +250,9 @@ KviScriptManagementDialog::~KviScriptManagementDialog()
void KviScriptManagementDialog::fillListView()
{
m_pListView->clear();
- QDict<KviKvsScriptAddon> * d = KviKvsScriptAddonManager::instance()->addonDict();
+ KviDict<KviKvsScriptAddon> * d = KviKvsScriptAddonManager::instance()->addonDict();
if(!d)return;
- QDictIterator<KviKvsScriptAddon> it(*d);
+ KviDictIterator<KviKvsScriptAddon> it(*d);
KviScriptAddonListViewItem * item;
while(KviKvsScriptAddon * a = it.current())
{
diff --git a/src/modules/aliaseditor/aliaseditor.cpp b/src/modules/aliaseditor/aliaseditor.cpp
index 454596f44..337324cc7 100644
--- a/src/modules/aliaseditor/aliaseditor.cpp
+++ b/src/modules/aliaseditor/aliaseditor.cpp
@@ -365,10 +365,10 @@ KviAliasNamespaceListViewItem * KviAliasEditor::createFullNamespaceItem(const QS
void KviAliasEditor::oneTimeSetup()
{
- QDict<KviKvsScript> * a = KviKvsAliasManager::instance()->aliasDict();
+ KviDict<KviKvsScript> * a = KviKvsAliasManager::instance()->aliasDict();
if(!a)return;
- QDictIterator<KviKvsScript> it(*a);
+ KviDictIterator<KviKvsScript> it(*a);
KviAliasListViewItem * item;
while(it.current())
diff --git a/src/modules/chan/libkvichan.cpp b/src/modules/chan/libkvichan.cpp
index 0bb9ca207..a55449a4a 100644
--- a/src/modules/chan/libkvichan.cpp
+++ b/src/modules/chan/libkvichan.cpp
@@ -29,7 +29,6 @@
#include "kvi_channel.h"
#include "kvi_locale.h"
#include "kvi_topicw.h"
-#include "kvi_datacontainer.h"
#include "kvi_ircmask.h"
#include "kvi_maskeditor.h"
#include "kvi_ircurl.h"
diff --git a/src/modules/channelsjoin/channelsjoinwindow.cpp b/src/modules/channelsjoin/channelsjoinwindow.cpp
index 87a251ebd..2a80ff0d0 100644
--- a/src/modules/channelsjoin/channelsjoinwindow.cpp
+++ b/src/modules/channelsjoin/channelsjoinwindow.cpp
@@ -173,10 +173,10 @@ void KviChannelsJoinWindow::fillListView()
par = new QListViewItem(m_pListView,__tr2qs("Registered Channels"));
par->setOpen(true);
- QAsciiDict<KviRegisteredChannelList> * d = g_pRegisteredChannelDataBase->channelDict();
+ KviAsciiDict<KviRegisteredChannelList> * d = g_pRegisteredChannelDataBase->channelDict();
if(d)
{
- QAsciiDictIterator<KviRegisteredChannelList> it(*d);
+ KviAsciiDictIterator<KviRegisteredChannelList> it(*d);
while(it.current())
{
chld = new QListViewItem(par,it.currentKey());
diff --git a/src/modules/config/libkviconfig.cpp b/src/modules/config/libkviconfig.cpp
index 11da9a5a8..5942a0447 100644
--- a/src/modules/config/libkviconfig.cpp
+++ b/src/modules/config/libkviconfig.cpp
@@ -29,9 +29,9 @@
#include "kvi_app.h"
#include "kvi_locale.h"
-#include <qdict.h>
+#include "kvi_dict.h"
-static QDict<KviConfig> * g_pConfigDict = 0;
+static KviDict<KviConfig> * g_pConfigDict = 0;
static int g_iNextConfigId = 0;
/*
@@ -107,7 +107,7 @@ static bool config_kvs_fnc_open(KviKvsModuleFunctionCall * c)
if(KviFileUtils::isAbsolutePath(szFile))szAbsFile = szFile;
else g_pApp->getLocalKvircDirectory(szAbsFile,KviApp::ConfigScripts,szFile,true);
- QDictIterator<KviConfig> it(*g_pConfigDict);
+ KviDictIterator<KviConfig> it(*g_pConfigDict);
while(it.current())
{
if(KviQString::equalCI(it.current()->fileName(),szAbsFile))
@@ -163,7 +163,7 @@ static bool config_kvs_fnc_id(KviKvsModuleFunctionCall * c)
if(KviFileUtils::isAbsolutePath(szFile))szAbsFile = szFile;
else g_pApp->getLocalKvircDirectory(szAbsFile,KviApp::ConfigScripts,szFile,true);
- QDictIterator<KviConfig> it(*g_pConfigDict);
+ KviDictIterator<KviConfig> it(*g_pConfigDict);
while(it.current())
{
if(KviQString::equalCI(it.current()->fileName(),szAbsFile))
@@ -489,7 +489,7 @@ static bool config_kvs_fnc_filelist(KviKvsModuleFunctionCall * c)
KviKvsArray* pArray = new KviKvsArray();
int id=0;
- QDictIterator<KviConfig> it(*g_pConfigDict);
+ KviDictIterator<KviConfig> it(*g_pConfigDict);
while(it.current())
{
pArray->set(id++, new KviKvsVariant(it.currentKey()));
@@ -830,7 +830,7 @@ static bool config_kvs_cmd_setsection(KviKvsModuleCommandCall * c)
static bool config_module_init(KviModule * m)
{
- g_pConfigDict = new QDict<KviConfig>;
+ g_pConfigDict = new KviDict<KviConfig>;
g_pConfigDict->setAutoDelete(true);
KVSM_REGISTER_FUNCTION(m,"open",config_kvs_fnc_open);
diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp
index fa286d587..221084dae 100644
--- a/src/modules/dcc/broker.cpp
+++ b/src/modules/dcc/broker.cpp
@@ -58,7 +58,7 @@ KviDccBroker::KviDccBroker()
m_pDccWindowList = new KviPtrList<KviWindow>;
m_pDccWindowList->setAutoDelete(false);
- m_pZeroPortTags = new QDict<KviDccZeroPortTag>(17);
+ m_pZeroPortTags = new KviDict<KviDccZeroPortTag>(17);
m_pZeroPortTags->setAutoDelete(true);
}
diff --git a/src/modules/dcc/broker.h b/src/modules/dcc/broker.h
index 283e3862e..5bac15613 100644
--- a/src/modules/dcc/broker.h
+++ b/src/modules/dcc/broker.h
@@ -29,7 +29,7 @@
#include "kvi_list.h"
#include "kvi_sparser.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qdatetime.h>
#include <qobject.h>
@@ -58,7 +58,7 @@ public:
protected:
KviPtrList<KviDccBox> * m_pBoxList;
KviPtrList<KviWindow> * m_pDccWindowList;
- QDict<KviDccZeroPortTag> * m_pZeroPortTags;
+ KviDict<KviDccZeroPortTag> * m_pZeroPortTags;
public:
KviDccZeroPortTag * addZeroPortTag();
KviDccZeroPortTag * findZeroPortTag(const QString &szTag);
diff --git a/src/modules/dcc/chat.cpp b/src/modules/dcc/chat.cpp
index 94e0350f6..608859677 100644
--- a/src/modules/dcc/chat.cpp
+++ b/src/modules/dcc/chat.cpp
@@ -337,9 +337,12 @@ void KviDccChat::ownMessage(const QString &text)
}
break;
default: // also case KviCryptEngine::EncryptError
+ {
+ QString szErr = cryptSessionInfo()->pEngine->lastError();
output(KVI_OUT_SYSTEMERROR,
- __tr2qs_ctx("The crypto engine was not able to encrypt the current message (%Q): %s, no data was sent to the remote end","dcc"),
- &text,cryptSessionInfo()->pEngine->lastError());
+ __tr2qs_ctx("The crypto engine was not able to encrypt the current message (%Q): %Q, no data was sent to the remote end","dcc"),
+ &text,&szErr);
+ }
break;
}
return;
@@ -437,9 +440,12 @@ bool KviDccChat::event(QEvent *e)
break;
default: // also case KviCryptEngine::DecryptError
+ {
+ QString szErr = cinf->pEngine->lastError();
output(KVI_OUT_SYSTEMERROR,
- __tr2qs_ctx("The following message appears to be encrypted, but the crypto engine failed to decode it: %s","dcc"),
- cinf->pEngine->lastError());
+ __tr2qs_ctx("The following message appears to be encrypted, but the crypto engine failed to decode it: %Q","dcc"),
+ &szErr);
+ }
break;
}
}
diff --git a/src/modules/dcc/voice.h b/src/modules/dcc/voice.h
index 0b7c12c23..c123d98f1 100644
--- a/src/modules/dcc/voice.h
+++ b/src/modules/dcc/voice.h
@@ -315,7 +315,7 @@ public:
~KviVoiceConference();
public:
KviPtrList<KviVoiceLink> * m_pLinks;
- QDict<KviVoiceLink> *
+ KviDict<KviVoiceLink> *
SOCKET m_hUdpSocket;
QString m_szLastError;
diff --git a/src/modules/dockwidget/libkvidockwidget.cpp b/src/modules/dockwidget/libkvidockwidget.cpp
index 79e7ea223..9a4775918 100644
--- a/src/modules/dockwidget/libkvidockwidget.cpp
+++ b/src/modules/dockwidget/libkvidockwidget.cpp
@@ -86,7 +86,7 @@
#endif
#endif
-extern KVIRC_API QAsciiDict<KviWindow> * g_pGlobalWindowDict;
+extern KVIRC_API KviAsciiDict<KviWindow> * g_pGlobalWindowDict;
static KviPtrList<KviDockWidget> * g_pDockWidgetList = 0;
static QPixmap * g_pDock1 = 0;
@@ -377,7 +377,7 @@ void KviDockWidget::doAway(int id)
{
if(id<0)
{
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE)
@@ -422,7 +422,7 @@ void KviDockWidget::fillContextPopup()
int iSeparator=m_pAwayPopup->insertSeparator();
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
bool bAllAway=1;
bool bAllUnaway=1;
int iNetCount=0;
diff --git a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
index 89b5cbd23..8e5e2ccf3 100644
--- a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
+++ b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
@@ -105,7 +105,7 @@ static bool filetransferwindow_kvs_cmd_open(KviKvsModuleCommandCall * c)
if(d)
{
- QDict<QVariant> dict(17,true);
+ KviDict<QVariant> dict(17,true);
dict.setAutoDelete(true);
QString dummy;
dict.replace("bCreateMinimized",new QVariant(c->hasSwitch('m',dummy)));
diff --git a/src/modules/help/index.cpp b/src/modules/help/index.cpp
index 7b41463a1..7db099ab6 100755
--- a/src/modules/help/index.cpp
+++ b/src/modules/help/index.cpp
@@ -60,7 +60,7 @@
#include <qstringlist.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qapplication.h>
@@ -337,7 +337,7 @@ void Index::writeDict()
{
- QDictIterator<Entry> it( dict );
+ KviDictIterator<Entry> it( dict );
QFile f( dictFile );
@@ -600,7 +600,7 @@ QStringList Index::getWildcardTerms( const QString &term )
- QDictIterator<Entry> it( dict );
+ KviDictIterator<Entry> it( dict );
for( ; it.current(); ++it ) {
diff --git a/src/modules/help/index.h b/src/modules/help/index.h
index 00602f1a6..10b65e532 100755
--- a/src/modules/help/index.h
+++ b/src/modules/help/index.h
@@ -30,7 +30,7 @@
#define INDEX_H
#include <qstringlist.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qdatastream.h>
#include <qobject.h>
@@ -97,8 +97,8 @@ private:
void buildMiniDict( const QString& );
QStringList docList;
QStringList titleList;
- QDict<Entry> dict;
- QDict<PosEntry> miniDict;
+ KviDict<Entry> dict;
+ KviDict<PosEntry> miniDict;
uint wordNum;
QString docPath;
QString dictFile, docListFile;
diff --git a/src/modules/http/httpfiletransfer.cpp b/src/modules/http/httpfiletransfer.cpp
index eab8608b0..37bb9a251 100644
--- a/src/modules/http/httpfiletransfer.cpp
+++ b/src/modules/http/httpfiletransfer.cpp
@@ -58,13 +58,13 @@ KviHttpFileTransfer::KviHttpFileTransfer()
m_pHttpRequest = new KviHttpRequest();
- connect(m_pHttpRequest,SIGNAL(status(const char *)),this,SLOT(statusMessage(const char *)));
+ connect(m_pHttpRequest,SIGNAL(status(const QString &)),this,SLOT(statusMessage(const QString &)));
connect(m_pHttpRequest,SIGNAL(terminated(bool)),this,SLOT(transferTerminated(bool)));
- connect(m_pHttpRequest,SIGNAL(header(QAsciiDict<KviStr> *)),this,SLOT(headersReceived(QAsciiDict<KviStr> *)));
- connect(m_pHttpRequest,SIGNAL(resolvingHost(const char *)),this,SLOT(resolvingHost(const char *)));
+ connect(m_pHttpRequest,SIGNAL(header(KviAsciiDict<KviStr> *)),this,SLOT(headersReceived(KviAsciiDict<KviStr> *)));
+ connect(m_pHttpRequest,SIGNAL(resolvingHost(const QString &)),this,SLOT(resolvingHost(const char *)));
connect(m_pHttpRequest,SIGNAL(requestSent(const QStringList &)),this,SLOT(requestSent(const QStringList &)));
- connect(m_pHttpRequest,SIGNAL(contactingHost(const char *)),this,SLOT(contactingHost(const char *)));
- connect(m_pHttpRequest,SIGNAL(receivedResponse(const char *)),this,SLOT(receivedResponse(const char *)));
+ connect(m_pHttpRequest,SIGNAL(contactingHost(const QString &)),this,SLOT(contactingHost(const QString &)));
+ connect(m_pHttpRequest,SIGNAL(receivedResponse(const QString &)),this,SLOT(receivedResponse(const QString &)));
connect(m_pHttpRequest,SIGNAL(connectionEstabilished()),this,SLOT(connectionEstabilished()));
m_eGeneralStatus = Initializing;
@@ -387,19 +387,19 @@ void KviHttpFileTransfer::connectionEstabilished()
displayUpdate();
}
-void KviHttpFileTransfer::resolvingHost(const char *hostname)
+void KviHttpFileTransfer::resolvingHost(const QString &hostname)
{
m_szStatusString = __tr2qs_ctx("Resolving host %1","http").arg(hostname);
displayUpdate();
}
-void KviHttpFileTransfer::contactingHost(const char *ipandport)
+void KviHttpFileTransfer::contactingHost(const QString &ipandport)
{
m_szStatusString = __tr2qs_ctx("Contacting host %1","http").arg(ipandport);
displayUpdate();
}
-void KviHttpFileTransfer::receivedResponse(const char * response)
+void KviHttpFileTransfer::receivedResponse(const QString &response)
{
m_lHeaders.clear();
m_lHeaders.append(response);
@@ -409,11 +409,11 @@ void KviHttpFileTransfer::receivedResponse(const char * response)
displayUpdate();
}
-void KviHttpFileTransfer::statusMessage(const char *txt)
+void KviHttpFileTransfer::statusMessage(const QString &txt)
{
KviWindow * out = transferWindow();
if(out && (!m_bNoOutput))
- out->output(KVI_OUT_GENERICSTATUS,"[HTTP %d]: %s",id(),txt);
+ out->output(KVI_OUT_GENERICSTATUS,"[HTTP %d]: %Q",id(),&txt);
}
void KviHttpFileTransfer::transferTerminated(bool bSuccess)
@@ -461,13 +461,13 @@ void KviHttpFileTransfer::transferTerminated(bool bSuccess)
}
}
-void KviHttpFileTransfer::headersReceived(QAsciiDict<KviStr> *h)
+void KviHttpFileTransfer::headersReceived(KviAsciiDict<KviStr> *h)
{
if(!h)return;
KviWindow * out = transferWindow();
if(out && (!m_bNoOutput))out->output(KVI_OUT_GENERICSTATUS,__tr2qs_ctx("[HTTP %d]: Response headers:","http"),id());
- QAsciiDictIterator<KviStr> it(*h);
+ KviAsciiDictIterator<KviStr> it(*h);
while(KviStr * s = it.current())
{
QString szHeader = it.currentKey();
diff --git a/src/modules/http/httpfiletransfer.h b/src/modules/http/httpfiletransfer.h
index 6c437b145..837e25e12 100644
--- a/src/modules/http/httpfiletransfer.h
+++ b/src/modules/http/httpfiletransfer.h
@@ -85,14 +85,14 @@ public:
virtual QString tipText();
virtual QString localFileName();
protected slots:
- void statusMessage(const char * txt);
+ void statusMessage(const QString &txt);
void transferTerminated(bool bSuccess);
- void headersReceived(QAsciiDict<KviStr> *h);
+ void headersReceived(KviAsciiDict<KviStr> *h);
void requestSent(const QStringList &sl);
- void resolvingHost(const char * hostname);
- void contactingHost(const char * ipandport);
- void receivedResponse(const char * response);
+ void resolvingHost(const QString &hostname);
+ void contactingHost(const QString &ipandport);
+ void receivedResponse(const QString &response);
void connectionEstabilished();
void abort();
diff --git a/src/modules/logview/libkvilogview.cpp b/src/modules/logview/libkvilogview.cpp
index f1f8035f5..3e7d3f7be 100644
--- a/src/modules/logview/libkvilogview.cpp
+++ b/src/modules/logview/libkvilogview.cpp
@@ -66,7 +66,7 @@ static bool logview_kvs_cmd_open(KviKvsModuleCommandCall * c)
KviModuleExtensionDescriptor * d = c->module()->findExtensionDescriptor("tool",LOGVIEW_MODULE_EXTENSION_NAME);
if(d)
{
- QDict<QVariant> dict(17,true);
+ KviDict<QVariant> dict(17,true);
dict.setAutoDelete(true);
QString dummy;
dict.replace("bCreateMinimized",new QVariant(c->hasSwitch('m',dummy)));
diff --git a/src/modules/mircimport/libkvimircimport.cpp b/src/modules/mircimport/libkvimircimport.cpp
index cfca847f5..0af12203b 100644
--- a/src/modules/mircimport/libkvimircimport.cpp
+++ b/src/modules/mircimport/libkvimircimport.cpp
@@ -216,7 +216,7 @@ void KviRemoteMircServerImportWizard::start()
m_pRequest = new KviHttpRequest();
connect(m_pRequest,SIGNAL(terminated(bool)),this,SLOT(getListTerminated(bool)));
- connect(m_pRequest,SIGNAL(status(const char *)),this,SLOT(getListMessage(const char *)));
+ connect(m_pRequest,SIGNAL(status(const QString &)),this,SLOT(getListMessage(const QString &)));
QString szTmp;
g_pApp->getTmpFileName(szTmp,"servers.ini");
@@ -230,7 +230,7 @@ void KviRemoteMircServerImportWizard::start()
}
}
-void KviRemoteMircServerImportWizard::getListMessage(const char * message)
+void KviRemoteMircServerImportWizard::getListMessage(const QString &message)
{
if(message)m_pOutput->setText(message);
}
diff --git a/src/modules/mircimport/libkvimircimport.h b/src/modules/mircimport/libkvimircimport.h
index 90f8ed304..d388ebb69 100644
--- a/src/modules/mircimport/libkvimircimport.h
+++ b/src/modules/mircimport/libkvimircimport.h
@@ -74,7 +74,7 @@ protected:
virtual void done(int r);
void start();
protected slots:
- void getListMessage(const char * message);
+ void getListMessage(const QString &message);
void getListTerminated(bool bSuccess);
void pageSelected(const QString &title);
};
diff --git a/src/modules/objects/libkviobjects.cpp b/src/modules/objects/libkviobjects.cpp
index ca90264a9..358de42a4 100644
--- a/src/modules/objects/libkviobjects.cpp
+++ b/src/modules/objects/libkviobjects.cpp
@@ -403,7 +403,7 @@ static bool objects_kvs_fnc_variables(KviKvsModuleFunctionCall * c)
c->warning(__tr2qs("Object does not exists"));
return true;
}
- QDictIterator<KviKvsVariant> it(* ob->dataContainer()->dict());
+ KviDictIterator<KviKvsVariant> it(* ob->dataContainer()->dict());
KviKvsHash* pHash = new KviKvsHash();
c->returnValue()->setHash(pHash);
while(KviKvsVariant * t = it.current())
@@ -444,7 +444,7 @@ static bool objects_kvs_fnc_classAllHandlers(KviKvsModuleFunctionCall * c)
return true;
}
- QDictIterator<KviKvsObjectFunctionHandler> it(* pClass->getHandlers());
+ KviDictIterator<KviKvsObjectFunctionHandler> it(* pClass->getHandlers());
KviKvsHash* pHash = new KviKvsHash();
c->returnValue()->setHash(pHash);
while(KviKvsObjectFunctionHandler * t = it.current())
@@ -480,8 +480,8 @@ static bool objects_kvs_fnc_classes(KviKvsModuleFunctionCall * c)
KviKvsArray * pArry = new KviKvsArray();
c->returnValue()->setArray(pArry);
int uIdx=0;
- QDictIterator<KviKvsObjectClass> it(*KviKvsKernel::instance()->objectController()->classDict());
- QDict<bool> *classdict=new QDict<bool>;
+ KviDictIterator<KviKvsObjectClass> it(*KviKvsKernel::instance()->objectController()->classDict());
+ KviDict<bool> *classdict=new KviDict<bool>;
classdict->setAutoDelete(false);
bool bFake=true;
while(KviKvsObjectClass * pClass=it.current())
@@ -503,7 +503,7 @@ static bool objects_kvs_fnc_classes(KviKvsModuleFunctionCall * c)
KviKvsArray* pArray = new KviKvsArray();
c->returnValue()->setArray(pArray);
int idx=0;
- QDictIterator<bool> strIt(*classdict);
+ KviDictIterator<bool> strIt(*classdict);
while(strIt.current())
{
pArray->set(idx,new KviKvsVariant(strIt.currentKey()));
diff --git a/src/modules/options/dialog.cpp b/src/modules/options/dialog.cpp
index 0c17d26cd..032b70a8e 100644
--- a/src/modules/options/dialog.cpp
+++ b/src/modules/options/dialog.cpp
@@ -52,7 +52,7 @@
//extern KviModule * g_pOptionsModule;
-extern QDict<KviOptionsDialog> * g_pOptionsDialogDict;
+extern KviDict<KviOptionsDialog> * g_pOptionsDialogDict;
extern KVIRC_API KviApp * g_pApp;
extern KviOptionsInstanceManager * g_pOptionsInstanceManager;
diff --git a/src/modules/options/libkvioptions.cpp b/src/modules/options/libkvioptions.cpp
index ec8d12ebf..7af9111ff 100644
--- a/src/modules/options/libkvioptions.cpp
+++ b/src/modules/options/libkvioptions.cpp
@@ -38,10 +38,10 @@
#include "dialog.h"
#include <qsplitter.h>
-#include <qdict.h>
+#include "kvi_dict.h"
-QDict<KviOptionsDialog> * g_pOptionsDialogDict = 0;
+KviDict<KviOptionsDialog> * g_pOptionsDialogDict = 0;
KviOptionsInstanceManager * g_pOptionsInstanceManager = 0;
@@ -280,7 +280,7 @@ static bool options_module_init(KviModule * m)
KVSM_REGISTER_SIMPLE_COMMAND(m,"edit",options_kvs_cmd_edit);
KVSM_REGISTER_FUNCTION(m,"isDialog",options_kvs_fnc_isdialog);
- g_pOptionsDialogDict = new QDict<KviOptionsDialog>;
+ g_pOptionsDialogDict = new KviDict<KviOptionsDialog>;
g_pOptionsDialogDict->setAutoDelete(false);
return true;
@@ -288,7 +288,7 @@ static bool options_module_init(KviModule * m)
static bool options_module_cleanup(KviModule *m)
{
- QDictIterator<KviOptionsDialog> it(*g_pOptionsDialogDict);
+ KviDictIterator<KviOptionsDialog> it(*g_pOptionsDialogDict);
KviPtrList<KviOptionsDialog> l;
l.setAutoDelete(false);
KviOptionsDialog * d;
diff --git a/src/modules/options/optw_servers.cpp b/src/modules/options/optw_servers.cpp
index b95ef2ae0..932c125ac 100644
--- a/src/modules/options/optw_servers.cpp
+++ b/src/modules/options/optw_servers.cpp
@@ -59,7 +59,7 @@
#include <qtooltip.h>
#include <qvalidator.h>
#include <qmessagebox.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qcombobox.h>
#include <qbuttongroup.h>
#include <qmessagebox.h>
@@ -1288,7 +1288,7 @@ void KviServerOptionsWidget::fillServerList()
KviServerOptionsListViewItem * srv;
KviServerOptionsListViewItem * cur = 0;
- QDictIterator<KviIrcServerDataBaseRecord> it(*(g_pIrcServerDataBase->recordDict()));
+ KviDictIterator<KviIrcServerDataBaseRecord> it(*(g_pIrcServerDataBase->recordDict()));
while(KviIrcServerDataBaseRecord * r = it.current())
{
diff --git a/src/modules/options/optw_texticons.cpp b/src/modules/options/optw_texticons.cpp
index a815494da..ae6de5494 100644
--- a/src/modules/options/optw_texticons.cpp
+++ b/src/modules/options/optw_texticons.cpp
@@ -141,7 +141,7 @@ KviTextIconsOptionsWidget::KviTextIconsOptionsWidget(QWidget * parent)
{
createLayout(2,2);
- QDictIterator<KviTextIcon> it(*(g_pTextIconManager->textIconDict()));
+ KviDictIterator<KviTextIcon> it(*(g_pTextIconManager->textIconDict()));
m_pTable = new QTable(g_pTextIconManager->textIconDict()->count(),2,this);
diff --git a/src/modules/perlcore/libkviperlcore.cpp b/src/modules/perlcore/libkviperlcore.cpp
index cb3b9c826..308b4a8d8 100644
--- a/src/modules/perlcore/libkviperlcore.cpp
+++ b/src/modules/perlcore/libkviperlcore.cpp
@@ -33,7 +33,7 @@
#include "kvi_kvs_variant.h"
#include "kvi_userinput.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#ifdef DEBUG
#undef DEBUG
@@ -295,7 +295,7 @@ bool KviPerlInterpreter::execute(
return true;
}
-static QDict<KviPerlInterpreter> * g_pInterpreters = 0;
+static KviDict<KviPerlInterpreter> * g_pInterpreters = 0;
static KviPerlInterpreter * perlcore_get_interpreter(const QString &szContextName)
{
@@ -322,7 +322,7 @@ static void perlcore_destroy_interpreter(const QString &szContextName)
static void perlcore_destroy_all_interpreters()
{
- QDictIterator<KviPerlInterpreter> it(*g_pInterpreters);
+ KviDictIterator<KviPerlInterpreter> it(*g_pInterpreters);
while(it.current())
{
@@ -376,7 +376,7 @@ static bool perlcore_module_ctrl(KviModule * m,const char * cmd,void * param)
static bool perlcore_module_init(KviModule * m)
{
#ifdef COMPILE_PERL_SUPPORT
- g_pInterpreters = new QDict<KviPerlInterpreter>(17,false);
+ g_pInterpreters = new KviDict<KviPerlInterpreter>(17,false);
g_pInterpreters->setAutoDelete(false);
return true;
#else // !COMPILE_PERL_SUPPORT
diff --git a/src/modules/popupeditor/popupeditor.cpp b/src/modules/popupeditor/popupeditor.cpp
index 36a9a28cd..496f34e47 100644
--- a/src/modules/popupeditor/popupeditor.cpp
+++ b/src/modules/popupeditor/popupeditor.cpp
@@ -46,7 +46,7 @@
#include <qlayout.h>
#include <qlabel.h>
#include <qtooltip.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qpushbutton.h>
#include <qvbox.h>
@@ -1059,10 +1059,10 @@ void KviPopupEditor::oneTimeSetup()
if(m_bOneTimeSetupDone)return;
m_bOneTimeSetupDone = true;
- const QDict<KviKvsPopupMenu> * a = KviKvsPopupManager::instance()->popupDict();
+ const KviDict<KviKvsPopupMenu> * a = KviKvsPopupManager::instance()->popupDict();
if(!a)return;
- QDictIterator<KviKvsPopupMenu> it(*a);
+ KviDictIterator<KviKvsPopupMenu> it(*a);
KviMenuListViewItem * item;
@@ -1247,7 +1247,7 @@ void KviPopupEditor::commit()
KviMenuListViewItem * it = (KviMenuListViewItem *)m_pListView->firstChild();
// Copy the original popup dict
- QDict<KviKvsPopupMenu> copy(*(KviKvsPopupManager::instance()->popupDict()));
+ KviDict<KviKvsPopupMenu> copy(*(KviKvsPopupManager::instance()->popupDict()));
copy.setAutoDelete(false);
while(it)
@@ -1262,7 +1262,7 @@ void KviPopupEditor::commit()
// the remaining elements in the copy need to be removed from
// the "new" dictionary (they are no longer used)
- QDictIterator<KviKvsPopupMenu> iter(copy);
+ KviDictIterator<KviKvsPopupMenu> iter(copy);
while(iter.current())
{
diff --git a/src/modules/regchan/libkviregchan.cpp b/src/modules/regchan/libkviregchan.cpp
index e51101f58..9dfa88eb7 100644
--- a/src/modules/regchan/libkviregchan.cpp
+++ b/src/modules/regchan/libkviregchan.cpp
@@ -199,7 +199,7 @@ static bool regchan_kvs_cmd_showlist(KviKvsModuleCommandCall * c)
int tot = 0;
- QAsciiDictIterator<KviRegisteredChannelList> it(*(g_pRegisteredChannelDataBase->channelDict()));
+ KviAsciiDictIterator<KviRegisteredChannelList> it(*(g_pRegisteredChannelDataBase->channelDict()));
while(KviRegisteredChannelList * l = it.current())
{
for(KviRegisteredChannel * ch = l->first();ch;ch = l->next())
@@ -207,7 +207,7 @@ static bool regchan_kvs_cmd_showlist(KviKvsModuleCommandCall * c)
tot++;
c->window()->output(KVI_OUT_SYSTEMMESSAGE,__tr2qs("Channel: %c%s@%s"),
KVI_TEXT_BOLD,ch->name().ptr(),ch->netMask().ptr());
- QAsciiDictIterator<KviStr> pit(*(ch->propertyDict()));
+ KviAsciiDictIterator<KviStr> pit(*(ch->propertyDict()));
while(KviStr * s = pit.current())
{
c->window()->output(KVI_OUT_SYSTEMMESSAGE,__tr2qs(" Property: %s=%s"),pit.currentKey(),s->ptr());
@@ -259,8 +259,8 @@ static bool regchan_kvs_fnc_list(KviKvsModuleFunctionCall * c)
if(szChan.isEmpty())szChan="*";
if(szNetmask.isEmpty())szNetmask="*";
- QAsciiDict<KviRegisteredChannelList> * d = g_pRegisteredChannelDataBase->channelDict();
- QAsciiDictIterator<KviRegisteredChannelList> it(*d);
+ KviAsciiDict<KviRegisteredChannelList> * d = g_pRegisteredChannelDataBase->channelDict();
+ KviAsciiDictIterator<KviRegisteredChannelList> it(*d);
while(KviRegisteredChannelList * l = it.current())
{
diff --git a/src/modules/reguser/edituser.cpp b/src/modules/reguser/edituser.cpp
index f196b6c26..7232885c6 100644
--- a/src/modules/reguser/edituser.cpp
+++ b/src/modules/reguser/edituser.cpp
@@ -43,7 +43,7 @@
#include <qlayout.h>
#include <qlabel.h>
#include <qheader.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qimage.h>
#include <qstring.h>
#include <qcombobox.h>
@@ -70,7 +70,7 @@ static KviRegisteredUserDataBase * g_pLocalRegisteredUserDataBase = 0; // local
-KviReguserPropertiesDialog::KviReguserPropertiesDialog(QWidget * p,QDict<QString> * dict)
+KviReguserPropertiesDialog::KviReguserPropertiesDialog(QWidget * p,KviDict<QString> * dict)
: QDialog(p,"property_editor",true)
{
m_pPropertyDict = dict;
@@ -136,7 +136,7 @@ void KviReguserPropertiesDialog::closeEvent(QCloseEvent *e)
void KviReguserPropertiesDialog::fillData()
{
m_pTable->setNumRows(m_pPropertyDict->count());
- QDictIterator<QString> it(*m_pPropertyDict);
+ KviDictIterator<QString> it(*m_pPropertyDict);
int row = 0;
while(it.current())
{
@@ -312,7 +312,7 @@ KviRegisteredUserEntryDialog::KviRegisteredUserEntryDialog(QWidget *p,KviRegiste
KviStringConversion::fromString(col,(*m_pCustomColor));
}
- m_pPropertyDict = new QDict<QString>(17,false);
+ m_pPropertyDict = new KviDict<QString>(17,false);
m_pPropertyDict->setAutoDelete(true);
//setMinimumSize(400,450);
@@ -510,7 +510,7 @@ KviRegisteredUserEntryDialog::KviRegisteredUserEntryDialog(QWidget *p,KviRegiste
if(r->propertyDict())
{
- QDictIterator<QString> it(*(r->propertyDict()));
+ KviDictIterator<QString> it(*(r->propertyDict()));
while(QString *s = it.current())
{
m_pPropertyDict->insert(it.currentKey(),new QString(*s));
@@ -629,7 +629,7 @@ void KviRegisteredUserEntryDialog::okClicked()
m_pPropertyDict->remove("notify");
m_pPropertyDict->remove("avatar");
- QDictIterator<QString> it(*m_pPropertyDict);
+ KviDictIterator<QString> it(*m_pPropertyDict);
while(QString *s = it.current())
{
u->setProperty(it.currentKey(),*s);
@@ -1056,8 +1056,8 @@ void KviRegisteredUsersDialog::editGroup(KviRegisteredUserGroup* group)
group->setName(text);
g_pLocalRegisteredUserDataBase->groupDict()->insert(text,group);
- QDict<KviRegisteredUser> * d = g_pLocalRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pLocalRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
while(KviRegisteredUser * u = it.current())
{
@@ -1080,8 +1080,8 @@ void KviRegisteredUsersDialog::listViewRightButtonClicked ( QListViewItem * pIte
{
QPopupMenu *groups = new QPopupMenu;
- QDict<KviRegisteredUserGroup> * pGroups = g_pLocalRegisteredUserDataBase->groupDict();
- QDictIterator<KviRegisteredUserGroup> git(*pGroups);
+ KviDict<KviRegisteredUserGroup> * pGroups = g_pLocalRegisteredUserDataBase->groupDict();
+ KviDictIterator<KviRegisteredUserGroup> git(*pGroups);
m_TmpDict.clear();
while(KviRegisteredUserGroup * g = git.current())
{
@@ -1117,10 +1117,10 @@ void KviRegisteredUsersDialog::moveToGroupMenuClicked(int id)
void KviRegisteredUsersDialog::fillList()
{
m_pListView->clear();
- QDict<KviRegisteredUsersGroupItem> groupItems(5,false);
+ KviDict<KviRegisteredUsersGroupItem> groupItems(5,false);
- QDict<KviRegisteredUserGroup> * pGroups = g_pLocalRegisteredUserDataBase->groupDict();
- QDictIterator<KviRegisteredUserGroup> git(*pGroups);
+ KviDict<KviRegisteredUserGroup> * pGroups = g_pLocalRegisteredUserDataBase->groupDict();
+ KviDictIterator<KviRegisteredUserGroup> git(*pGroups);
while(KviRegisteredUserGroup * g = git.current())
{
KviRegisteredUsersGroupItem* pCur = new KviRegisteredUsersGroupItem(m_pListView,g);
@@ -1129,8 +1129,8 @@ void KviRegisteredUsersDialog::fillList()
++git;
}
- QDict<KviRegisteredUser> * d = g_pLocalRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pLocalRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
KviRegisteredUsersDialogItem * item;
while(KviRegisteredUser * u = it.current())
@@ -1361,11 +1361,11 @@ void KviRegisteredUsersDialog::exportClicked()
if(u)
{
if(!f.save(szName))goto write_error;
- QDict<QString> * pd = u->propertyDict();
+ KviDict<QString> * pd = u->propertyDict();
if(pd)
{
if(!f.save(pd->count()))goto write_error;
- QDictIterator<QString> it(*pd);
+ KviDictIterator<QString> it(*pd);
while(it.current())
{
QString key = it.currentKey();
diff --git a/src/modules/reguser/edituser.h b/src/modules/reguser/edituser.h
index 52e1493d1..1403d70a7 100644
--- a/src/modules/reguser/edituser.h
+++ b/src/modules/reguser/edituser.h
@@ -33,7 +33,7 @@
#include <qpushbutton.h>
#include <qlistview.h>
#include <qlistbox.h>
-#include <qdict.h>
+#include "kvi_dict.h"
#include <qtabdialog.h>
#include <qtable.h>
#include <qpopupmenu.h>
@@ -44,11 +44,11 @@ class KviReguserPropertiesDialog : public QDialog
{
Q_OBJECT
public:
- KviReguserPropertiesDialog(QWidget *p,QDict<QString> * dict);
+ KviReguserPropertiesDialog(QWidget *p,KviDict<QString> * dict);
~KviReguserPropertiesDialog();
protected:
QTable * m_pTable;
- QDict<QString> * m_pPropertyDict;
+ KviDict<QString> * m_pPropertyDict;
QPushButton * m_pDelButton;
QPushButton * m_pAddButton;
protected:
@@ -157,7 +157,7 @@ protected:
KviPixmap * m_pAvatar;
KviPixmapSelector * m_pAvatarSelector;
- QDict<QString> * m_pPropertyDict;
+ KviDict<QString> * m_pPropertyDict;
QCheckBox * m_pCustomColorCheck;
QColor * m_pCustomColor;
diff --git a/src/modules/reguser/libkvireguser.cpp b/src/modules/reguser/libkvireguser.cpp
index 6c6871510..b6bb31ca4 100644
--- a/src/modules/reguser/libkvireguser.cpp
+++ b/src/modules/reguser/libkvireguser.cpp
@@ -519,8 +519,8 @@ static bool reguser_kvs_fnc_list(KviKvsModuleFunctionCall * c)
int cnt = 0;
- QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
while(KviRegisteredUser * u = it.current())
{
@@ -575,8 +575,8 @@ static bool reguser_kvs_cmd_showlist(KviKvsModuleCommandCall * c)
int count = 0;
- QDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
- QDictIterator<KviRegisteredUser> it(*d);
+ KviDict<KviRegisteredUser> * d = g_pRegisteredUserDataBase->userDict();
+ KviDictIterator<KviRegisteredUser> it(*d);
while(KviRegisteredUser * u = it.current())
{
KviPtrList<KviIrcMask> * ml = u->maskList();
@@ -594,10 +594,10 @@ static bool reguser_kvs_cmd_showlist(KviKvsModuleCommandCall * c)
}
}
- QDict<QString> * pd = u->propertyDict();
+ KviDict<QString> * pd = u->propertyDict();
if(pd)
{
- QDictIterator<QString> pdit(*pd);
+ KviDictIterator<QString> pdit(*pd);
while(pdit.current())
{
QString key = pdit.currentKey();
@@ -725,8 +725,8 @@ static bool reguser_kvs_fnc_exactMatch(KviKvsModuleFunctionCall * c)
//
// KviStr list;
//
-// const QAsciiDict<KviRegisteredUserList> * d = g_pRegisteredUserDataBase->nickDict();
-// QAsciiDictIterator<KviRegisteredUserList> it(*d);
+// const KviAsciiDict<KviRegisteredUserList> * d = g_pRegisteredUserDataBase->nickDict();
+// KviAsciiDictIterator<KviRegisteredUserList> it(*d);
// while(KviRegisteredUserList * l = it.current())
// {
// search_reguser_list(l,c->window(),parms->safeFirstParam(),list);
diff --git a/src/modules/setup/setupwizard.cpp b/src/modules/setup/setupwizard.cpp
index 4e6f4264b..bdd312aeb 100644
--- a/src/modules/setup/setupwizard.cpp
+++ b/src/modules/setup/setupwizard.cpp
@@ -618,18 +618,6 @@ void KviSetupWizard::chooseIncomingPath()
}
}
-/*
-void KviSetupWizard::directorySelected(const QString &szDir)
-{
- KviStr szDirectory = szDir;
- kvi_adjustFilePath(szDirectory);
- szDirectory.ensureLastCharIs(KVI_PATH_SEPARATOR_CHAR);
- szDirectory.append(KVI_LOCAL_KVIRC_SUBDIRECTORY_NAME);
- szDirectory.ensureLastCharIs(KVI_PATH_SEPARATOR_CHAR);
- kvi_adjustFilePath(szDirectory);
- m_pDirectoryEdit->setText(szDirectory.ptr());
-}
-*/
void KviSetupWizard::makeLink()
{
diff --git a/src/modules/sharedfile/libkvisharedfile.cpp b/src/modules/sharedfile/libkvisharedfile.cpp
index 2b72826cf..88e9e08eb 100644
--- a/src/modules/sharedfile/libkvisharedfile.cpp
+++ b/src/modules/sharedfile/libkvisharedfile.cpp
@@ -36,7 +36,7 @@
#include <time.h>
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
extern KVIRC_API KviSharedFilesManager * g_pSharedFilesManager;
@@ -210,7 +210,7 @@ static bool sharedfile_kvs_cmd_clear(KviKvsModuleCommandCall * c)
static bool sharedfile_kvs_cmd_list(KviKvsModuleCommandCall * c)
{
- QDictIterator<KviSharedFileList> it(*(g_pSharedFilesManager->sharedFileListDict()));
+ KviDictIterator<KviSharedFileList> it(*(g_pSharedFilesManager->sharedFileListDict()));
int idx = 0;
diff --git a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
index dc774a4f7..e48d48000 100644
--- a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
+++ b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
@@ -106,7 +106,7 @@ static bool sharedfileswindow_kvs_cmd_open(KviKvsModuleCommandCall * c)
KviModuleExtensionDescriptor * d = c->module()->findExtensionDescriptor("tool",KVI_SHARED_FILES_WINDOW_EXTENSION_NAME);
if(d)
{
- QDict<QVariant> dict(17,true);
+ KviDict<QVariant> dict(17,true);
dict.setAutoDelete(true);
dict.replace("bCreateMinimized",new QVariant(c->hasSwitch('m',"minimized")));
dict.replace("bNoRaise",new QVariant(c->hasSwitch('n',"noraise")));
diff --git a/src/modules/sharedfileswindow/sharedfileswindow.cpp b/src/modules/sharedfileswindow/sharedfileswindow.cpp
index 7d673aa3b..e80530938 100644
--- a/src/modules/sharedfileswindow/sharedfileswindow.cpp
+++ b/src/modules/sharedfileswindow/sharedfileswindow.cpp
@@ -287,7 +287,7 @@ void KviSharedFilesWindow::editClicked()
void KviSharedFilesWindow::fillFileView()
{
m_pListView->clear();
- QDictIterator<KviSharedFileList> it(*(g_pSharedFilesManager->sharedFileListDict()));
+ KviDictIterator<KviSharedFileList> it(*(g_pSharedFilesManager->sharedFileListDict()));
KviSharedFilesListViewItem * itm;
diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp
index caa39ebc6..9f95e442b 100644
--- a/src/modules/snd/libkvisnd.cpp
+++ b/src/modules/snd/libkvisnd.cpp
@@ -83,7 +83,7 @@ KviSoundPlayer::KviSoundPlayer()
m_pThreadList = new KviPtrList<KviSoundThread>;
m_pThreadList->setAutoDelete(true);
- m_pSoundSystemDict = new QDict<SoundSystemRoutine>(17,false);
+ m_pSoundSystemDict = new KviDict<SoundSystemRoutine>(17,false);
m_pSoundSystemDict->setAutoDelete(true);
#ifdef COMPILE_ON_WINDOWS
@@ -134,7 +134,7 @@ KviSoundPlayer::~KviSoundPlayer()
void KviSoundPlayer::getAvailableSoundSystems(QStringList *l)
{
- QDictIterator<SoundSystemRoutine> it(*m_pSoundSystemDict);
+ KviDictIterator<SoundSystemRoutine> it(*m_pSoundSystemDict);
while(it.current())
{
l->append(it.currentKey());
diff --git a/src/modules/snd/libkvisnd.h b/src/modules/snd/libkvisnd.h
index b3416a627..c1e52b778 100644
--- a/src/modules/snd/libkvisnd.h
+++ b/src/modules/snd/libkvisnd.h
@@ -31,7 +31,7 @@
#include "kvi_string.h"
#include "kvi_list.h"
-#include <qdict.h>
+#include "kvi_dict.h"
#include "kvi_options.h"
//class KviWavSoundFileReader
@@ -183,7 +183,7 @@ public:
void setMuted(bool muted) {KVI_OPTION_BOOL(KviOption_boolMuteAllSounds)=muted;};
protected:
KviPtrList<KviSoundThread> * m_pThreadList;
- QDict<SoundSystemRoutine> * m_pSoundSystemDict;
+ KviDict<SoundSystemRoutine> * m_pSoundSystemDict;
protected:
void registerSoundThread(KviSoundThread * t);
void unregisterSoundThread(KviSoundThread * t);
diff --git a/src/modules/texticons/libkvitexticons.cpp b/src/modules/texticons/libkvitexticons.cpp
index b4483bea8..cca494b36 100644
--- a/src/modules/texticons/libkvitexticons.cpp
+++ b/src/modules/texticons/libkvitexticons.cpp
@@ -66,7 +66,7 @@ static bool texticons_kvs_fnc_get(KviKvsModuleFunctionCall * c)
} else {
KviKvsHash* hash = new KviKvsHash();
- QDictIterator<KviTextIcon> it(*(g_pTextIconManager->textIconDict()));
+ KviDictIterator<KviTextIcon> it(*(g_pTextIconManager->textIconDict()));
while(KviTextIcon * i = it.current())
{
diff --git a/src/modules/theme/themefunctions.cpp b/src/modules/theme/themefunctions.cpp
index 86b786f0e..776eb23a9 100644
--- a/src/modules/theme/themefunctions.cpp
+++ b/src/modules/theme/themefunctions.cpp
@@ -48,7 +48,7 @@ namespace KviThemeFunctions
bool installThemePackage(const QString &szThemePackageFileName,QString &szError,QWidget * pDialogParent)
{
- QDict<QString> * pInfoFields;
+ KviDict<QString> * pInfoFields;
QString * pValue;
bool bInstall;
QPixmap pix;
diff --git a/src/modules/toolbar/libkvitoolbar.cpp b/src/modules/toolbar/libkvitoolbar.cpp
index 983ccbe84..66c66e571 100644
--- a/src/modules/toolbar/libkvitoolbar.cpp
+++ b/src/modules/toolbar/libkvitoolbar.cpp
@@ -359,7 +359,7 @@ static bool toolbar_kvs_fnc_list(KviKvsModuleFunctionCall * c)
{
KviKvsArray * a = new KviKvsArray();
- QDictIterator<KviCustomToolBarDescriptor> it(*(KviCustomToolBarManager::instance()->descriptors()));
+ KviDictIterator<KviCustomToolBarDescriptor> it(*(KviCustomToolBarManager::instance()->descriptors()));
kvs_uint_t id = 0;
@@ -550,7 +550,7 @@ static bool toolbar_kvs_fnc_items(KviKvsModuleFunctionCall * c)
KviKvsArray * a = new KviKvsArray();
- QDictIterator<KviCustomToolBarDescriptor> it(*(KviCustomToolBarManager::instance()->descriptors()));
+ KviDictIterator<KviCustomToolBarDescriptor> it(*(KviCustomToolBarManager::instance()->descriptors()));
kvs_uint_t id = 0;
diff --git a/src/modules/window/libkviwindow.cpp b/src/modules/window/libkviwindow.cpp
index df8efe6ab..49baaa6b4 100644
--- a/src/modules/window/libkviwindow.cpp
+++ b/src/modules/window/libkviwindow.cpp
@@ -41,7 +41,7 @@
#include "kvi_channel.h"
#include "userwindow.h"
-#include <qasciidict.h>
+#include "kvi_asciidict.h"
#include <qtimer.h>
@@ -54,7 +54,7 @@
// kvi_app.cpp
-extern KVIRC_API QAsciiDict<KviWindow> * g_pGlobalWindowDict;
+extern KVIRC_API KviAsciiDict<KviWindow> * g_pGlobalWindowDict;
KviPtrList<KviUserWindow> * g_pUserWindowList = 0;
// $window.caption $window.x $window.y $window.width $window.height $window.isActive $window.type
@@ -830,7 +830,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c)
{
// all contexts but no "no_context" windows
bool bAllWindows = KviQString::equalCI(szType,"all");
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
@@ -854,7 +854,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c)
{
// all contexts and also "no_context" windows
bool bAllWindows = KviQString::equalCI(szType.lower(),"all");
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
@@ -875,7 +875,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c)
{
// only "no_context" windows
bool bAllWindows = KviQString::equalCI(szType.lower(),"all");
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{
@@ -920,7 +920,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c)
}
bool bAllWindows = KviQString::equalCI(szType.lower(),"all");
- QAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
+ KviAsciiDictIterator<KviWindow> it(*g_pGlobalWindowDict);
while(KviWindow * wnd = it.current())
{