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

List:       kde-commits
Subject:    [kcachegrind/frameworks] /: Move away from KIO::NetAccess/KFileDialog
From:       Josef Weidendorfer <Josef.Weidendorfer () gmx ! de>
Date:       2016-03-29 22:27:50
Message-ID: E1al274-0006t6-5z () scm ! kde ! org
[Download RAW message or body]

Git commit 2bd4eb504418b37004ef93e1e4f099860ff3d3d0 by Josef Weidendorfer.
Committed on 29/03/2016 at 22:25.
Pushed by weidendo into branch 'frameworks'.

Move away from KIO::NetAccess/KFileDialog

This finally allows to remove dependency on KDELibs4Support

M  +1    -1    CMakeLists.txt
M  +2    -1    kcachegrind/CMakeLists.txt
M  +6    -8    kcachegrind/configdlg.cpp
M  +0    -1    kcachegrind/kdeconfig.cpp
M  +60   -37   kcachegrind/toplevel.cpp

http://commits.kde.org/kcachegrind/2bd4eb504418b37004ef93e1e4f099860ff3d3d0

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf2c9c0..6849033 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,7 +23,7 @@ include(ECMAddAppIcon)
 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets)
 
 find_package(KF5 REQUIRED
-  Archive CoreAddons DocTools WidgetsAddons XmlGui I18n KDELibs4Support
+  Archive CoreAddons DocTools WidgetsAddons XmlGui I18n Config KIO
 )
 
 add_definitions(-DQT_STRICT_ITERATORS)
diff --git a/kcachegrind/CMakeLists.txt b/kcachegrind/CMakeLists.txt
index 7edf96a..273c706 100644
--- a/kcachegrind/CMakeLists.txt
+++ b/kcachegrind/CMakeLists.txt
@@ -21,7 +21,8 @@ set(kcachegrind_LIBS
   KF5::CoreAddons
   KF5::I18n
   KF5::XmlGui
-  KF5::KDELibs4Support
+  KF5::ConfigCore KF5::ConfigGui
+  KF5::KIOCore KF5::KIOFileWidgets KF5::KIOWidgets KF5::KIONTLM
 )
 
 target_link_libraries(kcachegrind core views ${kcachegrind_LIBS})
diff --git a/kcachegrind/configdlg.cpp b/kcachegrind/configdlg.cpp
index e693a93..5fc00a4 100644
--- a/kcachegrind/configdlg.cpp
+++ b/kcachegrind/configdlg.cpp
@@ -23,12 +23,11 @@
 #include "configdlg.h"
 
 #include <QCheckBox>
+#include <QDir>
+#include <QFileDialog>
 #include <QMessageBox>
 
 #include <kcolorbutton.h>
-#include <kfiledialog.h>
-#include <klocale.h>
-#include <knumvalidator.h>
 
 #include "tracedata.h"
 #include "globalguiconfig.h"
