From: Emmanuel Pescosta Date: Thu, 19 Feb 2015 19:34:35 +0000 (+0100) Subject: Merge branch 'master' into frameworks X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/8679115552ec65ccfc6cbc1db68414d80e3a081b?hp=-c Merge branch 'master' into frameworks --- 8679115552ec65ccfc6cbc1db68414d80e3a081b diff --combined src/dolphin.appdata.xml index 2b4975c09,7ac23609f..c060edeb4 --- a/src/dolphin.appdata.xml +++ b/src/dolphin.appdata.xml @@@ -1,6 -1,6 +1,6 @@@ - dolphin.desktop + org.kde.dolphin.desktop CC0-1.0 GPL-2.0+ Dolphin @@@ -22,6 -22,7 +22,7 @@@ Dolphin Dolphin Dolphin + ਡਾਲਫਿਨ Dolphin Dolphin Dolphin @@@ -56,6 -57,7 +57,7 @@@ Filbehandler Dateipleger Bestandsbeheerder + ਫਾਇਲ ਮੈਨੇਜਰ Zarządzanie plikami Gestor de Ficheiros Gerenciador de arquivos @@@ -121,6 -123,7 +123,7 @@@

Egenskaper:

Markmalen:

Mogelijkheden:

+

ਲੱਛਣ:

Możliwości:

Características:

Funcionalidades:

