diff options
Diffstat (limited to 'src')
171 files changed, 1600 insertions, 1688 deletions
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()) { |
