Update
This commit is contained in:
parent
21a9e576af
commit
8965ccefe9
|
@ -42,7 +42,7 @@
|
||||||
</entry>
|
</entry>
|
||||||
|
|
||||||
<entry name="numberColumns" type="Int">
|
<entry name="numberColumns" type="Int">
|
||||||
<default>6</default>
|
<default>7</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
||||||
<entry name="numberRows" type="Int">
|
<entry name="numberRows" type="Int">
|
||||||
|
@ -91,6 +91,5 @@
|
||||||
<entry name="viewUser" type="Bool">
|
<entry name="viewUser" type="Bool">
|
||||||
<default>true</default>
|
<default>true</default>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
</kcfg>
|
</kcfg>
|
||||||
|
|
Binary file not shown.
|
@ -1,21 +1,23 @@
|
||||||
import QtQuick 2.4
|
import QtQuick
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
|
||||||
Rectangle{
|
Rectangle{
|
||||||
|
|
||||||
id:item
|
id:item
|
||||||
|
|
||||||
implicitHeight: Math.floor( Kirigami.Units.gridUnit * 1.8)
|
property int buttonHeight: Math.floor(Kirigami.Units.gridUnit * 2)
|
||||||
width: Math.floor(lb.implicitWidth + Kirigami.Units.smallSpacing * 5 + icon.width)
|
implicitHeight: buttonHeight
|
||||||
|
implicitWidth: row.implicitWidth + (Kirigami.Units.mediumSpacing * 2)
|
||||||
|
|
||||||
border.width: mouseItem.containsMouse || focus || activeFocus ? 2 : 1
|
border.width: mouseItem.containsMouse || focus || activeFocus ? 2 : 1
|
||||||
border.color: mouseItem.containsMouse || focus || activeFocus ? Kirigami.Theme.highlightColor : colorWithAlpha(Kirigami.Theme.textColor,0.2)
|
border.color: Qt.rgba(0.5, 0.5, 0.5, 0.6) // Gray border always
|
||||||
radius: 3
|
|
||||||
color: Kirigami.Theme.backgroundColor
|
radius: 5
|
||||||
|
color: mouseItem.containsMouse ? Qt.rgba(0.7, 0.7, 0.7, 0.3) : Kirigami.Theme.backgroundColor
|
||||||
|
|
||||||
smooth: true // Plasmoid.configuration.iconSmooth
|
smooth: true // Plasmoid.configuration.iconSmooth
|
||||||
focus: true
|
focus: true
|
||||||
|
|
||||||
|
@ -32,20 +34,23 @@ Rectangle{
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: row
|
id: row
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.leftMargin: Kirigami.Units.smallSpacing * 2
|
anchors.margins: Kirigami.Units.smallSpacing
|
||||||
anchors.rightMargin: Kirigami.Units.smallSpacing * 2
|
anchors.topMargin: Kirigami.Units.smallSpacing / 2
|
||||||
|
anchors.bottomMargin: Kirigami.Units.smallSpacing / 2
|
||||||
spacing: Kirigami.Units.smallSpacing
|
spacing: Kirigami.Units.smallSpacing
|
||||||
LayoutMirroring.enabled: mirror
|
LayoutMirroring.enabled: mirror
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
id: lb
|
id: lb
|
||||||
color: Kirigami.Theme.textColor
|
color: Kirigami.Theme.textColor
|
||||||
|
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||||
}
|
}
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
id: icon
|
id: icon
|
||||||
implicitHeight: Kirigami.Units.gridUnit
|
implicitHeight: Kirigami.Units.gridUnit
|
||||||
implicitWidth: implicitHeight
|
implicitWidth: implicitHeight
|
||||||
smooth: true // Plasmoid.configuration.iconSmooth
|
smooth: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
SPDX-License-Identifier: GPL-2.0-or-later
|
SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
import org.kde.plasma.extras as PlasmaExtras
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
id: root
|
id: root
|
||||||
|
|
|
@ -17,11 +17,11 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.0
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
|
|
||||||
import org.kde.plasma.plasmoid
|
import org.kde.plasma.plasmoid
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
|
@ -17,26 +17,26 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
//import QtQuick 2.15
|
//import QtQuick
|
||||||
//import QtQuick.Controls 2.15
|
//import QtQuick.Controls
|
||||||
//import QtQuick.Dialogs 1.2
|
//import QtQuick.Dialogs
|
||||||
//import QtQuick.Layouts 1.0
|
//import QtQuick.Layouts
|
||||||
//import org.kde.plasma.core 2.0 as PlasmaCore
|
//import org.kde.plasma.core as PlasmaCore
|
||||||
//import org.kde.plasma.components 2.0 as PlasmaComponents
|
//import org.kde.plasma.components as PlasmaComponents
|
||||||
//import org.kde.kquickcontrolsaddons 2.0 as KQuickAddons
|
//import org.kde.kquickcontrolsaddons as KQuickAddons
|
||||||
//import org.kde.draganddrop 2.0 as DragDrop
|
//import org.kde.draganddrop as DragDrop
|
||||||
//import org.kde.kirigami 2.4 as Kirigami
|
//import org.kde.kirigami as Kirigami
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.0
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls
|
||||||
import org.kde.draganddrop 2.0 as DragDrop
|
import org.kde.draganddrop as DragDrop
|
||||||
import org.kde.kirigami 2.5 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.iconthemes as KIconThemes
|
import org.kde.iconthemes as KIconThemes
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.ksvg 1.0 as KSvg
|
import org.kde.ksvg as KSvg
|
||||||
import org.kde.plasma.plasmoid 2.0
|
import org.kde.plasma.plasmoid
|
||||||
import org.kde.kcmutils as KCM
|
import org.kde.kcmutils as KCM
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,31 @@
|
||||||
import QtQuick 2.4
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls 2.12
|
import QtQuick.Controls
|
||||||
|
|
||||||
import org.kde.plasma.plasmoid 2.0
|
import org.kde.plasma.plasmoid
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
|
|
||||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
import org.kde.plasma.extras as PlasmaExtras
|
||||||
|
|
||||||
import org.kde.plasma.private.kicker 0.1 as Kicker
|
import org.kde.plasma.private.kicker 0.1 as Kicker
|
||||||
import org.kde.coreaddons 1.0 as KCoreAddons // kuser
|
import org.kde.coreaddons 1.0 as KCoreAddons // kuser
|
||||||
import org.kde.plasma.private.shell 2.0
|
import org.kde.plasma.private.shell 2.0
|
||||||
|
|
||||||
import org.kde.kwindowsystem 1.0
|
import org.kde.kwindowsystem
|
||||||
import Qt5Compat.GraphicalEffects
|
import Qt5Compat.GraphicalEffects
|
||||||
import org.kde.kquickcontrolsaddons 2.0
|
import org.kde.kquickcontrolsaddons
|
||||||
|
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components as PlasmaComponents3
|
||||||
import org.kde.plasma.private.quicklaunch 1.0
|
import org.kde.plasma.private.quicklaunch
|
||||||
|
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.plasma.plasma5support 2.0 as P5Support
|
import org.kde.plasma.plasma5support as P5Support
|
||||||
|
|
||||||
import org.kde.plasma.private.sessions as Sessions
|
import org.kde.plasma.private.sessions as Sessions
|
||||||
|
|
||||||
import org.kde.ksvg 1.0 as KSvg
|
import org.kde.ksvg as KSvg
|
||||||
import org.kde.kcmutils as KCM
|
import org.kde.kcmutils as KCM
|
||||||
import org.kde.plasma.plasmoid 2.0
|
import org.kde.plasma.plasmoid
|
||||||
|
|
||||||
|
|
||||||
RowLayout{
|
RowLayout{
|
||||||
|
|
||||||
|
@ -35,6 +34,14 @@ RowLayout{
|
||||||
KCoreAddons.KUser { id: kuser }
|
KCoreAddons.KUser { id: kuser }
|
||||||
Logic { id: logic }
|
Logic { id: logic }
|
||||||
|
|
||||||
|
Sessions.SessionManagement {
|
||||||
|
id: sessionManager
|
||||||
|
}
|
||||||
|
|
||||||
|
Sessions.SessionsModel {
|
||||||
|
id: sessionsModel
|
||||||
|
}
|
||||||
|
|
||||||
P5Support.DataSource {
|
P5Support.DataSource {
|
||||||
id: pmEngine
|
id: pmEngine
|
||||||
engine: "powermanagement"
|
engine: "powermanagement"
|
||||||
|
@ -103,63 +110,91 @@ RowLayout{
|
||||||
text: qsTr(kuser.fullName)
|
text: qsTr(kuser.fullName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlasmaComponents3.ToolButton {
|
||||||
|
MouseArea {
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: logic.openUrl("file:///usr/share/applications/org.kde.dolphin.desktop")
|
||||||
|
}
|
||||||
|
icon.width: 24
|
||||||
|
icon.height: 24
|
||||||
|
icon.name: "user-home"
|
||||||
|
|
||||||
|
Layout.leftMargin: 10
|
||||||
|
PlasmaComponents3.ToolTip.delay: 1000
|
||||||
|
PlasmaComponents3.ToolTip.timeout: 1000
|
||||||
|
PlasmaComponents3.ToolTip.visible: hovered
|
||||||
|
PlasmaComponents3.ToolTip.text: i18n("User Home")
|
||||||
|
}
|
||||||
|
|
||||||
|
PlasmaComponents3.ToolButton {
|
||||||
|
MouseArea {
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: logic.openUrl("file:///usr/share/applications/systemsettings.desktop")
|
||||||
|
}
|
||||||
|
icon.width: 24
|
||||||
|
icon.height: 24
|
||||||
|
icon.name: "configure"
|
||||||
|
Layout.leftMargin: 10
|
||||||
|
PlasmaComponents3.ToolTip.delay: 1000
|
||||||
|
PlasmaComponents3.ToolTip.timeout: 1000
|
||||||
|
PlasmaComponents3.ToolTip.visible: hovered
|
||||||
|
PlasmaComponents3.ToolTip.text: i18n("System Preferences")
|
||||||
|
}
|
||||||
|
|
||||||
Item{
|
Item{
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Sessions.SessionManagement {
|
|
||||||
id: sm
|
|
||||||
}
|
|
||||||
|
|
||||||
Sessions.SessionsModel {
|
|
||||||
id: sessionsModel
|
|
||||||
}
|
|
||||||
|
|
||||||
PlasmaComponents3.ToolButton {
|
PlasmaComponents3.ToolButton {
|
||||||
icon.name: "user-home"
|
MouseArea {
|
||||||
onClicked: logic.openUrl("file:///usr/share/applications/org.kde.dolphin.desktop")
|
cursorShape: Qt.PointingHandCursor
|
||||||
ToolTip.delay: 200
|
anchors.fill: parent
|
||||||
ToolTip.timeout: 1000
|
|
||||||
ToolTip.visible: hovered
|
|
||||||
ToolTip.text: i18n("User Home")
|
|
||||||
}
|
|
||||||
|
|
||||||
PlasmaComponents3.ToolButton {
|
|
||||||
icon.name: "configure"
|
|
||||||
onClicked: logic.openUrl("file:///usr/share/applications/systemsettings.desktop")
|
|
||||||
ToolTip.delay: 1000
|
|
||||||
ToolTip.timeout: 1000
|
|
||||||
ToolTip.visible: hovered
|
|
||||||
ToolTip.text: i18n("System Preferences")
|
|
||||||
}
|
|
||||||
|
|
||||||
PlasmaComponents3.ToolButton {
|
|
||||||
icon.name: "system-lock-screen"
|
|
||||||
//onClicked: pmEngine.performOperation("lockScreen")
|
//onClicked: pmEngine.performOperation("lockScreen")
|
||||||
//enabled: pmEngine.data["Sleep States"]["LockScreen"]
|
//enabled: pmEngine.data["Sleep States"]["LockScreen"]
|
||||||
onClicked: sm.lock()
|
onClicked: sessionManager.lock()
|
||||||
ToolTip.delay: 200
|
}
|
||||||
ToolTip.timeout: 1000
|
icon.width: 24
|
||||||
ToolTip.visible: hovered
|
icon.height: 24
|
||||||
ToolTip.text: i18n("Lock Screen")
|
icon.name: "system-lock-screen"
|
||||||
|
Layout.rightMargin: 10
|
||||||
|
PlasmaComponents3.ToolTip.delay: 1000
|
||||||
|
PlasmaComponents3.ToolTip.timeout: 1000
|
||||||
|
PlasmaComponents3.ToolTip.visible: hovered
|
||||||
|
PlasmaComponents3.ToolTip.text: i18n("Lock Screen")
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents3.ToolButton {
|
PlasmaComponents3.ToolButton {
|
||||||
|
MouseArea {
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: sessionManager.switchUser()
|
||||||
|
}
|
||||||
|
icon.width: 24
|
||||||
|
icon.height: 24
|
||||||
icon.name: "system-switch-user"
|
icon.name: "system-switch-user"
|
||||||
onClicked: sm.switchUser()
|
Layout.rightMargin: 10
|
||||||
ToolTip.delay: 200
|
PlasmaComponents3.ToolTip.delay: 1000
|
||||||
ToolTip.timeout: 1000
|
PlasmaComponents3.ToolTip.timeout: 1000
|
||||||
ToolTip.visible: hovered
|
PlasmaComponents3.ToolTip.visible: hovered
|
||||||
ToolTip.text: i18n("Switch User")
|
PlasmaComponents3.ToolTip.text: i18n("Switch User")
|
||||||
}
|
}
|
||||||
|
|
||||||
PlasmaComponents3.ToolButton {
|
PlasmaComponents3.ToolButton {
|
||||||
|
MouseArea {
|
||||||
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
anchors.fill: parent
|
||||||
|
// onClicked: sessionManager.requestShutdown()
|
||||||
|
onClicked: sessionManager.requestLogoutPrompt()
|
||||||
|
}
|
||||||
|
icon.width: 24
|
||||||
|
icon.height: 24
|
||||||
icon.name: "system-shutdown"
|
icon.name: "system-shutdown"
|
||||||
// onClicked: sm.requestShutdown()
|
Layout.rightMargin: 10
|
||||||
onClicked: sm.requestLogoutPrompt()
|
PlasmaComponents3.ToolTip.delay: 1000
|
||||||
ToolTip.delay: 200
|
PlasmaComponents3.ToolTip.timeout: 1000
|
||||||
ToolTip.timeout: 1000
|
PlasmaComponents3.ToolTip.visible: hovered
|
||||||
ToolTip.visible: hovered
|
PlasmaComponents3.ToolTip.text: i18n("Shutdown")
|
||||||
ToolTip.text: i18n("Shutdown")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components as PlasmaComponents3
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import "code/tools.js" as Tools
|
import "code/tools.js" as Tools
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@ -50,6 +50,14 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WheelHandler {
|
||||||
|
acceptedDevices: PointerDevice.Mouse
|
||||||
|
onWheel: {
|
||||||
|
if (typeof scrollFlickable !== "undefined" && scrollFlickable) {
|
||||||
|
scrollFlickable.contentY -= wheel.angleDelta.y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
id: icon
|
id: icon
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components as PlasmaComponents3
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import "code/tools.js" as Tools
|
import "code/tools.js" as Tools
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.plasma.components 3.0 as PlasmaComponents3
|
import org.kde.plasma.components as PlasmaComponents3
|
||||||
import org.kde.plasma.core as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import "code/tools.js" as Tools
|
import "code/tools.js" as Tools
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
SPDX-License-Identifier: GPL-2.0-or-later
|
SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import QtQuick 2.15
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.kquickcontrolsaddons 2.0
|
import org.kde.kquickcontrolsaddons
|
||||||
import org.kde.ksvg 1.0 as KSvg
|
import org.kde.ksvg as KSvg
|
||||||
import org.kde.plasma.components as PlasmaComponents
|
import org.kde.plasma.components as PlasmaComponents
|
||||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
import org.kde.plasma.extras as PlasmaExtras
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
|
||||||
FocusScope {
|
FocusScope {
|
||||||
id: itemGrid
|
id: itemGrid
|
||||||
|
@ -38,8 +38,8 @@ FocusScope {
|
||||||
property int iconSize
|
property int iconSize
|
||||||
|
|
||||||
property var horizontalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOff
|
property var horizontalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOff
|
||||||
property var verticalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOn
|
property var verticalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOff
|
||||||
|
property bool bypassArrowNav: false
|
||||||
onDropEnabledChanged: {
|
onDropEnabledChanged: {
|
||||||
if (!dropEnabled && "dropPlaceHolderIndex" in model) {
|
if (!dropEnabled && "dropPlaceHolderIndex" in model) {
|
||||||
model.dropPlaceHolderIndex = -1;
|
model.dropPlaceHolderIndex = -1;
|
||||||
|
@ -255,7 +255,7 @@ FocusScope {
|
||||||
boundsBehavior: Flickable.StopAtBounds
|
boundsBehavior: Flickable.StopAtBounds
|
||||||
|
|
||||||
delegate: itemColumns == 1 ? aItemGridDelegate : aItemGridDelegate2
|
delegate: itemColumns == 1 ? aItemGridDelegate : aItemGridDelegate2
|
||||||
highlight: Rectangle { color: colorWithAlpha(Kirigami.Theme.highlightColor,0.5); radius: 6 }
|
highlight: Rectangle { color: Qt.rgba(0.9, 0.9, 0.9, 0.1); radius: 6 }
|
||||||
|
|
||||||
highlightFollowsCurrentItem: true
|
highlightFollowsCurrentItem: true
|
||||||
highlightMoveDuration: 0
|
highlightMoveDuration: 0
|
||||||
|
@ -277,6 +277,7 @@ FocusScope {
|
||||||
}
|
}
|
||||||
|
|
||||||
Keys.onLeftPressed: event => {
|
Keys.onLeftPressed: event => {
|
||||||
|
console.log("ItemGridView navLeft")
|
||||||
if (itemGrid.currentCol() !== 0) {
|
if (itemGrid.currentCol() !== 0) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
moveCurrentIndexLeft();
|
moveCurrentIndexLeft();
|
||||||
|
@ -287,7 +288,7 @@ FocusScope {
|
||||||
|
|
||||||
Keys.onRightPressed: event => {
|
Keys.onRightPressed: event => {
|
||||||
var columns = Math.floor(width / cellWidth);
|
var columns = Math.floor(width / cellWidth);
|
||||||
|
console.log("ItemGridView navRight")
|
||||||
if (itemGrid.currentCol() !== columns - 1 && currentIndex !== count -1) {
|
if (itemGrid.currentCol() !== columns - 1 && currentIndex !== count -1) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
moveCurrentIndexRight();
|
moveCurrentIndexRight();
|
||||||
|
@ -297,26 +298,36 @@ FocusScope {
|
||||||
}
|
}
|
||||||
|
|
||||||
Keys.onUpPressed: event => {
|
Keys.onUpPressed: event => {
|
||||||
if (itemGrid.currentRow() !== 0) {
|
|
||||||
event.accepted = true;
|
if (bypassArrowNav) {
|
||||||
moveCurrentIndexUp();
|
console.log("Bypass navup")
|
||||||
positionViewAtIndex(currentIndex, GridView.Contain);
|
keyNavUp()
|
||||||
|
event.accepted = true
|
||||||
|
} else if (currentRow() !== 0) {
|
||||||
|
console.log("navup")
|
||||||
|
moveCurrentIndexUp()
|
||||||
|
event.accepted = true
|
||||||
} else {
|
} else {
|
||||||
itemGrid.keyNavUp();
|
keyNavUp()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Keys.onDownPressed: event => {
|
Keys.onDownPressed: event => {
|
||||||
if (itemGrid.currentRow() < itemGrid.lastRow()) {
|
|
||||||
// Fix moveCurrentIndexDown()'s lack of proper spatial nav down
|
if (bypassArrowNav) {
|
||||||
// into partial columns.
|
console.log("Bypass navdown")
|
||||||
event.accepted = true;
|
keyNavDown()
|
||||||
var columns = Math.floor(width / cellWidth);
|
event.accepted = true
|
||||||
var newIndex = currentIndex + columns;
|
} else if (currentRow() < lastRow()) {
|
||||||
currentIndex = Math.min(newIndex, count - 1);
|
console.log("navdown")
|
||||||
positionViewAtIndex(currentIndex, GridView.Contain);
|
var columns = Math.floor(width / cellWidth)
|
||||||
|
var newIndex = currentIndex + columns
|
||||||
|
currentIndex = Math.min(newIndex, count - 1)
|
||||||
|
positionViewAtIndex(currentIndex, GridView.Contain)
|
||||||
|
event.accepted = true
|
||||||
} else {
|
} else {
|
||||||
itemGrid.keyNavDown();
|
keyNavDown()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -339,6 +350,7 @@ FocusScope {
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: hoverArea
|
id: hoverArea
|
||||||
|
cursorShape: gridView.currentIndex !== -1 ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||||
|
|
||||||
//anchors.fill: parent
|
//anchors.fill: parent
|
||||||
width: itemGrid.width - Kirigami.Units.gridUnit
|
width: itemGrid.width - Kirigami.Units.gridUnit
|
||||||
|
|
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
|
||||||
import org.kde.ksvg 1.0 as KSvg
|
import org.kde.ksvg as KSvg
|
||||||
import org.kde.plasma.components as PlasmaComponents
|
import org.kde.plasma.components as PlasmaComponents
|
||||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
import org.kde.plasma.extras as PlasmaExtras
|
||||||
import org.kde.kirigami 2.20 as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.plasma.private.kicker 0.1 as Kicker
|
import org.kde.plasma.private.kicker as Kicker
|
||||||
import org.kde.plasma.plasmoid
|
import org.kde.plasma.plasmoid
|
||||||
|
|
||||||
PlasmaComponents.ScrollView {
|
PlasmaComponents.ScrollView {
|
||||||
|
@ -24,10 +24,10 @@ PlasmaComponents.ScrollView {
|
||||||
|
|
||||||
implicitHeight: itemColumn.implicitHeight
|
implicitHeight: itemColumn.implicitHeight
|
||||||
|
|
||||||
signal keyNavLeft(int subGridIndex)
|
//signal keyNavLeft(int subGridIndex)
|
||||||
signal keyNavRight(int subGridIndex)
|
//signal keyNavRight(int subGridIndex)
|
||||||
signal keyNavUp()
|
signal keyNavUp
|
||||||
signal keyNavDown()
|
signal keyNavDown
|
||||||
|
|
||||||
property bool grabFocus: false
|
property bool grabFocus: false
|
||||||
|
|
||||||
|
@ -138,6 +138,56 @@ PlasmaComponents.ScrollView {
|
||||||
ItemGridView {
|
ItemGridView {
|
||||||
id: gridView
|
id: gridView
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: gridView
|
||||||
|
|
||||||
|
onKeyNavDown: {
|
||||||
|
console.log("ItemMultiGridView.qml: ↓")
|
||||||
|
|
||||||
|
if (gridView.currentIndex < gridView.count - 1) {
|
||||||
|
gridView.currentIndex += 1
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// At end of grid → jump to next grid
|
||||||
|
var i = index
|
||||||
|
for (var j = i + 1; j < repeater.count; j++) {
|
||||||
|
var next = subGridAt(j)
|
||||||
|
if (next.count > 0) {
|
||||||
|
next.currentIndex = 0
|
||||||
|
next.focus = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onKeyNavUp: {
|
||||||
|
console.log("ItemMultiGridView.qml: ↑")
|
||||||
|
|
||||||
|
if (gridView.currentIndex > 0) {
|
||||||
|
gridView.currentIndex -= 1
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// At start of grid → jump to previous grid
|
||||||
|
var i = index
|
||||||
|
for (var j = i - 1; j >= 0; j--) {
|
||||||
|
var prev = subGridAt(j)
|
||||||
|
if (prev.count > 0) {
|
||||||
|
prev.currentIndex = prev.count - 1
|
||||||
|
prev.focus = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If first grid and first item → focus search bar
|
||||||
|
if (i === 0 && gridView.currentIndex === 0) {
|
||||||
|
searchField.forceActiveFocus()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
top: gridViewLabel.bottom
|
top: gridViewLabel.bottom
|
||||||
topMargin: Kirigami.Units.largeSpacing
|
topMargin: Kirigami.Units.largeSpacing
|
||||||
|
@ -146,12 +196,13 @@ PlasmaComponents.ScrollView {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: count * itemMultiGrid.cellHeight
|
height: count * itemMultiGrid.cellHeight
|
||||||
itemColumns: 3 //itemMultiGrid.itemColumns
|
itemColumns: 3 //itemMultiGrid.itemColumns
|
||||||
|
|
||||||
cellWidth: itemMultiGrid.cellWidth
|
cellWidth: itemMultiGrid.cellWidth
|
||||||
cellHeight: itemMultiGrid.cellHeight
|
cellHeight: itemMultiGrid.cellHeight
|
||||||
iconSize: root.iconSize
|
iconSize: root.iconSize
|
||||||
|
|
||||||
verticalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOff
|
verticalScrollBarPolicy: PlasmaComponents.ScrollBar.AlwaysOff
|
||||||
|
bypassArrowNav: true
|
||||||
model: repeater.model.modelForRow(index)
|
model: repeater.model.modelForRow(index)
|
||||||
|
|
||||||
onFocusChanged: {
|
onFocusChanged: {
|
||||||
|
@ -192,51 +243,6 @@ PlasmaComponents.ScrollView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onKeyNavLeft: {
|
|
||||||
itemMultiGrid.keyNavLeft(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
onKeyNavRight: {
|
|
||||||
itemMultiGrid.keyNavRight(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
onKeyNavUp: {
|
|
||||||
if (index > 0) {
|
|
||||||
var i;
|
|
||||||
for (i = index; i > 0 ; i--) {
|
|
||||||
var prevGrid = subGridAt(i-1);
|
|
||||||
if(prevGrid.count > 0 ){
|
|
||||||
prevGrid.tryActivate(prevGrid.lastRow(), currentCol());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(i === 0){
|
|
||||||
itemMultiGrid.keyNavUp();
|
|
||||||
}
|
|
||||||
// var prevGrid = subGridAt(index - 1);
|
|
||||||
// prevGrid.tryActivate(prevGrid.lastRow(), currentCol());
|
|
||||||
} else {
|
|
||||||
itemMultiGrid.keyNavUp();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onKeyNavDown: {
|
|
||||||
if (index < repeater.count - 1) {
|
|
||||||
var i;
|
|
||||||
for (i = index; i < repeater.count - 1 ; i++) {
|
|
||||||
var grid = subGridAt(i+1);
|
|
||||||
if(grid.count > 0 ){
|
|
||||||
grid.tryActivate(0, currentCol());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(i === repeater.count){
|
|
||||||
itemMultiGrid.keyNavDown();
|
|
||||||
}
|
|
||||||
// subGridAt(index + 1).tryActivate(0, currentCol());
|
|
||||||
} else {
|
|
||||||
itemMultiGrid.keyNavDown();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -251,5 +257,3 @@ PlasmaComponents.ScrollView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -18,51 +18,67 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.4
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
import QtQuick.Controls 2.12
|
import QtQuick.Controls
|
||||||
import org.kde.plasma.plasmoid 2.0
|
import org.kde.plasma.plasmoid
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.plasma.components 3.0 as PC3
|
import org.kde.plasma.components as PC3
|
||||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
import org.kde.plasma.extras as PlasmaExtras
|
||||||
import org.kde.plasma.private.kicker 0.1 as Kicker
|
import org.kde.plasma.private.kicker as Kicker
|
||||||
import org.kde.kquickcontrolsaddons 2.0
|
import org.kde.kquickcontrolsaddons
|
||||||
import org.kde.plasma.private.quicklaunch 1.0
|
import org.kde.plasma.private.quicklaunch
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
|
import org.kde.plasma.plasma5support as Plasma5Support
|
||||||
|
|
||||||
PlasmaCore.Dialog {
|
PlasmaCore.Dialog {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
objectName: "popupWindow"
|
objectName: "popupWindow"
|
||||||
//flags: Qt.Dialog | Qt.FramelessWindowHint
|
|
||||||
flags: Qt.WindowStaysOnTopHint
|
flags: Qt.WindowStaysOnTopHint
|
||||||
|
|
||||||
location: {
|
location: {
|
||||||
if (Plasmoid.configuration.displayPosition === 1)
|
if (Plasmoid.configuration.displayPosition === 1)
|
||||||
return PlasmaCore.Types.Floating
|
return PlasmaCore.Types.Floating;
|
||||||
else if (Plasmoid.configuration.displayPosition === 2)
|
else if (Plasmoid.configuration.displayPosition === 2)
|
||||||
return PlasmaCore.Types.BottomEdge
|
return PlasmaCore.Types.BottomEdge;
|
||||||
else
|
else
|
||||||
return Plasmoid.location
|
return Plasmoid.location;
|
||||||
}
|
}
|
||||||
|
|
||||||
hideOnWindowDeactivate: true
|
hideOnWindowDeactivate: true
|
||||||
|
|
||||||
property int iconSize:{ switch(Plasmoid.configuration.appsIconSize){
|
// Ensure minimum dimensions to prevent empty dialog error
|
||||||
case 0: return Kirigami.Units.iconSizes.smallMedium;
|
width: Math.max(rootItem.width, 300)
|
||||||
case 1: return Kirigami.Units.iconSizes.medium;
|
height: Math.max(rootItem.height, 200)
|
||||||
case 2: return Kirigami.Units.iconSizes.large;
|
|
||||||
case 3: return Kirigami.Units.iconSizes.huge;
|
property int iconSize: {
|
||||||
default: return 64
|
switch (Plasmoid.configuration.appsIconSize) {
|
||||||
|
case 0:
|
||||||
|
return Kirigami.Units.iconSizes.smallMedium;
|
||||||
|
case 1:
|
||||||
|
return Kirigami.Units.iconSizes.medium;
|
||||||
|
case 2:
|
||||||
|
return Kirigami.Units.iconSizes.large;
|
||||||
|
case 3:
|
||||||
|
return Kirigami.Units.iconSizes.huge;
|
||||||
|
default:
|
||||||
|
return 64;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
property int docsIconSize:{ switch(Plasmoid.configuration.docsIconSize){
|
property int docsIconSize: {
|
||||||
case 0: return Kirigami.Units.iconSizes.smallMedium;
|
switch (Plasmoid.configuration.docsIconSize) {
|
||||||
case 1: return Kirigami.Units.iconSizes.medium;
|
case 0:
|
||||||
case 2: return Kirigami.Units.iconSizes.large;
|
return Kirigami.Units.iconSizes.smallMedium;
|
||||||
case 3: return Kirigami.Units.iconSizes.huge;
|
case 1:
|
||||||
default: return Kirigami.Units.iconSizes.medium;
|
return Kirigami.Units.iconSizes.medium;
|
||||||
|
case 2:
|
||||||
|
return Kirigami.Units.iconSizes.large;
|
||||||
|
case 3:
|
||||||
|
return Kirigami.Units.iconSizes.huge;
|
||||||
|
default:
|
||||||
|
return Kirigami.Units.iconSizes.medium;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,10 +91,11 @@ PlasmaCore.Dialog {
|
||||||
property bool searching: (searchField.text != "")
|
property bool searching: (searchField.text != "")
|
||||||
|
|
||||||
onSearchingChanged: {
|
onSearchingChanged: {
|
||||||
if(searching)
|
if (searching) {
|
||||||
view.currentIndex = 2
|
view.currentIndex = 2;
|
||||||
else
|
} else {
|
||||||
view.currentIndex = 0
|
view.currentIndex = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onVisibleChanged: {
|
onVisibleChanged: {
|
||||||
|
@ -88,33 +105,37 @@ PlasmaCore.Dialog {
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
reset();
|
reset();
|
||||||
} else {
|
} else {
|
||||||
view.currentIndex = 0
|
view.currentIndex = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onHeightChanged: {
|
onHeightChanged: {
|
||||||
|
if (visible) {
|
||||||
var pos = popupPosition(width, height);
|
var pos = popupPosition(width, height);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onWidthChanged: {
|
onWidthChanged: {
|
||||||
|
if (visible) {
|
||||||
var pos = popupPosition(width, height);
|
var pos = popupPosition(width, height);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function toggle() {
|
function toggle() {
|
||||||
root.visible = !root.visible
|
root.visible = !root.visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
function reset() {
|
function reset() {
|
||||||
searchField.text = "";
|
searchField.text = "";
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
view.currentIndex = 0
|
view.currentIndex = 0;
|
||||||
globalFavoritesGrid.currentIndex = -1
|
globalFavoritesGrid.currentIndex = -1;
|
||||||
documentsGrid.currentIndex = -1
|
documentsGrid.currentIndex = -1;
|
||||||
allAppsGrid.currentIndex = -1
|
allAppsGrid.currentIndex = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function popupPosition(width, height) {
|
function popupPosition(width, height) {
|
||||||
|
@ -175,24 +196,48 @@ PlasmaCore.Dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
function colorWithAlpha(color: color, alpha: real): color {
|
function colorWithAlpha(color: color, alpha: real): color {
|
||||||
return Qt.rgba(color.r, color.g, color.b, alpha)
|
return Qt.rgba(color.r, color.g, color.b, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
mainItem: FocusScope {
|
mainItem: FocusScope {
|
||||||
id: rootItem
|
id: rootItem
|
||||||
|
|
||||||
property int widthComputed: root.cellSizeWidth * Plasmoid.configuration.numberColumns + Kirigami.Units.gridUnit * 2
|
property int widthComputed: root.cellSizeWidth * Plasmoid.configuration.numberColumns + Kirigami.Units.gridUnit * 2
|
||||||
|
|
||||||
width: rootItem.widthComputed+ Kirigami.Units.gridUnit*2
|
width: Math.max(widthComputed + Kirigami.Units.gridUnit * 2, 300)
|
||||||
|
height: view.height + searchField.height + footer.height + Kirigami.Units.gridUnit * 3
|
||||||
|
|
||||||
Layout.minimumWidth: width
|
Layout.minimumWidth: width
|
||||||
Layout.maximumWidth: width
|
Layout.maximumWidth: width
|
||||||
Layout.minimumHeight: view.height + searchField.height + footer.height + Kirigami.Units.gridUnit * 3
|
Layout.minimumHeight: height
|
||||||
Layout.maximumHeight: view.height + searchField.height + footer.height + Kirigami.Units.gridUnit * 3
|
Layout.maximumHeight: height
|
||||||
|
|
||||||
focus: true
|
focus: true
|
||||||
onFocusChanged: searchField.focus = true
|
onFocusChanged: searchField.focus = true
|
||||||
|
|
||||||
|
Plasma5Support.DataSource {
|
||||||
|
id: executable
|
||||||
|
engine: "executable"
|
||||||
|
connectedSources: []
|
||||||
|
|
||||||
|
property bool dolphinRunning: false
|
||||||
|
|
||||||
|
onNewData: function (source, data) {
|
||||||
|
if (source.includes("pgrep")) {
|
||||||
|
dolphinRunning = data["exit code"] === 0;
|
||||||
|
}
|
||||||
|
disconnectSource(source);
|
||||||
|
}
|
||||||
|
|
||||||
|
function exec(cmd) {
|
||||||
|
connectSource(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkDolphin() {
|
||||||
|
connectSource("pgrep dolphin");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Kirigami.Heading {
|
Kirigami.Heading {
|
||||||
id: dummyHeading
|
id: dummyHeading
|
||||||
visible: false
|
visible: false
|
||||||
|
@ -225,7 +270,7 @@ PlasmaCore.Dialog {
|
||||||
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
color: Kirigami.Theme.backgroundColor
|
color: Kirigami.Theme.backgroundColor
|
||||||
radius: 3
|
radius: 20
|
||||||
border.width: 1
|
border.width: 1
|
||||||
border.color: colorWithAlpha(Kirigami.Theme.textColor, 0.05)
|
border.color: colorWithAlpha(Kirigami.Theme.textColor, 0.05)
|
||||||
}
|
}
|
||||||
|
@ -235,19 +280,97 @@ PlasmaCore.Dialog {
|
||||||
if (event.key === Qt.Key_Escape) {
|
if (event.key === Qt.Key_Escape) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
if (root.searching) {
|
if (root.searching) {
|
||||||
searchField.clear()
|
searchField.clear();
|
||||||
} else {
|
} else {
|
||||||
root.toggle()
|
root.toggle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Forward Up/Down keys directly to runnerGrid when on search page
|
||||||
|
if (view.currentIndex === 2 && (event.key === Qt.Key_Up || event.key === Qt.Key_Down)) {
|
||||||
|
event.accepted = true;
|
||||||
|
|
||||||
|
// Make sure runnerGrid can receive the key event
|
||||||
|
runnerGrid.focus = true;
|
||||||
|
|
||||||
|
// Forward the key event to runnerGrid
|
||||||
|
if (event.key === Qt.Key_Down) {
|
||||||
|
console.log("Down key pressed");
|
||||||
|
// Simulate a down key press on the first item if nothing is selected
|
||||||
|
if (!runnerGrid.focus || runnerGrid.currentIndex === -1) {
|
||||||
|
runnerGrid.tryActivate(0, 0);
|
||||||
|
} else {
|
||||||
|
// Forward the down key to the currently focused grid
|
||||||
|
var currentGrid = runnerGrid.subGridAt(0); // or find the currently active grid
|
||||||
|
if (currentGrid) {
|
||||||
|
currentGrid.forceActiveFocus();
|
||||||
|
// Trigger the key navigation
|
||||||
|
currentGrid.keyNavDown();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (event.key === Qt.Key_Up) {
|
||||||
|
// For up key, go to the last item or handle appropriately
|
||||||
|
console.log("Up key pressed");
|
||||||
|
var lastGridIndex = runnerGrid.count - 1;
|
||||||
|
if (lastGridIndex >= 0) {
|
||||||
|
var lastGrid = runnerGrid.subGridAt(lastGridIndex);
|
||||||
|
if (lastGrid && lastGrid.count > 0) {
|
||||||
|
lastGrid.tryActivate(lastGrid.lastRow(), 0);
|
||||||
|
lastGrid.focus = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (event.key === Qt.Key_Down || event.key === Qt.Key_Tab || event.key === Qt.Key_Backtab) {
|
if (event.key === Qt.Key_Down || event.key === Qt.Key_Tab || event.key === Qt.Key_Backtab) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
view.currentItem.forceActiveFocus()
|
if (view.currentIndex === 2) {
|
||||||
view.currentItem.tryActivate(0,0)
|
// For search results page
|
||||||
|
runnerGrid.focus = true;
|
||||||
|
runnerGrid.tryActivate(0, 0);
|
||||||
|
} else {
|
||||||
|
// For other pages
|
||||||
|
view.currentItem.forceActiveFocus();
|
||||||
|
view.currentItem.tryActivate(0, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Keys.onReturnPressed: {
|
||||||
|
if (view.currentIndex === 2) {
|
||||||
|
// On search results page, activate the first available item
|
||||||
|
runnerGrid.focus = true;
|
||||||
|
|
||||||
|
// Find the first grid with items and activate its first item
|
||||||
|
for (var i = 0; i < runnerGrid.count; i++) {
|
||||||
|
var grid = runnerGrid.subGridAt(i);
|
||||||
|
if (grid && grid.count > 0) {
|
||||||
|
grid.currentIndex = 0;
|
||||||
|
grid.focus = true;
|
||||||
|
grid.itemActivated(0, "", null);
|
||||||
|
|
||||||
|
if ("trigger" in grid.model) {
|
||||||
|
//console.log("Calling grid.model.trigger(0)");
|
||||||
|
grid.model.trigger(0, "", null);
|
||||||
|
root.toggle();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Original logic for other pages
|
||||||
|
for (var i = 0; i < runnerGrid.count; i++) {
|
||||||
|
var grid = runnerGrid.subGridAt(i)
|
||||||
|
if (grid && grid.count > 0) {
|
||||||
|
grid.currentIndex = 0
|
||||||
|
grid.focus = true
|
||||||
|
grid.itemActivated(0, "", null)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
function backspace() {
|
function backspace() {
|
||||||
if (!root.visible) {
|
if (!root.visible) {
|
||||||
return;
|
return;
|
||||||
|
@ -270,56 +393,43 @@ PlasmaCore.Dialog {
|
||||||
left: searchField.left
|
left: searchField.left
|
||||||
verticalCenter: searchField.verticalCenter
|
verticalCenter: searchField.verticalCenter
|
||||||
leftMargin: Kirigami.Units.smallSpacing * 2
|
leftMargin: Kirigami.Units.smallSpacing * 2
|
||||||
|
|
||||||
}
|
}
|
||||||
height: Kirigami.Units.iconSizes.small
|
height: Kirigami.Units.iconSizes.small
|
||||||
width: height
|
width: height
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle{
|
|
||||||
height: 2
|
|
||||||
width: searchField.width - 2
|
|
||||||
anchors.bottom: searchField.bottom
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
color: Kirigami.Theme.highlightColor
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
SwipeView {
|
SwipeView {
|
||||||
id: view
|
id: view
|
||||||
|
|
||||||
interactive: false
|
interactive: false
|
||||||
currentIndex: 0
|
currentIndex: 0
|
||||||
clip: true
|
clip: true
|
||||||
anchors.top: searchField.bottom
|
|
||||||
anchors.topMargin: Kirigami.Units.gridUnit
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: Kirigami.Units.gridUnit
|
|
||||||
|
|
||||||
onCurrentIndexChanged: {
|
anchors {
|
||||||
globalFavoritesGrid.currentIndex = -1
|
top: searchField.bottom
|
||||||
documentsGrid.currentIndex = -1
|
topMargin: Kirigami.Units.gridUnit
|
||||||
|
left: parent.left
|
||||||
|
leftMargin: Kirigami.Units.gridUnit
|
||||||
|
right: parent.right
|
||||||
|
rightMargin: Kirigami.Units.gridUnit
|
||||||
}
|
}
|
||||||
|
|
||||||
width: rootItem.widthComputed
|
onCurrentIndexChanged: {
|
||||||
height: (root.cellSizeHeight * Plasmoid.configuration.numberRows) + (topRow.height*2) + ((docsIconSize + Kirigami.Units.largeSpacing)*3) + (3*Kirigami.Units.largeSpacing)
|
globalFavoritesGrid.currentIndex = -1;
|
||||||
|
documentsGrid.currentIndex = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
width: rootItem.widthComputed / 0.1
|
||||||
|
height: (root.cellSizeHeight * Plasmoid.configuration.numberRows) + (topRow.height * 2) + ((docsIconSize + Kirigami.Units.largeSpacing) * 5) + (3 * Kirigami.Units.largeSpacing)
|
||||||
|
|
||||||
//
|
//
|
||||||
// PAGE 1
|
// PAGE 1
|
||||||
//
|
//
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
width: rootItem.widthComputed
|
width: rootItem.widthComputed
|
||||||
height: view.height
|
height: view.height
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing * 2
|
||||||
|
|
||||||
function tryActivate(row, col) {
|
function tryActivate(row, col) {
|
||||||
globalFavoritesGrid.tryActivate(row, col);
|
globalFavoritesGrid.tryActivate(row, col);
|
||||||
|
@ -327,7 +437,7 @@ PlasmaCore.Dialog {
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
id: topRow
|
id: topRow
|
||||||
width: rootItem.widthComputed
|
width: parent.width
|
||||||
height: butttonActionAllApps.implicitHeight
|
height: butttonActionAllApps.implicitHeight
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
|
@ -344,48 +454,51 @@ PlasmaCore.Dialog {
|
||||||
font.weight: Font.Bold
|
font.weight: Font.Bold
|
||||||
}
|
}
|
||||||
|
|
||||||
Item{ Layout.fillWidth: true }
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
AToolButton {
|
AToolButton {
|
||||||
id: butttonActionAllApps
|
id: butttonActionAllApps
|
||||||
flat: false
|
flat: false
|
||||||
iconName: "go-next"
|
iconName: "go-next"
|
||||||
text: i18n("All apps")
|
text: i18n("All apps")
|
||||||
|
buttonHeight: 25
|
||||||
onClicked: {
|
onClicked: {
|
||||||
view.currentIndex = 1
|
view.currentIndex = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemGridView {
|
ItemGridView {
|
||||||
id: globalFavoritesGrid
|
id: globalFavoritesGrid
|
||||||
width: rootItem.widthComputed
|
width: parent.width
|
||||||
height: root.cellSizeHeight * Plasmoid.configuration.numberRows
|
height: root.cellSizeHeight * Plasmoid.configuration.numberRows
|
||||||
itemColumns: 1
|
itemColumns: 1
|
||||||
dragEnabled: true
|
dragEnabled: true
|
||||||
dropEnabled: true
|
dropEnabled: true
|
||||||
cellWidth: root.cellSizeWidth
|
cellWidth: parent.width / Plasmoid.configuration.numberColumns
|
||||||
cellHeight: root.cellSizeHeight
|
cellHeight: root.cellSizeHeight
|
||||||
iconSize: root.iconSize
|
iconSize: root.iconSize
|
||||||
onKeyNavUp: {
|
onKeyNavUp: {
|
||||||
globalFavoritesGrid.focus = false
|
globalFavoritesGrid.focus = false;
|
||||||
searchField.focus = true;
|
searchField.focus = true;
|
||||||
}
|
}
|
||||||
onKeyNavDown: {
|
onKeyNavDown: {
|
||||||
globalFavoritesGrid.focus = false
|
globalFavoritesGrid.focus = false;
|
||||||
documentsGrid.tryActivate(0,0)
|
documentsGrid.tryActivate(0, 0);
|
||||||
}
|
}
|
||||||
Keys.onPressed:(event)=> {
|
Keys.onPressed: event => {
|
||||||
if (event.key === Qt.Key_Tab) {
|
if (event.key === Qt.Key_Tab) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
globalFavoritesGrid.focus = false
|
globalFavoritesGrid.focus = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
width: rootItem.widthComputed
|
width: parent.width
|
||||||
height: butttonActionAllApps.implicitHeight
|
height: butttonActionAllApps.implicitHeight
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
|
@ -402,17 +515,28 @@ PlasmaCore.Dialog {
|
||||||
font.weight: Font.Bold
|
font.weight: Font.Bold
|
||||||
}
|
}
|
||||||
|
|
||||||
Item{ Layout.fillWidth: true }
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
//AToolButton {
|
AToolButton {
|
||||||
// flat: false
|
id: butttonActionRecentMore
|
||||||
// iconName: "list-add"
|
flat: false
|
||||||
// text: i18n("More")
|
iconName: "go-next"
|
||||||
// onClicked: {
|
text: i18n("Show more")
|
||||||
// //view.currentIndex = 1
|
buttonHeight: 25
|
||||||
//
|
onClicked: {
|
||||||
// }
|
executable.checkDolphin();
|
||||||
//}
|
if (executable.dolphinRunning) {
|
||||||
|
console.log("dolphin is running");
|
||||||
|
executable.exec("dolphin 'recentlyused:/files/'");
|
||||||
|
} else {
|
||||||
|
console.log("dolphin is not running");
|
||||||
|
executable.exec("dolphin --new-window 'recentlyused:/files/'");
|
||||||
|
}
|
||||||
|
root.toggle();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemGridView {
|
ItemGridView {
|
||||||
|
@ -423,17 +547,18 @@ PlasmaCore.Dialog {
|
||||||
dragEnabled: true
|
dragEnabled: true
|
||||||
dropEnabled: true
|
dropEnabled: true
|
||||||
cellWidth: rootItem.widthComputed * 0.48
|
cellWidth: rootItem.widthComputed * 0.48
|
||||||
cellHeight: docsIconSize + Kirigami.Units.largeSpacing
|
cellHeight: docsIconSize + Kirigami.Units.largeSpacing * 2
|
||||||
iconSize: docsIconSize
|
iconSize: docsIconSize
|
||||||
clip: true
|
clip: true
|
||||||
onKeyNavUp: {globalFavoritesGrid.tryActivate(0,0);
|
onKeyNavUp: {
|
||||||
documentsGrid.focus = false
|
globalFavoritesGrid.tryActivate(0, 0);
|
||||||
|
documentsGrid.focus = false;
|
||||||
}
|
}
|
||||||
Keys.onPressed: (event) => {
|
Keys.onPressed: (event) => {
|
||||||
if (event.key === Qt.Key_Tab) {
|
if (event.key === Qt.Key_Tab) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
documentsGrid.focus = false
|
documentsGrid.focus = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -442,17 +567,16 @@ PlasmaCore.Dialog {
|
||||||
//
|
//
|
||||||
// PAGE 2
|
// PAGE 2
|
||||||
//
|
//
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
width: rootItem.widthComputed
|
width: rootItem.widthComputed
|
||||||
height: view.height
|
height: view.height
|
||||||
spacing: Kirigami.Units.largeSpacing
|
spacing: Kirigami.Units.largeSpacing * 2
|
||||||
function tryActivate(row, col) {
|
function tryActivate(row, col) {
|
||||||
allAppsGrid.tryActivate(row, col);
|
allAppsGrid.tryActivate(row, col);
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout {
|
RowLayout {
|
||||||
width: rootItem.widthComputed
|
width: parent.width
|
||||||
height: butttonActionAllApps.implicitHeight
|
height: butttonActionAllApps.implicitHeight
|
||||||
|
|
||||||
Kirigami.Icon {
|
Kirigami.Icon {
|
||||||
|
@ -469,15 +593,18 @@ PlasmaCore.Dialog {
|
||||||
font.weight: Font.Bold
|
font.weight: Font.Bold
|
||||||
}
|
}
|
||||||
|
|
||||||
Item{ Layout.fillWidth: true }
|
Item {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
}
|
||||||
|
|
||||||
AToolButton {
|
AToolButton {
|
||||||
flat: false
|
flat: false
|
||||||
iconName: 'go-previous'
|
iconName: 'go-previous'
|
||||||
text: i18n("Pinned")
|
text: i18n("Pinned")
|
||||||
|
buttonHeight: 25
|
||||||
mirror: true
|
mirror: true
|
||||||
onClicked: {
|
onClicked: {
|
||||||
view.currentIndex = 0
|
view.currentIndex = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -486,7 +613,7 @@ PlasmaCore.Dialog {
|
||||||
id: allAppsGrid
|
id: allAppsGrid
|
||||||
width: rootItem.widthComputed
|
width: rootItem.widthComputed
|
||||||
height: Math.floor((view.height - topRow.height - Kirigami.Units.largeSpacing) / cellHeight) * cellHeight
|
height: Math.floor((view.height - topRow.height - Kirigami.Units.largeSpacing) / cellHeight) * cellHeight
|
||||||
itemColumns: 3
|
itemColumns: 2
|
||||||
dragEnabled: false
|
dragEnabled: false
|
||||||
dropEnabled: false
|
dropEnabled: false
|
||||||
cellWidth: rootItem.widthComputed - Kirigami.Units.gridUnit * 2
|
cellWidth: rootItem.widthComputed - Kirigami.Units.gridUnit * 2
|
||||||
|
@ -494,36 +621,35 @@ PlasmaCore.Dialog {
|
||||||
iconSize: root.iconSize
|
iconSize: root.iconSize
|
||||||
clip: true
|
clip: true
|
||||||
onKeyNavUp: {
|
onKeyNavUp: {
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
allAppsGrid.focus = false
|
allAppsGrid.focus = false;
|
||||||
}
|
}
|
||||||
Keys.onPressed: (event) => {
|
Keys.onPressed: (event) => {
|
||||||
if (event.key === Qt.Key_Tab) {
|
if (event.key === Qt.Key_Tab) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
allAppsGrid.focus = false
|
allAppsGrid.focus = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// PAGE 3
|
// PAGE 3
|
||||||
//
|
//
|
||||||
|
|
||||||
ItemMultiGridView {
|
ItemMultiGridView {
|
||||||
id: runnerGrid
|
id: runnerGrid
|
||||||
width: rootItem.widthComputed
|
width: rootItem.widthComputed
|
||||||
height: view.height
|
height: view.height
|
||||||
itemColumns: 3
|
itemColumns: 3
|
||||||
cellWidth: rootItem.widthComputed - Kirigami.Units.gridUnit * 2
|
cellWidth: rootItem.widthComputed - Kirigami.Units.gridUnit * 2
|
||||||
cellHeight: root.iconSize + Kirigami.Units.smallSpacing
|
cellHeight: root.iconSize + Kirigami.Units.smallSpacing * 4
|
||||||
model: runnerModel
|
model: runnerModel
|
||||||
grabFocus: false
|
grabFocus: true // Change this to true
|
||||||
|
focus: view.currentIndex === 2 // Add this line
|
||||||
onKeyNavUp: {
|
onKeyNavUp: {
|
||||||
runnerGrid.focus = false
|
runnerGrid.focus = false;
|
||||||
searchField.focus = true
|
searchField.focus = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -545,7 +671,7 @@ PlasmaCore.Dialog {
|
||||||
Keys.onPressed: (event) => {
|
Keys.onPressed: (event) => {
|
||||||
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier) {
|
if (event.modifiers & Qt.ControlModifier || event.modifiers & Qt.ShiftModifier) {
|
||||||
searchField.focus = true;
|
searchField.focus = true;
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
if (event.key === Qt.Key_Escape) {
|
if (event.key === Qt.Key_Escape) {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
|
@ -568,23 +694,18 @@ PlasmaCore.Dialog {
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
searchField.appendText(event.text);
|
searchField.appendText(event.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
searchField.focus = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setModels() {
|
function setModels() {
|
||||||
globalFavoritesGrid.model = globalFavorites
|
globalFavoritesGrid.model = globalFavorites;
|
||||||
allAppsGrid.model = rootModel.modelForRow(2);
|
allAppsGrid.model = rootModel.modelForRow(2);
|
||||||
documentsGrid.model = rootModel.modelForRow(1)
|
documentsGrid.model = rootModel.modelForRow(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
rootModel.refreshed.connect(setModels)
|
rootModel.refreshed.connect(setModels);
|
||||||
reset();
|
reset();
|
||||||
rootModel.refresh();
|
rootModel.refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,18 +17,17 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
import QtQuick 2.0
|
import QtQuick
|
||||||
import QtQuick.Layouts 1.1
|
import QtQuick.Layouts
|
||||||
|
|
||||||
import org.kde.plasma.plasmoid
|
import org.kde.plasma.plasmoid
|
||||||
|
|
||||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
import org.kde.plasma.core as PlasmaCore
|
||||||
import org.kde.plasma.components 3.0 as PC3
|
import org.kde.plasma.components as PC3
|
||||||
|
|
||||||
import org.kde.plasma.private.kicker 0.1 as Kicker
|
import org.kde.plasma.private.kicker as Kicker
|
||||||
import org.kde.plasma.plasma5support 2.0 as P5Support
|
|
||||||
import org.kde.kirigami as Kirigami
|
import org.kde.kirigami as Kirigami
|
||||||
import org.kde.ksvg 1.0 as KSvg
|
import org.kde.ksvg as KSvg
|
||||||
|
|
||||||
PlasmoidItem {
|
PlasmoidItem {
|
||||||
|
|
||||||
|
@ -59,8 +58,10 @@ PlasmoidItem {
|
||||||
Plasmoid.icon: Plasmoid.configuration.useCustomButtonImage ? Plasmoid.configuration.customButtonImage : Plasmoid.configuration.icon
|
Plasmoid.icon: Plasmoid.configuration.useCustomButtonImage ? Plasmoid.configuration.customButtonImage : Plasmoid.configuration.icon
|
||||||
|
|
||||||
onSystemFavoritesChanged: {
|
onSystemFavoritesChanged: {
|
||||||
|
if (systemFavorites) {
|
||||||
systemFavorites.favorites = Plasmoid.configuration.favoriteSystemActions;
|
systemFavorites.favorites = Plasmoid.configuration.favoriteSystemActions;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Kicker.RootModel {
|
Kicker.RootModel {
|
||||||
id: rootModel
|
id: rootModel
|
||||||
|
@ -102,7 +103,6 @@ PlasmoidItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: globalFavorites
|
target: globalFavorites
|
||||||
|
|
||||||
|
@ -115,6 +115,7 @@ PlasmoidItem {
|
||||||
target: systemFavorites
|
target: systemFavorites
|
||||||
|
|
||||||
function onFavoritesChanged() {
|
function onFavoritesChanged() {
|
||||||
|
if (Plasmoid.configuration && target)
|
||||||
Plasmoid.configuration.favoriteSystemActions = target.favorites;
|
Plasmoid.configuration.favoriteSystemActions = target.favorites;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -158,7 +159,6 @@ PlasmoidItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Kicker.DragHelper {
|
Kicker.DragHelper {
|
||||||
id: dragHelper
|
id: dragHelper
|
||||||
}
|
}
|
||||||
|
@ -204,7 +204,6 @@ PlasmoidItem {
|
||||||
imagePath: "dialogs/background"
|
imagePath: "dialogs/background"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PC3.Label {
|
PC3.Label {
|
||||||
id: toolTipDelegate
|
id: toolTipDelegate
|
||||||
|
|
||||||
|
@ -235,10 +234,6 @@ PlasmoidItem {
|
||||||
]
|
]
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
// plasmoid.setAction("menuedit", i18n("Edit Applications..."));
|
|
||||||
// //rootModel.refreshed.connect(reset);
|
|
||||||
// //dragHelper.dropped.connect(resetDragSource);
|
|
||||||
|
|
||||||
if (Plasmoid.hasOwnProperty("activationTogglesExpanded")) {
|
if (Plasmoid.hasOwnProperty("activationTogglesExpanded")) {
|
||||||
Plasmoid.activationTogglesExpanded = !kicker.isDash
|
Plasmoid.activationTogglesExpanded = !kicker.isDash
|
||||||
}
|
}
|
||||||
|
@ -246,10 +241,6 @@ PlasmoidItem {
|
||||||
windowSystem.focusIn.connect(enableHideOnWindowDeactivate);
|
windowSystem.focusIn.connect(enableHideOnWindowDeactivate);
|
||||||
kicker.hideOnWindowDeactivate = true;
|
kicker.hideOnWindowDeactivate = true;
|
||||||
|
|
||||||
//updateSvgMetrics();
|
|
||||||
//PlasmaCore.Theme.themeChanged.connect(updateSvgMetrics);
|
|
||||||
//rootModel.refreshed.connect(reset);
|
|
||||||
dragHelper.dropped.connect(resetDragSource);
|
dragHelper.dropped.connect(resetDragSource);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,11 +35,11 @@ Or if you know how to make a pull request
|
||||||
## Status
|
## Status
|
||||||
| Locale | Lines | % Done|
|
| Locale | Lines | % Done|
|
||||||
|----------|---------|-------|
|
|----------|---------|-------|
|
||||||
| Template | 34 | |
|
| Template | 35 | |
|
||||||
| fr | 20/34 | 58% |
|
| fr | 20/35 | 57% |
|
||||||
| ko | 17/34 | 50% |
|
| ko | 17/35 | 48% |
|
||||||
| nl | 13/34 | 38% |
|
| nl | 13/35 | 37% |
|
||||||
| pl | 15/34 | 44% |
|
| pl | 15/35 | 42% |
|
||||||
| pt_BR | 20/34 | 58% |
|
| pt_BR | 20/35 | 57% |
|
||||||
| ru | 34/34 | 100% |
|
| ru | 34/35 | 97% |
|
||||||
| tr | 15/34 | 44% |
|
| tr | 15/35 | 42% |
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: omano\n"
|
"Last-Translator: omano\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -155,6 +155,10 @@ msgstr "Toutes les applications"
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto Menu"
|
#~ msgstr "Ditto Menu"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: 2021-09-29 09:43+0900\n"
|
"PO-Revision-Date: 2021-09-29 09:43+0900\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -152,6 +152,10 @@ msgstr "모든 프로그램"
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto 메뉴"
|
#~ msgstr "Ditto 메뉴"
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: 2022-01-01 20:09+0100\n"
|
"PO-Revision-Date: 2022-01-01 20:09+0100\n"
|
||||||
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
|
"Last-Translator: Heimen Stoffels <vistausss@fastmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -156,6 +156,10 @@ msgstr ""
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto-menu"
|
#~ msgstr "Ditto-menu"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: 2022-04-05 10:40+0100\n"
|
"PO-Revision-Date: 2022-04-05 10:40+0100\n"
|
||||||
"Last-Translator: Krzysztof Korab <korapps@outlook.com>\n"
|
"Last-Translator: Krzysztof Korab <korapps@outlook.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -155,6 +155,10 @@ msgstr ""
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "A configurable launcher menu"
|
#~ msgid "A configurable launcher menu"
|
||||||
#~ msgstr "Konfigurowalne menu uruchamiania programów"
|
#~ msgstr "Konfigurowalne menu uruchamiania programów"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -155,6 +155,10 @@ msgstr "Todos os programas"
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto Menu"
|
#~ msgstr "Ditto Menu"
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: Edward Karate <edward.karate@ya.ru>\n"
|
"Last-Translator: Edward Karate <edward.karate@ya.ru>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -155,6 +155,10 @@ msgstr "Все приложения"
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr "Последние документы"
|
msgstr "Последние документы"
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr "Показать больше"
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto Menu"
|
#~ msgstr "Ditto Menu"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Translation of Menu11 in LANGUAGE
|
# Translation of Menu11 in LANGUAGE
|
||||||
# Copyright (C) 2024
|
# Copyright (C) 2025
|
||||||
# This file is distributed under the same license as the Menu11 package.
|
# This file is distributed under the same license as the Menu11 package.
|
||||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
#
|
#
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Menu11\n"
|
"Project-Id-Version: Menu11\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -154,3 +154,7 @@ msgstr ""
|
||||||
#: ../contents/ui/MenuRepresentation.qml
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: dittomenu\n"
|
"Project-Id-Version: dittomenu\n"
|
||||||
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
"Report-Msgid-Bugs-To: https://github.com/prateekmedia/Menu11\n"
|
||||||
"POT-Creation-Date: 2024-09-24 13:00+0500\n"
|
"POT-Creation-Date: 2025-07-13 14:15+0500\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -158,6 +158,10 @@ msgstr ""
|
||||||
msgid "Recent documents"
|
msgid "Recent documents"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../contents/ui/MenuRepresentation.qml
|
||||||
|
msgid "Show more"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#~ msgid "Ditto Menu"
|
#~ msgid "Ditto Menu"
|
||||||
#~ msgstr "Ditto Menu"
|
#~ msgstr "Ditto Menu"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue