Commit dbabe222 authored by Marco Martin's avatar Marco Martin Committed by Nate Graham
Browse files

Add SortOrderForUrl method to DBus interface

adds a method to ask what's the sorting strategy (column and order) for a particular Url, as Dolphin can have directory-specific sorting strategies

This makes possible for other apps that have lists of files, like Gwenview to use the same sorting when invoked from dolphin, ie opening an image

CCBUG:236059
parent 9fcfbfb6
Pipeline #64205 passed with stage
in 5 minutes and 16 seconds
......@@ -59,6 +59,18 @@ void DBusInterface::ShowItemProperties(const QStringList& uriList, const QString
}
}
void DBusInterface::SortOrderForUrl(const QString &url, QString &role, QString &order)
{
QUrl qurl(url);
auto sort = Dolphin::sortOrderForUrl(qurl);
role = sort.first;
if (sort.second == Qt::AscendingOrder) {
order = QStringLiteral("ascending");
} else {
order = QStringLiteral("descending");
}
}
void DBusInterface::setAsDaemon()
{
m_isDaemon = true;
......
......@@ -20,6 +20,8 @@ public:
Q_SCRIPTABLE void ShowItems(const QStringList& uriList, const QString& startUpId);
Q_SCRIPTABLE void ShowItemProperties(const QStringList& uriList, const QString& startUpId);
Q_SCRIPTABLE void SortOrderForUrl(const QString &url, QString &role, QString &order);
/**
* Set whether this interface has been created by dolphin --daemon.
*/
......
......@@ -9,6 +9,7 @@
#include "dolphin_generalsettings.h"
#include "dolphindebug.h"
#include "dolphinmainwindowinterface.h"
#include "views/viewproperties.h"
#include <KConfigWatcher>
#include <KDialogJobUiDelegate>
......@@ -140,6 +141,12 @@ QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> Do
return dolphinInterfaces;
}
QPair<QString, Qt::SortOrder> Dolphin::sortOrderForUrl(QUrl &url)
{
ViewProperties globalProps(url);
return QPair<QString, Qt::SortOrder>(globalProps.sortRole(), globalProps.sortOrder());
}
double GlobalConfig::animationDurationFactor()
{
if (s_animationDurationFactor >= 0.0) {
......
......@@ -46,6 +46,8 @@ namespace Dolphin {
*/
QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> dolphinGuiInstances(const QString& preferredService);
QPair<QString, Qt::SortOrder> sortOrderForUrl(QUrl &url);
/**
* TODO: Move this somewhere global to all KDE apps, not just Dolphin
*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment