]> cloud.milkyroute.net Git - dolphin.git/blob - src/dbusinterface.cpp
Merge branch 'master' of git.kde.org:dolphin
[dolphin.git] / src / dbusinterface.cpp
1 /*
2 * Copyright 2015 Ashish Bansal<bansal.ashish096@gmail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the
16 * Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20 #include "dbusinterface.h"
21 #include "global.h"
22
23 #include <QDBusConnection>
24 #include <QList>
25 #include <QUrl>
26 #include <KPropertiesDialog>
27 #include <KRun>
28
29 DBusInterface::DBusInterface() :
30 QObject()
31 {
32 QDBusConnection::sessionBus().registerService(QStringLiteral("org.freedesktop.FileManager1"));
33 QDBusConnection::sessionBus().registerObject(QStringLiteral("/org/freedesktop/FileManager1"), this,
34 QDBusConnection::ExportScriptableContents | QDBusConnection::ExportAdaptors);
35 }
36
37 void DBusInterface::ShowFolders(const QStringList& uriList, const QString& startUpId)
38 {
39 Q_UNUSED(startUpId);
40 const QList<QUrl> urls = Dolphin::validateUris(uriList);
41 if (urls.isEmpty()) {
42 return;
43 }
44 KRun::run(QStringLiteral("dolphin %U"), urls, nullptr);
45 }
46
47 void DBusInterface::ShowItems(const QStringList& uriList, const QString& startUpId)
48 {
49 Q_UNUSED(startUpId);
50 const QList<QUrl> urls = Dolphin::validateUris(uriList);
51 if (urls.isEmpty()) {
52 return;
53 }
54 KRun::run(QStringLiteral("dolphin --select %U"), urls, nullptr);
55 }
56
57 void DBusInterface::ShowItemProperties(const QStringList& uriList, const QString& startUpId)
58 {
59 Q_UNUSED(startUpId);
60 const QList<QUrl> urls = Dolphin::validateUris(uriList);
61 if (!urls.isEmpty()) {
62 KPropertiesDialog::showDialog(urls);
63 }
64 }