@@@ -275,6 -278,7 +278,7 @@@
  • Støtte for flere faner
  • Ünnerstütten för Paneels
  • Ondersteuning voor meerdere tabbladen
  • +
  • ਬਹੁ ਟੈਬ ਸਹਿਯੋਗ
  • Obsługa wielu kart
  • Suporte para várias páginas
  • Suporte a várias abas
  • @@@ -338,6 -342,7 +342,7 @@@
  • Støtte for angring/omgjøring
  • Ünnerstütten för Torüchnehmen un Wedderherstellen
  • Ondersteuning ongedaan maken/opnieuw
  • +
  • ਵਾਪਿਸ ਕਰੋ/ਪਰਤਾਉਣ ਸਹਿਯੋਗ
  • Obsługa cofnij/ponów
  • Suporte para desfazer/refazer
  • Suporte para desfazer/refazer
  • diff --combined src/panels/places/placesitemmodel.cpp index 0f5854656,46f40b65c..0a8fe9cb3 --- a/src/panels/places/placesitemmodel.cpp +++ b/src/panels/places/placesitemmodel.cpp @@@ -28,20 -28,18 +28,20 @@@ #include #include #include -#include #include -#include +#include #include -#include -#include +#include +#include +#include #include +#include #include "placesitem.h" #include #include #include #include +#include #include #include @@@ -54,8 -52,8 +54,8 @@@ #include #ifdef HAVE_BALOO - #include - #include + #include + #include #endif namespace { @@@ -66,7 -64,7 +66,7 @@@ // be independent from changes in the Baloo-search-URL-syntax. // Hence a prefix to the application-name of the stored bookmarks is // added, which is only read by PlacesItemModel. - const char* AppNamePrefix = "-places-panel"; + const char AppNamePrefix[] = "-places-panel"; } PlacesItemModel::PlacesItemModel(QObject* parent) : @@@ -80,7 -78,6 +80,6 @@@ m_systemBookmarksIndexes(), m_bookmarkedItems(), m_hiddenItemToRemove(-1), - m_saveBookmarksTimer(0), m_updateBookmarksTimer(0), m_storageSetupInProgress() { @@@ -88,7 -85,7 +87,7 @@@ Baloo::IndexerConfig config; m_fileIndexingEnabled = config.fileIndexingEnabled(); #endif - const QString file = KStandardDirs::locateLocal("data", "kfileplaces/bookmarks.xml"); + const QString file = QStandardPaths::locate(QStandardPaths::GenericDataLocation, "kfileplaces/bookmarks.xml"); m_bookmarkManager = KBookmarkManager::managerForFile(file, "kfilePlaces"); createSystemBookmarks(); @@@ -97,20 -94,15 +96,15 @@@ const int syncBookmarksTimeout = 100; - m_saveBookmarksTimer = new QTimer(this); - m_saveBookmarksTimer->setInterval(syncBookmarksTimeout); - m_saveBookmarksTimer->setSingleShot(true); - connect(m_saveBookmarksTimer, &QTimer::timeout, this, &PlacesItemModel::saveBookmarks); - m_updateBookmarksTimer = new QTimer(this); m_updateBookmarksTimer->setInterval(syncBookmarksTimeout); m_updateBookmarksTimer->setSingleShot(true); - connect(m_updateBookmarksTimer, SIGNAL(timeout()), this, SLOT(updateBookmarks())); + connect(m_updateBookmarksTimer, &QTimer::timeout, this, &PlacesItemModel::updateBookmarks); - connect(m_bookmarkManager, SIGNAL(changed(QString,QString)), - m_updateBookmarksTimer, SLOT(start())); - connect(m_bookmarkManager, SIGNAL(bookmarksChanged(QString)), - m_updateBookmarksTimer, SLOT(start())); + connect(m_bookmarkManager, &KBookmarkManager::changed, + m_updateBookmarksTimer, static_cast(&QTimer::start)); + connect(m_bookmarkManager, &KBookmarkManager::bookmarksChanged, + m_updateBookmarksTimer, static_cast(&QTimer::start)); } PlacesItemModel::~PlacesItemModel() @@@ -121,7 -113,7 +115,7 @@@ } PlacesItem* PlacesItemModel::createPlacesItem(const QString& text, - const KUrl& url, + const QUrl& url, const QString& iconName) { const KBookmark bookmark = PlacesItem::createBookmark(m_bookmarkManager, text, url, iconName); @@@ -207,19 -199,15 +201,19 @@@ bool PlacesItemModel::hiddenItemsShown( return m_hiddenItemsShown; } -int PlacesItemModel::closestItem(const KUrl& url) const +int PlacesItemModel::closestItem(const QUrl& url) const { int foundIndex = -1; int maxLength = 0; for (int i = 0; i < count(); ++i) { - const KUrl itemUrl = placesItem(i)->url(); - if (itemUrl.isParentOf(url)) { - const int length = itemUrl.prettyUrl().length(); + const QUrl itemUrl = placesItem(i)->url(); + if (url == itemUrl) { + // We can't find a closer one, so stop here. + foundIndex = i; + break; + } else if (itemUrl.isParentOf(url)) { + const int length = itemUrl.path().length(); if (length > maxLength) { foundIndex = i; maxLength = length; @@@ -260,7 -248,7 +254,7 @@@ QAction* PlacesItemModel::ejectAction(i { const PlacesItem* item = placesItem(index); if (item && item->device().is()) { - return new QAction(KIcon("media-eject"), i18nc("@item", "Eject '%1'", item->text()), 0); + return new QAction(QIcon::fromTheme("media-eject"), i18nc("@item", "Eject '%1'", item->text()), 0); } return 0; @@@ -309,7 -297,7 +303,7 @@@ QAction* PlacesItemModel::teardownActio return new QAction(text, 0); } - return new QAction(KIcon(iconName), text, 0); + return new QAction(QIcon::fromTheme(iconName), text, 0); } void PlacesItemModel::requestEject(int index) @@@ -318,8 -306,9 +312,8 @@@ if (item) { Solid::OpticalDrive* drive = item->device().parent().as(); if (drive) { - connect(drive, SIGNAL(ejectDone(Solid::ErrorType,QVariant,QString)), - this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)), - Qt::UniqueConnection); + connect(drive, &Solid::OpticalDrive::ejectDone, + this, &PlacesItemModel::slotStorageTeardownDone); drive->eject(); } else { const QString label = item->text(); @@@ -335,8 -324,9 +329,8 @@@ void PlacesItemModel::requestTeardown(i if (item) { Solid::StorageAccess* access = item->device().as(); if (access) { - connect(access, SIGNAL(teardownDone(Solid::ErrorType,QVariant,QString)), - this, SLOT(slotStorageTeardownDone(Solid::ErrorType,QVariant)), - Qt::UniqueConnection); + connect(access, &Solid::StorageAccess::teardownDone, + this, &PlacesItemModel::slotStorageTeardownDone); access->teardown(); } } @@@ -364,8 -354,9 +358,8 @@@ void PlacesItemModel::requestStorageSet m_storageSetupInProgress[access] = index; - connect(access, SIGNAL(setupDone(Solid::ErrorType,QVariant,QString)), - this, SLOT(slotStorageSetupDone(Solid::ErrorType,QVariant,QString)), - Qt::UniqueConnection); + connect(access, &Solid::StorageAccess::setupDone, + this, &PlacesItemModel::slotStorageSetupDone); access->setup(); } @@@ -373,13 -364,13 +367,13 @@@ QMimeData* PlacesItemModel::createMimeData(const KItemSet& indexes) const { - KUrl::List urls; + QList urls; QByteArray itemData; QDataStream stream(&itemData, QIODevice::WriteOnly); foreach (int index, indexes) { - const KUrl itemUrl = placesItem(index)->url(); + const QUrl itemUrl = placesItem(index)->url(); if (itemUrl.isValid()) { urls << itemUrl; } @@@ -388,7 -379,7 +382,7 @@@ QMimeData* mimeData = new QMimeData(); if (!urls.isEmpty()) { - urls.populateMimeData(mimeData); + mimeData->setUrls(urls); } mimeData->setData(internalMimeType(), itemData); @@@ -429,9 -420,9 +423,9 @@@ void PlacesItemModel::dropMimeDataBefor insertItem(dropIndex, newItem); } else if (mimeData->hasFormat("text/uri-list")) { // One or more items must be added to the model - const KUrl::List urls = KUrl::List::fromMimeData(mimeData); + const QList urls = KUrlMimeData::urlsFromMimeData(mimeData); for (int i = urls.count() - 1; i >= 0; --i) { - const KUrl& url = urls[i]; + const QUrl& url = urls[i]; QString text = url.fileName(); if (text.isEmpty()) { @@@ -439,7 -430,7 +433,7 @@@ } if ((url.isLocalFile() && !QFileInfo(url.toLocalFile()).isDir()) - || url.protocol() == "trash") { + || url.scheme() == "trash") { // Only directories outside the trash are allowed continue; } @@@ -451,12 -442,12 +445,12 @@@ } } -KUrl PlacesItemModel::convertedUrl(const KUrl& url) +QUrl PlacesItemModel::convertedUrl(const QUrl& url) { - KUrl newUrl = url; - if (url.protocol() == QLatin1String("timeline")) { + QUrl newUrl = url; + if (url.scheme() == QLatin1String("timeline")) { newUrl = createTimelineUrl(url); - } else if (url.protocol() == QLatin1String("search")) { + } else if (url.scheme() == QLatin1String("search")) { newUrl = createSearchUrl(url); } @@@ -501,8 -492,6 +495,6 @@@ void PlacesItemModel::onItemInserted(in m_bookmarkedItems.insert(bookmarkIndex, 0); } - triggerBookmarksSaving(); - #ifdef PLACESITEMMODEL_DEBUG kDebug() << "Inserted item" << index; showModelState(); @@@ -521,8 -510,6 +513,6 @@@ void PlacesItemModel::onItemRemoved(in Q_ASSERT(!m_bookmarkedItems[boomarkIndex]); m_bookmarkedItems.removeAt(boomarkIndex); - triggerBookmarksSaving(); - #ifdef PLACESITEMMODEL_DEBUG kDebug() << "Removed item" << index; showModelState(); @@@ -552,8 -539,6 +542,6 @@@ void PlacesItemModel::onItemChanged(in QTimer::singleShot(0, this, SLOT(hideItem())); } } - - triggerBookmarksSaving(); } void PlacesItemModel::slotDeviceAdded(const QString& udi) @@@ -605,13 -590,14 +593,13 @@@ void PlacesItemModel::slotStorageSetupD { Q_UNUSED(udi); - Q_ASSERT(!m_storageSetupInProgress.isEmpty()); const int index = m_storageSetupInProgress.take(sender()); const PlacesItem* item = placesItem(index); if (!item) { return; } - if (error) { + if (error != Solid::NoError) { if (errorData.isValid()) { emit errorMessage(i18nc("@info", "An error occurred while accessing '%1', the system responded: %2", item->text(), @@@ -657,7 -643,7 +645,7 @@@ void PlacesItemModel::updateBookmarks( found = true; if (newBookmark.metaDataItem("UDI").isEmpty()) { item->setBookmark(newBookmark); - item->setText(i18nc("KFile System Bookmarks", newBookmark.text().toUtf8().data())); + item->setText(i18nc("KFile System Bookmarks", newBookmark.text().toUtf8().constData())); } break; } @@@ -734,7 -720,7 +722,7 @@@ void PlacesItemModel::loadBookmarks( KBookmark bookmark = root.first(); QSet devices = m_availableDevices; - QSet missingSystemBookmarks; + QSet missingSystemBookmarks; foreach (const SystemBookmarkData& data, m_systemBookmarks) { missingSystemBookmarks.insert(data.url); } @@@ -755,7 -741,7 +743,7 @@@ devices.remove(item->udi()); devicesItems.append(item); } else { - const KUrl url = bookmark.url(); + const QUrl url = bookmark.url(); if (missingSystemBookmarks.contains(url)) { missingSystemBookmarks.remove(url); @@@ -764,7 -750,7 +752,7 @@@ // text, the retranslation will fail and the users custom text is still used. // It is important to use "KFile System Bookmarks" as context (see // createSystemBookmarks()). - item->setText(i18nc("KFile System Bookmarks", bookmark.text().toUtf8().data())); + item->setText(i18nc("KFile System Bookmarks", bookmark.text().toUtf8().constData())); item->setSystemItem(true); } @@@ -828,15 -814,15 +816,15 @@@ bool PlacesItemModel::acceptBookmark(co const QSet& availableDevices) const { const QString udi = bookmark.metaDataItem("UDI"); - const KUrl url = bookmark.url(); + const QUrl url = bookmark.url(); const QString appName = bookmark.metaDataItem("OnlyInApp"); const bool deviceAvailable = availableDevices.contains(udi); const bool allowedHere = (appName.isEmpty() - || appName == KGlobal::mainComponent().componentName() - || appName == KGlobal::mainComponent().componentName() + AppNamePrefix) - && (m_fileIndexingEnabled || (url.protocol() != QLatin1String("timeline") && - url.protocol() != QLatin1String("search"))); + || appName == KAboutData::applicationData().componentName() + || appName == KAboutData::applicationData().componentName() + AppNamePrefix) + && (m_fileIndexingEnabled || (url.scheme() != QLatin1String("timeline") && + url.scheme() != QLatin1String("search"))); return (udi.isEmpty() && allowedHere) || deviceAvailable; } @@@ -848,12 -834,12 +836,12 @@@ PlacesItem* PlacesItemModel::createSyst data.url, data.icon); - const QString protocol = data.url.protocol(); + const QString protocol = data.url.scheme(); if (protocol == QLatin1String("timeline") || protocol == QLatin1String("search")) { // As long as the KFilePlacesView from kdelibs is available, the system-bookmarks // for "Recently Saved" and "Search For" should be a setting available only // in the Places Panel (see description of AppNamePrefix for more details). - const QString appName = KGlobal::mainComponent().componentName() + AppNamePrefix; + const QString appName = KAboutData::applicationData().componentName() + AppNamePrefix; bookmark.setMetaDataItem("OnlyInApp", appName); } @@@ -873,22 -859,22 +861,22 @@@ if (path == QLatin1String("/documents")) { props.setViewMode(DolphinView::DetailsView); props.setPreviewsShown(false); - props.setVisibleRoles(QList() << "text" << "path"); + props.setVisibleRoles({"text", "path"}); } else if (path == QLatin1String("/images")) { props.setViewMode(DolphinView::IconsView); props.setPreviewsShown(true); - props.setVisibleRoles(QList() << "text" << "imageSize"); + props.setVisibleRoles({"text", "imageSize"}); } else if (path == QLatin1String("/audio")) { props.setViewMode(DolphinView::DetailsView); props.setPreviewsShown(false); - props.setVisibleRoles(QList() << "text" << "artist" << "album"); + props.setVisibleRoles({"text", "artist", "album"}); } else if (path == QLatin1String("/videos")) { props.setViewMode(DolphinView::IconsView); props.setPreviewsShown(true); - props.setVisibleRoles(QList() << "text"); - } else if (data.url.protocol() == "timeline") { + props.setVisibleRoles({"text"}); + } else if (data.url.scheme() == "timeline") { props.setViewMode(DolphinView::DetailsView); - props.setVisibleRoles(QList() << "text" << "date"); + props.setVisibleRoles({"text", "date"}); } } } @@@ -905,42 -891,42 +893,42 @@@ void PlacesItemModel::createSystemBookm // i18nc call is done after reading the bookmark. The reason why the i18nc call is not // done here is because otherwise switching the language would not result in retranslating the // bookmarks. - m_systemBookmarks.append(SystemBookmarkData(KUrl(KUser().homeDir()), + m_systemBookmarks.append(SystemBookmarkData(QUrl::fromLocalFile(KUser().homeDir()), "user-home", I18N_NOOP2("KFile System Bookmarks", "Home"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("remote:/"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("remote:/"), "network-workgroup", I18N_NOOP2("KFile System Bookmarks", "Network"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("/"), + m_systemBookmarks.append(SystemBookmarkData(QUrl::fromLocalFile("/"), "folder-red", I18N_NOOP2("KFile System Bookmarks", "Root"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("trash:/"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("trash:/"), "user-trash", I18N_NOOP2("KFile System Bookmarks", "Trash"))); if (m_fileIndexingEnabled) { - m_systemBookmarks.append(SystemBookmarkData(KUrl("timeline:/today"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("timeline:/today"), "go-jump-today", I18N_NOOP2("KFile System Bookmarks", "Today"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("timeline:/yesterday"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("timeline:/yesterday"), "view-calendar-day", I18N_NOOP2("KFile System Bookmarks", "Yesterday"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("timeline:/thismonth"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("timeline:/thismonth"), "view-calendar-month", I18N_NOOP2("KFile System Bookmarks", "This Month"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("timeline:/lastmonth"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("timeline:/lastmonth"), "view-calendar-month", I18N_NOOP2("KFile System Bookmarks", "Last Month"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("search:/documents"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("search:/documents"), "folder-txt", I18N_NOOP2("KFile System Bookmarks", "Documents"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("search:/images"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("search:/images"), "folder-image", I18N_NOOP2("KFile System Bookmarks", "Images"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("search:/audio"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("search:/audio"), "folder-sound", I18N_NOOP2("KFile System Bookmarks", "Audio Files"))); - m_systemBookmarks.append(SystemBookmarkData(KUrl("search:/videos"), + m_systemBookmarks.append(SystemBookmarkData(QUrl("search:/videos"), "folder-video", I18N_NOOP2("KFile System Bookmarks", "Videos"))); } @@@ -975,8 -961,8 +963,8 @@@ void PlacesItemModel::initializeAvailab Q_ASSERT(m_predicate.isValid()); Solid::DeviceNotifier* notifier = Solid::DeviceNotifier::instance(); - connect(notifier, SIGNAL(deviceAdded(QString)), this, SLOT(slotDeviceAdded(QString))); - connect(notifier, SIGNAL(deviceRemoved(QString)), this, SLOT(slotDeviceRemoved(QString))); + connect(notifier, &Solid::DeviceNotifier::deviceAdded, this, &PlacesItemModel::slotDeviceAdded); + connect(notifier, &Solid::DeviceNotifier::deviceRemoved, this, &PlacesItemModel::slotDeviceRemoved); const QList& deviceList = Solid::Device::listFromQuery(m_predicate); foreach (const Solid::Device& device, deviceList) { @@@ -1035,20 -1021,12 +1023,12 @@@ void PlacesItemModel::hideItem(int inde // bookmark should still be remembered, so readd it again: m_bookmarkManager->root().addBookmark(hiddenBookmark); m_bookmarkManager->root().moveBookmark(hiddenBookmark, previousBookmark); - triggerBookmarksSaving(); } m_bookmarkedItems.insert(newIndex, hiddenItem); } } - void PlacesItemModel::triggerBookmarksSaving() - { - if (m_saveBookmarksTimer) { - m_saveBookmarksTimer->start(); - } - } - QString PlacesItemModel::internalMimeType() const { return "application/x-dolphinplacesmodel-" + @@@ -1110,14 -1088,14 +1090,14 @@@ bool PlacesItemModel::equalBookmarkIden } } -KUrl PlacesItemModel::createTimelineUrl(const KUrl& url) +QUrl PlacesItemModel::createTimelineUrl(const QUrl& url) { // TODO: Clarify with the Baloo-team whether it makes sense // provide default-timeline-URLs like 'yesterday', 'this month' // and 'last month'. - KUrl timelineUrl; + QUrl timelineUrl; - const QString path = url.pathOrUrl(); + const QString path = url.toDisplayString(QUrl::PreferLocalFile); if (path.endsWith(QLatin1String("yesterday"))) { const QDate date = QDate::currentDate().addDays(-1); const int year = date.year(); @@@ -1158,12 -1136,12 +1138,12 @@@ QString PlacesItemModel::timelineDateSt return date; } -KUrl PlacesItemModel::createSearchUrl(const KUrl& url) +QUrl PlacesItemModel::createSearchUrl(const QUrl& url) { - KUrl searchUrl; + QUrl searchUrl; #ifdef HAVE_BALOO - const QString path = url.pathOrUrl(); + const QString path = url.toDisplayString(QUrl::PreferLocalFile); if (path.endsWith(QLatin1String("documents"))) { searchUrl = searchUrlForType("Document"); } else if (path.endsWith(QLatin1String("images"))) { @@@ -1183,7 -1161,7 +1163,7 @@@ } #ifdef HAVE_BALOO -KUrl PlacesItemModel::searchUrlForType(const QString& type) +QUrl PlacesItemModel::searchUrlForType(const QString& type) { Baloo::Query query; query.addType("File"); @@@ -1234,3 -1212,4 +1214,3 @@@ void PlacesItemModel::showModelState( } #endif -#include "placesitemmodel.moc" diff --combined src/panels/places/placesitemmodel.h index 38fcfe6af,7cbf99e95..aa8bb16fe --- a/src/panels/places/placesitemmodel.h +++ b/src/panels/places/placesitemmodel.h @@@ -24,7 -24,7 +24,7 @@@ #include -#include +#include #include #include #include @@@ -58,7 -58,7 +58,7 @@@ public * attributes. */ PlacesItem* createPlacesItem(const QString& text, - const KUrl& url, + const QUrl& url, const QString& iconName = QString()); PlacesItem* placesItem(int index) const; @@@ -87,7 -87,7 +87,7 @@@ * range of the URL. -1 is returned if no closest item * could be found. */ - int closestItem(const KUrl& url) const; + int closestItem(const QUrl& url) const; /** * Appends the item \a item as last element of the group @@@ -107,9 -107,11 +107,9 @@@ bool storageSetupNeeded(int index) const; void requestStorageSetup(int index); - /** @reimp */ - virtual QMimeData* createMimeData(const KItemSet& indexes) const; + virtual QMimeData* createMimeData(const KItemSet& indexes) const Q_DECL_OVERRIDE; - /** @reimp */ - virtual bool supportsDropping(int index) const; + virtual bool supportsDropping(int index) const Q_DECL_OVERRIDE; void dropMimeDataBefore(int index, const QMimeData* mimeData); @@@ -119,17 -121,25 +119,25 @@@ * the corresponding IO-slave. Virtual URLs for bookmarks are used to * be independent from internal format changes. */ - static KUrl convertedUrl(const KUrl& url); + static QUrl convertedUrl(const QUrl& url); - virtual void clear(); + virtual void clear() Q_DECL_OVERRIDE; + + /** + * Saves the bookmarks and indicates to other applications that the + * state of the bookmarks has been changed. Is only called by the + * timeout of m_saveBookmarksTimer to prevent unnecessary savings. + */ + void saveBookmarks(); + signals: void errorMessage(const QString& message); void storageSetupDone(int index, bool success); protected: - virtual void onItemInserted(int index); - virtual void onItemRemoved(int index, KStandardItem* removedItem); - virtual void onItemChanged(int index, const QSet& changedRoles); + virtual void onItemInserted(int index) Q_DECL_OVERRIDE; + virtual void onItemRemoved(int index, KStandardItem* removedItem) Q_DECL_OVERRIDE; + virtual void onItemChanged(int index, const QSet& changedRoles) Q_DECL_OVERRIDE; private slots: void slotDeviceAdded(const QString& udi); @@@ -145,12 -155,6 +153,6 @@@ */ void updateBookmarks(); - /** - * Saves the bookmarks and indicates to other applications that the - * state of the bookmarks has been changed. Is only called by the - * timeout of m_saveBookmarksTimer to prevent unnecessary savings. - */ - void saveBookmarks(); private: struct SystemBookmarkData; @@@ -197,12 -201,6 +199,6 @@@ */ void hideItem(int index); - /** - * Triggers a delayed saving of bookmarks by starting - * m_saveBookmarksTimer. - */ - void triggerBookmarksSaving(); - QString internalMimeType() const; /** @@@ -221,7 -219,7 +217,7 @@@ /** * @return URL using the timeline-protocol for searching (see convertedUrl()). */ - static KUrl createTimelineUrl(const KUrl& url); + static QUrl createTimelineUrl(const QUrl& url); /** * Helper method for createTimelineUrl(). @@@ -235,7 -233,7 +231,7 @@@ * for a given term. The URL \a url represents a places-internal * URL like e.g. "search:/documents" (see convertedUrl()). */ - static KUrl createSearchUrl(const KUrl& url); + static QUrl createSearchUrl(const QUrl& url); #ifdef HAVE_BALOO /** @@@ -243,7 -241,7 +239,7 @@@ * @return URL that can be listed by KIO and results in searching * for the given type */ - static KUrl searchUrlForType(const QString& type); + static QUrl searchUrlForType(const QString& type); #endif #ifdef PLACESITEMMODEL_DEBUG @@@ -260,17 -258,17 +256,17 @@@ private struct SystemBookmarkData { - SystemBookmarkData(const KUrl& url, + SystemBookmarkData(const QUrl& url, const QString& icon, const QString& text) : url(url), icon(icon), text(text) {} - KUrl url; + QUrl url; QString icon; QString text; }; QList m_systemBookmarks; - QHash m_systemBookmarksIndexes; + QHash m_systemBookmarksIndexes; // Contains hidden and unhidden items that are stored as // bookmark (the model itself only contains items that @@@ -285,7 -283,6 +281,6 @@@ // removing an item is not allowed. int m_hiddenItemToRemove; - QTimer* m_saveBookmarksTimer; QTimer* m_updateBookmarksTimer; QHash m_storageSetupInProgress; diff --combined src/panels/places/placespanel.cpp index 631b6b69d,6b840ef57..5618cee21 --- a/src/panels/places/placespanel.cpp +++ b/src/panels/places/placespanel.cpp @@@ -25,22 -25,17 +25,22 @@@ #include "dolphin_generalsettings.h" +#include #include #include -#include +#include #include +#include +#include #include -#include +#include +#include +#include #include #include #include #include -#include +#include #include #include #include "placesitem.h" @@@ -53,7 -48,6 +53,7 @@@ #include #include #include +#include PlacesPanel::PlacesPanel(QWidget* parent) : Panel(parent), @@@ -73,7 -67,7 +73,7 @@@ PlacesPanel::~PlacesPanel( bool PlacesPanel::urlChanged() { - if (!url().isValid() || url().protocol().contains("search")) { + if (!url().isValid() || url().scheme().contains("search")) { // Skip results shown by a search, as possible identical // directory names are useless without parent-path information. return false; @@@ -107,8 -101,8 +107,8 @@@ void PlacesPanel::showEvent(QShowEvent // used at all and stays invisible. m_model = new PlacesItemModel(this); m_model->setGroupedSorting(true); - connect(m_model, SIGNAL(errorMessage(QString)), - this, SIGNAL(errorMessage(QString))); + connect(m_model, &PlacesItemModel::errorMessage, + this, &PlacesPanel::errorMessage); m_view = new PlacesView(); m_view->setWidgetCreator(new KItemListWidgetCreator()); @@@ -118,14 -112,14 +118,14 @@@ m_controller->setSelectionBehavior(KItemListController::SingleSelection); m_controller->setSingleClickActivationEnforced(true); - readSettings(); + readSettings(); - connect(m_controller, SIGNAL(itemActivated(int)), this, SLOT(slotItemActivated(int))); - connect(m_controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int))); - connect(m_controller, SIGNAL(itemContextMenuRequested(int,QPointF)), this, SLOT(slotItemContextMenuRequested(int,QPointF))); - connect(m_controller, SIGNAL(viewContextMenuRequested(QPointF)), this, SLOT(slotViewContextMenuRequested(QPointF))); - connect(m_controller, SIGNAL(itemDropEvent(int,QGraphicsSceneDragDropEvent*)), this, SLOT(slotItemDropEvent(int,QGraphicsSceneDragDropEvent*))); - connect(m_controller, SIGNAL(aboveItemDropEvent(int,QGraphicsSceneDragDropEvent*)), this, SLOT(slotAboveItemDropEvent(int,QGraphicsSceneDragDropEvent*))); + connect(m_controller, &KItemListController::itemActivated, this, &PlacesPanel::slotItemActivated); + connect(m_controller, &KItemListController::itemMiddleClicked, this, &PlacesPanel::slotItemMiddleClicked); + connect(m_controller, &KItemListController::itemContextMenuRequested, this, &PlacesPanel::slotItemContextMenuRequested); + connect(m_controller, &KItemListController::viewContextMenuRequested, this, &PlacesPanel::slotViewContextMenuRequested); + connect(m_controller, &KItemListController::itemDropEvent, this, &PlacesPanel::slotItemDropEvent); + connect(m_controller, &KItemListController::aboveItemDropEvent, this, &PlacesPanel::slotAboveItemDropEvent); KItemListContainer* container = new KItemListContainer(m_controller, this); container->setEnabledFrame(false); @@@ -157,7 -151,7 +157,7 @@@ void PlacesPanel::slotItemContextMenuRe return; } - KMenu menu(this); + QMenu menu(this); QAction* emptyTrashAction = 0; QAction* addAction = 0; @@@ -186,26 -180,26 +186,26 @@@ mainSeparator = menu.addSeparator(); } } else { - if (item->url() == KUrl("trash:/")) { - emptyTrashAction = menu.addAction(KIcon("trash-empty"), i18nc("@action:inmenu", "Empty Trash")); + if (item->url() == QUrl("trash:/")) { + emptyTrashAction = menu.addAction(QIcon::fromTheme("trash-empty"), i18nc("@action:inmenu", "Empty Trash")); emptyTrashAction->setEnabled(item->icon() == "user-trash-full"); menu.addSeparator(); } - addAction = menu.addAction(KIcon("document-new"), i18nc("@item:inmenu", "Add Entry...")); + addAction = menu.addAction(QIcon::fromTheme("document-new"), i18nc("@item:inmenu", "Add Entry...")); mainSeparator = menu.addSeparator(); - editAction = menu.addAction(KIcon("document-properties"), i18nc("@item:inmenu", "Edit '%1'...", label)); + editAction = menu.addAction(QIcon::fromTheme("document-properties"), i18nc("@item:inmenu", "Edit '%1'...", label)); } if (!addAction) { - addAction = menu.addAction(KIcon("document-new"), i18nc("@item:inmenu", "Add Entry...")); + addAction = menu.addAction(QIcon::fromTheme("document-new"), i18nc("@item:inmenu", "Add Entry...")); } QAction* openInNewTabAction = menu.addAction(i18nc("@item:inmenu", "Open '%1' in New Tab", label)); - openInNewTabAction->setIcon(KIcon("tab-new")); + openInNewTabAction->setIcon(QIcon::fromTheme("tab-new")); QAction* removeAction = 0; if (!isDevice && !item->isSystemItem()) { - removeAction = menu.addAction(KIcon("edit-delete"), i18nc("@item:inmenu", "Remove '%1'", label)); + removeAction = menu.addAction(QIcon::fromTheme("edit-delete"), i18nc("@item:inmenu", "Remove '%1'", label)); } QAction* hideAction = menu.addAction(i18nc("@item:inmenu", "Hide '%1'", label)); @@@ -223,7 -217,7 +223,7 @@@ } menu.addSeparator(); - KMenu* iconSizeSubMenu = new KMenu(i18nc("@item:inmenu", "Icon Size"), &menu); + QMenu* iconSizeSubMenu = new QMenu(i18nc("@item:inmenu", "Icon Size"), &menu); struct IconSizeInfo { @@@ -286,8 -280,10 +286,10 @@@ editEntry(index); } else if (action == removeAction) { m_model->removeItem(index); + m_model->saveBookmarks(); } else if (action == hideAction) { item->setHidden(hideAction->isChecked()); + m_model->saveBookmarks(); } else if (action == openInNewTabAction) { // TriggerItem does set up the storage first and then it will // emit the slotItemMiddleClicked signal, because of Qt::MiddleButton. @@@ -305,9 -301,9 +307,9 @@@ void PlacesPanel::slotViewContextMenuRequested(const QPointF& pos) { - KMenu menu(this); + QMenu menu(this); - QAction* addAction = menu.addAction(KIcon("document-new"), i18nc("@item:inmenu", "Add Entry...")); + QAction* addAction = menu.addAction(QIcon::fromTheme("document-new"), i18nc("@item:inmenu", "Add Entry...")); QAction* showAllAction = 0; if (m_model->hiddenCount() > 0) { @@@ -346,8 -342,8 +348,8 @@@ void PlacesPanel::slotItemDropEvent(in } if (m_model->storageSetupNeeded(index)) { - connect(m_model, SIGNAL(storageSetupDone(int,bool)), - this, SLOT(slotItemDropEventStorageSetupDone(int,bool))); + connect(m_model, &PlacesItemModel::storageSetupDone, + this, &PlacesPanel::slotItemDropEventStorageSetupDone); m_itemDropEventIndex = index; @@@ -369,25 -365,34 +371,25 @@@ return; } - KUrl destUrl = destItem->url(); + QUrl destUrl = destItem->url(); QDropEvent dropEvent(event->pos().toPoint(), event->possibleActions(), event->mimeData(), event->buttons(), event->modifiers()); - QString error; - DragAndDropHelper::dropUrls(KFileItem(), destUrl, &dropEvent, error); - if (!error.isEmpty()) { - emit errorMessage(error); - } + slotUrlsDropped(destUrl, &dropEvent, this); } void PlacesPanel::slotItemDropEventStorageSetupDone(int index, bool success) { - disconnect(m_model, SIGNAL(storageSetupDone(int,bool)), - this, SLOT(slotItemDropEventStorageSetupDone(int,bool))); + disconnect(m_model, &PlacesItemModel::storageSetupDone, + this, &PlacesPanel::slotItemDropEventStorageSetupDone); if ((index == m_itemDropEventIndex) && m_itemDropEvent && m_itemDropEventMimeData) { if (success) { - KUrl destUrl = m_model->placesItem(index)->url(); - - QString error; - DragAndDropHelper::dropUrls(KFileItem(), destUrl, m_itemDropEvent, error); - if (!error.isEmpty()) { - emit errorMessage(error); - } + QUrl destUrl = m_model->placesItem(index)->url(); + slotUrlsDropped(destUrl, m_itemDropEvent, this); } delete m_itemDropEventMimeData; @@@ -402,14 -407,18 +404,15 @@@ void PlacesPanel::slotAboveItemDropEvent(int index, QGraphicsSceneDragDropEvent* event) { m_model->dropMimeDataBefore(index, event->mimeData()); + m_model->saveBookmarks(); } -void PlacesPanel::slotUrlsDropped(const KUrl& dest, QDropEvent* event, QWidget* parent) +void PlacesPanel::slotUrlsDropped(const QUrl& dest, QDropEvent* event, QWidget* parent) { - Q_UNUSED(parent); - QString error; - DragAndDropHelper::dropUrls(KFileItem(), dest, event, error); - if (!error.isEmpty()) { - emit errorMessage(error); + KIO::DropJob *job = DragAndDropHelper::dropUrls(dest, event, parent); + if (job) { + connect(job, &KIO::DropJob::result, this, [this](KJob *job) { if (job->error()) emit errorMessage(job->errorString()); }); } - } void PlacesPanel::slotTrashUpdated(KJob* job) @@@ -417,14 -426,13 +420,14 @@@ if (job->error()) { emit errorMessage(job->errorString()); } - org::kde::KDirNotify::emitFilesAdded("trash:/"); + // as long as KIO doesn't do this, do it ourselves + KNotification::event("Trash: emptied", QString(), QPixmap(), 0, KNotification::DefaultEvent); } void PlacesPanel::slotStorageSetupDone(int index, bool success) { - disconnect(m_model, SIGNAL(storageSetupDone(int,bool)), - this, SLOT(slotStorageSetupDone(int,bool))); + disconnect(m_model, &PlacesItemModel::storageSetupDone, + this, &PlacesPanel::slotStorageSetupDone); if (m_triggerStorageSetupButton == Qt::NoButton) { return; @@@ -436,33 -444,43 +439,34 @@@ m_triggerStorageSetupButton = Qt::NoButton; } else { setUrl(m_storageSetupFailedUrl); - m_storageSetupFailedUrl = KUrl(); + m_storageSetupFailedUrl = QUrl(); } } void PlacesPanel::emptyTrash() { - const QString text = i18nc("@info", "Do you really want to empty the Trash? All items will be deleted."); - const bool del = KMessageBox::warningContinueCancel(window(), - text, - QString(), - KGuiItem(i18nc("@action:button", "Empty Trash"), - KIcon("user-trash")) - ) == KMessageBox::Continue; - if (del) { - QByteArray packedArgs; - QDataStream stream(&packedArgs, QIODevice::WriteOnly); - stream << int(1); - KIO::Job *job = KIO::special(KUrl("trash:/"), packedArgs); - KNotification::event("Trash: emptied", QString() , QPixmap() , 0, KNotification::DefaultEvent); - job->ui()->setWindow(parentWidget()); - connect(job, SIGNAL(result(KJob*)), SLOT(slotTrashUpdated(KJob*))); + KIO::JobUiDelegate uiDelegate; + uiDelegate.setWindow(window()); + if (uiDelegate.askDeleteConfirmation(QList(), KIO::JobUiDelegate::EmptyTrash, KIO::JobUiDelegate::DefaultConfirmation)) { + KIO::Job* job = KIO::emptyTrash(); + KJobWidgets::setWindow(job, window()); + connect(job, &KIO::Job::result, this, &PlacesPanel::slotTrashUpdated); } } void PlacesPanel::addEntry() { const int index = m_controller->selectionManager()->currentItem(); - const KUrl url = m_model->data(index).value("url").value(); + const QUrl url = m_model->data(index).value("url").value(); QPointer dialog = new PlacesItemEditDialog(this); - dialog->setCaption(i18nc("@title:window", "Add Places Entry")); + dialog->setWindowTitle(i18nc("@title:window", "Add Places Entry")); dialog->setAllowGlobal(true); dialog->setUrl(url); if (dialog->exec() == QDialog::Accepted) { PlacesItem* item = m_model->createPlacesItem(dialog->text(), dialog->url(), dialog->icon()); m_model->appendItemToGroup(item); + m_model->saveBookmarks(); } delete dialog; @@@ -473,10 -491,10 +477,10 @@@ void PlacesPanel::editEntry(int index QHash data = m_model->data(index); QPointer dialog = new PlacesItemEditDialog(this); - dialog->setCaption(i18nc("@title:window", "Edit Places Entry")); + dialog->setWindowTitle(i18nc("@title:window", "Edit Places Entry")); dialog->setIcon(data.value("iconName").toString()); dialog->setText(data.value("text").toString()); - dialog->setUrl(data.value("url").value()); + dialog->setUrl(data.value("url").value()); dialog->setAllowGlobal(true); if (dialog->exec() == QDialog::Accepted) { PlacesItem* oldItem = m_model->placesItem(index); @@@ -484,6 -502,7 +488,7 @@@ oldItem->setText(dialog->text()); oldItem->setUrl(dialog->url()); oldItem->setIcon(dialog->icon()); + m_model->saveBookmarks(); } } @@@ -510,14 -529,14 +515,14 @@@ void PlacesPanel::triggerItem(int index m_triggerStorageSetupButton = button; m_storageSetupFailedUrl = url(); - connect(m_model, SIGNAL(storageSetupDone(int,bool)), - this, SLOT(slotStorageSetupDone(int,bool))); + connect(m_model, &PlacesItemModel::storageSetupDone, + this, &PlacesPanel::slotStorageSetupDone); m_model->requestStorageSetup(index); } else { m_triggerStorageSetupButton = Qt::NoButton; - const KUrl url = m_model->data(index).value("url").value(); + const QUrl url = m_model->data(index).value("url").value(); if (!url.isEmpty()) { if (button == Qt::MiddleButton) { emit placeMiddleClicked(PlacesItemModel::convertedUrl(url)); @@@ -527,3 -546,6 +532,3 @@@ } } } - - -#include "placespanel.moc" diff --combined src/settings/kcm/kcmdolphingeneral.desktop index 6a5927703,3982e49c4..02e72da9a --- a/src/settings/kcm/kcmdolphingeneral.desktop +++ b/src/settings/kcm/kcmdolphingeneral.desktop @@@ -111,10 -111,8 +111,8 @@@ Comment[mk]=Овој сервис овРComment[ml]=പൊതുവായ ഡോള്‍ഫിന്‍ സജ്ജീകരണങ്ങള്‍ ക്രമീകരിയ്ക്കാന്‍ ഈ സേവനം അനുവദിയ്ക്കുന്നു. Comment[mr]=ही सेवा तुम्हाला डॉल्फिनच्या सामान्य व्यवस्थेचे संयोजन करण्यास मदत करते. Comment[ms]=Servis ini membenarkan tetapan bagi tetapan umum Dolphin. - Comment[nb]=Denne tjenesten tilbyr oppsett av generelle Dolphin-innstillinger. Comment[nds]=Mit dissen Deenst laat sik allmeen Dolphin-Optschonen instellen. Comment[nl]=Met deze dienst kunt u algemene Dolphin-instellingen configureren. - Comment[nn]=Denne tenesta lèt deg setja opp generelle innstillingar for Dolphin. Comment[pa]=ਇਹ ਸਰਵਿਸ ਆਮ ਡਾਲਫਿਨ ਸੈਟਿੰਗ ਦੀ ਸੰਰਚਨਾ ਵਾਸਤੇ ਹੈ। Comment[pl]=Ta usługa pozwala na ogólne ustawienie Dolphina. Comment[pt]=Este serviço permite-lhe configurar as opções gerais do Dolphin. @@@ -143,7 -141,7 +141,7 @@@ Comment[zh_TW]=此服務允許設定 Do Icon=system-run Type=Service X-KDE-ServiceTypes=KCModule -Exec=kcmshell4 kcmdolphingeneral +Exec=kcmshell5 kcmdolphingeneral X-KDE-Library=kcm_dolphingeneral X-KDE-PluginKeyword=dolphingeneral @@@ -266,17 -264,14 +264,14 @@@ Comment[mk]=КонфигурирајтРComment[ml]=ഫയല്‍ നടത്തിപ്പുകാരന്റെ പൊതുവായ സജ്ജീകരണങ്ങള്‍ ക്രമീകരിയ്ക്കുക Comment[mr]=फाईल व्यवस्थापकाच्या सामान्य व्यवस्थेचे संयोजन करा Comment[ms]=Selaraskan tetapan pengurus fail - Comment[nb]=Tilpass generelle filbehandler-innstillinger Comment[nds]=Den Dateipleger allmeen instellen Comment[nl]=Algemene bestandsbeheerderinstellingen configureren - Comment[nn]=Set opp generelle innstillingar for filhandsamaren Comment[pa]=ਆਮ ਫਾਇਲ ਮੈਨੇਜਰ ਸੈਟਿੰਗ ਸੰਰਚਨਾ Comment[pl]=Ustawienia ogólne zarządzania plikami Comment[pt]=Configurar as opções gerais do gestor de ficheiros Comment[pt_BR]=Configura as opções gerais do gerenciador de arquivos Comment[ro]=Configurează opțiunile generale ale gestionarul de fișiere Comment[ru]=Настройка диспетчера файлов - Comment[se]=Heivet oppalaÅ¡ fiilagieđahallanheivehusat Comment[si]=සාමාන්‍ය ගොනු කළමාණාකරන සැකසුම් සකසන්න Comment[sk]=VÅ¡eobecné nastavenie správcu súborov Comment[sl]=SploÅ¡ne nastavitve upravljalnika datotek diff --combined src/settings/kcm/kcmdolphinnavigation.desktop index 9c69c691a,e7f0bc4b9..4312fb406 --- a/src/settings/kcm/kcmdolphinnavigation.desktop +++ b/src/settings/kcm/kcmdolphinnavigation.desktop @@@ -112,10 -112,8 +112,8 @@@ Comment[mk]=Овој сервис овРComment[ml]=ഡോള്‍ഫിനകത്തു് നീങ്ങുന്നതു് ക്രമീകരിയ്ക്കാന്‍ ഈ സേവനം അനുവദിയ്ക്കുന്നു. Comment[mr]=ही सेवा तुम्हाला डॉल्फिन संचारणाचे संयोजन करण्यास मदत करते. Comment[ms]=Servis ini membenarkan tetapan bagi pengemudian Dolphin. - Comment[nb]=Denne tjenesten tilbyr oppsett av Dolphin-navigasjon Comment[nds]=Mit dissen Deenst lett sik de Dolphin-Navigeren instellen. Comment[nl]=Met deze dienst kunt u Dolphin-navigatie configureren. - Comment[nn]=Denne tenesta lèt deg setja opp navigasjonen for Dolphin. Comment[pa]=ਇਹ ਸਰਵਿਸ ਡਾਲਫਿਨ ਨੇਵੀਗੇਸ਼ਨ ਦੀ ਸੰਰਚਨਾ ਵਾਸਤੇ ਹੈ। Comment[pl]=Ta usługa umożliwia ustawienie nawigacji w Dolphinie. Comment[pt]=Este serviço permite-lhe configurar a navegação do Dolphin. @@@ -144,7 -142,7 +142,7 @@@ Comment[zh_TW]=此服務允許設定 Do Icon=input-mouse Type=Service X-KDE-ServiceTypes=KCModule -Exec=kcmshell4 kcmdolphinnavigation +Exec=kcmshell5 kcmdolphinnavigation X-KDE-Library=kcm_dolphinnavigation X-KDE-PluginKeyword=dolphinnavigation diff --combined src/settings/kcm/kcmdolphinservices.desktop index 25710e019,c96baa2bf..cb08a6a60 --- a/src/settings/kcm/kcmdolphinservices.desktop +++ b/src/settings/kcm/kcmdolphinservices.desktop @@@ -42,10 -42,8 +42,8 @@@ Name[mk]=Сервиси во Делфи Name[ml]=ഡോള്‍ഫിന്‍ സേവനങ്ങള്‍ Name[mr]=डॉल्फिन सेवा Name[ms]=Servis Dolphin - Name[nb]=Dolphin-tjenester Name[nds]=Dolphin-Deensten Name[nl]=Dolphin-services - Name[nn]=Dolphin-tenester Name[pa]=ਡਾਲਫਿਨ ਸਰਵਿਸਾਂ Name[pl]=Usługi Dolphina Name[pt]=Serviços do Dolphin @@@ -74,7 -72,7 +72,7 @@@ Name[zh_TW]=Dolphin æœå‹ Icon=services Type=Service X-KDE-ServiceTypes=KCModule -Exec=kcmshell4 kcmdolphinservices +Exec=kcmshell5 kcmdolphinservices X-KDE-Library=kcm_dolphinservices X-KDE-PluginKeyword=dolphinservices @@@ -136,11 -134,9 +134,9 @@@ Name[mk]=СервисРName[ml]=സേവനങ്ങള്‍ Name[mr]=सेवा Name[ms]=Servis - Name[nb]=Tjenester Name[nds]=KDE-Deensten Name[ne]=सेवा Name[nl]=Services - Name[nn]=Tenester Name[oc]=Servicis Name[or]=ସର୍ଭିସଗୁଡ଼ିକ Name[pa]=ਸਰਵਿਸਾਂ @@@ -149,7 -145,6 +145,6 @@@ Name[pt]=Serviço Name[pt_BR]=Serviços Name[ro]=Servicii Name[ru]=Действия - Name[se]=Bálvalusat Name[si]=සේවා Name[sk]=Služby Name[sl]=Storitve diff --combined src/settings/kcm/kcmdolphinviewmodes.desktop index 3856fc676,39cc0e2a5..74d2d11c8 --- a/src/settings/kcm/kcmdolphinviewmodes.desktop +++ b/src/settings/kcm/kcmdolphinviewmodes.desktop @@@ -111,10 -111,8 +111,8 @@@ Comment[mai]=ई सेवा अहा Comment[mk]=Овој сервис овозможува конфигурација на режимите за преглед во Делфин. Comment[ml]=ഡോള്‍ഫിന്‍ അവതരണദശകള്‍ ക്രമീകരിയ്ക്കാന്‍ ഈ സേവനം അനുവദിയ്ക്കുന്നു. Comment[mr]=ही सेवा तुम्हाला डॉल्फिन दृश्य पद्धतीचे संयोजन करण्यास मदत करते. - Comment[nb]=Denne tjenesten tilbyr oppsett av Dolphin visningsmÃ¥ter. Comment[nds]=Mit dissen Deenst laat sik de Dolphin-Ansichten instellen. Comment[nl]=Met deze dienst kunt u Dolphin-weergavemodussen configureren. - Comment[nn]=Denne tenesta lèt deg setja opp Dolphin-visingar. Comment[pa]=ਇਹ ਸਰਵਿਸ ਡਾਲਫਿਨ ਝਲਕ ਮੋਡ ਦੀ ਸੰਰਚਨਾ ਵਾਸਤੇ ਹੈ। Comment[pl]=Ta usługa umożliwia ustawienie trybów widoku Dolphina. Comment[pt]=Este serviço permite-lhe configurar os modos de visualização do Dolphin. @@@ -143,7 -141,7 +141,7 @@@ Comment[zh_TW]=此服務允許設定 Do Icon=view-choose Type=Service X-KDE-ServiceTypes=KCModule -Exec=kcmshell4 kcmdolphinviewmodes +Exec=kcmshell5 kcmdolphinviewmodes X-KDE-Library=kcm_dolphinviewmodes X-KDE-PluginKeyword=dolphinviewmodes