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
m_mainWindow = new DolphinMainWindow();
m_mainWindow->setAttribute(Qt::WA_DeleteOnClose);
m_mainWindow = new DolphinMainWindow();
m_mainWindow->setAttribute(Qt::WA_DeleteOnClose);
KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
} else {
m_mainWindow->openDirectories(urls);
}
} else {
m_mainWindow->openDirectories(urls);
}
+ } else {
+ const KUrl homeUrl(GeneralSettings::homeUrl());
+ m_mainWindow->openNewActivatedTab(homeUrl);
}
if (resetSplitSettings) {
}
if (resetSplitSettings) {
+
+ m_mainWindow->show();
}
DolphinApplication::~DolphinApplication()
}
DolphinApplication::~DolphinApplication()
if (!showMenu) {
createControlButton();
}
if (!showMenu) {
createControlButton();
}
-
- const KUrl homeUrl(generalSettings->homeUrl());
- openNewActivatedTab(homeUrl);
}
DolphinMainWindow::~DolphinMainWindow()
}
DolphinMainWindow::~DolphinMainWindow()
void DolphinMainWindow::openDirectories(const QList<KUrl>& dirs)
{
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,
const bool hasSplitView = GeneralSettings::splitView();
// Open each directory inside a new tab. If the "split view" option has been enabled,
openNewTab(primaryUrl);
}
}
openNewTab(primaryUrl);
}
}
-
- // Remove the previously opened tabs
- for (int i = 0; i < oldOpenTabsCount; ++i) {
- closeTab(0);
- }
}
void DolphinMainWindow::openFiles(const QList<KUrl>& files)
}
void DolphinMainWindow::openFiles(const QList<KUrl>& files)
void DolphinMainWindow::showEvent(QShowEvent* event)
{
KXmlGuiWindow::showEvent(event);
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();
}
if (!event->spontaneous()) {
m_activeViewContainer->view()->setFocus();
}