Compare commits
No commits in common. "8cdb49bd832bc3933b8931d78c1789b4455505d0" and "e56994955c2e84d60e1068d492ef1a02e08408ed" have entirely different histories.
8cdb49bd83
...
e56994955c
@ -19,9 +19,6 @@
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
// module "org.kde.plasma.components" version 2.0 is not installed
|
||||
|
||||
|
||||
import QtQuick 2.3
|
||||
import org.kde.plasma.plasmoid 2.0
|
||||
import QtQuick.Layouts 1.1
|
||||
@ -29,7 +26,7 @@ import org.kde.plasma.plasmoid as PlasmaCore
|
||||
import org.kde.ksvg as KSvg
|
||||
import org.kde.plasma.plasma5support as Plasma5Support
|
||||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import org.kde.plasma.components as PlasmaComponents
|
||||
import org.kde.plasma.components 3.0 as PlasmaComponents
|
||||
import org.kde.plasma.extras 2.0 as PlasmaExtras
|
||||
import org.kde.kquickcontrolsaddons 2.0
|
||||
|
||||
@ -128,279 +125,187 @@ Item {
|
||||
id: mainArea
|
||||
anchors.topMargin: mainTabGroup.state == "top" ? Kirigami.Units.smallSpacing : 0
|
||||
|
||||
PlasmaComponents.TabGroup {
|
||||
id: mainTabGroup
|
||||
currentTab: favoritesPage
|
||||
Kirigami.Page {
|
||||
id: mainPage
|
||||
|
||||
anchors {
|
||||
fill: parent
|
||||
}
|
||||
// Set anchors
|
||||
anchors.fill: parent
|
||||
|
||||
//pages
|
||||
FavoritesView {
|
||||
id: favoritesPage
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: applicationsPage
|
||||
when: mainTabGroup.currentTab == applicationsPage
|
||||
source: Qt.resolvedUrl("ApplicationsView.qml")
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: systemPage
|
||||
when: mainTabGroup.currentTab == systemPage
|
||||
source: Qt.resolvedUrl("ComputerView.qml")
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: recentlyUsedPage
|
||||
when: mainTabGroup.currentTab == recentlyUsedPage
|
||||
source: Qt.resolvedUrl("RecentlyUsedView.qml")
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: oftenUsedPage
|
||||
when: mainTabGroup.currentTab == oftenUsedPage
|
||||
source: Qt.resolvedUrl("OftenUsedView.qml")
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: leavePage
|
||||
when: mainTabGroup.currentTab == leavePage
|
||||
source: Qt.resolvedUrl("LeaveView.qml")
|
||||
}
|
||||
PlasmaExtras.ConditionalLoader {
|
||||
id: searchPage
|
||||
when: root.state == "Search"
|
||||
//when: mainTabGroup.currentTab == searchPage || root.state == "Search"
|
||||
source: Qt.resolvedUrl("SearchView.qml")
|
||||
}
|
||||
// Create a row for the tab buttons
|
||||
Kirigami.PageRow {
|
||||
id: tabRow
|
||||
|
||||
state: {
|
||||
// Set row orientation based on plasmoid location
|
||||
orientation: {
|
||||
switch (plasmoid.location) {
|
||||
case PlasmaCore.Types.LeftEdge:
|
||||
return LayoutMirroring.enabled ? "right" : "left";
|
||||
case PlasmaCore.Types.TopEdge:
|
||||
return "top";
|
||||
case PlasmaCore.Types.RightEdge:
|
||||
return LayoutMirroring.enabled ? "left" : "right";
|
||||
case PlasmaCore.Types.BottomEdge:
|
||||
return Qt.Horizontal
|
||||
default:
|
||||
return "bottom";
|
||||
return Qt.Vertical
|
||||
}
|
||||
}
|
||||
|
||||
// Add tab buttons
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Favorites")
|
||||
onClicked: mainPage.currentIndex = 0
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Applications")
|
||||
onClicked: mainPage.currentIndex = 1
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Computer")
|
||||
onClicked: mainPage.currentIndex = 2
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Recently Used")
|
||||
onClicked: mainPage.currentIndex = 3
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Often Used")
|
||||
onClicked: mainPage.currentIndex = 4
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Leave")
|
||||
onClicked: mainPage.currentIndex = 5
|
||||
}
|
||||
PlasmaComponents.Button {
|
||||
text: i18n("Search")
|
||||
onClicked: root.state = "Search"
|
||||
}
|
||||
}
|
||||
|
||||
// Add pages
|
||||
Kirigami.Page {
|
||||
id: favoritesPage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 0
|
||||
// Add contents of the Favorites view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: applicationsPage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 1
|
||||
// Add contents of the Applications view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: computerPage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 2
|
||||
// Add contents of the Computer view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: recentlyUsedPage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 3
|
||||
// Add contents of the Recently Used view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: oftenUsedPage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 4
|
||||
// Add contents of the Often Used view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: leavePage
|
||||
anchors.fill: parent
|
||||
visible: mainPage.currentIndex === 5
|
||||
// Add contents of the Leave view here
|
||||
}
|
||||
Kirigami.Page {
|
||||
id: searchPage
|
||||
anchors.fill: parent
|
||||
visible: root.state === "Search"
|
||||
// Add contents of the Search view here
|
||||
}
|
||||
|
||||
// Handle the plasmoid location states
|
||||
states: [
|
||||
State {
|
||||
name: "left"
|
||||
AnchorChanges {
|
||||
target: header
|
||||
anchors {
|
||||
left: root.left
|
||||
top: undefined
|
||||
right: root.right
|
||||
bottom: root.bottom
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabRow
|
||||
rotation: 0
|
||||
}
|
||||
PropertyChanges {
|
||||
target: header
|
||||
width: header.implicitWidth
|
||||
location: PlasmaExtras.PlasmoidHeading.Location.Footer
|
||||
}
|
||||
AnchorChanges {
|
||||
target: mainArea
|
||||
target: tabRow
|
||||
anchors {
|
||||
left: tabBar.right
|
||||
top: root.top
|
||||
right: root.right
|
||||
bottom: header.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabBar
|
||||
width: (tabBar.opacity == 0) ? 0 : PlasmaCore.Units.gridUnit * 5
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBar
|
||||
anchors {
|
||||
left: root.left
|
||||
top: root.top
|
||||
right: undefined
|
||||
bottom: header.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target:tabBarSeparator
|
||||
width: tabBarSeparatorLine.elementSize("vertical-line").width
|
||||
elementId: "vertical-line"
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBarSeparator
|
||||
anchors {
|
||||
left: tabBar.right
|
||||
top: tabBar.top
|
||||
bottom:tabBar.bottom
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "top"
|
||||
AnchorChanges {
|
||||
target: header
|
||||
anchors {
|
||||
left: root.left
|
||||
top: undefined
|
||||
right: root.right
|
||||
bottom: root.bottom
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabRow
|
||||
rotation: -90
|
||||
}
|
||||
PropertyChanges {
|
||||
target: header
|
||||
height: header.implicitHeight
|
||||
location: PlasmaExtras.PlasmoidHeading.Location.Footer
|
||||
}
|
||||
AnchorChanges {
|
||||
target: mainArea
|
||||
target: tabRow
|
||||
anchors {
|
||||
left: root.left
|
||||
top: tabBar.bottom
|
||||
right: root.right
|
||||
bottom: header.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabBar
|
||||
height: (tabBar.opacity == 0) ? 0 : PlasmaCore.Units.gridUnit * 5
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBar
|
||||
anchors {
|
||||
left: root.left
|
||||
top: root.top
|
||||
right: root.right
|
||||
bottom: undefined
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target:tabBarSeparator
|
||||
height: tabBarSeparatorLine.elementSize("horizontal-line").height
|
||||
elementId: "horizontal-line"
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBarSeparator
|
||||
anchors {
|
||||
left: tabBar.left
|
||||
right: tabBar.right
|
||||
top: tabBar.bottom
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "right"
|
||||
AnchorChanges {
|
||||
target: header
|
||||
anchors {
|
||||
left: root.left
|
||||
top: undefined
|
||||
right: root.right
|
||||
bottom: root.bottom
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabRow
|
||||
rotation: 180
|
||||
}
|
||||
PropertyChanges {
|
||||
target: header
|
||||
width: header.implicitWidth
|
||||
location: PlasmaExtras.PlasmoidHeading.Location.Footer
|
||||
}
|
||||
AnchorChanges {
|
||||
target: mainArea
|
||||
target: tabRow
|
||||
anchors {
|
||||
left: root.left
|
||||
top: root.top
|
||||
right: tabBar.left
|
||||
bottom: header.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabBar
|
||||
width: (tabBar.opacity == 0) ? 0 : PlasmaCore.Units.gridUnit * 5
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBar
|
||||
anchors {
|
||||
left: undefined
|
||||
top: root.top
|
||||
right: root.right
|
||||
bottom: header.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target:tabBarSeparator
|
||||
width: tabBarSeparatorLine.elementSize("vertical-line").width
|
||||
elementId: "vertical-line"
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBarSeparator
|
||||
anchors {
|
||||
right: tabBar.left
|
||||
top: tabBar.top
|
||||
bottom: tabBar.bottom
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "bottom"
|
||||
AnchorChanges {
|
||||
target: header
|
||||
anchors {
|
||||
left: root.left
|
||||
top: root.top
|
||||
right: root.right
|
||||
bottom: undefined
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabRow
|
||||
rotation: 90
|
||||
}
|
||||
PropertyChanges {
|
||||
target: header
|
||||
height: header.implicitHeight
|
||||
location: PlasmaExtras.PlasmoidHeading.Location.Header
|
||||
}
|
||||
AnchorChanges {
|
||||
target: mainArea
|
||||
target: tabRow
|
||||
anchors {
|
||||
left: root.left
|
||||
top: header.bottom
|
||||
right: root.right
|
||||
bottom: tabBar.top
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target: tabBar
|
||||
height: (tabBar.opacity == 0) ? 0 : PlasmaCore.Units.gridUnit * 5
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBar
|
||||
anchors {
|
||||
left: root.left
|
||||
top: undefined
|
||||
right: root.right
|
||||
bottom: root.bottom
|
||||
}
|
||||
}
|
||||
PropertyChanges {
|
||||
target:tabBarSeparator
|
||||
height: tabBarSeparatorLine.elementSize("horizontal-line").height
|
||||
elementId: "horizontal-line"
|
||||
}
|
||||
AnchorChanges {
|
||||
target: tabBarSeparator
|
||||
anchors {
|
||||
bottom: tabBar.top
|
||||
left: tabBar.left
|
||||
right: tabBar.right
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
} // mainTabGroup
|
||||
|
||||
// Set initial plasmoid state
|
||||
state: {
|
||||
switch (plasmoid.location) {
|
||||
case PlasmaCore.Types.LeftEdge:
|
||||
return "left"
|
||||
case PlasmaCore.Types.TopEdge:
|
||||
return "top"
|
||||
case PlasmaCore.Types.RightEdge:
|
||||
return "right"
|
||||
case PlasmaCore.Types.BottomEdge:
|
||||
default:
|
||||
return "bottom"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PlasmaComponents.TabBar {
|
||||
id: tabBar
|
||||
count: 5 // updated in createButtons()
|
||||
|
||||
property int count: 5 // updated in createButtons()
|
||||
|
||||
Behavior on width {
|
||||
NumberAnimation { duration: Kirigami.Units.longDuration; easing.type: Easing.InQuad; }
|
||||
|
@ -23,14 +23,13 @@ import org.kde.plasma.core as PlasmaCore
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.plasma.components 3.0 as PlasmaComponents
|
||||
import org.kde.plasma.extras as PlasmaExtras
|
||||
import org.kde.coreaddons 1.0 as KCoreAddons
|
||||
import org.kde.kcoreaddons 1.0 as KCoreAddons
|
||||
// While using Kirigami in applets is normally a no, we
|
||||
// use Avatar, which doesn't need to read the colour scheme
|
||||
// at all to function, so there won't be any oddities with colours.
|
||||
import org.kde.kirigami 2.20 as Kirigami
|
||||
import org.kde.kirigamiaddons.components as KirigamiAddons
|
||||
import org.kde.kirigami 2.13 as Kirigami
|
||||
import org.kde.kquickcontrolsaddons 2.0
|
||||
import Qt5Compat.GraphicalEffects 1.0
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
PlasmaExtras.PlasmoidHeading {
|
||||
id: header
|
||||
@ -82,7 +81,7 @@ PlasmaExtras.PlasmoidHeading {
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 3
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 3
|
||||
|
||||
KirigamiAddons.Avatar {
|
||||
Kirigami.Avatar {
|
||||
source: kuser.faceIconUrl
|
||||
name: nameLabel
|
||||
anchors {
|
||||
|
Loading…
x
Reference in New Issue
Block a user