┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmmanuel Pescosta <[email protected]>2014-07-08 19:16:17 +0200
committerEmmanuel Pescosta <[email protected]>2014-07-08 19:16:17 +0200
commit00754dda30dc3982d3e8edc5996cdb11b62fd99d (patch)
treeea4dfeae90299c5dcbfa19ff2f950e7e1e42347a /src
parentc25b5018989b8724ea6ad1b4d4971fccf0e75d09 (diff)
Avoid opening unused tabs which are closed again after startup has finished (when directory/file urls are given)
Instead of always opening a new tab with the home url and closing it again when directory/file urls are passed on, we now use the given directories/files directly to open new tabs on startup. Makes the code easier and we can reuse openDirectories/openFiles in future (if needed). REVIEW: 118966
Diffstat (limited to 'src')
-rw-r--r--src/dolphinapplication.cpp6
-rw-r--r--src/dolphinmainwindow.cpp26
2 files changed, 12 insertions, 20 deletions
diff --git a/src/dolphinapplication.cpp b/src/dolphinapplication.cpp
index 8e83a8592..a4b105b90 100644
--- a/src/dolphinapplication.cpp
+++ b/src/dolphinapplication.cpp
@@ -34,7 +34,6 @@ DolphinApplication::DolphinApplication() :
m_mainWindow = new DolphinMainWindow();
m_mainWindow->setAttribute(Qt::WA_DeleteOnClose);
- m_mainWindow->show();
KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
@@ -71,6 +70,9 @@ DolphinApplication::DolphinApplication() :
} else {
m_mainWindow->openDirectories(urls);
}
+ } else {
+ const KUrl homeUrl(GeneralSettings::homeUrl());
+ m_mainWindow->openNewActivatedTab(homeUrl);
}
if (resetSplitSettings) {
@@ -78,6 +80,8 @@ DolphinApplication::DolphinApplication() :
}
args->clear();
+
+ m_mainWindow->show();
}
DolphinApplication::~DolphinApplication()
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index d9fe6458d..0c48928bf 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -198,9 +198,6 @@ DolphinMainWindow::DolphinMainWindow() :
if (!showMenu) {
createControlButton();
}
-
- const KUrl homeUrl(generalSettings->homeUrl());
- openNewActivatedTab(homeUrl);
}
DolphinMainWindow::~DolphinMainWindow()
@@ -209,17 +206,6 @@ DolphinMainWindow::~DolphinMainWindow()
void DolphinMainWindow::openDirectories(const QList<KUrl>& dirs)
{
- if (dirs.isEmpty()) {
- return;
- }
-
- if (dirs.count() == 1) {
- m_activeViewContainer->setUrl(dirs.first());
- return;
- }
-
- const int oldOpenTabsCount = m_viewTab.count();
-
const bool hasSplitView = GeneralSettings::splitView();
// Open each directory inside a new tab. If the "split view" option has been enabled,
@@ -234,11 +220,6 @@ void DolphinMainWindow::openDirectories(const QList<KUrl>& dirs)
openNewTab(primaryUrl);
}
}
-
- // Remove the previously opened tabs
- for (int i = 0; i < oldOpenTabsCount; ++i) {
- closeTab(0);
- }
}
void DolphinMainWindow::openFiles(const QList<KUrl>& files)
@@ -516,6 +497,13 @@ void DolphinMainWindow::openInNewWindow()
void DolphinMainWindow::showEvent(QShowEvent* event)
{
KXmlGuiWindow::showEvent(event);
+
+ if (!m_activeViewContainer && m_viewTab.count() > 0) {
+ // If we have no active view container yet, we set the primary view container
+ // of the first tab as active view container.
+ setActiveTab(0);
+ }
+
if (!event->spontaneous()) {
m_activeViewContainer->view()->setFocus();
}