[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-baseapps/frameworks] konqueror: Set -DQT_NO_URL_CAST_FROM_STRING to improve the KUrl -> QUrl po
From:       David Faure <faure () kde ! org>
Date:       2016-04-30 18:34:49
Message-ID: E1awZj7-0007LT-EC () scm ! kde ! org
[Download RAW message or body]

Git commit eed061da7b6bd4763a8e1387abb18d037263fca4 by David Faure.
Committed on 30/04/2016 at 18:34.
Pushed by dfaure into branch 'frameworks'.

Set -DQT_NO_URL_CAST_FROM_STRING to improve the KUrl -> QUrl port

M  +2    -1    konqueror/CMakeLists.txt
M  +1    -1    konqueror/settings/konqhtml/css/kcmcss.cpp
M  +2    -2    konqueror/settings/konqhtml/generalopts.cpp
M  +3    -3    konqueror/settings/konqhtml/pluginopts.cpp
M  +1    -1    konqueror/sidebar/sidebar_widget.cpp
M  +2    -2    konqueror/sidebar/sidebar_widget.h
M  +2    -2    konqueror/sidebar/web_module/web_module.cpp
M  +5    -5    konqueror/src/konqmainwindow.cpp
M  +3    -3    konqueror/src/konqmisc.cpp
M  +1    -1    konqueror/src/konqsessiondlg.cpp
M  +1    -1    konqueror/src/konqview.cpp
M  +2    -2    konqueror/src/konqviewmanager.cpp
M  +3    -3    konqueror/src/tests/konqhtmltest.cpp
M  +3    -3    konqueror/src/tests/konqviewmgrtest.cpp
M  +1    -1    konqueror/src/tests/konqviewtest.cpp

http://commits.kde.org/kde-baseapps/eed061da7b6bd4763a8e1387abb18d037263fca4

diff --git a/konqueror/CMakeLists.txt b/konqueror/CMakeLists.txt
index 0313243..ba85678 100644
--- a/konqueror/CMakeLists.txt
+++ b/konqueror/CMakeLists.txt
@@ -43,7 +43,8 @@ if (X11_FOUND)
   find_package(Qt5 REQUIRED X11Extras)
 endif(X11_FOUND)
 
