mirror of
https://invent.kde.org/system/dolphin
synced 2024-08-22 01:40:02 +00:00
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
This commit is contained in:
parent
9fcfbfb6e3
commit
dbabe22249
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue