diff --git a/kdialog/CMakeLists.txt b/kdialog/CMakeLists.txt index 3fad8536..f13066e7 100644 --- a/kdialog/CMakeLists.txt +++ b/kdialog/CMakeLists.txt @@ -12,7 +12,6 @@ qt4_add_dbus_adaptor(kdialog_SRCS add_executable(kdialog ${kdialog_SRCS}) -# Need libkfile due to the code that adjusts the geometry of the KDirSelectDialog target_link_libraries(kdialog KDE4::kfile KDE4::kio diff --git a/kdialog/kdialog.cpp b/kdialog/kdialog.cpp index d2c32b49..f0b92d8c 100644 --- a/kdialog/kdialog.cpp +++ b/kdialog/kdialog.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -620,21 +619,20 @@ static int directCommand(KCmdLineArgs *args) if (args->isSet("getexistingdirectory")) { QString startDir; startDir = args->getOption("getexistingdirectory"); - QString result; - KUrl url; - KDirSelectDialog myDialog( startDir, true, 0 ); + QString result; + KFileDialog dlg( startDir, QString(), 0 ); + dlg.setOperationMode( KFileDialog::Opening ); + dlg.setMode(KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly); - kapp->setTopWidget( &myDialog ); + kapp->setTopWidget( &dlg ); - Widgets::handleXGeometry(&myDialog); - if ( !title.isEmpty() ) - myDialog.setCaption( title ); + Widgets::handleXGeometry(&dlg); + if ( !title.isEmpty() ) + dlg.setCaption( title ); - if ( myDialog.exec() == QDialog::Accepted ) - url = myDialog.url(); + dlg.exec(); - if ( url.isValid() ) - result = url.path(); + result = dlg.selectedUrl().toLocalFile(); if (!result.isEmpty()) { cout << result.toLocal8Bit().data() << endl; return 0; diff --git a/plasma/wallpapers/image/image.cpp b/plasma/wallpapers/image/image.cpp index 27f481d8..431b23d1 100644 --- a/plasma/wallpapers/image/image.cpp +++ b/plasma/wallpapers/image/image.cpp @@ -20,7 +20,6 @@ #include #include -#include #include #include #include @@ -344,16 +343,19 @@ void Image::timeChanged(const QTime& time) void Image::addDir() { KUrl empty; - KDirSelectDialog *dialog = new KDirSelectDialog(empty, true, m_configWidget); + QString empty2; + KFileDialog *dialog = new KFileDialog(empty, empty2, m_configWidget); + dialog->setOperationMode(KFileDialog::Opening); + dialog->setMode(KFile::Directory | KFile::LocalOnly | KFile::ExistingOnly); connect(dialog, SIGNAL(accepted()), this, SLOT(addDirFromSelectionDialog())); dialog->show(); } void Image::addDirFromSelectionDialog() { - KDirSelectDialog *dialog = qobject_cast(sender()); + KFileDialog *dialog = qobject_cast(sender()); if (dialog) { - QString urlDir = dialog->url().path(); + QString urlDir = dialog->selectedUrl().toLocalFile(); if (!urlDir.isEmpty() && m_uiSlideshow.m_dirlist->findItems(urlDir, Qt::MatchExactly).isEmpty()) { m_uiSlideshow.m_dirlist->addItem(urlDir); updateDirs();