mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-28 23:42:51 -05:00
launcher: grid re-style and customizable column counts
This commit is contained in:
@@ -161,6 +161,7 @@ Singleton {
|
|||||||
property string appLauncherViewMode: "list"
|
property string appLauncherViewMode: "list"
|
||||||
property string spotlightModalViewMode: "list"
|
property string spotlightModalViewMode: "list"
|
||||||
property bool sortAppsAlphabetically: false
|
property bool sortAppsAlphabetically: false
|
||||||
|
property int appLauncherGridColumns: 4
|
||||||
|
|
||||||
property string weatherLocation: "New York, NY"
|
property string weatherLocation: "New York, NY"
|
||||||
property string weatherCoordinates: "40.7128,-74.0060"
|
property string weatherCoordinates: "40.7128,-74.0060"
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ var SPEC = {
|
|||||||
appLauncherViewMode: { def: "list" },
|
appLauncherViewMode: { def: "list" },
|
||||||
spotlightModalViewMode: { def: "list" },
|
spotlightModalViewMode: { def: "list" },
|
||||||
sortAppsAlphabetically: { def: false },
|
sortAppsAlphabetically: { def: false },
|
||||||
|
appLauncherGridColumns: { def: 4 },
|
||||||
|
|
||||||
weatherLocation: { def: "New York, NY" },
|
weatherLocation: { def: "New York, NY" },
|
||||||
weatherCoordinates: { def: "40.7128,-74.0060" },
|
weatherCoordinates: { def: "40.7128,-74.0060" },
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ Item {
|
|||||||
id: appLauncher
|
id: appLauncher
|
||||||
|
|
||||||
viewMode: SettingsData.spotlightModalViewMode
|
viewMode: SettingsData.spotlightModalViewMode
|
||||||
gridColumns: 4
|
gridColumns: SettingsData.appLauncherGridColumns
|
||||||
onAppLaunched: () => {
|
onAppLaunched: () => {
|
||||||
if (parentModal)
|
if (parentModal)
|
||||||
parentModal.hide()
|
parentModal.hide()
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ Rectangle {
|
|||||||
id: resultsGrid
|
id: resultsGrid
|
||||||
|
|
||||||
property int currentIndex: appLauncher ? appLauncher.selectedIndex : -1
|
property int currentIndex: appLauncher ? appLauncher.selectedIndex : -1
|
||||||
property int columns: 4
|
property int columns: appLauncher ? appLauncher.gridColumns : 4
|
||||||
property bool adaptiveColumns: false
|
property bool adaptiveColumns: false
|
||||||
property int minCellWidth: 120
|
property int minCellWidth: 120
|
||||||
property int maxCellWidth: 160
|
property int maxCellWidth: 160
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ DankPopout {
|
|||||||
id: appLauncher
|
id: appLauncher
|
||||||
|
|
||||||
viewMode: SettingsData.appLauncherViewMode
|
viewMode: SettingsData.appLauncherViewMode
|
||||||
gridColumns: 4
|
gridColumns: SettingsData.appLauncherGridColumns
|
||||||
onAppLaunched: appDrawerPopout.close()
|
onAppLaunched: appDrawerPopout.close()
|
||||||
onViewModeSelected: function (mode) {
|
onViewModeSelected: function (mode) {
|
||||||
SettingsData.set("appLauncherViewMode", mode)
|
SettingsData.set("appLauncherViewMode", mode)
|
||||||
@@ -419,7 +419,7 @@ DankPopout {
|
|||||||
id: appGrid
|
id: appGrid
|
||||||
|
|
||||||
property int currentIndex: appLauncher.selectedIndex
|
property int currentIndex: appLauncher.selectedIndex
|
||||||
property int columns: 4
|
property int columns: appLauncher.gridColumns
|
||||||
property bool adaptiveColumns: false
|
property bool adaptiveColumns: false
|
||||||
property int minCellWidth: 120
|
property int minCellWidth: 120
|
||||||
property int maxCellWidth: 160
|
property int maxCellWidth: 160
|
||||||
|
|||||||
@@ -524,6 +524,74 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
StyledRect {
|
||||||
|
width: parent.width
|
||||||
|
height: gridColumnsSection.implicitHeight + Theme.spacingL * 2
|
||||||
|
radius: Theme.cornerRadius
|
||||||
|
color: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||||
|
border.color: Qt.rgba(Theme.outline.r, Theme.outline.g,
|
||||||
|
Theme.outline.b, 0.2)
|
||||||
|
border.width: 0
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: gridColumnsSection
|
||||||
|
|
||||||
|
anchors.fill: parent
|
||||||
|
anchors.margins: Theme.spacingL
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
Row {
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.spacingM
|
||||||
|
|
||||||
|
DankIcon {
|
||||||
|
name: "grid_view"
|
||||||
|
size: Theme.iconSize
|
||||||
|
color: Theme.primary
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: I18n.tr("Grid Columns")
|
||||||
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
|
font.weight: Font.Medium
|
||||||
|
color: Theme.surfaceText
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: I18n.tr("Adjust the number of columns in grid view mode.")
|
||||||
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
|
color: Theme.surfaceVariantText
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
width: 120
|
||||||
|
spacing: Theme.spacingS
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
|
||||||
|
DankSlider {
|
||||||
|
width: 100
|
||||||
|
height: 20
|
||||||
|
minimum: 2
|
||||||
|
maximum: 8
|
||||||
|
value: SettingsData.appLauncherGridColumns
|
||||||
|
unit: ""
|
||||||
|
showValue: true
|
||||||
|
wheelEnabled: false
|
||||||
|
thumbOutlineColor: Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
onSliderValueChanged: newValue => {
|
||||||
|
SettingsData.set("appLauncherGridColumns", newValue)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
StyledRect {
|
StyledRect {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: recentlyUsedSection.implicitHeight + Theme.spacingL * 2
|
height: recentlyUsedSection.implicitHeight + Theme.spacingL * 2
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ Rectangle {
|
|||||||
width: cellWidth - cellPadding
|
width: cellWidth - cellPadding
|
||||||
height: cellHeight - cellPadding
|
height: cellHeight - cellPadding
|
||||||
radius: Theme.cornerRadius
|
radius: Theme.cornerRadius
|
||||||
color: currentIndex === index ? Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) : mouseArea.containsMouse ? Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) : Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency)
|
color: currentIndex === index ? Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) : mouseArea.containsMouse ? Theme.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) : "transparent"
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
|
|||||||
Reference in New Issue
Block a user