[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