diff --git a/app/SettingsBase.cpp b/app/SettingsBase.cpp --- a/app/SettingsBase.cpp +++ b/app/SettingsBase.cpp @@ -141,7 +141,7 @@ // Configure goes at the end configureAction = actionCollection()->addAction( KStandardAction::Preferences, QStringLiteral("configure"), this, SLOT(configShow()) ); actionCollection()->setDefaultShortcut(configureAction, QKeySequence(Qt::CTRL + Qt::Key_M)); - configureAction->setText( i18n("Configure") ); + configureAction->setText( i18n("Configure...") ); // Help after it initHelpMenu(); configureAction->setIcon(QIcon::fromTheme(QStringLiteral("settings-configure"))); diff --git a/sidebar/SidebarMode.h b/sidebar/SidebarMode.h --- a/sidebar/SidebarMode.h +++ b/sidebar/SidebarMode.h @@ -80,6 +80,7 @@ Q_INVOKABLE void hideToolTip(); Q_INVOKABLE void hideSubCategoryToolTip(); Q_INVOKABLE void loadMostUsed(int index); + Q_INVOKABLE void showMostUsedPage(); protected: QList views() const override; diff --git a/sidebar/SidebarMode.cpp b/sidebar/SidebarMode.cpp --- a/sidebar/SidebarMode.cpp +++ b/sidebar/SidebarMode.cpp @@ -396,6 +396,12 @@ d->moduleView->loadModule( idx ); } +void SidebarMode::showMostUsedPage() +{ + d->placeHolderWidget->show(); + d->moduleView->hide(); +} + void SidebarMode::changeModule( const QModelIndex& activeModule ) { d->moduleView->closeModules(); diff --git a/sidebar/package/contents/ui/ActionMenu.qml b/sidebar/package/contents/ui/ActionMenu.qml --- a/sidebar/package/contents/ui/ActionMenu.qml +++ b/sidebar/package/contents/ui/ActionMenu.qml @@ -16,26 +16,25 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.3 -import QtQml 2.2 -import QtQuick.Controls 1.0 as QtControls +import QtQuick 2.5 +import Qt.labs.platform 1.0 as QLP -QtControls.Menu { +QLP.Menu { id: menu property alias actions: instantiator.model Instantiator { id: instantiator - delegate: QtControls.MenuItem { - readonly property QtObject action: systemsettings.action(modelData) + delegate: QLP.MenuItem { + readonly property QtObject itemAction: systemsettings.action(modelData) - text: action.text + text: itemAction.text iconName: systemsettings.actionIconName(modelData) - visible: action.visible - enabled: action.enabled - onTriggered: action.trigger() + visible: itemAction.visible + enabled: itemAction.enabled + onTriggered: itemAction.trigger() } onObjectAdded: menu.insertItem(index, object) diff --git a/sidebar/package/contents/ui/CategoriesPage.qml b/sidebar/package/contents/ui/CategoriesPage.qml --- a/sidebar/package/contents/ui/CategoriesPage.qml +++ b/sidebar/package/contents/ui/CategoriesPage.qml @@ -16,17 +16,18 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.3 +import QtQuick 2.5 +import QtQuick.Controls 2.5 as QQC2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.0 as QtControls -import QtQuick.Controls 2.0 as QtControls2 -import org.kde.kirigami 2.7 as Kirigami +import org.kde.kirigami 2.8 as Kirigami Kirigami.ScrollablePage { id: mainColumn Component.onCompleted: searchField.forceActiveFocus() + property alias actionMenu: menu + header: Rectangle { Kirigami.Theme.colorSet: Kirigami.Theme.Window Kirigami.Theme.inherit: false @@ -40,35 +41,45 @@ fill: parent margins: Kirigami.Units.smallSpacing } - QtControls.ToolButton { - id: menuButton - iconName: "application-menu" + + QQC2.ToolButton { + id: showMostUsedPageButton + icon.name: "go-home" Layout.maximumWidth: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.smallSpacing * 2 Layout.maximumHeight: width Keys.onBacktabPressed: { root.focusPreviousRequest() } - menu: ActionMenu { - actions: ["configure", "help_contents", "help_about_app", "help_about_kde"] - } + onClicked: systemsettings.showMostUsedPage() } - Kirigami.ActionTextField { + + Kirigami.SearchField { id: searchField focus: true Layout.minimumHeight: Layout.maximumHeight Layout.maximumHeight: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.smallSpacing * 2 Layout.fillWidth: true - placeholderText: i18n("Search...") onTextChanged: { systemsettings.categoryModel.filterRegExp = text; } - rightActions: [ - Kirigami.Action { - iconName: LayoutMirroring.enabled ? "edit-clear-rtl" : "edit-clear" - visible: searchField.text.length !== 0 - onTriggered: searchField.text = "" - } - ] + } + + QQC2.ToolButton { + id: menuButton + icon.name: "application-menu" + checkable: true + Layout.maximumWidth: Kirigami.Units.iconSizes.smallMedium + Kirigami.Units.smallSpacing * 2 + Layout.maximumHeight: width + Keys.onBacktabPressed: { + root.focusPreviousRequest() + } + onClicked: menu.open(menuButton) + } + + ActionMenu { + id: menu + actions: ["configure", "help_contents", "help_about_app", "help_about_kde"] + onAboutToHide: menuButton.checked = false } } Kirigami.Separator { diff --git a/sidebar/package/contents/ui/IntroIcon.qml b/sidebar/package/contents/ui/IntroIcon.qml --- a/sidebar/package/contents/ui/IntroIcon.qml +++ b/sidebar/package/contents/ui/IntroIcon.qml @@ -16,11 +16,11 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.1 +import QtQuick 2.5 +import QtQuick.Controls 2.5 as QQC2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 2.0 as QQC2 -import org.kde.kirigami 2.1 as Kirigami +import org.kde.kirigami 2.5 as Kirigami MouseArea { id: item diff --git a/sidebar/package/contents/ui/SubCategoryPage.qml b/sidebar/package/contents/ui/SubCategoryPage.qml --- a/sidebar/package/contents/ui/SubCategoryPage.qml +++ b/sidebar/package/contents/ui/SubCategoryPage.qml @@ -16,12 +16,11 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.1 +import QtQuick 2.5 +import QtQuick.Controls 2.5 as QQC2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.0 as QtControls -import QtQuick.Controls 2.0 as QtControls2 -import org.kde.kirigami 2.3 as Kirigami +import org.kde.kirigami 2.5 as Kirigami Kirigami.ScrollablePage { id: subCategoryColumn diff --git a/sidebar/package/contents/ui/introPage.qml b/sidebar/package/contents/ui/introPage.qml --- a/sidebar/package/contents/ui/introPage.qml +++ b/sidebar/package/contents/ui/introPage.qml @@ -16,10 +16,11 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.1 +import QtQuick 2.5 +import QtQuick.Controls 2.5 as QQC2 import QtQuick.Layouts 1.1 -import QtQuick.Controls 2.0 as Controls -import org.kde.kirigami 2.1 as Kirigami + +import org.kde.kirigami 2.5 as Kirigami Rectangle { id: root @@ -49,7 +50,7 @@ height: width opacity: 0.3 } - Controls.Label { + QQC2.Label { Layout.alignment: Qt.AlignHCenter text: i18n("System Settings") } diff --git a/sidebar/package/contents/ui/main.qml b/sidebar/package/contents/ui/main.qml --- a/sidebar/package/contents/ui/main.qml +++ b/sidebar/package/contents/ui/main.qml @@ -16,10 +16,9 @@ Boston, MA 02110-1301, USA. */ -import QtQuick 2.1 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.0 as QtControls -import org.kde.kirigami 2.1 as Kirigami +import QtQuick 2.5 + +import org.kde.kirigami 2.5 as Kirigami Kirigami.ApplicationItem { id: root