#include "settings/dolphinsettings.h"
#include "settings/dolphinsettingsdialog.h"
#include "dolphinsearchbox.h"
-#include "dolphinstatusbar.h"
#include "dolphinviewcontainer.h"
#include "panels/folders/folderspanel.h"
#include "panels/places/placespanel.h"
#include "panels/information/informationpanel.h"
#include "panels/information/metadatawidget.h"
#include "mainwindowadaptor.h"
+#include "statusbar/dolphinstatusbar.h"
#include "viewproperties.h"
#ifndef Q_OS_WIN
updateGoActions();
setUrlAsCaption(url);
if (m_viewTab.count() > 1) {
- m_tabBar->setTabText(m_tabIndex, tabName(url));
+ m_tabBar->setTabText(m_tabIndex, squeezedText(tabName(m_activeViewContainer->url())));
}
const QString iconName = KMimeType::iconNameForUrl(url);
m_tabBar->setTabIcon(m_tabIndex, KIcon(iconName));
compareFilesAction->setEnabled(false);
}
- m_activeViewContainer->updateStatusBar();
-
emit selectionChanged(selection);
}
if (m_viewTab.count() == 1) {
// Only one view is open currently and hence no tab is shown at
// all. Before creating a tab for 'url', provide a tab for the current URL.
- m_tabBar->addTab(icon, tabName(m_activeViewContainer->url()));
+ m_tabBar->addTab(icon, squeezedText(tabName(m_activeViewContainer->url())));
m_tabBar->blockSignals(false);
}
- m_tabBar->addTab(icon, tabName(url));
+ m_tabBar->addTab(icon, squeezedText(tabName(url)));
ViewTab viewTab;
viewTab.splitter = new QSplitter(this);
DolphinSettings& settings = DolphinSettings::instance();
GeneralSettings* generalSettings = settings.generalSettings();
- if ((m_viewTab.count() > 1) && generalSettings->confirmClosingMultipleTabs()) {
+ // Find out if Dolphin is closed directly by the user or
+ // by the session manager because the session is closed
+ bool closedByUser = true;
+ DolphinApplication *application = qobject_cast<DolphinApplication*>(qApp);
+ if (application && application->closedBySessionManager()) {
+ closedByUser = false;
+ }
+
+ if ((m_viewTab.count() > 1) && generalSettings->confirmClosingMultipleTabs() && closedByUser) {
// Ask the user if he really wants to quit and close all tabs.
// Open a confirmation dialog with 3 buttons:
// KDialog::Yes -> Quit
// URL instead of all items of the view
KUrlNavigator* urlNavigator = m_activeViewContainer->urlNavigator();
- QLineEdit* lineEdit = urlNavigator->editor()->lineEdit();
+ QLineEdit* lineEdit = urlNavigator->editor()->lineEdit(); // krazy:exclude=qclasses
const bool selectUrl = urlNavigator->isUrlEditable() &&
lineEdit->hasFocus();
if (selectUrl) {
navigator->setFocus();
// select the whole text of the combo box editor
- QLineEdit* lineEdit = navigator->editor()->lineEdit();
+ QLineEdit* lineEdit = navigator->editor()->lineEdit(); // krazy:exclude=qclasses
const QString text = lineEdit->text();
lineEdit->setSelection(0, text.length());
}
KAction* openTerminal = actionCollection()->addAction("open_terminal");
openTerminal->setText(i18nc("@action:inmenu Tools", "Open Terminal"));
- openTerminal->setIcon(KIcon("terminal"));
+ openTerminal->setIcon(KIcon("utilities-terminal"));
openTerminal->setShortcut(Qt::SHIFT | Qt::Key_F4);
connect(openTerminal, SIGNAL(triggered()), this, SLOT(openTerminal()));
QAction* terminalAction = terminalDock->toggleViewAction();
terminalAction->setText(i18nc("@title:window Shell terminal", "Terminal"));
terminalAction->setShortcut(Qt::Key_F4);
- terminalAction->setIcon(KIcon("terminal"));
+ terminalAction->setIcon(KIcon("utilities-terminal"));
actionCollection()->addAction("show_terminal_panel", terminalDock->toggleViewAction());
addDockWidget(Qt::BottomDockWidgetArea, terminalDock);
const QString primaryPath = m_viewTab[index].primaryView->url().path();
const QString iconName = KMimeType::iconNameForUrl(primaryPath);
- const QFontMetrics fm = fontMetrics();
- const QString actionText = fm.elidedText(primaryPath, Qt::ElideMiddle, fm.maxWidth() * 20);
-
- QAction* action = new QAction(actionText, tabsMenu);
+ QAction* action = new QAction(squeezedText(primaryPath), tabsMenu);
ClosedTab closedTab;
closedTab.primaryUrl = m_viewTab[index].primaryView->url();
setCaption(caption);
}
+QString DolphinMainWindow::squeezedText(const QString& text) const
+{
+ const QFontMetrics fm = fontMetrics();
+ return fm.elidedText(text, Qt::ElideMiddle, fm.maxWidth() * 10);
+}
+
DolphinMainWindow::UndoUiInterface::UndoUiInterface() :
KIO::FileUndoManager::UiInterface()
{