From 086276ab80ce6aff5a45203716263f395085f2a8 Mon Sep 17 00:00:00 2001 From: uwolfer Date: Mon, 29 Sep 2008 20:27:44 +0000 Subject: [PATCH] Improve stability of new transfer dialog (and friends...): * fix url -> string -> url converstions * use deleteLater on QObjects * use some const iterators * cache expensive results BUG:171864 git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork@866036 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kget/conf/dlgdirectories.cpp | 8 ++++---- kget/core/kget.cpp | 11 ++++++----- kget/ui/newtransferdialog.cpp | 8 +++++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/kget/conf/dlgdirectories.cpp b/kget/conf/dlgdirectories.cpp index b184b0cb7..61420d2ba 100644 --- a/kget/conf/dlgdirectories.cpp +++ b/kget/conf/dlgdirectories.cpp @@ -55,9 +55,9 @@ DlgDirectories::~DlgDirectories() void DlgDirectories::readConfig() { - QStringList list = Settings::extensionsFolderList(); - QStringList::Iterator it = list.begin(); - const QStringList::Iterator end = list.end(); + const QStringList list = Settings::extensionsFolderList(); + QStringList::ConstIterator it = list.begin(); + const QStringList::ConstIterator end = list.end(); while (it != end) { // odd list items are regular expressions for extensions QString rexp = *it; @@ -78,7 +78,7 @@ void DlgDirectories::readConfig() void DlgDirectories::saveSettings() { - Settings::setDefaultDirectory(defaultFolderRequester->url().url()); + Settings::setDefaultDirectory(defaultFolderRequester->url().prettyUrl()); QStringList list; diff --git a/kget/core/kget.cpp b/kget/core/kget.cpp index ae308dcbc..7411add78 100644 --- a/kget/core/kget.cpp +++ b/kget/core/kget.cpp @@ -591,8 +591,9 @@ QStringList KGet::defaultFolders(const KUrl &filename, const QString &groupname) kDebug(5001) << filename << groupname; QStringList list; - if (Settings::enableExceptions() && !KGet::getSaveDirectoryFromExceptions(filename).isEmpty()) - list.append(KGet::getSaveDirectoryFromExceptions(filename)); + const QString saveDirectoryFromExceptions = KGet::getSaveDirectoryFromExceptions(filename); + if (Settings::enableExceptions() && !saveDirectoryFromExceptions.isEmpty()) + list.append(saveDirectoryFromExceptions); TransferGroup * group = KGet::m_transferTreeModel->findGroup(groupname); @@ -811,9 +812,9 @@ QString KGet::getSaveDirectoryFromExceptions(const KUrl &filename) { QString destDir; - QStringList list = Settings::extensionsFolderList(); - QStringList::Iterator it = list.begin(); - const QStringList::Iterator end = list.end(); + const QStringList list = Settings::extensionsFolderList(); + QStringList::ConstIterator it = list.begin(); + const QStringList::ConstIterator end = list.end(); while (it != end) { // odd list items are regular expressions for extensions QString ext = *it; diff --git a/kget/ui/newtransferdialog.cpp b/kget/ui/newtransferdialog.cpp index da6be8a76..8058a8378 100644 --- a/kget/ui/newtransferdialog.cpp +++ b/kget/ui/newtransferdialog.cpp @@ -77,7 +77,7 @@ public: { if (urlRequester) { urlRequester->hide(); - delete urlRequester; + urlRequester->deleteLater(); urlRequester = 0; } if (!listWidget) { @@ -90,7 +90,7 @@ public: { if (listWidget) { listWidget->hide(); - delete listWidget; + listWidget->deleteLater(); listWidget = 0; } if (!urlRequester) { @@ -156,7 +156,9 @@ public: for (int i=0;i < list.count();i++) { - m_list[i].append('/' + filename); + if (!m_list.at(i).endsWith('/')) + m_list[i].append('/'); + m_list[i].append(filename); } kDebug(5001) << m_list; -- 2.11.4.GIT