- setMinimumSize(QSize(512, minSize.height()));
-
- setFaceType(List);
- setCaption(i18nc("@title:window", "Dolphin Preferences"));
- setButtons(Ok | Apply | Cancel | Default);
- enableButtonApply(false);
- setDefaultButton(Ok);
-
- // Startup
- StartupSettingsPage* startupSettingsPage = new StartupSettingsPage(url, this);
- KPageWidgetItem* startupSettingsFrame = addPage(startupSettingsPage,
- i18nc("@title:group", "Startup"));
- startupSettingsFrame->setIcon(KIcon("go-home"));
- connect(startupSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
-
- // View Modes
- ViewSettingsPage* viewSettingsPage = new ViewSettingsPage(this);
- KPageWidgetItem* viewSettingsFrame = addPage(viewSettingsPage,
- i18nc("@title:group", "View Modes"));
- viewSettingsFrame->setIcon(KIcon("view-choose"));
- connect(viewSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
-
- // Navigation
- NavigationSettingsPage* navigationSettingsPage = new NavigationSettingsPage(this);
- KPageWidgetItem* navigationSettingsFrame = addPage(navigationSettingsPage,
- i18nc("@title:group", "Navigation"));
- navigationSettingsFrame->setIcon(KIcon("input-mouse"));
- connect(navigationSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
-
- // Services
- ServicesSettingsPage* servicesSettingsPage = new ServicesSettingsPage(this);
- KPageWidgetItem* servicesSettingsFrame = addPage(servicesSettingsPage,
- i18nc("@title:group", "Services"));
- servicesSettingsFrame->setIcon(KIcon("services"));
- connect(servicesSettingsPage, SIGNAL(changed()), this, SLOT(enableApply()));
+ setMinimumSize(QSize(540, minSize.height()));
+
+ setFaceType(KRuntimePlatform::runtimePlatform().contains(QLatin1String("phone")) ? Tabbed : List);
+ setWindowTitle(i18nc("@title:window", "Configure"));
+
+ // Interface
+ InterfaceSettingsPage *interfaceSettingsPage = new InterfaceSettingsPage(this);
+ KPageWidgetItem *interfaceSettingsFrame = addPage(interfaceSettingsPage, i18nc("@title:group Interface settings", "Interface"));
+ interfaceSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("org.kde.dolphin")));
+ connect(interfaceSettingsPage, &InterfaceSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
+
+ // View
+ ViewSettingsPage *viewSettingsPage = new ViewSettingsPage(url, this);
+ KPageWidgetItem *viewSettingsFrame = addPage(viewSettingsPage, i18nc("@title:group", "View"));
+ viewSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("preferences-desktop-icons")));
+ connect(viewSettingsPage, &ViewSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);
+
+ // Context Menu
+ auto contextMenuSettingsPage = new ContextMenuSettingsPage(this,
+ actions,
+ {QStringLiteral("add_to_places"),
+ QStringLiteral("sort"),
+ QStringLiteral("group"),
+ QStringLiteral("view_mode"),
+ QStringLiteral("open_in_new_tab"),
+ QStringLiteral("open_in_new_window"),
+ QStringLiteral("open_in_split_view"),
+ QStringLiteral("copy_location"),
+ QStringLiteral("duplicate"),
+ QStringLiteral("open_terminal_here"),
+ QStringLiteral("copy_to_inactive_split_view"),
+ QStringLiteral("move_to_inactive_split_view")});
+ KPageWidgetItem *contextMenuSettingsFrame = addPage(contextMenuSettingsPage, i18nc("@title:group", "Context Menu"));
+ contextMenuSettingsFrame->setIcon(QIcon::fromTheme(QStringLiteral("preferences-desktop-menu-edit")));
+ connect(contextMenuSettingsPage, &ContextMenuSettingsPage::changed, this, &DolphinSettingsDialog::enableApply);