@@ -46,7 +45,7 @@ ConfigDlg::ConfigDlg(GlobalGUIConfig* c, TraceData* data,
 
   connect(objectCombo, SIGNAL(activated(const QString &)),
           this, SLOT(objectActivated(const QString &)));
-  connect(objectCombo, SIGNAL(textChanged(const QString &)),
+  connect(objectCombo, SIGNAL(editTextChanged(const QString &)),
           this, SLOT(objectActivated(const QString &)));
   connect(objectCheck, &QAbstractButton::toggled,
           this, &ConfigDlg::objectCheckChanged);
@@ -55,7 +54,7 @@ ConfigDlg::ConfigDlg(GlobalGUIConfig* c, TraceData* data,
 
   connect(classCombo, SIGNAL(activated(const QString &)),
           this, SLOT(classActivated(const QString &)));
-  connect(classCombo, SIGNAL(textChanged(const QString &)),
+  connect(classCombo, SIGNAL(editTextChanged(const QString &)),
           this, SLOT(classActivated(const QString &)));
   connect(classCheck, &QAbstractButton::toggled,
           this, &ConfigDlg::classCheckChanged);
@@ -64,7 +63,7 @@ ConfigDlg::ConfigDlg(GlobalGUIConfig* c, TraceData* data,
 
   connect(fileCombo, SIGNAL(activated(const QString &)),
           this, SLOT(fileActivated(const QString &)));
-  connect(fileCombo, SIGNAL(textChanged(const QString &)),
+  connect(fileCombo, SIGNAL(editTextChanged(const QString &)),
           this, SLOT(fileActivated(const QString &)));
   connect(fileCheck, &QAbstractButton::toggled,
           this, &ConfigDlg::fileCheckChanged);
@@ -355,8 +354,7 @@ void ConfigDlg::dirsAddPressed()
     dirs = &(_config->_objectSourceDirs[objName]);
 
   QString newDir;
-  newDir = KFileDialog::getExistingDirectory(QUrl(),
-                                             this,
+  newDir = QFileDialog::getExistingDirectory(this,
                                              i18n("Choose Source Folder"));
   if (newDir.isEmpty()) return;
 
diff --git a/kcachegrind/kdeconfig.cpp b/kcachegrind/kdeconfig.cpp
index 30dcab4..5f7bc08 100644
--- a/kcachegrind/kdeconfig.cpp
+++ b/kcachegrind/kdeconfig.cpp
@@ -23,7 +23,6 @@
 #include "kdeconfig.h"
 
 #include <kconfig.h>
-#include <klocale.h>
 #include <kconfiggroup.h>
 
 #include "tracedata.h"
diff --git a/kcachegrind/toplevel.cpp b/kcachegrind/toplevel.cpp
index ecc5c77..a119268 100644
--- a/kcachegrind/toplevel.cpp
+++ b/kcachegrind/toplevel.cpp
@@ -27,17 +27,22 @@
 
 #include <stdlib.h> // for system()
 
-#include <QDockWidget>
 #include <QDebug>
-#include <QTimer>
+#include <QDockWidget>
+#include <QEventLoop>
+#include <QFile>
+#include <QFileDialog>
 #include <QLabel>
 #include <QLineEdit>
-#include <QProgressBar>
-#include <QFile>
-#include <QEventLoop>
+#include <QMenu>
+#include <QMimeDatabase>
 #include <QProcess>
+#include <QProgressBar>
+#include <QStatusBar>
+#include <QTemporaryFile>
+#include <QTimer>
+#include <QUrl>
 #include <QtDBus/QDBusConnection>
-#include <QMimeDatabase>
 
 #include <ktoggleaction.h>
 #include <ktoolbarpopupaction.h>
@@ -46,19 +51,15 @@
 #include <krecentfilesaction.h>
 #include <ktoolbar.h>
 #include <kstandardguiitem.h>
-#include <klocale.h>
-#include <kstatusbar.h>
 #include <kstandardshortcut.h>
 #include <kstandardaction.h>
-#include <kaction.h>
-#include <QUrl>
-#include <kfiledialog.h>
-#include <kio/netaccess.h>
+#include <kio/job.h>
+#include <kjobwidgets.h>
 #include <kedittoolbar.h>
 #include <kshortcutsdialog.h>
 #include <ktip.h>
-#include <kmenu.h>
 #include <kmessagebox.h>
+#include <ksharedconfig.h>
 #include <kconfiggroup.h>
 #include <KArchive/kfilterdev.h>
 
@@ -903,10 +904,11 @@ void TopLevel::newWindow()
 
 void TopLevel::load()
 {
-    QUrl url = KFileDialog::getOpenUrl(QUrl("kfiledialog:///"),
-                                       i18n("cachegrind.out* \
                callgrind.out*|Callgrind Profile Data\n*|All Files"),
-                                       this,
-                                       i18n("Select Callgrind Profile Data"));
+    QUrl url = QFileDialog::getOpenFileUrl(this,
+                                           i18n("Select Callgrind Profile Data"),
+                                           QString(),
+                                           i18n("Callgrind Profile Data \
(cachegrind.out* callgrind.out*);;All Files (*)")); +
     load(url);
 }
 
@@ -914,19 +916,29 @@ void TopLevel::load(const QUrl& url)
 {
   if (url.isEmpty()) return;
 
-  // network transparency
-  QString tmpFile;
-  // for KDE 3.2: KIO::NetAccess::download with 2 args is deprecated
-  if(KIO::NetAccess::download( url, tmpFile, this )) {
-    _openRecent->addUrl(url);
-    _openRecent->saveEntries( KConfigGroup( KSharedConfig::openConfig(), QString() ) \
); +  QString tmpFileName;
+  QTemporaryFile tmpFile;
+  if (url.isLocalFile()) {
+      tmpFileName = url.toLocalFile();
+  }
+  else if (tmpFile.open()){
+      // network transparency
+      tmpFileName = tmpFile.fileName();
+      KIO::FileCopyJob *job = KIO::file_copy(url,
+                                             QUrl::fromLocalFile(tmpFileName));
+      KJobWidgets::setWindow(job, this);
+      job->exec();
+  }
+  if (!tmpFileName.isEmpty()) {
+      _openRecent->addUrl(url);
+      _openRecent->saveEntries( KConfigGroup( KSharedConfig::openConfig(), QString() \
) );  
-    load(tmpFile);
-    KIO::NetAccess::removeTempFile( tmpFile );
+      load(tmpFileName);
   } else {
-    KMessageBox::error(this, i18n("Could not open the file \"%1\". "
-                                  "Check it exists and you have enough "
-                                  "permissions to read it.", \
url.toDisplayString())); +      KMessageBox::error(this, i18n("Could not open the \
file \"%1\". " +                                    "Check it exists and you have \
enough " +                                    "permissions to read it.",
+                                    url.toDisplayString()));
   }
 }
 
@@ -960,10 +972,11 @@ void TopLevel::load(QString file)
 
 void TopLevel::add()
 {
-    QUrl url = KFileDialog::getOpenUrl(QUrl(),
-                                       i18n("cachegrind.out* \
                callgrind.out*|Callgrind Profile Data\n*|All Files"),
-                                       this,
-                                       i18n("Add Callgrind Profile Data"));
+    QUrl url = QFileDialog::getOpenFileUrl(this,
+                                           i18n("Add Callgrind Profile Data"),
+                                           QString(),
+                                           i18n("Callgrind Profile Data \
(cachegrind.out* callgrind.out*);;All Files (*)")); +
     add(url);
 }
 
@@ -971,14 +984,24 @@ void TopLevel::add(const QUrl &url)
 {
   if (url.isEmpty()) return;
 
-  // network transparency
-  QString tmpFile;
-  if(KIO::NetAccess::download( url, tmpFile, this )) {
+  QString tmpFileName;
+  QTemporaryFile tmpFile;
+  if (url.isLocalFile()) {
+      tmpFileName = url.toLocalFile();
+  }
+  else if (tmpFile.open()){
+      // network transparency
+      tmpFileName = tmpFile.fileName();
+      KIO::FileCopyJob *job = KIO::file_copy(url,
+                                             QUrl::fromLocalFile(tmpFileName));
+      KJobWidgets::setWindow(job, this);
+      job->exec();
+  }
+  if (!tmpFileName.isEmpty()) {
     _openRecent->addUrl(url);
     _openRecent->saveEntries( KSharedConfig::openConfig()->group( QString() ) );
 
-    add(tmpFile);
-    KIO::NetAccess::removeTempFile( tmpFile );
+    add(tmpFileName);
   }
 }
 


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

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