mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-12 12:54:29 +00:00
Pass application name and icon to KRun
Otherwise this results in the generic executable icon as bouncy cursor. Differential Revision: https://phabricator.kde.org/D4823
This commit is contained in:
parent
6dcbb8127c
commit
b79ea9f5e4
|
@ -41,7 +41,7 @@ void DBusInterface::ShowFolders(const QStringList& uriList, const QString& start
|
|||
if (urls.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
KRun::run(QStringLiteral("dolphin %U"), urls, nullptr);
|
||||
Dolphin::openNewWindow(urls);
|
||||
}
|
||||
|
||||
void DBusInterface::ShowItems(const QStringList& uriList, const QString& startUpId)
|
||||
|
@ -51,7 +51,7 @@ void DBusInterface::ShowItems(const QStringList& uriList, const QString& startUp
|
|||
if (urls.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
KRun::run(QStringLiteral("dolphin --select %U"), urls, nullptr);
|
||||
Dolphin::openNewWindow(urls, nullptr, Dolphin::OpenNewWindowFlag::Select);
|
||||
}
|
||||
|
||||
void DBusInterface::ShowItemProperties(const QStringList& uriList, const QString& startUpId)
|
||||
|
|
|
@ -290,7 +290,7 @@ void DolphinMainWindow::updateFilterBarAction(bool show)
|
|||
|
||||
void DolphinMainWindow::openNewMainWindow()
|
||||
{
|
||||
KRun::run(QStringLiteral("dolphin %u"), QList<QUrl>(), this);
|
||||
Dolphin::openNewWindow({}, this);
|
||||
}
|
||||
|
||||
void DolphinMainWindow::openNewActivatedTab()
|
||||
|
@ -331,7 +331,7 @@ void DolphinMainWindow::openInNewWindow()
|
|||
}
|
||||
|
||||
if (!newWindowUrl.isEmpty()) {
|
||||
KRun::run(QStringLiteral("dolphin %u"), {newWindowUrl}, this);
|
||||
Dolphin::openNewWindow({newWindowUrl}, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -772,11 +772,9 @@ void DolphinMainWindow::openContextMenu(const QPoint& pos,
|
|||
changeUrl(KIO::upUrl(item.url()));
|
||||
break;
|
||||
|
||||
case DolphinContextMenu::OpenParentFolderInNewWindow: {
|
||||
|
||||
KRun::run(QStringLiteral("dolphin %u"), {KIO::upUrl(item.url())}, this);
|
||||
case DolphinContextMenu::OpenParentFolderInNewWindow:
|
||||
Dolphin::openNewWindow({KIO::upUrl(item.url())}, this);
|
||||
break;
|
||||
}
|
||||
|
||||
case DolphinContextMenu::OpenParentFolderInNewTab:
|
||||
openNewTab(KIO::upUrl(item.url()));
|
||||
|
|
|
@ -17,6 +17,11 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <QApplication>
|
||||
#include <QIcon>
|
||||
|
||||
#include <KRun>
|
||||
|
||||
#include "global.h"
|
||||
#include "dolphindebug.h"
|
||||
|
||||
|
@ -41,3 +46,18 @@ QUrl Dolphin::homeUrl()
|
|||
{
|
||||
return QUrl::fromUserInput(GeneralSettings::homeUrl(), QString(), QUrl::AssumeLocalFile);
|
||||
}
|
||||
|
||||
void Dolphin::openNewWindow(const QList<QUrl> &urls, QWidget *window, const OpenNewWindowFlags &flags)
|
||||
{
|
||||
QString command = QStringLiteral("dolphin");
|
||||
|
||||
if (flags.testFlag(OpenNewWindowFlag::Select)) {
|
||||
command.append(QLatin1String(" --select"));
|
||||
}
|
||||
|
||||
if (!urls.isEmpty()) {
|
||||
command.append(QLatin1String(" %U"));
|
||||
}
|
||||
|
||||
KRun::run(command, urls, window, qApp->applicationDisplayName(), qApp->windowIcon().name());
|
||||
}
|
||||
|
|
11
src/global.h
11
src/global.h
|
@ -30,6 +30,17 @@ namespace Dolphin {
|
|||
* Returns the home url which is defined in General Settings
|
||||
*/
|
||||
QUrl homeUrl();
|
||||
|
||||
enum class OpenNewWindowFlag {
|
||||
None = 0,
|
||||
Select = 1<<1
|
||||
};
|
||||
Q_DECLARE_FLAGS(OpenNewWindowFlags, OpenNewWindowFlag)
|
||||
|
||||
/**
|
||||
* Opens a new Dolphin window
|
||||
*/
|
||||
void openNewWindow(const QList<QUrl> &urls = {}, QWidget *window = nullptr, const OpenNewWindowFlags &flags = OpenNewWindowFlag::None);
|
||||
}
|
||||
|
||||
#endif //GLOBAL_H
|
||||
|
|
Loading…
Reference in a new issue