diff options
| author | 2008-04-28 01:31:42 +0000 | |
|---|---|---|
| committer | 2008-04-28 01:31:42 +0000 | |
| commit | 6eff13c1b9d284fad598bc4ad92826db29723926 (patch) | |
| tree | 7797f07f76f4826010215fad47a31191155dfd04 /src | |
| parent | fix compilation error (diff) | |
| download | KVIrc-6eff13c1b9d284fad598bc4ad92826db29723926.tar.gz KVIrc-6eff13c1b9d284fad598bc4ad92826db29723926.tar.bz2 KVIrc-6eff13c1b9d284fad598bc4ad92826db29723926.zip | |
A huge progress in KDE4 port, kvirc and several modules now compile. Linking problems solved. Added an option to pick up a random IP address for round-robin IRC servers. Some code cleanup all around...
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1608 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
66 files changed, 395 insertions, 400 deletions
diff --git a/src/kvilib/core/kvi_pointerhashtable.h b/src/kvilib/core/kvi_pointerhashtable.h index d4b46e683..82e2e345a 100644 --- a/src/kvilib/core/kvi_pointerhashtable.h +++ b/src/kvilib/core/kvi_pointerhashtable.h @@ -263,7 +263,7 @@ inline void kvi_hash_key_copy(const QString &szFrom,QString &szTo,bool) szTo = szFrom; } -inline void kvi_hash_key_destroy(QString &szKey,bool) +inline void kvi_hash_key_destroy(QString &,bool) { } diff --git a/src/kvilib/core/kvi_qstring.h b/src/kvilib/core/kvi_qstring.h index ac91ea29c..b88d73622 100644 --- a/src/kvilib/core/kvi_qstring.h +++ b/src/kvilib/core/kvi_qstring.h @@ -219,7 +219,7 @@ namespace KviQString inline kvi_i64_t toI64(QString &szNumber,bool * bOk) { -#if SIZEOF_LONG_INT == 8 +#if SYSTEM_SIZE_OF_LONG_INT == 8 return szNumber.toLong(bOk); #else return szNumber.toLongLong(bOk); @@ -228,7 +228,7 @@ namespace KviQString inline kvi_u64_t toU64(QString &szNumber,bool * bOk) { -#if SIZEOF_LONG_INT == 8 +#if SYSTEM_SIZE_OF_LONG_INT == 8 return szNumber.toULong(bOk); #else return szNumber.toULongLong(bOk); diff --git a/src/kvilib/ext/kvi_mediatype.cpp b/src/kvilib/ext/kvi_mediatype.cpp index 68ddc37de..e4fb02aa7 100644 --- a/src/kvilib/ext/kvi_mediatype.cpp +++ b/src/kvilib/ext/kvi_mediatype.cpp @@ -453,7 +453,7 @@ static KviDefaultMediaType g_defMediaTypes[]= { 0,0,0,0,0 } }; -void KviMediaManager::load(const char * filename) +void KviMediaManager::load(const QString &filename) { __range_valid(locked()); @@ -498,7 +498,7 @@ void KviMediaManager::load(const char * filename) } -void KviMediaManager::save(const char * filename) +void KviMediaManager::save(const QString &filename) { __range_valid(locked()); KviConfig cfg(filename,KviConfig::Write); diff --git a/src/kvilib/ext/kvi_mediatype.h b/src/kvilib/ext/kvi_mediatype.h index d93221c2f..3f39e5d76 100644 --- a/src/kvilib/ext/kvi_mediatype.h +++ b/src/kvilib/ext/kvi_mediatype.h @@ -75,8 +75,8 @@ public: KviMediaType * findMediaType(const char * filename,bool bCheckMagic = true); static void copyMediaType(KviMediaType * dst,KviMediaType * src); - void load(const char * filename); - void save(const char * filename); + void load(const QString &filename); + void save(const QString &filename); }; diff --git a/src/kvilib/ext/kvi_proxydb.cpp b/src/kvilib/ext/kvi_proxydb.cpp index fb254af8e..f85bd825e 100644 --- a/src/kvilib/ext/kvi_proxydb.cpp +++ b/src/kvilib/ext/kvi_proxydb.cpp @@ -114,7 +114,7 @@ void KviProxyDataBase::clear() m_pCurrentProxy = 0; } -void KviProxyDataBase::load(const char * filename) +void KviProxyDataBase::load(const QString &filename) { clear(); KviConfig cfg(filename,KviConfig::Read); @@ -149,7 +149,7 @@ void KviProxyDataBase::load(const char * filename) if(!m_pCurrentProxy)m_pCurrentProxy = m_pProxyList->first(); } -void KviProxyDataBase::save(const char * filename) +void KviProxyDataBase::save(const QString &filename) { KviConfig cfg(filename,KviConfig::Write); diff --git a/src/kvilib/ext/kvi_proxydb.h b/src/kvilib/ext/kvi_proxydb.h index 1eff641d2..260488ba6 100644 --- a/src/kvilib/ext/kvi_proxydb.h +++ b/src/kvilib/ext/kvi_proxydb.h @@ -79,8 +79,8 @@ public: void updateProxyIp(const char * proxy,const char * ip); void setCurrentProxy(KviProxy * prx){ m_pCurrentProxy = prx; }; void insertProxy(KviProxy * prx){ m_pProxyList->append(prx); }; - void load(const char * filename); - void save(const char * filename); + void load(const QString &filename); + void save(const QString &filename); }; #endif //_KVI_PROXYDB_H_ diff --git a/src/kvilib/ext/kvi_regchan.cpp b/src/kvilib/ext/kvi_regchan.cpp index 3cc56bbf3..e5f189e95 100644 --- a/src/kvilib/ext/kvi_regchan.cpp +++ b/src/kvilib/ext/kvi_regchan.cpp @@ -54,7 +54,7 @@ KviRegisteredChannelDataBase::~KviRegisteredChannelDataBase() delete m_pChannelDict; } -void KviRegisteredChannelDataBase::load(const char * filename) +void KviRegisteredChannelDataBase::load(const QString &filename) { KviConfig cfg(filename,KviConfig::Read); m_pChannelDict->clear(); @@ -76,7 +76,7 @@ void KviRegisteredChannelDataBase::load(const char * filename) } } -void KviRegisteredChannelDataBase::save(const char * filename) +void KviRegisteredChannelDataBase::save(const QString &filename) { KviConfig cfg(filename,KviConfig::Write); cfg.clear(); diff --git a/src/kvilib/ext/kvi_regchan.h b/src/kvilib/ext/kvi_regchan.h index df974ac7e..8db1b71ee 100644 --- a/src/kvilib/ext/kvi_regchan.h +++ b/src/kvilib/ext/kvi_regchan.h @@ -65,8 +65,8 @@ public: KviRegisteredChannel * findExact(const char * name,const char * netmask); void remove(KviRegisteredChannel * c); void add(KviRegisteredChannel * c); - void load(const char * filename); - void save(const char * filename); + void load(const QString &filename); + void save(const QString &filename); }; diff --git a/src/kvilib/ext/kvi_xlib.h b/src/kvilib/ext/kvi_xlib.h index 7364d63ee..53c0a879d 100644 --- a/src/kvilib/ext/kvi_xlib.h +++ b/src/kvilib/ext/kvi_xlib.h @@ -40,6 +40,11 @@ // this breaks, enums in Qt, enums in KVIrc and other stuff all around... // Shame on you Xlib.h author :D + #ifdef Bool + // NO! + #undef Bool + #endif + #endif // !COMPILE_NO_X #endif //_KVI_XLIB_H_ diff --git a/src/kvirc/kernel/kvi_action.cpp b/src/kvirc/kernel/kvi_action.cpp index 4ac3d06da..71e78d958 100644 --- a/src/kvirc/kernel/kvi_action.cpp +++ b/src/kvirc/kernel/kvi_action.cpp @@ -416,7 +416,8 @@ QWidget * KviAction::addToCustomToolBar(KviCustomToolBar *pParentToolBar) p ? *p : QPixmap(), visibleName(), visibleName(), - this,SLOT(activate()),pParentToolBar,m_szName); + this,SLOT(activate()),pParentToolBar, + m_szName.toUtf8().data()); pParentToolBar->addWidget(b); if(!isEnabled())b->setEnabled(false); diff --git a/src/kvirc/kernel/kvi_app.cpp b/src/kvirc/kernel/kvi_app.cpp index 36caa9781..ac01c146b 100644 --- a/src/kvirc/kernel/kvi_app.cpp +++ b/src/kvirc/kernel/kvi_app.cpp @@ -105,6 +105,9 @@ #include <QPluginLoader> #endif +#include <stdlib.h> // rand & srand +#include <time.h> // time() in srand() + KVIRC_API KviApp * g_pApp = 0; // global application pointer KviConfig * g_pWinPropertiesConfig = 0; @@ -114,16 +117,13 @@ KVIRC_API KviProxyDataBase * g_pProxyDataBase = 0; // Global windows KVIRC_API KviColorWindow * g_pColorWindow = 0; -KVIRC_API KviTextIconWindowWidget * g_pTextIconWindow = 0; +KVIRC_API KviTextIconWindowWidget * g_pTextIconWindow = 0; KVIRC_API KviTalPopupMenu * g_pInputPopup = 0; KVIRC_API QStringList * g_pRecentTopicList = 0; -//KVIRC_API QStringList * g_pBookmarkList = 0; -KVIRC_API KviPointerHashTable<const char *,KviWindow> * g_pGlobalWindowDict = 0; +KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict = 0; KVIRC_API KviMediaManager * g_pMediaManager = 0; -//KVIRC_API KviRegisteredUserDataBase * g_pRegisteredUserDataBase = 0; KVIRC_API KviSharedFilesManager * g_pSharedFilesManager = 0; KVIRC_API KviNickServRuleSet * g_pNickServRuleSet = 0; -//KVIRC_API KviTimerManager * g_pTimerManager = 0; KVIRC_API KviGarbageCollector * g_pGarbageCollector = 0; KVIRC_API KviCtcpPageDialog * g_pCtcpPageDialog = 0; KVIRC_API KviRegisteredChannelDataBase * g_pRegisteredChannelDataBase = 0; @@ -143,7 +143,7 @@ QPixmap * g_pActivityMeterPixmap = 0; #ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_KDE_SUPPORT + #ifdef COMPILE_KDE3_SUPPORT #include <ksharedpixmap.h> #include <netwm.h> #include <kimageeffect.h> @@ -192,6 +192,9 @@ void KviApp::setup() // on each other and we must activate them in the right order. // Don't move stuff around unless you really know what you're doing. + // Initialize the random number generator + ::srand(::time(0)); + #ifdef COMPILE_ON_WINDOWS // setup winsock.dll WSADATA w; @@ -452,7 +455,7 @@ void KviApp::setup() KVI_SPLASH_SET_PROGRESS(91) // Global window dictionary - g_pGlobalWindowDict = new KviPointerHashTable<const char *,KviWindow>(41); + g_pGlobalWindowDict = new KviPointerHashTable<QString,KviWindow>(41); g_pGlobalWindowDict->setAutoDelete(false); // Script object controller //g_pScriptObjectController = new KviScriptObjectController(); gone @@ -934,7 +937,7 @@ void KviApp::setClipboardText(const KviStr &str) void KviApp::setAvatarFromOptions() { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1064,7 +1067,7 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con #ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_KDE_SUPPORT + #ifdef COMPILE_KDE3_SUPPORT #include <netwm.h> @@ -1124,11 +1127,11 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con //} } - #endif //COMPILE_KDE_SUPPORT + #endif //COMPILE_KDE3_SUPPORT void KviApp::destroyPseudoTransparency() { -#ifdef COMPILE_KDE_SUPPORT +#ifdef COMPILE_KDE3_SUPPORT if(g_pKdeDesktopBackground) { delete g_pKdeDesktopBackground; @@ -1136,7 +1139,7 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con } // forget the backgroundChanged signal (will do nothing if it is not connected) disconnect(this,SIGNAL(backgroundChanged(int)),this,SLOT(kdeRootPixmapChanged(int))); -#endif //COMPILE_KDE_SUPPORT +#endif //COMPILE_KDE3_SUPPORT if(g_pShadedParentGlobalDesktopBackground) { delete g_pShadedParentGlobalDesktopBackground; @@ -1156,11 +1159,11 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con QTimer::singleShot(0,this,SLOT(updatePseudoTransparency())); } -#ifdef COMPILE_KDE_SUPPORT +#ifdef COMPILE_KDE3_SUPPORT #define kimageeffect_fade KImageEffect::fade -#else //!COMPILE_KDE_SUPPORT +#else //!COMPILE_KDE3_SUPPORT // // This function is taken from the KDE kimageeffect.cpp @@ -1225,7 +1228,7 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con return img; } -#endif //!COMPILE_KDE_SUPPORT +#endif //!COMPILE_KDE3_SUPPORT void KviApp::createGlobalBackgrounds(QPixmap * pix) { @@ -1260,7 +1263,7 @@ void KviApp::fileDownloadTerminated(bool bSuccess,const QString &szRemoteUrl,con void KviApp::kdeRootPixmapChanged(int iDesktop) { #ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_KDE_SUPPORT + #ifdef COMPILE_KDE3_SUPPORT if(!KVI_OPTION_BOOL(KviOption_boolUpdateKdeBackgroundOnChange))return; NETRootInfo rinfo(qt_xdisplay(),NET::CurrentDesktop); rinfo.activate(); @@ -1273,7 +1276,7 @@ void KviApp::kdeRootPixmapChanged(int iDesktop) void KviApp::kdeRootPixmapDownloadComplete(bool bSuccess) { #ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_KDE_SUPPORT + #ifdef COMPILE_KDE3_SUPPORT if(!bSuccess) { qDebug("Failed to download the KDE root background image..."); @@ -1288,7 +1291,7 @@ void KviApp::kdeRootPixmapDownloadComplete(bool bSuccess) } delete g_pKdeDesktopBackground; g_pKdeDesktopBackground = 0; - #endif //COMPILE_KDE_SUPPORT + #endif //COMPILE_KDE3_SUPPORT #endif //COMPILE_PSEUDO_TRANSPARENCY } @@ -1299,12 +1302,12 @@ void KviApp::updatePseudoTransparency() m_bUpdatePseudoTransparencyPending = false; if(KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency)) { -#ifdef COMPILE_KDE_SUPPORT +#ifdef COMPILE_KDE3_SUPPORT if(KVI_OPTION_BOOL(KviOption_boolObtainGlobalBackgroundFromKde)) { downloadKdeRootPixmap(); } else { -#endif //COMPILE_KDE_SUPPORT +#endif //COMPILE_KDE3_SUPPORT if(KVI_OPTION_PIXMAP(KviOption_pixmapGlobalTransparencyBackground).pixmap()) { createGlobalBackgrounds(KVI_OPTION_PIXMAP(KviOption_pixmapGlobalTransparencyBackground).pixmap()); @@ -1312,9 +1315,9 @@ void KviApp::updatePseudoTransparency() destroyPseudoTransparency(); KVI_OPTION_BOOL(KviOption_boolUseGlobalPseudoTransparency) = false; } -#ifdef COMPILE_KDE_SUPPORT +#ifdef COMPILE_KDE3_SUPPORT } -#endif //COMPILE_KDE_SUPPORT +#endif //COMPILE_KDE3_SUPPORT } else { destroyPseudoTransparency(); if(g_pFrame)g_pFrame->updatePseudoTransparency(); @@ -1594,7 +1597,7 @@ void KviApp::destroyFrame() bool KviApp::connectionExists(KviIrcConnection *cnn) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1606,7 +1609,7 @@ bool KviApp::connectionExists(KviIrcConnection *cnn) bool KviApp::windowExists(KviWindow *wnd) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1623,7 +1626,7 @@ unsigned int KviApp::windowCount() KviConsole * KviApp::findConsole(QString &server,QString &nick) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1668,7 +1671,7 @@ KviConsole * KviApp::findConsole(KviStr &server,KviStr &nick) void KviApp::restartLagMeters() { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1683,7 +1686,7 @@ void KviApp::restartLagMeters() void KviApp::restartNotifyLists() { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1698,7 +1701,7 @@ void KviApp::restartNotifyLists() void KviApp::resetAvatarForMatchingUsers(KviRegisteredUser * u) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1712,7 +1715,7 @@ void KviApp::resetAvatarForMatchingUsers(KviRegisteredUser * u) KviConsole * KviApp::findConsole(unsigned int ircContextId) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1737,7 +1740,7 @@ KviConsole * KviApp::topmostConnectedConsole() // try ANY connected console - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { @@ -1751,14 +1754,14 @@ KviConsole * KviApp::topmostConnectedConsole() return 0; } -KviWindow * KviApp::findWindow(const char * windowId) +KviWindow * KviApp::findWindow(const QString &windowId) { return g_pGlobalWindowDict->find(windowId); } KviWindow * KviApp::findWindowByCaption(const QString &windowCaption,int iContextId) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(it.current()) { diff --git a/src/kvirc/kernel/kvi_app.h b/src/kvirc/kernel/kvi_app.h index fc56acfac..76bb8917e 100644 --- a/src/kvirc/kernel/kvi_app.h +++ b/src/kvirc/kernel/kvi_app.h @@ -178,8 +178,8 @@ public: void saveOptions(); void listAvailableOptions(KviWindow *wnd); - bool getOptionString(const char * optName,QString &buffer); - bool setOptionValue(const char * optName,const QString &value); + bool getOptionString(const QString &optName,QString &buffer); + bool setOptionValue(const QString &optName,const QString &value); void optionResetUpdate(int flags); void contextSensitiveHelp(); @@ -198,21 +198,21 @@ public: // if the mediatype can be guessed ,it is looked up in the media type save path // if found , true is returned // if not found or the mediatype can't be guessed then false is returned - bool findFileByMediaType(KviStr &szRetPath,const char * filename); + bool findFileByMediaType(KviStr &szRetPath,const char * filename) KVI_DEPRECATED; - bool findImageInImageSearchPath(KviStr &szRetPath,const char * filename); - bool findImageInImageSearchPath(QString &szRetPath,const char * filename); + bool findImageInImageSearchPath(KviStr &szRetPath,const QString &filename); + bool findImageInImageSearchPath(QString &szRetPath,const QString &filename); - bool findUserFile(KviStr &szRetPath,const char *filename); + bool findUserFile(KviStr &szRetPath,const char *filename) KVI_DEPRECATED; bool findImage(KviStr &szRetPath,const char *filename); - bool findImage(QString &szRetPath,const char *filename); - bool findImageThemeOnlyCompat(QString &szRetPath,const char *filename); // temporary compat, will be removed soon (do not use) - bool findSmallIcon(QString &szRetPath,const char *filename); + bool findImage(QString &szRetPath,const QString &filename); + bool findImageThemeOnlyCompat(QString &szRetPath,const QString &filename); // temporary compat, will be removed soon (do not use) + bool findSmallIcon(QString &szRetPath,const QString &filename); // tries to map the full path filename to one of the KVIrc's mapped directories // if it doesn't succeed it just returns the complete filename in szRetPath - bool mapImageFile(KviStr &szRetPath,const char * filename); - bool mapImageFile(QString &szRetPath,const char * filename); + //bool mapImageFile(KviStr &szRetPath,const char * filename); + bool mapImageFile(QString &szRetPath,const QString &filename); //void getDefaultDccSaveFilePath(KviStr &path,const char *filename); void completeDirectory(const QString &word,KviPointerList<QString> * matches); @@ -229,7 +229,7 @@ public: bool getReadOnlyConfigPath(QString &buffer,const char *config_name,KvircSubdir sbd = Config,bool bNoFail = false); // kvi_app.cpp : Window stuff - KviWindow * findWindow(const char * windowId); + KviWindow * findWindow(const QString &windowId); KviWindow * findWindowByCaption(const QString &windowCaption,int iContextId=-1); KviConsole * findConsole(unsigned int ircContextId); KviConsole * findConsole(KviStr & server,KviStr & nick); @@ -319,9 +319,9 @@ private: #ifdef COMPILE_PSEUDO_TRANSPARENCY void createGlobalBackgrounds(QPixmap * pix); void destroyPseudoTransparency(); - #ifdef COMPILE_KDE_SUPPORT + #ifdef COMPILE_KDE3_SUPPORT void downloadKdeRootPixmap(); - #endif //COMPILE_KDE_SUPPORT + #endif //COMPILE_KDE3_SUPPORT #endif //COMPILE_PSEUDO_TRANSPARENCY private: // kvi_app.cpp : parts of setup() diff --git a/src/kvirc/kernel/kvi_app_fs.cpp b/src/kvirc/kernel/kvi_app_fs.cpp index 2c299ecef..ff3d5a5be 100644 --- a/src/kvirc/kernel/kvi_app_fs.cpp +++ b/src/kvirc/kernel/kvi_app_fs.cpp @@ -424,7 +424,7 @@ bool KviApp::findUserFile(KviStr &szRetPath,const char *filename) // FIXME: #warning "Check WHEN findImage is used and when findUserFile is used...we have a mess here" -bool KviApp::findImageInImageSearchPath(KviStr &szRetPath,const char * filename) +bool KviApp::findImageInImageSearchPath(KviStr &szRetPath,const QString &filename) { // first lookup the user defined paths for(QStringList::Iterator it = KVI_OPTION_STRINGLIST(KviOption_stringlistImageSearchPaths).begin(); @@ -440,7 +440,7 @@ bool KviApp::findImageInImageSearchPath(KviStr &szRetPath,const char * filename) return false; } -bool KviApp::findImageInImageSearchPath(QString &szRetPath,const char * filename) +bool KviApp::findImageInImageSearchPath(QString &szRetPath,const QString &filename) { // first lookup the user defined paths for(QStringList::Iterator it = KVI_OPTION_STRINGLIST(KviOption_stringlistImageSearchPaths).begin(); @@ -459,27 +459,27 @@ bool KviApp::findImageInImageSearchPath(QString &szRetPath,const char * filename static KviApp::KvircSubdir pics_localsubdirs[2]={ KviApp::Pics , KviApp::Avatars }; static KviApp::KvircSubdir pics_globalsubdirs[2]={ KviApp::Pics , KviApp::Avatars }; -bool KviApp::mapImageFile(KviStr &szRetPath,const char * filename) +/*bool KviApp::mapImageFile(KviStr &szRetPath,const char * filename) { QString buff; bool ret=mapImageFile(buff,filename); szRetPath=buff; return ret; -} +}*/ -bool KviApp::mapImageFile(QString &szRetPath,const char * filename) +bool KviApp::mapImageFile(QString &szRetPath,const QString &filename) { szRetPath = filename; // can't map non absolute paths - if(!kvi_isAbsolutePath(filename))return false; + if(!KviFileUtils::isAbsolutePath(filename))return false; // can't map non existing paths if(!KviFileUtils::fileExists(filename))return false; - QFileInfo fi = QFileInfo(QString::fromUtf8(filename)); + QFileInfo fi = QFileInfo(filename); unsigned int size = fi.size(); - KviStr szBestMatch; + QString szBestMatch; while(szRetPath.find(KVI_PATH_SEPARATOR) != -1) { @@ -535,7 +535,7 @@ bool KviApp::mapImageFile(QString &szRetPath,const char * filename) } } - if(szBestMatch.hasData()) + if(!szBestMatch.isEmpty()) { szRetPath = szBestMatch; return true; @@ -556,10 +556,10 @@ bool KviApp::findImage(KviStr &szRetPath,const char *filename) return ret; } -bool KviApp::findImage(QString &szRetPath,const char *filename) +bool KviApp::findImage(QString &szRetPath,const QString &filename) { // Find an user file... - if(kvi_isAbsolutePath(filename)) + if(KviFileUtils::isAbsolutePath(filename)) { szRetPath=filename; return KviFileUtils::fileExists(filename); @@ -606,7 +606,7 @@ bool KviApp::findImage(QString &szRetPath,const char *filename) return false; } -bool KviApp::findImageThemeOnlyCompat(QString &szRetPath,const char *filename) +bool KviApp::findImageThemeOnlyCompat(QString &szRetPath,const QString &filename) { // if we have a theme, look it up as first if(!KVI_OPTION_STRING(KviOption_stringIconThemeSubdir).isEmpty()) @@ -633,7 +633,7 @@ bool KviApp::findImageThemeOnlyCompat(QString &szRetPath,const char *filename) return false; } -bool KviApp::findSmallIcon(QString &szRetPath,const char *filename) +bool KviApp::findSmallIcon(QString &szRetPath,const QString &filename) { // this is a bit optimized for the small builtin icons // looks up less places. @@ -661,8 +661,6 @@ bool KviApp::findSmallIcon(QString &szRetPath,const char *filename) if(KviFileUtils::fileExists(szRetPath))return true; } - int i; - // unlikely getLocalKvircDirectory(szRetPath,KviApp::SmallIcons,filename); if(KviFileUtils::fileExists(szRetPath))return true; diff --git a/src/kvirc/kernel/kvi_iconmanager.cpp b/src/kvirc/kernel/kvi_iconmanager.cpp index 0adcb6913..46fa07e0b 100644 --- a/src/kvirc/kernel/kvi_iconmanager.cpp +++ b/src/kvirc/kernel/kvi_iconmanager.cpp @@ -687,14 +687,14 @@ void KviIconManager::addToCache(const QString &szName,KviCachedPixmap * p) m_uCacheTotalSize += p->size(); } -QPixmap * KviIconManager::getImage(const char * id,bool bCanBeNumber,QString* pRetPath) +QPixmap * KviIconManager::getImage(const QString &id,bool bCanBeNumber,QString* pRetPath) { - if(!id)return 0; + if(id.isEmpty()) + return 0; if(bCanBeNumber) { bool bOk; - QString tmp = id; - int idx = tmp.toInt(&bOk); + int idx = id.toInt(&bOk); if(bOk) { // was a number : this is not a filename diff --git a/src/kvirc/kernel/kvi_iconmanager.h b/src/kvirc/kernel/kvi_iconmanager.h index 95feb8cdd..d587c0c2d 100644 --- a/src/kvirc/kernel/kvi_iconmanager.h +++ b/src/kvirc/kernel/kvi_iconmanager.h @@ -449,7 +449,7 @@ public: // WARNING: Don't store this pointer! // id == filename | number that indicates an internal pixmap // 0 stands for "any" - QPixmap * getImage(const char * id,bool bCanBeNumber = true,QString* pRetPath = 0); + QPixmap * getImage(const QString &id,bool bCanBeNumber = true,QString* pRetPath = 0); // The returned pointer is owned by the icon manager // and can be deleted at any time : so don't store it diff --git a/src/kvirc/kernel/kvi_ircconnectionserverinfo.h b/src/kvirc/kernel/kvi_ircconnectionserverinfo.h index 60722e875..3401a850e 100644 --- a/src/kvirc/kernel/kvi_ircconnectionserverinfo.h +++ b/src/kvirc/kernel/kvi_ircconnectionserverinfo.h @@ -34,7 +34,7 @@ protected: QString m_szServerVersion; public: KviBasicIrcServerInfo(const QString & version = KviQString::empty); - ~KviBasicIrcServerInfo(); + virtual ~KviBasicIrcServerInfo(); protected: virtual const QString & getCustomChannelModeDescription(QChar mode) { return KviQString::empty; }; virtual const QString & getCustomUserModeDescription(QChar mode) { return KviQString::empty; }; diff --git a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp index fb0b91352..8f91d2ee6 100644 --- a/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp +++ b/src/kvirc/kernel/kvi_ircconnectiontargetresolver.cpp @@ -50,6 +50,8 @@ #define __KVI_DEBUG__ #include "kvi_debug.h" +#include <stdlib.h> + #include <QTimer> extern KVIRC_API KviIrcServerDataBase * g_pIrcServerDataBase; @@ -271,7 +273,7 @@ void KviIrcConnectionTargetResolver::proxyLookupTerminated(KviDns *) __tr2qs("Proxy hostname resolved to %Q"),&szFirstIpAddress); m_pTarget->proxy()->m_szIp = m_pProxyDns->firstIpAddress(); - g_pProxyDataBase->updateProxyIp(m_pTarget->proxy()->m_szIp.ptr(),szFirstIpAddress); + g_pProxyDataBase->updateProxyIp(m_pTarget->proxy()->m_szIp.ptr(),szFirstIpAddress.toUtf8().data()); if(m_pProxyDns->hostnameCount() > 1) { @@ -384,12 +386,38 @@ void KviIrcConnectionTargetResolver::serverLookupTerminated(KviDns *) terminate(Error,m_pServerDns->error()); return; } - QString szFirstIpAddress = m_pServerDns->firstIpAddress(); + + QString szIpAddress; + + if(m_pServerDns->ipAddressCount() > 1) + { + if(KVI_OPTION_BOOL(KviOption_boolPickRandomIpAddressForRoundRobinServers)) + { + if(!_OUTPUT_MUTE) + m_pConsole->output(KVI_OUT_SYSTEMMESSAGE, + __tr2qs("Server has %d IP addresses, picking a random one"), + m_pServerDns->ipAddressCount() + ); + + int r = ::rand() % m_pServerDns->ipAddressCount(); + szIpAddress = *(m_pServerDns->ipAddressList()->at(r)); + } else { + if(!_OUTPUT_MUTE) + m_pConsole->output(KVI_OUT_SYSTEMMESSAGE, + __tr2qs("Server has %d IP addresses, using the first one"), + m_pServerDns->ipAddressCount() + ); + szIpAddress = m_pServerDns->firstIpAddress(); + } + } else { + szIpAddress = m_pServerDns->firstIpAddress(); + } + if(!_OUTPUT_MUTE) m_pConsole->output(KVI_OUT_SYSTEMMESSAGE, __tr2qs("Server hostname resolved to %Q"), - &szFirstIpAddress); - g_pIrcServerDataBase->updateServerIp(m_pTarget->server(),szFirstIpAddress); + &szIpAddress); + g_pIrcServerDataBase->updateServerIp(m_pTarget->server(),szIpAddress); QString szFirstHostname = m_pServerDns->firstHostname(); @@ -403,7 +431,7 @@ void KviIrcConnectionTargetResolver::serverLookupTerminated(KviDns *) m_pTarget->server()->m_szHostname = szFirstHostname; } - m_pTarget->server()->m_szIp = m_pServerDns->firstIpAddress(); + m_pTarget->server()->m_szIp = szIpAddress; if(m_pServerDns->hostnameCount() > 1) { diff --git a/src/kvirc/kernel/kvi_ircsocket.cpp b/src/kvirc/kernel/kvi_ircsocket.cpp index fb824fe83..c9fe0218a 100644 --- a/src/kvirc/kernel/kvi_ircsocket.cpp +++ b/src/kvirc/kernel/kvi_ircsocket.cpp @@ -701,7 +701,7 @@ void KviIrcSocket::proxyLoginV4() struct in_addr ircInAddr; - if(!kvi_stringIpToBinaryIp(m_pIrcServer->ip(),&ircInAddr)) + if(!kvi_stringIpToBinaryIp(m_pIrcServer->ip().toUtf8().data(),&ircInAddr)) debug("SOCKET INTERNAL ERROR IN IPV4 (SOCKS4) ADDR CONVERSION"); Q_UINT32 host=(Q_UINT32)ircInAddr.s_addr; @@ -914,7 +914,7 @@ void KviIrcSocket::proxySendTargetDataV5() #ifdef COMPILE_IPV6_SUPPORT struct in6_addr ircInAddr; - if(!kvi_stringIpToBinaryIp_V6(m_pIrcServer->ip(),&ircInAddr))debug("SOCKET INTERNAL ERROR IN IPV6 ADDR CONVERSION"); + if(!kvi_stringIpToBinaryIp_V6(m_pIrcServer->ip().toUtf8().data(),&ircInAddr))debug("SOCKET INTERNAL ERROR IN IPV6 ADDR CONVERSION"); kvi_memmove((void *)(bufToSend + 4),(void *)(&ircInAddr),4); Q_UINT16 port = (Q_UINT16)htons(m_pIrcServer->port()); kvi_memmove((void *)(bufToSend + 20),(void *)&port,2); @@ -922,7 +922,7 @@ void KviIrcSocket::proxySendTargetDataV5() } else { struct in_addr ircInAddr; - if(!kvi_stringIpToBinaryIp(m_pIrcServer->ip(),&ircInAddr))debug("SOCKET INTERNAL ERROR IN IPV4 ADDR CONVERSION"); + if(!kvi_stringIpToBinaryIp(m_pIrcServer->ip().toUtf8().data(),&ircInAddr))debug("SOCKET INTERNAL ERROR IN IPV4 ADDR CONVERSION"); Q_UINT32 host = (Q_UINT32)ircInAddr.s_addr; kvi_memmove((void *)(bufToSend + 4),(void *)&host,4); Q_UINT16 port = (Q_UINT16)htons(m_pIrcServer->port()); @@ -1216,7 +1216,7 @@ void KviIrcSocket::printSSLCipherInfo() if(ci) { //m_pConsole->socketEvent(SSLCipherInfo,(void *)ci); - KviSSLMaster::printSSLCipherInfo(m_pConsole,__tr2qs("Current transmission cipher"),ci); + KviSSLMaster::printSSLCipherInfo(m_pConsole,__tr("Current transmission cipher"),ci); delete ci; } else { if(_OUTPUT_VERBOSE) diff --git a/src/kvirc/kernel/kvi_main.cpp b/src/kvirc/kernel/kvi_main.cpp index 0397427e7..57e0d5361 100644 --- a/src/kvirc/kernel/kvi_main.cpp +++ b/src/kvirc/kernel/kvi_main.cpp @@ -87,7 +87,7 @@ int parseArgs(ParseArgs * a) #ifdef COMPILE_ON_WINDOWS MessageBox(0,szMessage.toLocal8Bit().data(),"KVIrc",0); #else - debug(szMessage); + debug(szMessage.toLocal8Bit().data()); #endif return KVI_ARGS_RETCODE_STOP; @@ -135,7 +135,7 @@ int parseArgs(ParseArgs * a) #ifdef COMPILE_ON_WINDOWS MessageBox(0,szMessage.toLocal8Bit().data(),"KVIrc",0); #else - debug(szMessage); + debug(szMessage.toLocal8Bit().data()); #endif return KVI_ARGS_RETCODE_STOP; } diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 45bf61d96..2a021cea1 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -306,6 +306,7 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= BOOL_OPTION("ScaleAvatarsOnLoad",true,KviOption_sectFlagAvatar), BOOL_OPTION("DisableNotifierFadein",false,KviOption_sectFlagFrame), BOOL_OPTION("UseAntiAliasing",true,KviOption_sectFlagGui | KviOption_resetUpdateGui), + BOOL_OPTION("PickRandomIpAddressForRoundRobinServers",true,KviOption_sectFlagConnection) }; #define STRING_OPTION(_txt,_val,_flags) KviStringOption(KVI_STRING_OPTIONS_PREFIX _txt,_val,_flags) @@ -1216,15 +1217,15 @@ void KviApp::listAvailableOptions(KviWindow *wnd) //using namespace KviStringConversion; -bool KviApp::getOptionString(const char * optName,QString &buffer) +bool KviApp::getOptionString(const QString &optName,QString &buffer) { #define GET_OPTION_STRING(__numOpt,__table,__prefix,__prefixLen) \ - if(kvi_strEqualCIN(optName,__prefix,__prefixLen)) \ + if(KviQString::equalCIN(optName,__prefix,__prefixLen)) \ { \ for(int i=0;i < __numOpt;i++) \ { \ - if(kvi_strEqualCI(optName,__table[i].name)) \ + if(KviQString::equalCI(optName,__table[i].name)) \ { \ KviStringConversion::toString(__table[i].option,buffer); \ return true; \ @@ -1306,15 +1307,15 @@ void KviApp::optionResetUpdate(int flags) } } -bool KviApp::setOptionValue(const char * optName,const QString &value) +bool KviApp::setOptionValue(const QString &optName,const QString &value) { #define SET_OPTION_VALUE(__numOpt,__table,__prefix,__prefixLen) \ - if(kvi_strEqualCIN(optName,__prefix,__prefixLen)) \ + if(KviQString::equalCIN(optName,__prefix,__prefixLen)) \ { \ for(int i=0;i < __numOpt;i++) \ { \ - if(kvi_strEqualCI(optName,__table[i].name)) \ + if(KviQString::equalCI(optName,__table[i].name)) \ { \ if(!KviStringConversion::fromString(value,__table[i].option))return false; \ optionResetUpdate(__table[i].flags); \ @@ -1336,10 +1337,10 @@ bool KviApp::setOptionValue(const char * optName,const QString &value) SET_OPTION_VALUE(KVI_NUM_FONT_OPTIONS,g_fontOptionsTable,KVI_FONT_OPTIONS_PREFIX,KVI_FONT_OPTIONS_PREFIX_LEN) SET_OPTION_VALUE(KVI_NUM_MSGTYPE_OPTIONS,g_msgtypeOptionsTable,KVI_MSGTYPE_OPTIONS_PREFIX,KVI_MSGTYPE_OPTIONS_PREFIX_LEN) - if(kvi_strEqualCI(optName,"stringlistRecentChannels")) + if(KviQString::equalCI(optName,"stringlistRecentChannels")) buildRecentChannels(); // The pixmap options have special treating - if(kvi_strEqualCIN(optName,KVI_PIXMAP_OPTIONS_PREFIX,KVI_PIXMAP_OPTIONS_PREFIX_LEN)) + if(KviQString::equalCIN(optName,KVI_PIXMAP_OPTIONS_PREFIX,KVI_PIXMAP_OPTIONS_PREFIX_LEN)) { // We lookup the image path (so we allow also relative paths for this option type) QString szVal = value; @@ -1354,7 +1355,7 @@ bool KviApp::setOptionValue(const char * optName,const QString &value) for(int i=0;i < KVI_NUM_PIXMAP_OPTIONS;i++) { - if(kvi_strEqualCI(optName,g_pixmapOptionsTable[i].name)) + if(KviQString::equalCI(optName,g_pixmapOptionsTable[i].name)) { if(!KviStringConversion::fromString(szBuffer,g_pixmapOptionsTable[i].option))return false; optionResetUpdate(g_pixmapOptionsTable[i].flags); diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index 140e51222..8071fe163 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -43,11 +43,11 @@ class _cname \ { \ public: \ - const char * name; \ + QString name; \ _type option; \ int flags; \ public: \ - _cname(const char * n,_type o,int f) \ + _cname(const QString &n,_type o,int f) \ : name(n) , option(o) , flags(f) {}; \ ~_cname() {}; \ }; @@ -313,9 +313,10 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_boolScaleAvatarsOnLoad 219 #define KviOption_boolDisableNotifierFadein 220 /* interface::notifier */ #define KviOption_boolUseAntiAliasing 221 /* qt4 only! */ +#define KviOption_boolPickRandomIpAddressForRoundRobinServers 222 -#define KVI_NUM_BOOL_OPTIONS 222 +#define KVI_NUM_BOOL_OPTIONS 223 diff --git a/src/kvirc/kernel/kvi_sslmaster.cpp b/src/kvirc/kernel/kvi_sslmaster.cpp index 55d212816..69504b717 100644 --- a/src/kvirc/kernel/kvi_sslmaster.cpp +++ b/src/kvirc/kernel/kvi_sslmaster.cpp @@ -80,14 +80,14 @@ KVIRC_API void printSSLConnectionInfo(KviWindow * wnd,KviSSL * s) if(sc) { QString tmp(__tr2qs("Peer X509 certificate")); - KviSSLMaster::printSSLCertificate(wnd,tmp,sc); + KviSSLMaster::printSSLCertificate(wnd,tmp.toLocal8Bit().data(),sc); delete sc; } else wnd->outputNoFmt(KVI_OUT_SSL,__tr2qs("[SSL]: The peer didn't provide a certificate")); KviSSLCipherInfo * ci = s->getCurrentCipherInfo(); if(ci) { QString tmp(__tr2qs("Current transmission cipher")); - KviSSLMaster::printSSLCipherInfo(wnd,tmp,ci); + KviSSLMaster::printSSLCipherInfo(wnd,tmp.toLocal8Bit().data(),ci); delete ci; } else wnd->outputNoFmt(KVI_OUT_SSL,__tr2qs("[SSL]: Can't find out the current cipher info")); } diff --git a/src/kvirc/kvs/kvi_kvs_corecallbackcommands.cpp b/src/kvirc/kvs/kvi_kvs_corecallbackcommands.cpp index 6b88f89e8..769415112 100644 --- a/src/kvirc/kvs/kvi_kvs_corecallbackcommands.cpp +++ b/src/kvirc/kvs/kvi_kvs_corecallbackcommands.cpp @@ -438,7 +438,7 @@ namespace KviKvsCoreCallbackCommands return true; } - pButton = (KviScriptUserButton *)(KVSCCC_pWindow->buttonContainer())->child(szName,"KviWindowScriptButton"); + pButton = (KviScriptUserButton *)(KVSCCC_pWindow->buttonContainer())->child(szName.toUtf8().data(),"KviWindowScriptButton"); if(KVSCCC_pCallback->code().isEmpty()) { @@ -452,7 +452,7 @@ namespace KviKvsCoreCallbackCommands if(!pButton) { - pButton = new KviWindowScriptButton(KVSCCC_pWindow->buttonContainer(),KVSCCC_pWindow,szName); + pButton = new KviWindowScriptButton(KVSCCC_pWindow->buttonContainer(),KVSCCC_pWindow,szName.toUtf8().data()); pButton->show(); } diff --git a/src/kvirc/kvs/kvi_kvs_corefunctions_mr.cpp b/src/kvirc/kvs/kvi_kvs_corefunctions_mr.cpp index f43bc60a0..9d82e3a3c 100644 --- a/src/kvirc/kvs/kvi_kvs_corefunctions_mr.cpp +++ b/src/kvirc/kvs/kvi_kvs_corefunctions_mr.cpp @@ -231,10 +231,11 @@ namespace KviKvsCoreFunctions KVSCF_PARAMETER("msg_type_color_set_name",KVS_PT_NONEMPTYSTRING,0,szName) KVSCF_PARAMETERS_END - KviStr tmp(szName); + QString tmp = "msgtype"; + tmp += szName; for(int i=0;i< KVI_NUM_MSGTYPE_OPTIONS;i++) { - if(kvi_strEqualCI(tmp.ptr(),(g_msgtypeOptionsTable[i].name + 7))) + if(KviQString::equalCI(tmp,g_msgtypeOptionsTable[i].name)) { KVSCF_pRetBuffer->setInteger(i); return true; diff --git a/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp b/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp index b8902a0cf..7805687b0 100644 --- a/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp +++ b/src/kvirc/kvs/kvi_kvs_corefunctions_sz.cpp @@ -706,7 +706,7 @@ namespace KviKvsCoreFunctions KviMessageCatalogue * pCat = KviLocale::getLoadedCatalogue(szCatalogue); if(pCat) { - translation = pCat->translateToQString(szString); + translation = pCat->translateToQString(szString.toUtf8().data()); } else { // attempt to load it automatically QString szDir; @@ -723,10 +723,10 @@ namespace KviKvsCoreFunctions // not fail unless /trunload is explicitly used // This will avoid trashing the user's disk too much // when a catalogue for a given language is not available - translation = __tr2qs_ctx_no_xgettext(szString,szCatalogue); + translation = __tr2qs_ctx_no_xgettext(szString.toUtf8().data(),szCatalogue.toUtf8().data()); } } else { - translation = __tr2qs_no_xgettext(szString); + translation = __tr2qs_no_xgettext(szString.toUtf8().data()); } // epilogue: set the return value diff --git a/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp b/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp index c383366bd..12b491d91 100644 --- a/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp +++ b/src/kvirc/kvs/kvi_kvs_coresimplecommands_af.cpp @@ -55,7 +55,7 @@ #include "kvi_tal_tooltip.h" // kvi_app.cpp -extern KviPointerHashTable<const char *,KviWindow> * g_pGlobalWindowDict; +extern KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict; namespace KviKvsCoreSimpleCommands { @@ -120,7 +120,7 @@ namespace KviKvsCoreSimpleCommands if(KVSCSC_pSwitches->find('a',"all-networks")) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE) @@ -174,7 +174,7 @@ namespace KviKvsCoreSimpleCommands if(KVSCSC_pSwitches->find('a',"all-networks")) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE) @@ -412,7 +412,7 @@ namespace KviKvsCoreSimpleCommands return true; } - pButton = (KviScriptUserButton *)(KVSCSC_pWindow->buttonContainer())->child(tbName,"KviWindowScriptButton"); + pButton = (KviScriptUserButton *)(KVSCSC_pWindow->buttonContainer())->child(tbName.toUtf8().data(),"KviWindowScriptButton"); if(!pButton) { diff --git a/src/kvirc/kvs/kvi_kvs_object.cpp b/src/kvirc/kvs/kvi_kvs_object.cpp index 6204b3c48..790c5a445 100644 --- a/src/kvirc/kvs/kvi_kvs_object.cpp +++ b/src/kvirc/kvs/kvi_kvs_object.cpp @@ -1112,7 +1112,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) return true; } - int idx = m_pObject->metaObject()->indexOfProperty(szName); + int idx = m_pObject->metaObject()->indexOfProperty(szName.toUtf8().data()); if(idx < 0) { c->warning(__tr2qs("No Qt property named \"%Q\" for object named \"%Q\" of class %Q"),&szName,&m_szName,&(m_pClass->name())); @@ -1126,7 +1126,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) return true; } - QVariant vv = m_pObject->property(szName); + QVariant vv = m_pObject->property(szName.toUtf8().data()); if(!vv.isValid()) { c->warning(__tr2qs("Can't find property named \"%Q\" for object named \"%Q\" of class %Q: the property is indexed and defined but the returned variant is not valid"),&szName,&m_szName,&(m_pClass->name())); @@ -1137,9 +1137,9 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) { QString szKey; v->asString(szKey); - int val = p->enumerator().keyToValue(szKey); + int val = p->enumerator().keyToValue(szKey.toUtf8().data()); QVariant var(val); - m_pObject->setProperty(szName,var); + m_pObject->setProperty(szName.toUtf8().data(),var); return true; } @@ -1155,7 +1155,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) { kvs_int_t i; if(!v->asInteger(i))WRONG_TYPE("integer") - m_pObject->setProperty(szName,QVariant((int)i)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant((int)i)); } break; case QVariant::UInt: @@ -1163,30 +1163,30 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) kvs_int_t i; if(!v->asInteger(i))WRONG_TYPE("unsigned integer") if(i < 0)WRONG_TYPE("unsigned integer") - m_pObject->setProperty(szName,QVariant((unsigned int)i)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant((unsigned int)i)); } case QVariant::Double: { kvs_real_t i; if(!v->asReal(i))WRONG_TYPE("real") - m_pObject->setProperty(szName,QVariant((double)i)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant((double)i)); } break; case QVariant::Bool: - m_pObject->setProperty(szName,QVariant(v->asBoolean())); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(v->asBoolean())); break; case QVariant::String: { QString s; v->asString(s); - m_pObject->setProperty(szName,QVariant(s)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(s)); } break; case QVariant::ByteArray: { QString s; v->asString(s); - m_pObject->setProperty(szName,QVariant(s.toUtf8())); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(s.toUtf8())); } break; case QVariant::Point: @@ -1198,7 +1198,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(!x || !y)WRONG_TYPE("array(integer,integer)") kvs_int_t iX,iY; if(!x->asInteger(iX) || !y->asInteger(iY))WRONG_TYPE("array(integer,integer)") - m_pObject->setProperty(szName,QVariant(QPoint(iX,iY))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QPoint(iX,iY))); } break; case QVariant::Size: @@ -1210,7 +1210,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(!w || !h)WRONG_TYPE("array(integer,integer)") kvs_int_t iW,iH; if(!w->asInteger(iW) || !h->asInteger(iH))WRONG_TYPE("array(integer,integer)") - m_pObject->setProperty(szName,QVariant(QSize(iW,iH))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QSize(iW,iH))); } break; case QVariant::Rect: @@ -1224,7 +1224,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(!x || !y || !w || !h)WRONG_TYPE("array(integer,integer,integer,integer)") kvs_int_t iX,iY,iW,iH; if(!x->asInteger(iX) || !y->asInteger(iY) || !w->asInteger(iW) || !h->asInteger(iH))WRONG_TYPE("array(integer,integer,integer,integer)") - m_pObject->setProperty(szName,QVariant(QRect(iX,iY,iW,iH))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QRect(iX,iY,iW,iH))); } break; @@ -1238,7 +1238,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(!r || !g || !b)WRONG_TYPE("array(integer,integer,integer)") kvs_int_t iR,iG,iB; if(!r->asInteger(iR) || !g->asInteger(iG) || !b->asInteger(iB))WRONG_TYPE("array(integer,integer,integer)") - m_pObject->setProperty(szName,QVariant(QColor(iR,iG,iB))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QColor(iR,iG,iB))); } break; case QVariant::Font: @@ -1263,7 +1263,7 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(szFl.find('o') != -1)fnt.setOverline(true); if(szFl.find('f') != -1)fnt.setFixedPitch(true); if(szFl.find('s') != -1)fnt.setStrikeOut(true); - m_pObject->setProperty(szName,QVariant(fnt)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(fnt)); } break; case QVariant::Pixmap: @@ -1274,9 +1274,9 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) { // null pixmap if(vv.type() == QVariant::Pixmap) - m_pObject->setProperty(szName,QVariant(QPixmap())); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QPixmap())); else - m_pObject->setProperty(szName,QVariant(QIcon())); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QIcon())); } else { KviKvsObject * pix = KviKvsKernel::instance()->objectController()->lookupObject(v->hobject()); if(!pix->inherits("KviScriptPixmapObject")) @@ -1284,9 +1284,9 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) else { QVariant pixv = pix->property("pixmap"); if(vv.type() == QVariant::Pixmap) - m_pObject->setProperty(szName,QVariant(pixv.value<QPixmap>())); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(pixv.value<QPixmap>())); else - m_pObject->setProperty(szName,QVariant(QIcon(pixv.value<QPixmap>()))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QIcon(pixv.value<QPixmap>()))); } } } else { @@ -1296,9 +1296,9 @@ bool KviKvsObject::function_setProperty(KviKvsObjectFunctionCall * c) if(pPix) { if(vv.type() == QVariant::Pixmap) - m_pObject->setProperty(szName,QVariant(*pPix)); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(*pPix)); else - m_pObject->setProperty(szName,QVariant(QIcon(*pPix))); + m_pObject->setProperty(szName.toUtf8().data(),QVariant(QIcon(*pPix))); } else c->warning(__tr2qs("Can't find the requested image")); @@ -1336,10 +1336,11 @@ bool KviKvsObject::function_property(KviKvsObjectFunctionCall * c) return true; } - int idx = m_pObject->metaObject()->indexOfProperty(szName); + int idx = m_pObject->metaObject()->indexOfProperty(szName.toUtf8().data()); if(idx < 0) { - if (bNoerror) c->returnValue()->setString("No Qt properties"); + if(bNoerror) + c->returnValue()->setString("No Qt properties"); else { c->warning(__tr2qs("No Qt property named \"%Q\" for object named \"%Q\" of class %Q"),&szName,&m_szName,&(m_pClass->name())); @@ -1356,7 +1357,7 @@ bool KviKvsObject::function_property(KviKvsObjectFunctionCall * c) return true; } - QVariant v = m_pObject->property(szName); + QVariant v = m_pObject->property(szName.toUtf8().data()); if(!v.isValid()) { c->warning(__tr2qs("Can't find property named \"%Q\" for object named \"%Q\" of class %Q: the property is indexed and defined but the returned variant is not valid"),&szName,&m_szName,&(m_pClass->name())); diff --git a/src/kvirc/kvs/kvi_kvs_treenode_specialcommanddo.cpp b/src/kvirc/kvs/kvi_kvs_treenode_specialcommanddo.cpp index 5557a8b46..1dc778666 100644 --- a/src/kvirc/kvs/kvi_kvs_treenode_specialcommanddo.cpp +++ b/src/kvirc/kvs/kvi_kvs_treenode_specialcommanddo.cpp @@ -51,13 +51,8 @@ void KviKvsTreeNodeSpecialCommandDo::contextDescription(QString &szBuffer) szBuffer = "Special Command \"do\""; } -void KviKvsTreeNodeSpecialCommandDo::dump(const char * prefix) +void KviKvsTreeNodeSpecialCommandDo::dump(const char *) { - qDebug("%s SpecialCommandDo",prefix); - QString tmp = prefix; - tmp.append(" "); - m_pExpression->dump(tmp); - if(m_pInstruction)m_pInstruction->dump(tmp); } bool KviKvsTreeNodeSpecialCommandDo::execute(KviKvsRunTimeContext * c) diff --git a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandif.cpp b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandif.cpp index 70fec6f22..994b8811f 100644 --- a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandif.cpp +++ b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandif.cpp @@ -53,14 +53,8 @@ void KviKvsTreeNodeSpecialCommandIf::contextDescription(QString &szBuffer) szBuffer = "Special Command \"if\""; } -void KviKvsTreeNodeSpecialCommandIf::dump(const char * prefix) +void KviKvsTreeNodeSpecialCommandIf::dump(const char *) { - qDebug("%s SpecialCommandIf",prefix); - QString tmp = prefix; - tmp.append(" "); - m_pExpression->dump(tmp); - if(m_pIfInstruction)m_pIfInstruction->dump(tmp); - if(m_pElseInstruction)m_pElseInstruction->dump(tmp); } bool KviKvsTreeNodeSpecialCommandIf::execute(KviKvsRunTimeContext * c) diff --git a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandwhile.cpp b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandwhile.cpp index ed16c0c16..9dbedd0e5 100644 --- a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandwhile.cpp +++ b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandwhile.cpp @@ -50,13 +50,8 @@ void KviKvsTreeNodeSpecialCommandWhile::contextDescription(QString &szBuffer) szBuffer = "Special Command \"while\""; } -void KviKvsTreeNodeSpecialCommandWhile::dump(const char * prefix) +void KviKvsTreeNodeSpecialCommandWhile::dump(const char *) { - qDebug("%s SpecialCommandWhile",prefix); - QString tmp = prefix; - tmp.append(" "); - m_pExpression->dump(tmp); - if(m_pInstruction)m_pInstruction->dump(tmp); } bool KviKvsTreeNodeSpecialCommandWhile::execute(KviKvsRunTimeContext * c) diff --git a/src/kvirc/module/kvi_module.cpp b/src/kvirc/module/kvi_module.cpp index b5c13f6ff..5e32f70a7 100644 --- a/src/kvirc/module/kvi_module.cpp +++ b/src/kvirc/module/kvi_module.cpp @@ -128,7 +128,7 @@ extern KVIRC_API KviModuleExtensionManager * g_pModuleExtensionManager; // FIXME: #warning "Move all the modules to the new locking method ?" -KviModule::KviModule(kvi_library_t handle,KviModuleInfo * info,const char * name,const char * filename) +KviModule::KviModule(kvi_library_t handle,KviModuleInfo * info,const QString &name,const QString &filename) : KviKvsModuleInterface() { m_dlHandle = handle; @@ -352,14 +352,16 @@ void * KviModule::getSymbol(const char * symname) void KviModule::getDefaultConfigFileName(KviStr &buffer) { - KviStr szName(KviStr::Format,"libkvi%s.kvc",m_szName.ptr()); - g_pApp->getLocalKvircDirectory(buffer,KviApp::ConfigPlugins,szName.ptr()); + QString tmp = "libkvi"; + tmp += m_szName; + tmp += ".kvc"; + g_pApp->getLocalKvircDirectory(buffer,KviApp::ConfigPlugins,tmp); } void KviModule::getDefaultConfigFileName(QString &szBuffer) { QString tmp = "libkvi"; - tmp += m_szName.ptr(); + tmp += m_szName; tmp += ".kvc"; g_pApp->getLocalKvircDirectory(szBuffer,KviApp::ConfigPlugins,tmp); } diff --git a/src/kvirc/module/kvi_module.h b/src/kvirc/module/kvi_module.h index 175ddab5e..3f5ba2ad2 100644 --- a/src/kvirc/module/kvi_module.h +++ b/src/kvirc/module/kvi_module.h @@ -140,12 +140,12 @@ class KVIRC_API KviModule : public KviKvsModuleInterface friend class KviModuleManager; friend class KviUserParser; protected: - KviModule(kvi_library_t handle,KviModuleInfo * info,const char * name,const char * filename); + KviModule(kvi_library_t handle,KviModuleInfo * info,const QString &name,const QString &filename); public: ~KviModule(); // must be public for KviPointerList private: - KviStr m_szName; - KviStr m_szFileName; + QString m_szName; + QString m_szFileName; KviModuleInfo * m_pModuleInfo; kvi_library_t m_dlHandle; unsigned int m_uLock; @@ -155,9 +155,9 @@ protected: unsigned int secondsSinceLastAccess(); public: // name of this module: always low case , single word - const char * name(){ return m_szName.ptr(); }; + const QString & name(){ return m_szName; }; // filename of this module (with NO path): formatted as "libkvi%s.so",name() - const char * filename(){ return m_szFileName.ptr(); }; + const QString & filename(){ return m_szFileName; }; kvi_library_t handle(){ return m_dlHandle; }; KviModuleInfo * moduleInfo(){ return m_pModuleInfo; }; diff --git a/src/kvirc/module/kvi_moduleextension.cpp b/src/kvirc/module/kvi_moduleextension.cpp index 4564f9564..5ded00b79 100644 --- a/src/kvirc/module/kvi_moduleextension.cpp +++ b/src/kvirc/module/kvi_moduleextension.cpp @@ -143,9 +143,9 @@ void KviModuleExtensionManager::unregisterExtensionsByModule(KviModule * m) } } -KviModuleExtensionDescriptorList * KviModuleExtensionManager::allocateExtensionGetDescriptorList(const KviStr &szType,const char * preloadModule) +KviModuleExtensionDescriptorList * KviModuleExtensionManager::allocateExtensionGetDescriptorList(const KviStr &szType,const QString &preloadModule) { - if(preloadModule) + if(!preloadModule.isEmpty()) { KviModule * m = g_pModuleManager->getModule(preloadModule); (void)m; // get rid of the unused warning :D @@ -175,7 +175,7 @@ KviModuleExtensionDescriptor * KviModuleExtensionManager::findExtensionDescripto return 0; } -KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd,KviPointerHashTable<QString,QVariant> * pParams,void * pSpecial,const char * preloadModule) +KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd,KviPointerHashTable<QString,QVariant> * pParams,void * pSpecial,const QString &preloadModule) { KviModuleExtensionDescriptorList * l = allocateExtensionGetDescriptorList(szType,preloadModule); if(!l)return 0; @@ -202,7 +202,7 @@ KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr & } -KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,int id,KviWindow * pWnd,KviPointerHashTable<QString,QVariant> * pParams,void * pSpecial,const char * preloadModule) +KviModuleExtension * KviModuleExtensionManager::allocateExtension(const KviStr &szType,int id,KviWindow * pWnd,KviPointerHashTable<QString,QVariant> * pParams,void * pSpecial,const QString &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 1c4c1f686..e72144e92 100644 --- a/src/kvirc/module/kvi_moduleextension.h +++ b/src/kvirc/module/kvi_moduleextension.h @@ -116,10 +116,10 @@ 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,KviPointerHashTable<QString,QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0); - KviModuleExtension * allocateExtension(const KviStr &szType,int id,KviWindow * pWnd = 0,KviPointerHashTable<QString,QVariant> * pParams = 0,void * pSpecial = 0,const char * preloadModule = 0); + KviModuleExtension * allocateExtension(const KviStr &szType,const KviStr &szName,KviWindow * pWnd = 0,KviPointerHashTable<QString,QVariant> * pParams = 0,void * pSpecial = 0,const QString &preloadModule = QString()); + KviModuleExtension * allocateExtension(const KviStr &szType,int id,KviWindow * pWnd = 0,KviPointerHashTable<QString,QVariant> * pParams = 0,void * pSpecial = 0,const QString &preloadModule = QString()); private: - KviModuleExtensionDescriptorList * allocateExtensionGetDescriptorList(const KviStr &szType,const char * preloadModule); + KviModuleExtensionDescriptorList * allocateExtensionGetDescriptorList(const KviStr &szType,const QString &preloadModule); }; diff --git a/src/kvirc/module/kvi_modulemanager.cpp b/src/kvirc/module/kvi_modulemanager.cpp index e9a184900..72bbb25cc 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 KviPointerHashTable<const char *,KviModule>(17,false); + m_pModuleDict = new KviPointerHashTable<QString,KviModule>(17,false); m_pModuleDict->setAutoDelete(false); m_pCleanupTimer = new QTimer(this); @@ -58,31 +58,35 @@ KviModuleManager::~KviModuleManager() } -void KviModuleManager::loadModulesByCaps(const char * caps,const char * dir) +void KviModuleManager::loadModulesByCaps(const QString &caps,const QString &dir) { - KviStr szCapsPath(KviStr::Format,"%s%ccaps%c%s%c",dir,KVI_PATH_SEPARATOR_CHAR, - KVI_PATH_SEPARATOR_CHAR,caps,KVI_PATH_SEPARATOR_CHAR); + QString szCapsPath = dir; + szCapsPath += KVI_PATH_SEPARATOR_CHAR; + szCapsPath += "caps"; + szCapsPath += KVI_PATH_SEPARATOR_CHAR; + szCapsPath += caps; + szCapsPath += KVI_PATH_SEPARATOR_CHAR; - QDir d(QString(szCapsPath.ptr())); + QDir d(szCapsPath); // FIXME: maybe check timestamps ? (old modules) QStringList sl = d.entryList(QDir::Files | QDir::Readable | QDir::NoSymLinks); for(QStringList::Iterator it = sl.begin();it != sl.end();++it) { - KviStr modname = *it; - modname.cutToLast(KVI_PATH_SEPARATOR_CHAR); - getModule((*it).ascii()); + QString modname = *it; + KviQString::cutToLast(modname,KVI_PATH_SEPARATOR_CHAR); + getModule(modname); } } -void KviModuleManager::loadModulesByCaps(const char * caps) +void KviModuleManager::loadModulesByCaps(const QString &caps) { - KviStr szDir; + QString szDir; g_pApp->getLocalKvircDirectory(szDir,KviApp::Plugins); - loadModulesByCaps(caps,szDir.ptr()); + loadModulesByCaps(caps,szDir); g_pApp->getGlobalKvircDirectory(szDir,KviApp::Plugins); - loadModulesByCaps(caps,szDir.ptr()); + loadModulesByCaps(caps,szDir); } void KviModuleManager::completeModuleNames(const QString &path,const QString &word,KviPointerList<QString> * matches) @@ -122,14 +126,14 @@ void KviModuleManager::completeModuleNames(const QString &word,KviPointerList<QS completeModuleNames(szDir,word,matches); } -KviModule * KviModuleManager::findModule(const char * modName) +KviModule * KviModuleManager::findModule(const QString &modName) { KviModule * m = m_pModuleDict->find(modName); if(m)m->updateAccessTime(); return m; } -KviModule * KviModuleManager::getModule(const char * modName) +KviModule * KviModuleManager::getModule(const QString &modName) { KviModule * m = m_pModuleDict->find(modName); if(!m) @@ -154,7 +158,7 @@ static bool default_module_cmd_unload(KviModule *m,KviCommand *) } */ -bool KviModuleManager::loadModule(const char * modName) +bool KviModuleManager::loadModule(const QString &modName) { if(findModule(modName)) { @@ -164,9 +168,9 @@ bool KviModuleManager::loadModule(const char * modName) QString tmp; QString szName; #ifdef COMPILE_ON_WINDOWS - KviQString::appendFormatted(szName,"kvi%s.dll",modName); + KviQString::appendFormatted(szName,"kvi%Q.dll",&modName); #else - KviQString::appendFormatted(szName,"libkvi%s.so",modName); + KviQString::appendFormatted(szName,"libkvi%Q.so",&modName); #endif szName=szName.lower(); @@ -258,7 +262,7 @@ bool KviModuleManager::loadModule(const char * modName) if(_OUTPUT_VERBOSE && !g_pApp->closingDown()) { if(g_pFrame)g_pFrame->firstConsole()->output(KVI_OUT_VERBOSE, - __tr2qs("Loaded module '%s' (%s)"),modName,szName.toUtf8().data()); + __tr2qs("Loaded module '%s' (%s)"),modName.toUtf8().data(),szName.toUtf8().data()); } return true; } @@ -271,7 +275,7 @@ void KviModuleManager::registerDefaultCommands(KviModule * module) module->registerCommand("unload",default_module_cmd_unload); } */ -bool KviModuleManager::unloadModule(const char * modName) +bool KviModuleManager::unloadModule(const QString &modName) { return unloadModule(findModule(modName)); } @@ -285,15 +289,15 @@ bool KviModuleManager::unloadModule(KviModule * module) { (module->moduleInfo()->cleanup_routine)(module); } - KviStr szModName = module->name(); + QString szModName = module->name(); kvi_library_close(module->handle()); //debug("Closing module %s, dlclose returns %d",szModName.ptr(),dlclose(module->handle())); - m_pModuleDict->remove(szModName.ptr()); + m_pModuleDict->remove(szModName); delete module; // unload the message catalogues, if any - KviLocale::unloadCatalogue(szModName.ptr()); + KviLocale::unloadCatalogue(szModName); if(m_pModuleDict->isEmpty()) { @@ -303,14 +307,14 @@ bool KviModuleManager::unloadModule(KviModule * module) if(_OUTPUT_VERBOSE && !g_pApp->closingDown()) { if(g_pFrame)g_pFrame->firstConsole()->output(KVI_OUT_VERBOSE, - __tr2qs("Unloaded module '%s'"),szModName.ptr()); + __tr2qs("Unloaded module '%s'"),szModName.toUtf8().data()); } return true; } bool KviModuleManager::hasLockedModules() { - KviPointerHashTableIterator<const char *,KviModule> it(*m_pModuleDict); + KviPointerHashTableIterator<QString,KviModule> it(*m_pModuleDict); while(KviModule * m = it.current()) { if(m->isLocked())return true; @@ -322,7 +326,7 @@ bool KviModuleManager::hasLockedModules() void KviModuleManager::cleanupUnusedModules() { - KviPointerHashTableIterator<const char *,KviModule> it(*m_pModuleDict); + KviPointerHashTableIterator<QString,KviModule> it(*m_pModuleDict); KviPointerList<KviModule> lModulesToUnload; lModulesToUnload.setAutoDelete(false); @@ -354,7 +358,7 @@ void KviModuleManager::cleanupUnusedModules() void KviModuleManager::unloadAllModules() { - KviPointerHashTableIterator<const char *,KviModule> it(*m_pModuleDict); + KviPointerHashTableIterator<QString,KviModule> it(*m_pModuleDict); KviPointerList<KviModule> lModulesToUnload; lModulesToUnload.setAutoDelete(false); diff --git a/src/kvirc/module/kvi_modulemanager.h b/src/kvirc/module/kvi_modulemanager.h index 0dfa53e7c..1476c4bf9 100644 --- a/src/kvirc/module/kvi_modulemanager.h +++ b/src/kvirc/module/kvi_modulemanager.h @@ -40,20 +40,20 @@ public: KviModuleManager(); ~KviModuleManager(); private: - KviPointerHashTable<const char *,KviModule> * m_pModuleDict; + KviPointerHashTable<QString,KviModule> * m_pModuleDict; QTimer * m_pCleanupTimer; KviStr m_szLastError; public: KviStr & lastError(){ return m_szLastError; }; - KviModule * findModule(const char * modName); - KviModule * getModule(const char * modName); - bool loadModule(const char * modName); - bool unloadModule(const char * modName); + KviModule * findModule(const QString &modName); + KviModule * getModule(const QString &modName); + bool loadModule(const QString &modName); + bool unloadModule(const QString &modName); bool unloadModule(KviModule * module); void unloadAllModules(); //void registerDefaultCommands(KviModule * module); - void loadModulesByCaps(const char * caps,const char * dir); - void loadModulesByCaps(const char * caps); + void loadModulesByCaps(const QString &caps,const QString &dir); + void loadModulesByCaps(const QString &caps); bool hasLockedModules(); void completeModuleNames(const QString &word,KviPointerList<QString> * matches); protected: diff --git a/src/kvirc/sparser/kvi_sp_ctcp.cpp b/src/kvirc/sparser/kvi_sp_ctcp.cpp index 5c88cc623..a32caf7f4 100644 --- a/src/kvirc/sparser/kvi_sp_ctcp.cpp +++ b/src/kvirc/sparser/kvi_sp_ctcp.cpp @@ -398,8 +398,6 @@ void KviServerParser::encodeCtcpParameter(const char * param,KviStr &buffer,bool } const char * begin = param; - - bool bMustQuote = false; while(*param) { @@ -478,8 +476,6 @@ void KviServerParser::encodeCtcpParameter(const char * parametr,QString &resultB return; } - bool bMustQuote = false; - while(*param) { switch(*param) @@ -947,11 +943,17 @@ bool KviServerParser::checkCtcpFlood(KviCtcpMessage *msg) } -void KviServerParser::replyCtcp(KviCtcpMessage *msg,const char * data) +void KviServerParser::replyCtcp(KviCtcpMessage *msg,const QString &data) { KviQCString szNick = msg->msg->connection()->encodeText(msg->pSource->nick()); - msg->msg->connection()->sendFmtData("NOTICE %s :%c%s %s%c", - szNick.data(),0x01,msg->msg->connection()->encodeText(msg->szTag).data(),msg->msg->connection()->encodeText(data).data(),0x01); + msg->msg->connection()->sendFmtData( + "NOTICE %s :%c%s %s%c", + szNick.data(), + 0x01, + msg->msg->connection()->encodeText(msg->szTag).data(), + msg->msg->connection()->encodeText(data).data(), + 0x01 + ); } void KviServerParser::echoCtcpReply(KviCtcpMessage * msg) @@ -1015,8 +1017,8 @@ void KviServerParser::echoCtcpRequest(KviCtcpMessage *msg) } else bIsChannel = true; } - QString szRequest = pOut->decodeText(req); - QString szTag = pOut->decodeText(msg->szTag); + QString szRequest = req; + QString szTag = msg->szTag; QString szWhat = bIsChannel ? __tr2qs("Channel CTCP") : QString("CTCP"); if(msg->bIsFlood) @@ -1048,7 +1050,7 @@ void KviServerParser::parseCtcpRequestPing(KviCtcpMessage *msg) { if(!KVI_OPTION_BOOL(KviOption_boolIgnoreCtcpPing)) { - replyCtcp(msg,msg->pData); + replyCtcp(msg,msg->msg->connection()->encodeText(msg->pData)); } else msg->bIgnored = true; } @@ -1159,7 +1161,7 @@ void KviServerParser::parseCtcpRequestVersion(KviCtcpMessage *msg) szVersion.append(sz); } } - replyCtcp(msg,szVersion.toUtf8().data()); + replyCtcp(msg,szVersion); } else msg->bIgnored = true; } @@ -1202,7 +1204,7 @@ void KviServerParser::parseCtcpRequestUserinfo(KviCtcpMessage *msg) szReply += KVI_OPTION_STRING(KviOption_stringCtcpUserInfoOther); } if(szReply.isEmpty())szReply = KVI_DEFAULT_CTCP_USERINFO_REPLY; - replyCtcp(msg,szReply.toUtf8().data()); + replyCtcp(msg,szReply); } else msg->bIgnored = true; } @@ -1243,14 +1245,14 @@ void KviServerParser::parseCtcpRequestClientinfo(KviCtcpMessage *msg) szTag.toUpper(); if(szTag.isEmpty()) { - KviStr reply("KVIrc " KVI_VERSION " '" KVI_RELEASE_NAME "' " KVI_SOURCES_DATE " - http://www.kvirc.net - Supported tags: "); + QString reply("KVIrc " KVI_VERSION " '" KVI_RELEASE_NAME "' " KVI_SOURCES_DATE " - http://www.kvirc.net - Supported tags: "); for(int i=0;ctcpTagTable[i][0];i++) { - reply.append(ctcpTagTable[i][0]); - if(ctcpTagTable[i + 1][0])reply.append(','); + reply += ctcpTagTable[i][0]; + if(ctcpTagTable[i + 1][0])reply += ","; } - reply.append(" - Use 'CLIENTINFO <tag>' for a description of each tag"); - replyCtcp(msg,reply.ptr()); + reply += " - Use 'CLIENTINFO <tag>' for a description of each tag"; + replyCtcp(msg,reply); } else { bool bFound = false; for(int i=0;ctcpTagTable[i][0] && !bFound;i++) @@ -1306,7 +1308,7 @@ void KviServerParser::parseCtcpRequestSource(KviCtcpMessage *msg) version+=" :"; version+= KVI_OPTION_STRING(KviOption_stringCtcpSourcePostfix); } - replyCtcp(msg,version.toUtf8().data()); + replyCtcp(msg,version); } else msg->bIgnored = true; } @@ -1498,7 +1500,7 @@ void KviServerParser::parseCtcpRequestAvatar(KviCtcpMessage *msg) szFileName.replace(" ","_"); // escape the spaces with the right octal code - encodeCtcpParameter(szFileName,szReply); + encodeCtcpParameter(szFileName.toUtf8().data(),szReply); if(!a->isRemote()) @@ -1519,7 +1521,7 @@ void KviServerParser::parseCtcpRequestAvatar(KviCtcpMessage *msg) } szReply.append(szGenderTag); - replyCtcp(msg,szReply.toUtf8().data()); + replyCtcp(msg,szReply); } } else { // no avatar set.. ignore channel requests if the user wishes @@ -1752,7 +1754,7 @@ void KviServerParser::parseCtcpRequestDcc(KviCtcpMessage *msg) __tr2qs("Processing DCC %Q request from \r!n\r%Q\r [%Q@\r!h\r%Q\r] (%s %s)"), &decoded,&(msg->pSource->nick()), &(msg->pSource->user()),&(msg->pSource->host()), - msg->msg->console()->decodeText(msg->szTag).data(), + msg->szTag.toUtf8().data(), msg->msg->console()->decodeText(aux.ptr()).data()); } diff --git a/src/kvirc/sparser/kvi_sp_literal.cpp b/src/kvirc/sparser/kvi_sp_literal.cpp index cb2cd0dd9..3dfce2f9f 100644 --- a/src/kvirc/sparser/kvi_sp_literal.cpp +++ b/src/kvirc/sparser/kvi_sp_literal.cpp @@ -1507,7 +1507,7 @@ void KviServerParser::parseLiteralNick(KviIrcMessage *msg) { // the target SHOULD have changed his nick here if(!q->nickChange(szNick,szNewNick)) - debug("Internal error: query %s failed to change nick from %s to s",szNick.toUtf8().data(),szNick.toUtf8().data(),szNewNick.toUtf8().data()); + debug("Internal error: query %s failed to change nick from %s to %s",szNick.toUtf8().data(),szNick.toUtf8().data(),szNewNick.toUtf8().data()); if(!msg->haltOutput()) q->output(KVI_OUT_NICK,__tr2qs("\r!n\r%Q\r [%Q@\r!h\r%Q\r] is now known as \r!n\r%Q\r"), &szNick,&szUser,&szHost,&szNewNick); @@ -1715,7 +1715,7 @@ void KviServerParser::parseChannelMode(const QString &szNick,const QString &szUs case 'k': if(bSet)aParam = msg->safeParam(curParam++); else aParam = ""; - chan->setChannelKey(aParam); + chan->setChannelKey(aParam.toUtf8().data()); if(bSet) { if(KVS_TRIGGER_EVENT_4_HALTED(KviEvent_OnKeySet,chan,szNick,szUser,szHost,aParam)) @@ -1738,7 +1738,7 @@ void KviServerParser::parseChannelMode(const QString &szNick,const QString &szUs case 'l': if(bSet)aParam = msg->safeParam(curParam++); else aParam = ""; - chan->setChannelLimit(aParam); + chan->setChannelLimit(aParam.toUtf8().data()); if(bSet) { if(KVS_TRIGGER_EVENT_4_HALTED(KviEvent_OnLimitSet,chan,szNick,szUser,szHost,aParam)) diff --git a/src/kvirc/sparser/kvi_sparser.h b/src/kvirc/sparser/kvi_sparser.h index 88b099fa7..1fb551bf3 100644 --- a/src/kvirc/sparser/kvi_sparser.h +++ b/src/kvirc/sparser/kvi_sparser.h @@ -71,7 +71,7 @@ typedef struct _KviCtcpMessage bool bIsFlood; bool bUnknown; - QString szTag; + QString szTag; } KviCtcpMessage; typedef struct _KviDccRequest @@ -228,7 +228,7 @@ private: void parseCtcpReply(KviCtcpMessage *msg); void echoCtcpRequest(KviCtcpMessage *msg); void echoCtcpReply(KviCtcpMessage *msg); - void replyCtcp(KviCtcpMessage *msg,const char * data); + void replyCtcp(KviCtcpMessage *msg,const QString &data); bool checkCtcpFlood(KviCtcpMessage *msg); void parseCtcpRequestPing(KviCtcpMessage *msg); diff --git a/src/kvirc/ui/kvi_channel.cpp b/src/kvirc/ui/kvi_channel.cpp index 80a33f9de..1bbd45410 100644 --- a/src/kvirc/ui/kvi_channel.cpp +++ b/src/kvirc/ui/kvi_channel.cpp @@ -89,7 +89,7 @@ // FIXME: #warning "OnChannelFlood event...." -KviChannel::KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const char * name) +KviChannel::KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const QString &name) : KviWindow(KVI_WINDOW_TYPE_CHANNEL,lpFrm,name,lpConsole) { // Init some member variables @@ -105,7 +105,7 @@ KviChannel::KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const char * name m_pActionHistory->setAutoDelete(true); m_uActionHistoryHotActionCount = 0; - m_pTmpHighLighted = new KviPointerHashTable<const char *,QString>(); + m_pTmpHighLighted = new KviPointerHashTable<QString,QString>(); m_pTmpHighLighted->setAutoDelete(true); // Register ourselves @@ -576,14 +576,14 @@ void KviChannel::setChannelLimit(const char * limit) updateCaption(); } -void KviChannel::addHighlightedUser(const char * nick) +void KviChannel::addHighlightedUser(const QString &nick) { if(!m_pUserListView->findEntry(nick))return; else m_pTmpHighLighted->replace(nick,new QString()); } -void KviChannel::removeHighlightedUser(const char * nick) +void KviChannel::removeHighlightedUser(const QString &nick) { m_pTmpHighLighted->remove(nick); } diff --git a/src/kvirc/ui/kvi_channel.h b/src/kvirc/ui/kvi_channel.h index 603383150..461e47516 100644 --- a/src/kvirc/ui/kvi_channel.h +++ b/src/kvirc/ui/kvi_channel.h @@ -108,7 +108,7 @@ class KVIRC_API KviChannel : public KviWindow { Q_OBJECT public: - KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const char * name); + KviChannel(KviFrame * lpFrm,KviConsole * lpConsole,const QString &name); ~KviChannel(); protected: QSplitter * m_pTopSplitter; @@ -137,7 +137,7 @@ protected: KviPixmap m_privateBackground; QDateTime m_joinTime; QString m_szNameWithUserFlag; - KviPointerHashTable<const char *,QString> * m_pTmpHighLighted; + KviPointerHashTable<QString,QString> * m_pTmpHighLighted; unsigned int m_uActionHistoryHotActionCount; KviPointerList<KviChannelAction> * m_pActionHistory; kvi_time_t m_tLastReceivedWhoReply; @@ -280,9 +280,9 @@ public: bool hasChannelKey() { return !m_szChannelKey.isEmpty(); }; QString & channelKey(){ return m_szChannelKey; }; - void addHighlightedUser(const char * nick); - void removeHighlightedUser(const char * nick); - bool isHighlightedUser(const char * nick) { return m_pTmpHighLighted->find(nick); }; + void addHighlightedUser(const QString &nick); + void removeHighlightedUser(const QString &nick); + bool isHighlightedUser(const QString &nick) { return m_pTmpHighLighted->find(nick); }; KviIrcView * messageView() const { return m_pMessageView; }; virtual void lostUserFocus(); virtual void getTaskBarTipText(QString &buffer); diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp index d498ba45c..c7f621f4b 100644 --- a/src/kvirc/ui/kvi_frame.cpp +++ b/src/kvirc/ui/kvi_frame.cpp @@ -482,7 +482,7 @@ void KviFrame::executeInternalCommand(int index) }
-void KviFrame::saveWindowProperties(KviWindow * wnd,const char * szSection)
+void KviFrame::saveWindowProperties(KviWindow * wnd,const QString &szSection)
{
g_pWinPropertiesConfig->setGroup(szSection);
g_pWinPropertiesConfig->writeEntry("EntryTimestamp",(unsigned int)time(0));
@@ -720,18 +720,6 @@ void KviFrame::undockWindow(KviWindow *wnd) wnd->setFocus();
}
-bool KviFrame::event(QEvent *e)
-{
- switch(e->type())
- {
- case QEvent::Shortcut:
- {
- debug ("Shortcut");
- return true;
- }
- }
- return KviTalMainWindow::event(e);
-}
void KviFrame::newConsole()
{
diff --git a/src/kvirc/ui/kvi_frame.h b/src/kvirc/ui/kvi_frame.h index 98469f19b..d643455a1 100644 --- a/src/kvirc/ui/kvi_frame.h +++ b/src/kvirc/ui/kvi_frame.h @@ -160,7 +160,7 @@ public: // and the active irc context changes state void updateCaption(); // helper for saving the window properties - void saveWindowProperties(KviWindow * wnd,const char * szSection); + void saveWindowProperties(KviWindow * wnd,const QString &szSection); // finds the module extension toolbar with the specified identifier // see kvi_moduleextension.h and kvi_mextoolbar.h KviMexToolBar * moduleExtensionToolBar(int extensionId); @@ -241,7 +241,6 @@ protected: private: void saveToolBarPositions(); void restoreToolBarPositions(); - bool event(QEvent *e); }; #ifndef _KVI_FRAME_CPP_ diff --git a/src/kvirc/ui/kvi_input.cpp b/src/kvirc/ui/kvi_input.cpp index 8f2b5c9f3..f98fdde46 100644 --- a/src/kvirc/ui/kvi_input.cpp +++ b/src/kvirc/ui/kvi_input.cpp @@ -132,7 +132,7 @@ void KviInputHistory::add(QString * s) if(m_pStringList->count() > KVI_INPUT_MAX_GLOBAL_HISTORY_ENTRIES)m_pStringList->removeLast(); } -void KviInputHistory::load(const char * filename) +void KviInputHistory::load(const QString &filename) { KviConfig c(filename,KviConfig::Read); @@ -150,7 +150,7 @@ void KviInputHistory::load(const char * filename) } } -void KviInputHistory::save(const char * filename) +void KviInputHistory::save(const QString &filename) { KviConfig c(filename,KviConfig::Write); c.clear(); diff --git a/src/kvirc/ui/kvi_input.h b/src/kvirc/ui/kvi_input.h index 0cb6ba12a..e46a3453b 100644 --- a/src/kvirc/ui/kvi_input.h +++ b/src/kvirc/ui/kvi_input.h @@ -67,8 +67,8 @@ protected: public: void add(QString * s); KviPointerList<QString> * list(){ return m_pStringList; }; - void save(const char * filename); - void load(const char * filename); + void save(const QString &filename); + void load(const QString &filename); }; #define QIMEvent QInputMethodEvent diff --git a/src/kvirc/ui/kvi_ircview.cpp b/src/kvirc/ui/kvi_ircview.cpp index be79a9642..289bb234f 100644 --- a/src/kvirc/ui/kvi_ircview.cpp +++ b/src/kvirc/ui/kvi_ircview.cpp @@ -519,7 +519,7 @@ void KviIrcView::stopLogging() if(m_pLogFile) { QString szLogEnd; - szLogEnd.sprintf(__tr2qs("### Log session terminated at %s ###"),QDateTime::currentDateTime().toString().toUtf8().data()); + KviQString::sprintf(szLogEnd,__tr2qs("### Log session terminated at %s ###"),QDateTime::currentDateTime().toString().toUtf8().data()); add2Log(szLogEnd); m_pLogFile->close(); @@ -693,7 +693,7 @@ bool KviIrcView::startLogging(const QString& fname,bool bPrependCurBuffer) } QString szLogStart; - szLogStart.sprintf(__tr2qs("### Log session started at %s ###"),QDateTime::currentDateTime().toString().toUtf8().data()); + KviQString::sprintf(szLogStart,__tr2qs("### Log session started at %s ###"),QDateTime::currentDateTime().toString().toUtf8().data()); add2Log(szLogStart); if(bPrependCurBuffer) { diff --git a/src/kvirc/ui/kvi_ircview.h b/src/kvirc/ui/kvi_ircview.h index add5fd68b..53fbcf788 100644 --- a/src/kvirc/ui/kvi_ircview.h +++ b/src/kvirc/ui/kvi_ircview.h @@ -207,7 +207,7 @@ public slots: signals: void rightClicked(); void dndEntered(); - void fileDropped(const char *); + void fileDropped(const QString &); private: void setCursorLine(KviIrcViewLine * l); KviIrcViewLine * getVisibleLineAt(int xPos,int yPos); diff --git a/src/kvirc/ui/kvi_mdichild.cpp b/src/kvirc/ui/kvi_mdichild.cpp index 115df63ee..475c32e52 100644 --- a/src/kvirc/ui/kvi_mdichild.cpp +++ b/src/kvirc/ui/kvi_mdichild.cpp @@ -544,7 +544,7 @@ void KviMdiChild::focusInEvent(QFocusEvent *) #endif } -QSize KviMdiChild::sizeHint() +QSize KviMdiChild::sizeHint() const { if(m_pClient) { diff --git a/src/kvirc/ui/kvi_mdichild.h b/src/kvirc/ui/kvi_mdichild.h index 0b564dded..1829c3954 100644 --- a/src/kvirc/ui/kvi_mdichild.h +++ b/src/kvirc/ui/kvi_mdichild.h @@ -73,7 +73,7 @@ public: const QString & xmlActiveCaption(){ return m_szXmlActiveCaption; }; const QString & xmlInactiveCaption(){ return m_szXmlInactiveCaption; }; void setWindowTitle(const QString & plain,const QString & xmlActive,const QString & xmlInactive); - virtual QSize sizeHint(); + virtual QSize sizeHint() const; void setIcon(const QPixmap &pix); const QPixmap * icon(); void enableClose(bool bEnable); diff --git a/src/kvirc/ui/kvi_modeeditor.cpp b/src/kvirc/ui/kvi_modeeditor.cpp index e79e69037..fc708c7c4 100644 --- a/src/kvirc/ui/kvi_modeeditor.cpp +++ b/src/kvirc/ui/kvi_modeeditor.cpp @@ -46,7 +46,7 @@ // FIXME: This widget should use a KviTalScrollView! -KviModeEditor::KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const char * nam,KviConsole * c,const char * mode,const char * key,const char * limit) +KviModeEditor::KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const char * nam,KviConsole * c,const QString &mode,const QString &key,const QString &limit) : KviWindowToolWidget(par,button) { m_szMode = mode; @@ -131,11 +131,11 @@ KviModeEditor::KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const m_pLimitEdit->setEnabled(isEnabled); i++; g->addMultiCellWidget(m_pLimitEdit,i,i,1,2); - if(m_szLimit.hasData()) + if(!m_szLimit.isEmpty()) { m_pLimitBox->setChecked(true); // m_pLimitEdit->setEnabled(true); - m_pLimitEdit->setText(m_szLimit.ptr()); + m_pLimitEdit->setText(m_szLimit); } else { m_pLimitEdit->setEnabled(false); } @@ -150,11 +150,11 @@ KviModeEditor::KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const m_pKeyEdit->setEnabled(isEnabled); i++; g->addMultiCellWidget(m_pKeyEdit,i,i,1,2); - if(m_szKey.hasData()) + if(!m_szKey.isEmpty()) { m_pKeyBox->setChecked(true); // m_pLimitEdit->setEnabled(true); - m_pKeyEdit->setText(m_szKey.ptr()); + m_pKeyEdit->setText(m_szKey); } else { m_pKeyEdit->setEnabled(false); } @@ -222,60 +222,59 @@ void KviModeEditor::commit() KviStr szPlusModes; KviStr szMinusModes; - if(m_szKey.hasData()) + if(!m_szKey.isEmpty()) { // had a key before if(m_pKeyBox->isChecked()) { // still have it - KviStr tmp = m_pKeyEdit->text(); - tmp.stripWhiteSpace(); - if(tmp.hasData()) + QString tmp = m_pKeyEdit->text().stripWhiteSpace(); + if(!tmp.isEmpty()) { - if(!kvi_strEqualCI(tmp.ptr(),m_szKey.ptr())) + if(tmp != m_szKey) { // not the same key! // set the new one - KviStr mode(KviStr::Format,"-k %s",m_szKey.ptr()); + KviStr mode(KviStr::Format,"-k %s",m_szKey.toUtf8().data()); // FIXME: assuming utf8 is wrong here! emit setMode(mode.ptr()); - mode.sprintf("+k %s",tmp.ptr()); + mode.sprintf("+k %s",tmp.toUtf8().data()); emit setMode(mode.ptr()); } } } else { // no key now! reset - KviStr mode(KviStr::Format,"-k %s",m_szKey.ptr()); + KviStr mode(KviStr::Format,"-k %s",m_szKey.toUtf8().data()); emit setMode(mode.ptr()); } } else { // there was no key before if(m_pKeyBox->isChecked()) { - KviStr tmp = m_pKeyEdit->text(); - tmp.stripWhiteSpace(); - if(tmp.hasData()) + QString tmp = m_pKeyEdit->text().stripWhiteSpace(); + if(!tmp.isEmpty()) { // new key to be set - KviStr mode(KviStr::Format,"+k %s",tmp.ptr()); + KviStr mode(KviStr::Format,"+k %s",tmp.toUtf8().data()); emit setMode(mode.ptr()); } } } - if(m_szLimit.hasData()) + if(!m_szLimit.isEmpty()) { // had a limit before if(m_pLimitBox->isChecked()) { // still have it - KviStr tmp = m_pLimitEdit->text(); - tmp.stripWhiteSpace(); - if(tmp.hasData() && tmp.isUnsignedNum()) + QString tmp = m_pLimitEdit->text().stripWhiteSpace(); + bool bOk; + unsigned int uLimit = tmp.toUInt(&bOk); + if(bOk) { - if(!kvi_strEqualCI(tmp.ptr(),m_szLimit.ptr())) + if(m_szLimit != tmp) { // not the same limit! - KviStr mode(KviStr::Format,"+l %s",tmp.ptr()); + KviStr mode(KviStr::Format,"+l %u",uLimit); emit setMode(mode.ptr()); } } @@ -287,12 +286,13 @@ void KviModeEditor::commit() // there was no limit before if(m_pLimitBox->isChecked()) { - KviStr tmp = m_pLimitEdit->text(); - tmp.stripWhiteSpace(); - if(tmp.hasData() && tmp.isUnsignedNum()) + QString tmp = m_pLimitEdit->text().stripWhiteSpace(); + bool bOk; + unsigned int uLimit = tmp.toUInt(&bOk); + if(bOk) { // new limit to be set - KviStr mode(KviStr::Format,"+l %s",tmp.ptr()); + KviStr mode(KviStr::Format,"+l %u",uLimit); emit setMode(mode.ptr()); } } diff --git a/src/kvirc/ui/kvi_modeeditor.h b/src/kvirc/ui/kvi_modeeditor.h index 6035fff72..590869753 100644 --- a/src/kvirc/ui/kvi_modeeditor.h +++ b/src/kvirc/ui/kvi_modeeditor.h @@ -46,12 +46,12 @@ class KVIRC_API KviModeEditor : public KviWindowToolWidget { Q_OBJECT public: - KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const char * nam,KviConsole * c,const char * mode,const char * key,const char * limit); + KviModeEditor(QWidget * par,KviWindowToolPageButton* button,const char * nam,KviConsole * c,const QString &mode,const QString &key,const QString &limit); ~KviModeEditor(); protected: // fields - KviStr m_szMode; - KviStr m_szKey; - KviStr m_szLimit; + QString m_szMode; + QString m_szKey; + QString m_szLimit; KviPointerList<KviStyledCheckBox> * m_pCheckBoxes; KviStyledCheckBox * m_pLimitBox; QLineEdit * m_pLimitEdit; diff --git a/src/kvirc/ui/kvi_scriptbutton.cpp b/src/kvirc/ui/kvi_scriptbutton.cpp index 18b2cd592..ad0cd4978 100644 --- a/src/kvirc/ui/kvi_scriptbutton.cpp +++ b/src/kvirc/ui/kvi_scriptbutton.cpp @@ -67,23 +67,7 @@ void KviScriptUserButton::btnClicked() vList.append((kvs_int_t)pos.y()); m_pScript->run(pWnd,&vList,0,KviKvsScript::PreserveParams); } -/* -KviIrcToolBarScriptButton::KviIrcToolBarScriptButton(QToolBar * p,const char * name) -: KviScriptUserButton(p,name) -{ - setAutoRaise(true); -} - -KviIrcToolBarScriptButton::~KviIrcToolBarScriptButton() -{ -} - -KviWindow * KviIrcToolBarScriptButton::window() -{ - return g_pActiveWindow; -} -*/ KviWindowScriptButton::KviWindowScriptButton(QWidget * p,KviWindow * wnd,const char * name) : KviScriptUserButton(p,name) diff --git a/src/kvirc/ui/kvi_scriptbutton.h b/src/kvirc/ui/kvi_scriptbutton.h index 80e0b1d65..741aa5062 100644 --- a/src/kvirc/ui/kvi_scriptbutton.h +++ b/src/kvirc/ui/kvi_scriptbutton.h @@ -43,26 +43,12 @@ protected: public: void setButtonCode(KviKvsScript * pScript); virtual void setButtonPixmap(const QPixmap & pix){ setIconSet(pix); }; - void setButtonText(const char * text){ setTextLabel(text); }; + void setButtonText(const QString &text){ setTextLabel(text); }; virtual KviWindow * window(); protected slots: void btnClicked(); }; -/* -class KVIRC_API KviIrcToolBarScriptButton : public KviScriptUserButton -{ - Q_OBJECT -public: - KviIrcToolBarScriptButton(QToolBar * p,const char * name); - ~KviIrcToolBarScriptButton(); -protected: - KviStr m_szCode; -public: - virtual KviWindow * window(); -}; -*/ - class KVIRC_API KviWindowScriptButton : public KviScriptUserButton { Q_OBJECT diff --git a/src/kvirc/ui/kvi_selectors.cpp b/src/kvirc/ui/kvi_selectors.cpp index d36979ef3..07bfb336e 100644 --- a/src/kvirc/ui/kvi_selectors.cpp +++ b/src/kvirc/ui/kvi_selectors.cpp @@ -269,15 +269,17 @@ void KviPixmapSelector::choosePixmap() } } -void KviPixmapSelector::setImagePath(const char * path) +void KviPixmapSelector::setImagePath(const QString &path) { m_localPixmap.load(path); m_pPreview->setPixmap(&m_localPixmap); if(m_localPixmap.isNull()) { - KviStr tmp2(KviStr::Format,__tr("Unloadable: %s"),path); - m_pFileNameLabel->setText(tmp2.ptr()); + QString tmp = __tr2qs("Unloadable"); + tmp += ": "; + tmp += path; + m_pFileNameLabel->setText(tmp); m_pCheckBox->setChecked(false); } else { m_pCheckBox->setChecked(true); diff --git a/src/kvirc/ui/kvi_selectors.h b/src/kvirc/ui/kvi_selectors.h index 4159e9ec6..14210a8d4 100644 --- a/src/kvirc/ui/kvi_selectors.h +++ b/src/kvirc/ui/kvi_selectors.h @@ -146,7 +146,7 @@ private: KviPixmap * m_pOption; KviPixmap m_localPixmap; public: - void setImagePath(const char * path); + void setImagePath(const QString &path); virtual void commit(); virtual void setEnabled(bool bEnabled); protected slots: diff --git a/src/kvirc/ui/kvi_styled_controls.cpp b/src/kvirc/ui/kvi_styled_controls.cpp index 32787d863..e4a8d922e 100644 --- a/src/kvirc/ui/kvi_styled_controls.cpp +++ b/src/kvirc/ui/kvi_styled_controls.cpp @@ -240,8 +240,8 @@ KviStyledToolButton::KviStyledToolButton( QWidget * parent, const char * name ) resizeEvent(0); } -KviStyledToolButton::KviStyledToolButton ( const QIcon & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, KviTalToolBar * parent, const char * name ) -: QToolButton(iconSet,textLabel,grouptext,receiver,slot,parent,name), KviStyledControl(this), bShowSubmenuIndicator(false) +KviStyledToolButton::KviStyledToolButton ( const QIcon & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, KviTalToolBar * parent, const QString &name) +: QToolButton(iconSet,textLabel,grouptext,receiver,slot,parent,name.toUtf8().data()), KviStyledControl(this), bShowSubmenuIndicator(false) { // setWFlags(WNoAutoErase); resizeEvent(0); diff --git a/src/kvirc/ui/kvi_styled_controls.h b/src/kvirc/ui/kvi_styled_controls.h index 6980389cf..f1436a8e7 100644 --- a/src/kvirc/ui/kvi_styled_controls.h +++ b/src/kvirc/ui/kvi_styled_controls.h @@ -40,13 +40,15 @@ class KviTalToolBar; #define KVI_STYLE_COLOR_DIFF 60 #define KVI_STYLE_TIMER_STEP 18 +// FIXME: THIS STUFF SHOULD BE REMOVED. +// HARDCODING STYLES IS A BAD GUI PRACTICE. class KVIRC_API KviStyledControlInternal : public QObject { Q_OBJECT public: KviStyledControlInternal( KviStyledControl* control ); - ~KviStyledControlInternal(); + virtual ~KviStyledControlInternal(); public slots: virtual void paintTimerShot(); protected: @@ -60,7 +62,7 @@ class KVIRC_API KviStyledControl friend class KviStyledControlInternal; public: KviStyledControl(QWidget*); - ~KviStyledControl(); + virtual ~KviStyledControl(); protected: virtual void enterEvent ( QEvent * ); virtual void leaveEvent ( QEvent * ); @@ -90,7 +92,7 @@ private: bool bShowSubmenuIndicator; public: KviStyledToolButton ( QWidget * parent, const char * name = 0 ); - KviStyledToolButton ( const QIcon & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, KviTalToolBar * parent, const char * name = 0 ); + KviStyledToolButton ( const QIcon & iconSet, const QString & textLabel, const QString & grouptext, QObject * receiver, const char * slot, KviTalToolBar * parent, const QString &name=QString() ); ~KviStyledToolButton(); void setShowSubmenuIndicator(bool bShow); diff --git a/src/kvirc/ui/kvi_window.cpp b/src/kvirc/ui/kvi_window.cpp index 4c0960606..c0ec11a3f 100644 --- a/src/kvirc/ui/kvi_window.cpp +++ b/src/kvirc/ui/kvi_window.cpp @@ -101,11 +101,8 @@ KviWindow::KviWindow(int type,KviFrame * lpFrm,const QString &name,KviConsole * m_uId = g_uUniqueWindowId; g_uUniqueWindowId++; - - // FIXME: REMOVE THIS - setName(name); - // END FIXME m_szName = name; + setObjectName(name); g_pApp->registerWindow(this); @@ -168,6 +165,7 @@ KviWindow::~KviWindow() void KviWindow::setWindowName(const QString &szName) { m_szName = szName; + setObjectName(szName); emit windowNameChanged(); } @@ -180,12 +178,6 @@ void KviWindow::toggleButtonContainer() } } -void KviWindow::setName(const char * name) -{ - m_szName = name; - QWidget::setName(name); -} - KviIrcConnection * KviWindow::connection() { return m_pContext ? m_pContext->connection() : 0; @@ -833,7 +825,7 @@ void KviWindow::savePropertiesAsDefault() QString group; getConfigGroupName(group); - if(!kvi_strEqualCI(group,typeString())) + if(!KviQString::equalCI(group,typeString())) { // save also the settings for THIS specialized window g_pFrame->saveWindowProperties(this,group); diff --git a/src/kvirc/ui/kvi_window.h b/src/kvirc/ui/kvi_window.h index 88573fa34..4b8726bcd 100644 --- a/src/kvirc/ui/kvi_window.h +++ b/src/kvirc/ui/kvi_window.h @@ -173,8 +173,6 @@ public: // THIS is the function that should be used const QString & windowName(){ return m_szName; }; void setWindowName(const QString &szName); - // force QT to set our UNICODE name too... FIXME: this should be removed later... - virtual void setName(const char * szName); // Window type management int type() const { return m_iType; }; diff --git a/src/modules/dcc/libkvidcc.cpp b/src/modules/dcc/libkvidcc.cpp index 1efb2a6ec..7909a53cd 100644 --- a/src/modules/dcc/libkvidcc.cpp +++ b/src/modules/dcc/libkvidcc.cpp @@ -1143,7 +1143,7 @@ static bool dcc_kvs_cmd_voice(KviKvsModuleCommandCall * c) QString szCodec; pCodec->asString(szCodec); - if(!kvi_dcc_voice_is_valid_codec(szCodec)) + if(!kvi_dcc_voice_is_valid_codec(szCodec.toUtf8().data())) { c->warning(__tr2qs_ctx("Invalid codec specified, defaulting to 'adpcm'","dcc")); d->szCodec = "adpcm"; diff --git a/src/modules/dcc/marshal.cpp b/src/modules/dcc/marshal.cpp index c67d3d010..06a947583 100644 --- a/src/modules/dcc/marshal.cpp +++ b/src/modules/dcc/marshal.cpp @@ -135,10 +135,10 @@ void KviDccMarshal::doListen() } // Check the address type - if(!kvi_isValidStringIp(m_szIp)) + if(!kvi_isValidStringIp(m_szIp.toUtf8().data())) { #ifdef COMPILE_IPV6_SUPPORT - if(!kvi_isValidStringIp_V6(m_szIp)) + if(!kvi_isValidStringIp_V6(m_szIp.toUtf8().data())) { emit error(KviError_invalidIpAddress); return; @@ -182,9 +182,9 @@ void KviDccMarshal::doListen() if((!KVI_OPTION_BOOL(KviOption_boolUserDefinedPortRange)) || (m_uPort != 0)) { #ifdef COMPILE_IPV6_SUPPORT - KviSockaddr sa(m_szIp,m_uPort,m_bIpV6); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,m_bIpV6); #else - KviSockaddr sa(m_szIp,m_uPort,false); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,false); #endif if(!sa.socketAddress()) @@ -207,9 +207,9 @@ void KviDccMarshal::doListen() bool bBindSuccess; do { #ifdef COMPILE_IPV6_SUPPORT - KviSockaddr sa(m_szIp,m_uPort,m_bIpV6); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,m_bIpV6); #else - KviSockaddr sa(m_szIp,m_uPort,false); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,false); #endif if(!sa.socketAddress()) { @@ -323,10 +323,10 @@ void KviDccMarshal::doConnect() } // Check the address type - if(!kvi_isValidStringIp(m_szIp)) + if(!kvi_isValidStringIp(m_szIp.toUtf8().data())) { #ifdef COMPILE_IPV6_SUPPORT - if(!kvi_isValidStringIp_V6(m_szIp)) + if(!kvi_isValidStringIp_V6(m_szIp.toUtf8().data())) { emit error(KviError_invalidIpAddress); return; @@ -372,9 +372,9 @@ void KviDccMarshal::doConnect() // fill the sockaddr structure #ifdef COMPILE_IPV6_SUPPORT - KviSockaddr sa(m_szIp,m_uPort,m_bIpV6); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,m_bIpV6); #else - KviSockaddr sa(m_szIp,m_uPort,false); + KviSockaddr sa(m_szIp.toUtf8().data(),m_uPort,false); #endif if(!sa.socketAddress()) diff --git a/src/modules/dcc/requests.cpp b/src/modules/dcc/requests.cpp index f72dfab39..308b084df 100644 --- a/src/modules/dcc/requests.cpp +++ b/src/modules/dcc/requests.cpp @@ -92,9 +92,10 @@ static bool dcc_module_check_concurrent_transfers_limit(KviDccRequest * dcc) unsigned int uTransfers = KviDccFileTransfer::runningTransfersCount(); if(uTransfers >= KVI_OPTION_UINT(KviOption_uintMaxDccSendTransfers)) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Concurrent transfer limit reached (%u of %u transfers running)","dcc"), + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Concurrent transfer limit reached (%u of %u transfers running)","dcc"), uTransfers,KVI_OPTION_UINT(KviOption_uintMaxDccSendTransfers)); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); return false; } } @@ -108,9 +109,10 @@ static bool dcc_module_check_limits(KviDccRequest * dcc) unsigned int uWindows = g_pDccBroker->dccWindowsCount(); if(uWindows >= KVI_OPTION_UINT(KviOption_uintMaxDccSlots)) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Slot limit reached (%u slots of %u)","dcc"), + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Slot limit reached (%u slots of %u)","dcc"), uWindows,KVI_OPTION_UINT(KviOption_uintMaxDccSlots)); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); return false; } } @@ -152,8 +154,9 @@ static bool dcc_module_normalize_target_data(KviDccRequest * dcc,KviStr &ipaddr, { if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Invalid port number %s","dcc"),port.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Invalid port number %s","dcc"),port.ptr()); + dcc_module_request_error(dcc,szError); } return false; } @@ -168,8 +171,9 @@ static bool dcc_module_normalize_target_data(KviDccRequest * dcc,KviStr &ipaddr, { if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Invalid IP address in old format %s","dcc"),ipaddr.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Invalid IP address in old format %s","dcc"),ipaddr.ptr()); + dcc_module_request_error(dcc,szError); } return false; } @@ -187,8 +191,9 @@ static bool dcc_module_normalize_target_data(KviDccRequest * dcc,KviStr &ipaddr, #endif if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Invalid IP address %s","dcc"),ipaddr.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Invalid IP address %s","dcc"),ipaddr.ptr()); + dcc_module_request_error(dcc,szError); } return false; } @@ -524,8 +529,9 @@ static void dccModuleParseDccAccept(KviDccRequest *dcc) //#warning "IF KviOption_boolReplyCtcpErrmsgOnInvalidAccept..." if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Can't proceed with DCC RECV: Transfer not initiated for file %s on port %s","dcc"),dcc->szParam1.ptr(),dcc->szParam2.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Can't proceed with DCC RECV: Transfer not initiated for file %s on port %s","dcc"),dcc->szParam1.ptr(),dcc->szParam2.ptr()); + dcc_module_request_error(dcc,szError); } } } @@ -549,8 +555,9 @@ static void dccModuleParseDccResume(KviDccRequest *dcc) { if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format,__tr2qs_ctx("Invalid resume position argument '%s'","dcc"),dcc->szParam3.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + QString szError; + KviQString::sprintf(szError,__tr2qs_ctx("Invalid resume position argument '%s'","dcc"),dcc->szParam3.ptr()); + dcc_module_request_error(dcc,szError); } return; } @@ -560,10 +567,11 @@ static void dccModuleParseDccResume(KviDccRequest *dcc) //#warning "IF KviOption_boolReplyCtcpErrmsgOnInvalidResume..." if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format, + QString szError; + KviQString::sprintf(szError, __tr2qs_ctx("Can't proceed with DCC SEND: Transfer not initiated for file %s on port %s, or invalid resume size","dcc"), dcc->szParam1.ptr(),dcc->szParam2.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); } } } @@ -624,9 +632,10 @@ static void dccModuleParseDccRecv(KviDccRequest * dcc) if(uResumeSize >= o->fileSize()) { // senseless request - KviStr szError(KviStr::Format, + QString szError; + KviQString::sprintf(szError, __tr2qs_ctx("Invalid RECV request: Position %u is is larger than file size","dcc"),uResumeSize); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); return; } @@ -841,13 +850,14 @@ static void dccModuleParseDccGet(KviDccRequest *dcc) { if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format, + QString szError; + KviQString::sprintf(szError, __tr2qs_ctx("No file offer named '%s' (with size %s) available for %Q [%Q@%Q]","dcc"), dcc->szParam1.ptr(),uSize > 0 ? dcc->szParam2.ptr() : __tr_ctx("\"any\"","dcc"), &(dcc->ctcpMsg->pSource->nick()), &(dcc->ctcpMsg->pSource->username()), &(dcc->ctcpMsg->pSource->host())); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); } return; } @@ -1143,8 +1153,9 @@ KVIMODULEEXPORTFUNC void dccModuleCtcpDccParseRoutine(KviDccRequest *dcc) // ops...we don't know this dcc type if(!dcc->ctcpMsg->msg->haltOutput()) { - KviStr szError(KviStr::Format, + QString szError; + KviQString::sprintf(szError, __tr2qs_ctx("Unknown DCC type '%s'","dcc"),dcc->szType.ptr()); - dcc_module_request_error(dcc,szError.ptr()); + dcc_module_request_error(dcc,szError); } } diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp index 115f5b026..ec91460bc 100644 --- a/src/modules/dcc/send.cpp +++ b/src/modules/dcc/send.cpp @@ -257,8 +257,8 @@ void KviDccRecvThread::run() // Readed something useful...write back if((m_pOpt->iTotalFileSize > -1) && ((readLen + (int)m_pFile->at()) > m_pOpt->iTotalFileSize)) { - postMessageEvent(__tr2qs_ctx("WARNING: The peer is sending garbage data past the end of the file","dcc")); - postMessageEvent(__tr2qs_ctx("WARNING: Ignoring data past the declared end of file and closing the connection","dcc")); + postMessageEvent(__tr_no_lookup_ctx("WARNING: The peer is sending garbage data past the end of the file","dcc")); + postMessageEvent(__tr_no_lookup_ctx("WARNING: Ignoring data past the declared end of file and closing the connection","dcc")); readLen = m_pOpt->iTotalFileSize - m_pFile->at(); if(readLen > 0) @@ -359,14 +359,14 @@ void KviDccRecvThread::run() { iProbableTerminationTime = (int)kvi_unixTime(); m_pFile->flush(); - postMessageEvent(__tr2qs_ctx("Data transfer terminated, waiting 30 seconds for the peer to close the connection...","dcc")); + postMessageEvent(__tr_no_lookup_ctx("Data transfer terminated, waiting 30 seconds for the peer to close the connection...","dcc")); // FIXME: Close the file ? } else { int iDiff = (((int)kvi_unixTime()) - iProbableTerminationTime); if(iDiff > 30) { // success if we got the whole file or if we don't know the file size (we trust the peer) - postMessageEvent(__tr2qs_ctx("Data transfer was terminated 30 seconds ago, closing the connection","dcc")); + postMessageEvent(__tr_no_lookup_ctx("Data transfer was terminated 30 seconds ago, closing the connection","dcc")); KviThreadEvent * e = new KviThreadEvent(KVI_DCC_THREAD_EVENT_SUCCESS); postEvent(parent(),e); break; diff --git a/src/modules/options/optw_connection.cpp b/src/modules/options/optw_connection.cpp index 26922549f..66ae40d71 100644 --- a/src/modules/options/optw_connection.cpp +++ b/src/modules/options/optw_connection.cpp @@ -161,7 +161,9 @@ KviTransportOptionsWidget::KviTransportOptionsWidget(QWidget * parent) connect(b,SIGNAL(toggled(bool)),s,SLOT(setEnabled(bool))); #endif //!COMPILE_IPV6_SUPPORT - addRowSpacer(0,4,0,4); + addBoolSelector(0,4,0,4,__tr2qs_ctx("Pick Random IP Address for Round-Robin Servers","options"),KviOption_boolPickRandomIpAddressForRoundRobinServers); + + addRowSpacer(0,5,0,5); } KviTransportOptionsWidget::~KviTransportOptionsWidget() diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp index aa3e8edae..a33e2ce06 100644 --- a/src/modules/trayicon/libkvitrayicon.cpp +++ b/src/modules/trayicon/libkvitrayicon.cpp @@ -56,7 +56,7 @@ #define ICON_SIZE 22 #endif -extern KVIRC_API KviPointerHashTable<const char *,KviWindow> * g_pGlobalWindowDict; +extern KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict; static KviPointerList<KviTrayIcon> * g_pTrayIconList = 0; static QPixmap * g_pDock1 = 0; @@ -212,7 +212,7 @@ void KviTrayIcon::doAway(int id) { if(id<0) { - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { if(wnd->type()==KVI_WINDOW_TYPE_CONSOLE) @@ -257,7 +257,7 @@ void KviTrayIcon::fillContextPopup() int iSeparator=m_pAwayPopup->insertSeparator(); - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); bool bAllAway=1; bool bAllUnaway=1; int iNetCount=0; diff --git a/src/modules/window/libkviwindow.cpp b/src/modules/window/libkviwindow.cpp index 05d987d34..9e1e7ab2e 100644 --- a/src/modules/window/libkviwindow.cpp +++ b/src/modules/window/libkviwindow.cpp @@ -53,7 +53,7 @@ // kvi_app.cpp -extern KVIRC_API KviPointerHashTable<const char *,KviWindow> * g_pGlobalWindowDict; +extern KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict; KviPointerList<KviUserWindow> * g_pUserWindowList = 0; // $window.caption $window.x $window.y $window.width $window.height $window.isActive $window.type @@ -857,7 +857,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c) { // all contexts but no "no_context" windows bool bAllWindows = KviQString::equalCI(szType,"all"); - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { @@ -881,7 +881,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c) { // all contexts and also "no_context" windows bool bAllWindows = KviQString::equalCI(szType.lower(),"all"); - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { @@ -902,7 +902,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c) { // only "no_context" windows bool bAllWindows = KviQString::equalCI(szType.lower(),"all"); - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { @@ -947,7 +947,7 @@ static bool window_kvs_fnc_list(KviKvsModuleFunctionCall * c) } bool bAllWindows = KviQString::equalCI(szType.lower(),"all"); - KviPointerHashTableIterator<const char *,KviWindow> it(*g_pGlobalWindowDict); + KviPointerHashTableIterator<QString,KviWindow> it(*g_pGlobalWindowDict); while(KviWindow * wnd = it.current()) { |
