#include <KProtocolInfo>
#include <KProtocolManager>
#include <KShell>
+#include <KShortcutsDialog>
#include <KStandardAction>
#include <KStartupInfo>
#include <KSycoca>
#include <KUrlNavigator>
#include <KWindowSystem>
#include <KXMLGUIFactory>
-#include <kxmlgui_version.h>
#include <kio_version.h>
setComponentName(QStringLiteral("dolphin"), QGuiApplication::applicationDisplayName());
setObjectName(QStringLiteral("Dolphin#"));
-#if KXMLGUI_VERSION >= QT_VERSION_CHECK(5, 88, 0)
setStateConfigGroup("State");
-#endif
connect(&DolphinNewFileMenuObserver::instance(), &DolphinNewFileMenuObserver::errorMessage,
this, &DolphinMainWindow::showErrorMessage);
setupDockWidgets();
- setupGUI(Keys | Save | Create | ToolBar);
+ setupGUI(Save | Create | ToolBar);
stateChanged(QStringLiteral("new_file"));
QClipboard* clipboard = QApplication::clipboard();
}
}
+ DolphinPlacesModelSingleton::instance().placesModel()->setPanelsLocked(newLockState);
+
GeneralSettings::setLockPanels(newLockState);
}
}
}
+QMenu *DolphinMainWindow::createPopupMenu()
+{
+ QMenu *menu = KXmlGuiWindow::createPopupMenu();
+
+ menu->addSeparator();
+ menu->addAction(actionCollection()->action(QStringLiteral("lock_panels")));
+
+ return menu;
+}
+
void DolphinMainWindow::updateHamburgerMenu()
{
KActionCollection* ac = actionCollection();
}
}
+void DolphinMainWindow::slotKeyBindings()
+{
+ KShortcutsDialog dialog(KShortcutsEditor::AllActions, KShortcutsEditor::LetterShortcutsAllowed, this);
+ dialog.addCollection(actionCollection());
+ if (m_terminalPanel) {
+ KActionCollection *konsolePartActionCollection = m_terminalPanel->actionCollection();
+ if (konsolePartActionCollection) {
+ dialog.addCollection(konsolePartActionCollection, QStringLiteral("KonsolePart"));
+ }
+ }
+ dialog.configure();
+}
+
void DolphinMainWindow::setViewsToHomeIfMountPathOpen(const QString& mountPath)
{
const QVector<DolphinViewContainer*> theViewContainers = viewContainers();
"contain mostly the same commands and configuration options."));
connect(showMenuBar, &KToggleAction::triggered, // Fixes #286822
this, &DolphinMainWindow::toggleShowMenuBar, Qt::QueuedConnection);
+ KStandardAction::keyBindings(this, &DolphinMainWindow::slotKeyBindings, actionCollection());
KStandardAction::preferences(this, &DolphinMainWindow::editSettings, actionCollection());
// setup 'Help' menu for the m_controlButton. The other one is set up in the base class.
{
const bool lock = GeneralSettings::lockPanels();
+ DolphinPlacesModelSingleton::instance().placesModel()->setPanelsLocked(lock);
+
KDualAction* lockLayoutAction = actionCollection()->add<KDualAction>(QStringLiteral("lock_panels"));
lockLayoutAction->setActiveText(i18nc("@action:inmenu Panels", "Unlock Panels"));
lockLayoutAction->setActiveIcon(QIcon::fromTheme(QStringLiteral("object-unlocked")));
panelAction->setChecked(dockAction->isChecked());
panelAction->setText(dockAction->text());
panelAction->setIcon(icon);
+ dockAction->setIcon(icon);
actionCollection()->setDefaultShortcut(panelAction, shortcut);
connect(panelAction, &QAction::triggered, dockAction, &QAction::trigger);