-add_definitions (-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
+add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
+add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
 
 configure_file (config-konqueror.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-konqueror.h )
 
diff --git a/konqueror/settings/konqhtml/css/kcmcss.cpp b/konqueror/settings/konqhtml/css/kcmcss.cpp
index 440df56..a5efc51 100644
--- a/konqueror/settings/konqhtml/css/kcmcss.cpp
+++ b/konqueror/settings/konqhtml/css/kcmcss.cpp
@@ -85,7 +85,7 @@ void CSSConfig::load()
     configWidget->useDefault->setChecked(u == "default");
     configWidget->useUser->setChecked(u == "user");
     configWidget->useAccess->setChecked(u == "access");
-    configWidget->urlRequester->setUrl(group.readEntry("SheetName"));
+    configWidget->urlRequester->setUrl(QUrl::fromUserInput(group.readEntry("SheetName")));
 
     group = c->group("Font");
     customDialog->basefontsize->setEditText(QString::number(group.readEntry("BaseSize", 12)));
diff --git a/konqueror/settings/konqhtml/generalopts.cpp b/konqueror/settings/konqhtml/generalopts.cpp
index 38e978a..b217a27 100644
--- a/konqueror/settings/konqhtml/generalopts.cpp
+++ b/konqueror/settings/konqhtml/generalopts.cpp
@@ -168,7 +168,7 @@ static StartPage urlToStartPageEnum(const QString &startUrl)
 void KKonqGeneralOptions::load()
 {
     KConfigGroup userSettings(m_pConfig, "UserSettings");
-    homeURL->setUrl(userSettings.readEntry("HomeURL", DEFAULT_HOMEPAGE));
+    homeURL->setUrl(QUrl(userSettings.readEntry("HomeURL", DEFAULT_HOMEPAGE)));
     const QString startUrl = readStartUrlFromProfile();
     const StartPage startPage = urlToStartPageEnum(startUrl);
     const int startComboIndex = m_startCombo->findData(startPage);
@@ -232,7 +232,7 @@ static void updateWebbrowsingProfile(const QString &homeUrl, StartPage startPage
         url = homeUrl;
         // Check if we can determine the mimetype of that URL; profile loading requires the mimetype to \
be known  // This handles the case of a local directory, at least.
-        KMimeType::Ptr mime = KMimeType::findByUrl(url);
+        KMimeType::Ptr mime = KMimeType::findByUrl(QUrl(url));
         if (mime && !mime->isDefault()) {
             serviceType = mime->name();
         } else {
diff --git a/konqueror/settings/konqhtml/pluginopts.cpp b/konqueror/settings/konqhtml/pluginopts.cpp
index d1dfc9b..9970ecb 100644
--- a/konqueror/settings/konqhtml/pluginopts.cpp
+++ b/konqueror/settings/konqhtml/pluginopts.cpp
@@ -468,7 +468,7 @@ void KPluginOptions::dirSelect(QListWidgetItem *item)
     int cur = m_widget.dirList->currentRow();
     m_widget.dirDown->setEnabled(item != 0 && cur < m_widget.dirList->count() - 1);
     m_widget.dirUp->setEnabled(item != 0 && cur > 0);
-    m_widget.dirEdit->setUrl(item != 0 ? item->text() : QString());
+    m_widget.dirEdit->setUrl(item != 0 ? QUrl::fromUserInput(item->text()) : QUrl());
 }
 
 void KPluginOptions::dirNew()
@@ -476,14 +476,14 @@ void KPluginOptions::dirNew()
     m_widget.dirList->insertItem(0, QString());
     m_widget.dirList->setCurrentRow(0);
     dirSelect(m_widget.dirList->currentItem());
-    m_widget.dirEdit->setUrl(QString());
+    m_widget.dirEdit->setUrl(QUrl());
     m_widget.dirEdit->setFocus();
     change();
 }
 
 void KPluginOptions::dirRemove()
 {
-    m_widget.dirEdit->setUrl(QString());
+    m_widget.dirEdit->setUrl(QUrl());
     delete m_widget.dirList->currentItem();
     m_widget.dirRemove->setEnabled(false);
     m_widget.dirUp->setEnabled(false);
diff --git a/konqueror/sidebar/sidebar_widget.cpp b/konqueror/sidebar/sidebar_widget.cpp
index 9a00b4d..505e457 100644
--- a/konqueror/sidebar/sidebar_widget.cpp
+++ b/konqueror/sidebar/sidebar_widget.cpp
@@ -498,7 +498,7 @@ bool Sidebar_Widget::addButton(const QString &desktopFileName, int pos)
     const QString icon = configGroup.readEntry("Icon", QString());
     const QString name = configGroup.readEntry("Name", QString());
     const QString comment = configGroup.readEntry("Comment", QString());
-    const QString url = configGroup.readPathEntry("URL", QString());
+    const QUrl url(configGroup.readPathEntry("URL", QString()));
     const QString lib = configGroup.readEntry("X-KDE-KonqSidebarModule");
 
     if (pos == -1) { // TODO handle insertion
diff --git a/konqueror/sidebar/sidebar_widget.h b/konqueror/sidebar/sidebar_widget.h
index e658831..65b0a6e 100644
--- a/konqueror/sidebar/sidebar_widget.h
+++ b/konqueror/sidebar/sidebar_widget.h
@@ -46,7 +46,7 @@ public:
     }
     ButtonInfo(const KSharedConfig::Ptr &configFile_,
                const QString &file_,
-               const QString &url_, const QString &lib,
+               const QUrl &url_, const QString &lib,
                const QString &dispName_, const QString &iconName_)
         : configFile(configFile_),
           file(file_), dock(NULL),
@@ -62,7 +62,7 @@ public:
     QPointer<QWidget> dock;
     KonqSidebarModule *module;
     KonqSidebarPlugin *m_plugin;
-    QString URL; // TODO remove
+    QUrl URL; // TODO remove (after removing the place where it's used)
     QString libName;
     QString displayName;
     QString iconName;
diff --git a/konqueror/sidebar/web_module/web_module.cpp b/konqueror/sidebar/web_module/web_module.cpp
index b8f3ed7..6980a8b 100644
--- a/konqueror/sidebar/web_module/web_module.cpp
+++ b/konqueror/sidebar/web_module/web_module.cpp
@@ -110,7 +110,7 @@ KonqSideBarWebModule::KonqSideBarWebModule(QWidget *parent, const KConfigGroup &
             SIGNAL(submitFormRequest(const char*,QString,QByteArray,QString,QString,QString)));
 
     reloadTimeout = configGroup.readEntry("Reload", 0);
-    _url = configGroup.readPathEntry("URL", QString());
+    _url = QUrl(configGroup.readPathEntry("URL", QString()));
     _htmlPart->openUrl(_url);
     // Must load this delayed
     QTimer::singleShot(0, this, SLOT(loadFavicon()));
@@ -230,7 +230,7 @@ bool KHTMLSideBar::urlSelected(const QString &url, int button,
 {
     if (button == Qt::LeftButton) {
         if (_target.toLower() == "_self") {
-            openUrl(url);
+            openUrl(completeURL(url));
         } else if (_target.toLower() == "_blank") {
             emit openUrlNewWindow(completeURL(url).url(), args);
         } else { // isEmpty goes here too
diff --git a/konqueror/src/konqmainwindow.cpp b/konqueror/src/konqmainwindow.cpp
index ceffe76..d92a771 100644
--- a/konqueror/src/konqmainwindow.cpp
+++ b/konqueror/src/konqmainwindow.cpp
@@ -671,7 +671,7 @@ void KonqMainWindow::openUrl(KonqView *_view, const QUrl &_url,
         if (mimeType == "application/x-desktop") {
             KDesktopFile df(url.toLocalFile());
             if (df.hasLinkType()) {
-                url = df.readUrl();
+                url = QUrl(df.readUrl());
                 mimeType.clear(); // to be determined again
             }
         }
@@ -2867,18 +2867,18 @@ void KonqMainWindow::slotUp()
         req.newTabInFront = !req.newTabInFront;
     }
 
-    const QString &url = m_currentView->upUrl().url();
+    const QUrl &url = m_currentView->upUrl();
     if (goKeyboardState & Qt::ControlModifier) {
-        openFilteredUrl(url, req);
+        openFilteredUrl(url.url(), req);
     } else if (goMouseState & Qt::MidButton) {
         if (KonqSettings::mmbOpensTab()) {
-            openFilteredUrl(url, req);
+            openFilteredUrl(url.url(), req);
         } else {
             KonqMainWindow *mw = KonqMisc::createNewWindow(url);
             mw->show();
         }
     } else {
-        openFilteredUrl(url, false);
+        openFilteredUrl(url.url(), false);
     }
 }
 
diff --git a/konqueror/src/konqmisc.cpp b/konqueror/src/konqmisc.cpp
index 918cf09..9be622c 100644
--- a/konqueror/src/konqmisc.cpp
+++ b/konqueror/src/konqmisc.cpp
@@ -194,9 +194,9 @@ QUrl KonqMisc::konqFilteredURL(KonqMainWindow *parent, const QString &_url, cons
         if (KUriFilter::self()->filterUri(data)) {
             if (data.uriType() == KUriFilterData::Error) {
                 if (data.errorMsg().isEmpty()) {
-                    return KParts::BrowserRun::makeErrorUrl(KIO::ERR_MALFORMED_URL, _url, _url);
+                    return KParts::BrowserRun::makeErrorUrl(KIO::ERR_MALFORMED_URL, _url, QUrl(_url));
                 } else {
-                    return KParts::BrowserRun::makeErrorUrl(KIO::ERR_SLAVE_DEFINED, data.errorMsg(), \
_url); +                    return KParts::BrowserRun::makeErrorUrl(KIO::ERR_SLAVE_DEFINED, \
data.errorMsg(), QUrl(_url));  }
             } else {
                 return data.uri();
@@ -205,7 +205,7 @@ QUrl KonqMisc::konqFilteredURL(KonqMainWindow *parent, const QString &_url, cons
 
         // NOTE: a valid URL like http://kde.org always passes the filtering test.
         // As such, this point could only be reached when _url is NOT a valid URL.
-        return KParts::BrowserRun::makeErrorUrl(KIO::ERR_MALFORMED_URL, _url, _url);
+        return KParts::BrowserRun::makeErrorUrl(KIO::ERR_MALFORMED_URL, _url, QUrl(_url));
     }
 
     const bool isKnownAbout = (_url == QLatin1String("about:blank")
diff --git a/konqueror/src/konqsessiondlg.cpp b/konqueror/src/konqsessiondlg.cpp
index 4c50289..734986d 100644
--- a/konqueror/src/konqsessiondlg.cpp
+++ b/konqueror/src/konqsessiondlg.cpp
@@ -88,7 +88,7 @@ KonqSessionDlg::KonqSessionDlg(KonqViewManager *manager, QWidget *parent)
     d->m_pModel = new KDirModel(d->m_pListView);
     d->m_pModel->sort(QDir::Name);
     d->m_pModel->dirLister()->setDirOnlyMode(true);
-    d->m_pModel->dirLister()->openUrl(dir);
+    d->m_pModel->dirLister()->openUrl(QUrl::fromLocalFile(dir));
     d->m_pListView->setModel(d->m_pModel);
 
     d->m_pListView->setMinimumSize(d->m_pListView->sizeHint());
diff --git a/konqueror/src/konqview.cpp b/konqueror/src/konqview.cpp
index d680dcb..22386f5 100644
--- a/konqueror/src/konqview.cpp
+++ b/konqueror/src/konqview.cpp
@@ -657,7 +657,7 @@ void KonqView::setIconURL(const QUrl &iconURL)
 // It does not set the tab's favIcon.
 {
     if (KonqSettings::enableFavicon()) {
-        KonqPixmapProvider::self()->setIconForUrl(m_sLocationBarURL, iconURL.url());
+        KonqPixmapProvider::self()->setIconForUrl(QUrl(m_sLocationBarURL), iconURL);
         m_bGotIconURL = true;
     }
 }
diff --git a/konqueror/src/konqviewmanager.cpp b/konqueror/src/konqviewmanager.cpp
index 7d46132..b9077ee 100644
--- a/konqueror/src/konqviewmanager.cpp
+++ b/konqueror/src/konqviewmanager.cpp
@@ -1270,9 +1270,9 @@ void KonqViewManager::loadItem(const KConfigGroup &cfg, KonqFrameContainerBase *
                 const QString urlKey = QString::fromLatin1("URL").prepend(prefix);
                 QUrl url;
                 if (cfg.hasKey(urlKey)) {
-                    url = cfg.readPathEntry(urlKey, QString::fromLatin1("about:blank"));
+                    url = QUrl(cfg.readPathEntry(urlKey, QString::fromLatin1("about:blank")));
                 } else if (urlKey == "empty_URL") { // old stuff, not in use anymore
-                    url = QString::fromLatin1("about:blank");
+                    url = QUrl(QString::fromLatin1("about:blank"));
                 } else {
                     url = defaultURL;
                 }
diff --git a/konqueror/src/tests/konqhtmltest.cpp b/konqueror/src/tests/konqhtmltest.cpp
index 2c3a321..2e60d41 100644
--- a/konqueror/src/tests/konqhtmltest.cpp
+++ b/konqueror/src/tests/konqhtmltest.cpp
@@ -82,7 +82,7 @@ private Q_SLOTS:
     void loadDirectory() // #164495
     {
         KonqMainWindow mainWindow;
-        mainWindow.openUrl(0, QUrl(QDir::homePath()), "text/html");
+        mainWindow.openUrl(0, QUrl::fromLocalFile(QDir::homePath()), "text/html");
         KonqView *view = mainWindow.currentView();
         kDebug() << "Waiting for first completed signal";
         QVERIFY(QTest::kWaitForSignal(view, SIGNAL(viewCompleted(KonqView*)), 20000)); // error calls \
openUrlRequest @@ -125,7 +125,7 @@ private Q_SLOTS:
         QVERIFY(origTempFile.open());
         origTempFile.write(
             "<html><script>"
-            "function openWindow() { window.open('" + QUrl(tempFile.fileName()).url().toUtf8() + "'); } \
" +            "function openWindow() { window.open('" + \
QUrl::fromLocalFile(tempFile.fileName()).url().toUtf8() + "'); } "  "document.onmousedown = openWindow; "
             "</script>"
         );
@@ -135,7 +135,7 @@ private Q_SLOTS:
 
         KonqMainWindow *mainWindow = new KonqMainWindow;
         const QString profile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
                "konqueror/profiles/webbrowsing");
-        mainWindow->viewManager()->loadViewProfileFromFile(profile, "webbrowsing", QUrl(origFile));
+        mainWindow->viewManager()->loadViewProfileFromFile(profile, "webbrowsing", \
QUrl::fromLocalFile(origFile));  QCOMPARE(KMainWindow::memberList().count(), 1);
         KonqView *view = mainWindow->currentView();
         QVERIFY(view);
diff --git a/konqueror/src/tests/konqviewmgrtest.cpp b/konqueror/src/tests/konqviewmgrtest.cpp
index d2a7312..408197e 100644
--- a/konqueror/src/tests/konqviewmgrtest.cpp
+++ b/konqueror/src/tests/konqviewmgrtest.cpp
@@ -680,7 +680,7 @@ static void loadFileManagementProfile(KonqMainWindow &mainWindow)
     const QString profile = QStandardPaths::locate(QStandardPaths::GenericDataLocation, \
"konqueror/profiles/filemanagement");  QVERIFY(!profile.isEmpty());
     const QString path = QDir::homePath();
-    mainWindow.viewManager()->loadViewProfileFromFile(profile, "filemanagement", QUrl(path));
+    mainWindow.viewManager()->loadViewProfileFromFile(profile, "filemanagement", \
                QUrl::fromLocalFile(path));
     QCOMPARE(DebugFrameVisitor::inspect(&mainWindow), QString("MC(FT[F])."));   // mainWindow, splitter, \
frame, tab widget, one frame  QCOMPARE(mainWindow.locationBarURL(), path);
     QCOMPARE(mainWindow.currentView()->locationBarURL(), path);
@@ -728,10 +728,10 @@ void ViewMgrTest::testLoadOldProfile()
     QVERIFY(!profileSrc.isEmpty());
     const QString profile = profileSrc + ".copy";
     // KonqViewManager fixes up the old profile, so let's make a copy of it first.
-    KIO::FileCopyJob *job = KIO::file_copy(profileSrc, profile, -1, KIO::Overwrite);
+    KIO::FileCopyJob *job = KIO::file_copy(QUrl::fromLocalFile(profileSrc), \
QUrl::fromLocalFile(profile), -1, KIO::Overwrite);  QVERIFY(job->exec());
     const QString path = QDir::homePath();
-    mainWindow.viewManager()->loadViewProfileFromFile(profile, "filemanagement", QUrl(path));
+    mainWindow.viewManager()->loadViewProfileFromFile(profile, "filemanagement", \
                QUrl::fromLocalFile(path));
     QCOMPARE(DebugFrameVisitor::inspect(&mainWindow), QString("MC(FT[F])."));   // mainWindow, splitter, \
frame, tab widget, one frame  QCOMPARE(mainWindow.locationBarURL(), path);
     QCOMPARE(mainWindow.currentView()->locationBarURL(), path);
diff --git a/konqueror/src/tests/konqviewtest.cpp b/konqueror/src/tests/konqviewtest.cpp
index bc4c15c..79dc2f1 100644
--- a/konqueror/src/tests/konqviewtest.cpp
+++ b/konqueror/src/tests/konqviewtest.cpp
@@ -53,7 +53,7 @@ private Q_SLOTS:
     {
         // Related to the previous test; ensure we keep the same viewmode when switching between folders
         KonqMainWindow mainWindow;
-        mainWindow.openUrl(0, QUrl(QDir::homePath()));
+        mainWindow.openUrl(0, QUrl::fromLocalFile(QDir::homePath()));
         KonqView *view = mainWindow.currentView();
         QVERIFY(view);
         QPointer<KParts::ReadOnlyPart> part = view->part();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic