mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-05 16:19:10 +00:00
Open new instance of Dolphin if no URLs are given
Summary: BUG: 408387 BUG: 408244 FIXED-IN: 19.08.0 Currently Dolphin only opens a new instance of itself in the following two scenarios: 1. No other Dolphin instances ( D21666 deals with not matching daemonized instances) are currently running. 2. A new instance is explicitly asked for via: `dolphin --new-window` A third scenario is needed to fix this bug: 3. If no URLs are passed in as arguments then open a new instance. This patch adds this third scenario. Test Plan: STEPS TO REPRODUCE 1. Open Dolphin 2. Right-click on Dolphin's Task Manager Entry and click "Start New Instance" 3. A new instance is created. As my system stuff is not built on master I am unable to replicate the bug (and can't confirm whether this fixes it), hence I'll rely on @ngraham to confirm whether this patch fixes the issue. Reviewers: ngraham, elvisangelaccio Reviewed By: ngraham, elvisangelaccio Subscribers: elvisangelaccio, ngraham, kfm-devel Tags: #dolphin Differential Revision: https://phabricator.kde.org/D21691
This commit is contained in:
parent
ff81ed60cf
commit
d2506ffa63
|
@ -72,8 +72,8 @@ void Dolphin::openNewWindow(const QList<QUrl> &urls, QWidget *window, const Open
|
|||
|
||||
bool Dolphin::attachToExistingInstance(const QList<QUrl>& inputUrls, bool openFiles, bool splitView, const QString& preferredService)
|
||||
{
|
||||
if (KWindowSystem::isPlatformWayland()) {
|
||||
// TODO: once Wayland clients can raise or activate themselves remove this conditional
|
||||
// TODO: once Wayland clients can raise or activate themselves remove check from conditional
|
||||
if (KWindowSystem::isPlatformWayland() || inputUrls.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
10
src/main.cpp
10
src/main.cpp
|
@ -142,11 +142,6 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
|
|||
return app.exec();
|
||||
}
|
||||
|
||||
if (urls.isEmpty()) {
|
||||
// We need at least one URL to open Dolphin
|
||||
urls.append(Dolphin::homeUrl());
|
||||
}
|
||||
|
||||
if (splitView && urls.size() < 2) {
|
||||
// Split view does only make sense if we have at least 2 URLs
|
||||
urls.append(urls.last());
|
||||
|
@ -159,6 +154,11 @@ extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
if (urls.isEmpty()) {
|
||||
// We need at least one URL to open Dolphin
|
||||
urls.append(Dolphin::homeUrl());
|
||||
}
|
||||
|
||||
DolphinMainWindow* mainWindow = new DolphinMainWindow();
|
||||
|
||||
if (openFiles) {
|
||||
|
|
Loading…
Reference in a new issue