diff --git a/applets/pager/package/contents/config/main.xml b/applets/pager/package/contents/config/main.xml --- a/applets/pager/package/contents/config/main.xml +++ b/applets/pager/package/contents/config/main.xml @@ -31,6 +31,15 @@ 0 + + + + + + + + 0 + diff --git a/applets/pager/package/contents/ui/configGeneral.qml b/applets/pager/package/contents/ui/configGeneral.qml --- a/applets/pager/package/contents/ui/configGeneral.qml +++ b/applets/pager/package/contents/ui/configGeneral.qml @@ -38,6 +38,7 @@ property int cfg_displayedText property alias cfg_showWindowIcons: showWindowIcons.checked property int cfg_currentDesktopSelected + property alias cfg_pagerLayout: pagerLayout.currentIndex property alias cfg_showOnlyCurrentScreen: showOnlyCurrentScreen.checked onCfg_displayedTextChanged: { @@ -131,6 +132,18 @@ } QtControls.Label { + text: i18n("Layout:") + Layouts.Layout.alignment: Qt.AlignVCenter|Qt.AlignRight + visible: isActivityPager + } + + QtControls.ComboBox { + id: pagerLayout + model: [i18nc("The pager layout", "Default"), i18n("Horizontal"), i18n("Vertical")] + visible: isActivityPager + } + + QtControls.Label { text: i18n("Selecting current desktop:") Layouts.Layout.alignment: Qt.AlignVCenter|Qt.AlignRight } diff --git a/applets/pager/package/contents/ui/main.qml b/applets/pager/package/contents/ui/main.qml --- a/applets/pager/package/contents/ui/main.qml +++ b/applets/pager/package/contents/ui/main.qml @@ -193,16 +193,26 @@ return 1; } - var columns = Math.floor(pagerModel.count / pagerModel.layoutRows); + var rows = 1; - if (pagerModel.count % pagerModel.layoutRows > 0) { - columns += 1; - } + if (isActivityPager && plasmoid.configuration.pagerLayout !== 0 /*No Default*/) { + if (plasmoid.configuration.pagerLayout === 1 /*Horizontal*/) { + rows = 1; + } else if (plasmoid.configuration.pagerLayout === 2 /*Vertical*/) { + rows = pagerModel.count; + } + } else { + var columns = Math.floor(pagerModel.count / pagerModel.layoutRows); - var rows = Math.floor(pagerModel.count / columns); + if (pagerModel.count % pagerModel.layoutRows > 0) { + columns += 1; + } - if (pagerModel.count % columns > 0) { - rows += 1; + rows = Math.floor(pagerModel.count / columns); + + if (pagerModel.count % columns > 0) { + rows += 1; + } } return rows;