mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-05-14 00:02:45 -04:00
Compare commits
3 Commits
v1.2.2
..
4b7baf82cd
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b7baf82cd | |||
| 15c88ce1d2 | |||
| 8891c388d0 |
+1
-1
@@ -1 +1 @@
|
|||||||
Spicy Miso
|
Saffron Bloom
|
||||||
|
|||||||
+17
-46
@@ -203,8 +203,6 @@ Item {
|
|||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
dockRecreateDebounce.start();
|
dockRecreateDebounce.start();
|
||||||
// Force PolkitService singleton to initialize
|
|
||||||
PolkitService.polkitAvailable;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
@@ -317,44 +315,19 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
WifiPasswordModal {
|
||||||
id: wifiPasswordModalLoader
|
id: wifiPasswordModal
|
||||||
active: false
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
PopoutService.wifiPasswordModalLoader = wifiPasswordModalLoader;
|
PopoutService.wifiPasswordModal = wifiPasswordModal;
|
||||||
}
|
|
||||||
|
|
||||||
WifiPasswordModal {
|
|
||||||
id: wifiPasswordModalItem
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
PopoutService.wifiPasswordModal = wifiPasswordModalItem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
PolkitAuthModal {
|
||||||
id: polkitAuthModalLoader
|
id: polkitAuthModal
|
||||||
active: false
|
|
||||||
|
|
||||||
PolkitAuthModal {
|
Component.onCompleted: {
|
||||||
id: polkitAuthModal
|
PopoutService.polkitAuthModal = polkitAuthModal;
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
PopoutService.polkitAuthModal = polkitAuthModal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: PolkitService.agent
|
|
||||||
enabled: PolkitService.polkitAvailable
|
|
||||||
|
|
||||||
function onAuthenticationRequestStarted() {
|
|
||||||
polkitAuthModalLoader.active = true;
|
|
||||||
if (polkitAuthModalLoader.item)
|
|
||||||
polkitAuthModalLoader.item.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -376,21 +349,17 @@ Item {
|
|||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
const timeSinceLastPrompt = now - lastCredentialsTime;
|
const timeSinceLastPrompt = now - lastCredentialsTime;
|
||||||
|
|
||||||
wifiPasswordModalLoader.active = true;
|
if (wifiPasswordModal.visible && timeSinceLastPrompt < 1000) {
|
||||||
if (!wifiPasswordModalLoader.item)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (wifiPasswordModalLoader.item.visible && timeSinceLastPrompt < 1000) {
|
|
||||||
NetworkService.cancelCredentials(lastCredentialsToken);
|
NetworkService.cancelCredentials(lastCredentialsToken);
|
||||||
lastCredentialsToken = token;
|
lastCredentialsToken = token;
|
||||||
lastCredentialsTime = now;
|
lastCredentialsTime = now;
|
||||||
wifiPasswordModalLoader.item.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
wifiPasswordModal.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
lastCredentialsToken = token;
|
lastCredentialsToken = token;
|
||||||
lastCredentialsTime = now;
|
lastCredentialsTime = now;
|
||||||
wifiPasswordModalLoader.item.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
wifiPasswordModal.showFromPrompt(token, ssid, setting, fields, hints, reason, connType, connName, vpnService, fieldsInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -473,15 +442,17 @@ Item {
|
|||||||
PopoutService.settingsModalLoader = settingsModalLoader;
|
PopoutService.settingsModalLoader = settingsModalLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onActiveChanged: {
|
||||||
|
if (active && item) {
|
||||||
|
PopoutService.settingsModal = item;
|
||||||
|
PopoutService._onSettingsModalLoaded();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SettingsModal {
|
SettingsModal {
|
||||||
id: settingsModal
|
id: settingsModal
|
||||||
property bool wasShown: false
|
property bool wasShown: false
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
PopoutService.settingsModal = settingsModal;
|
|
||||||
PopoutService._onSettingsModalLoaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
onVisibleChanged: {
|
onVisibleChanged: {
|
||||||
if (visible) {
|
if (visible) {
|
||||||
wasShown = true;
|
wasShown = true;
|
||||||
|
|||||||
@@ -797,9 +797,11 @@ Item {
|
|||||||
const modal = PopoutService.settingsModal;
|
const modal = PopoutService.settingsModal;
|
||||||
if (modal) {
|
if (modal) {
|
||||||
if (type === "wallpaper") {
|
if (type === "wallpaper") {
|
||||||
modal.openWallpaperBrowser(false);
|
modal.wallpaperBrowser.allowStacking = false;
|
||||||
|
modal.wallpaperBrowser.open();
|
||||||
} else if (type === "profile") {
|
} else if (type === "profile") {
|
||||||
modal.openProfileBrowser(false);
|
modal.profileBrowser.allowStacking = false;
|
||||||
|
modal.profileBrowser.open();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
PopoutService.openSettings();
|
PopoutService.openSettings();
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ FloatingWindow {
|
|||||||
iconName: "open_in_new"
|
iconName: "open_in_new"
|
||||||
backgroundColor: Theme.surfaceContainerHighest
|
backgroundColor: Theme.surfaceContainerHighest
|
||||||
textColor: Theme.surfaceText
|
textColor: Theme.surfaceText
|
||||||
onClicked: Qt.openUrlExternally("https://danklinux.com/blog/v1-2-release")
|
onClicked: Qt.openUrlExternally("https://danklinux.com/blog/v1.2-release")
|
||||||
}
|
}
|
||||||
|
|
||||||
DankButton {
|
DankButton {
|
||||||
|
|||||||
@@ -74,7 +74,9 @@ Rectangle {
|
|||||||
if (root.parentModal) {
|
if (root.parentModal) {
|
||||||
root.parentModal.allowFocusOverride = true;
|
root.parentModal.allowFocusOverride = true;
|
||||||
root.parentModal.shouldHaveFocus = false;
|
root.parentModal.shouldHaveFocus = false;
|
||||||
root.parentModal.openProfileBrowser();
|
if (root.parentModal.profileBrowser) {
|
||||||
|
root.parentModal.profileBrowser.open();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,26 +8,8 @@ import qs.Widgets
|
|||||||
FloatingWindow {
|
FloatingWindow {
|
||||||
id: settingsModal
|
id: settingsModal
|
||||||
|
|
||||||
property var profileBrowser: profileBrowserLoader.item
|
property alias profileBrowser: profileBrowser
|
||||||
property var wallpaperBrowser: wallpaperBrowserLoader.item
|
property alias wallpaperBrowser: wallpaperBrowser
|
||||||
|
|
||||||
function openProfileBrowser(allowStacking) {
|
|
||||||
profileBrowserLoader.active = true;
|
|
||||||
if (!profileBrowserLoader.item)
|
|
||||||
return;
|
|
||||||
if (allowStacking !== undefined)
|
|
||||||
profileBrowserLoader.item.allowStacking = allowStacking;
|
|
||||||
profileBrowserLoader.item.open();
|
|
||||||
}
|
|
||||||
|
|
||||||
function openWallpaperBrowser(allowStacking) {
|
|
||||||
wallpaperBrowserLoader.active = true;
|
|
||||||
if (!wallpaperBrowserLoader.item)
|
|
||||||
return;
|
|
||||||
if (allowStacking !== undefined)
|
|
||||||
wallpaperBrowserLoader.item.allowStacking = allowStacking;
|
|
||||||
wallpaperBrowserLoader.item.open();
|
|
||||||
}
|
|
||||||
property alias sidebar: sidebar
|
property alias sidebar: sidebar
|
||||||
property int currentTabIndex: 0
|
property int currentTabIndex: 0
|
||||||
property bool shouldHaveFocus: visible
|
property bool shouldHaveFocus: visible
|
||||||
@@ -114,51 +96,41 @@ FloatingWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
FileBrowserModal {
|
||||||
id: profileBrowserLoader
|
id: profileBrowser
|
||||||
active: false
|
|
||||||
|
|
||||||
FileBrowserModal {
|
allowStacking: true
|
||||||
id: profileBrowserItem
|
parentModal: settingsModal
|
||||||
|
browserTitle: I18n.tr("Select Profile Image", "profile image file browser title")
|
||||||
allowStacking: true
|
browserIcon: "person"
|
||||||
parentModal: settingsModal
|
browserType: "profile"
|
||||||
browserTitle: I18n.tr("Select Profile Image", "profile image file browser title")
|
showHiddenFiles: true
|
||||||
browserIcon: "person"
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
browserType: "profile"
|
onFileSelected: path => {
|
||||||
showHiddenFiles: true
|
PortalService.setProfileImage(path);
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
close();
|
||||||
onFileSelected: path => {
|
}
|
||||||
PortalService.setProfileImage(path);
|
onDialogClosed: () => {
|
||||||
close();
|
allowStacking = true;
|
||||||
}
|
|
||||||
onDialogClosed: () => {
|
|
||||||
allowStacking = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
FileBrowserModal {
|
||||||
id: wallpaperBrowserLoader
|
id: wallpaperBrowser
|
||||||
active: false
|
|
||||||
|
|
||||||
FileBrowserModal {
|
allowStacking: true
|
||||||
id: wallpaperBrowserItem
|
parentModal: settingsModal
|
||||||
|
browserTitle: I18n.tr("Select Wallpaper", "wallpaper file browser title")
|
||||||
allowStacking: true
|
browserIcon: "wallpaper"
|
||||||
parentModal: settingsModal
|
browserType: "wallpaper"
|
||||||
browserTitle: I18n.tr("Select Wallpaper", "wallpaper file browser title")
|
showHiddenFiles: true
|
||||||
browserIcon: "wallpaper"
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
browserType: "wallpaper"
|
onFileSelected: path => {
|
||||||
showHiddenFiles: true
|
SessionData.setWallpaper(path);
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
close();
|
||||||
onFileSelected: path => {
|
}
|
||||||
SessionData.setWallpaper(path);
|
onDialogClosed: () => {
|
||||||
close();
|
allowStacking = true;
|
||||||
}
|
|
||||||
onDialogClosed: () => {
|
|
||||||
allowStacking = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -687,8 +687,8 @@ Rectangle {
|
|||||||
if (modelData.secured && !modelData.saved) {
|
if (modelData.secured && !modelData.saved) {
|
||||||
if (DMSService.apiVersion >= 7) {
|
if (DMSService.apiVersion >= 7) {
|
||||||
NetworkService.connectToWifi(modelData.ssid);
|
NetworkService.connectToWifi(modelData.ssid);
|
||||||
} else {
|
} else if (PopoutService.wifiPasswordModal) {
|
||||||
PopoutService.showWifiPasswordModal(modelData.ssid);
|
PopoutService.wifiPasswordModal.show(modelData.ssid);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
NetworkService.connectToWifi(modelData.ssid);
|
NetworkService.connectToWifi(modelData.ssid);
|
||||||
@@ -749,8 +749,8 @@ Rectangle {
|
|||||||
if (networkContextMenu.currentSecured && !networkContextMenu.currentSaved) {
|
if (networkContextMenu.currentSecured && !networkContextMenu.currentSaved) {
|
||||||
if (DMSService.apiVersion >= 7) {
|
if (DMSService.apiVersion >= 7) {
|
||||||
NetworkService.connectToWifi(networkContextMenu.currentSSID);
|
NetworkService.connectToWifi(networkContextMenu.currentSSID);
|
||||||
} else {
|
} else if (PopoutService.wifiPasswordModal) {
|
||||||
PopoutService.showWifiPasswordModal(networkContextMenu.currentSSID);
|
PopoutService.wifiPasswordModal.show(networkContextMenu.currentSSID);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
NetworkService.connectToWifi(networkContextMenu.currentSSID);
|
NetworkService.connectToWifi(networkContextMenu.currentSSID);
|
||||||
|
|||||||
@@ -22,38 +22,18 @@ Item {
|
|||||||
readonly property var allInstances: SettingsData.desktopWidgetInstances || []
|
readonly property var allInstances: SettingsData.desktopWidgetInstances || []
|
||||||
readonly property var allGroups: SettingsData.desktopWidgetGroups || []
|
readonly property var allGroups: SettingsData.desktopWidgetGroups || []
|
||||||
|
|
||||||
function showWidgetBrowser() {
|
DesktopWidgetBrowser {
|
||||||
widgetBrowserLoader.active = true;
|
id: widgetBrowser
|
||||||
if (widgetBrowserLoader.item)
|
parentModal: root.parentModal
|
||||||
widgetBrowserLoader.item.show();
|
onWidgetAdded: widgetType => {
|
||||||
}
|
ToastService.showInfo(I18n.tr("Widget added"));
|
||||||
|
|
||||||
function showDesktopPluginBrowser() {
|
|
||||||
desktopPluginBrowserLoader.active = true;
|
|
||||||
if (desktopPluginBrowserLoader.item)
|
|
||||||
desktopPluginBrowserLoader.item.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
LazyLoader {
|
|
||||||
id: widgetBrowserLoader
|
|
||||||
active: false
|
|
||||||
|
|
||||||
DesktopWidgetBrowser {
|
|
||||||
parentModal: root.parentModal
|
|
||||||
onWidgetAdded: widgetType => {
|
|
||||||
ToastService.showInfo(I18n.tr("Widget added"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
PluginBrowser {
|
||||||
id: desktopPluginBrowserLoader
|
id: desktopPluginBrowser
|
||||||
active: false
|
parentModal: root.parentModal
|
||||||
|
typeFilter: "desktop-widget"
|
||||||
PluginBrowser {
|
|
||||||
parentModal: root.parentModal
|
|
||||||
typeFilter: "desktop-widget"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DankFlickable {
|
DankFlickable {
|
||||||
@@ -94,13 +74,13 @@ Item {
|
|||||||
DankButton {
|
DankButton {
|
||||||
text: I18n.tr("Add Widget")
|
text: I18n.tr("Add Widget")
|
||||||
iconName: "add"
|
iconName: "add"
|
||||||
onClicked: root.showWidgetBrowser()
|
onClicked: widgetBrowser.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
DankButton {
|
DankButton {
|
||||||
text: I18n.tr("Browse Plugins")
|
text: I18n.tr("Browse Plugins")
|
||||||
iconName: "store"
|
iconName: "store"
|
||||||
onClicked: root.showDesktopPluginBrowser()
|
onClicked: desktopPluginBrowser.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ pragma ComponentBehavior: Bound
|
|||||||
|
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
|
||||||
import qs.Common
|
import qs.Common
|
||||||
import qs.Modals.Common
|
import qs.Modals.Common
|
||||||
import qs.Modals.FileBrowser
|
import qs.Modals.FileBrowser
|
||||||
@@ -24,25 +23,15 @@ Item {
|
|||||||
NetworkService.removeRef();
|
NetworkService.removeRef();
|
||||||
}
|
}
|
||||||
|
|
||||||
function openVpnFileBrowser() {
|
FileBrowserModal {
|
||||||
vpnFileBrowserLoader.active = true;
|
id: vpnFileBrowser
|
||||||
if (vpnFileBrowserLoader.item)
|
browserTitle: I18n.tr("Import VPN")
|
||||||
vpnFileBrowserLoader.item.open();
|
browserIcon: "vpn_key"
|
||||||
}
|
browserType: "vpn"
|
||||||
|
fileExtensions: VPNService.getFileFilter()
|
||||||
|
|
||||||
LazyLoader {
|
onFileSelected: path => {
|
||||||
id: vpnFileBrowserLoader
|
VPNService.importVpn(path.replace("file://", ""));
|
||||||
active: false
|
|
||||||
|
|
||||||
FileBrowserModal {
|
|
||||||
browserTitle: I18n.tr("Import VPN")
|
|
||||||
browserIcon: "vpn_key"
|
|
||||||
browserType: "vpn"
|
|
||||||
fileExtensions: VPNService.getFileFilter()
|
|
||||||
|
|
||||||
onFileSelected: path => {
|
|
||||||
VPNService.importVpn(path.replace("file://", ""));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1531,7 +1520,7 @@ Item {
|
|||||||
hoverEnabled: true
|
hoverEnabled: true
|
||||||
cursorShape: VPNService.importing ? Qt.BusyCursor : Qt.PointingHandCursor
|
cursorShape: VPNService.importing ? Qt.BusyCursor : Qt.PointingHandCursor
|
||||||
enabled: !VPNService.importing
|
enabled: !VPNService.importing
|
||||||
onClicked: networkTab.openVpnFileBrowser()
|
onClicked: vpnFileBrowser.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import Quickshell
|
|
||||||
import qs.Common
|
import qs.Common
|
||||||
import qs.Services
|
import qs.Services
|
||||||
import qs.Widgets
|
import qs.Widgets
|
||||||
@@ -210,7 +209,7 @@ FocusScope {
|
|||||||
iconName: "store"
|
iconName: "store"
|
||||||
enabled: DMSService.dmsAvailable
|
enabled: DMSService.dmsAvailable
|
||||||
onClicked: {
|
onClicked: {
|
||||||
showPluginBrowser();
|
pluginBrowser.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -383,11 +382,9 @@ FocusScope {
|
|||||||
Connections {
|
Connections {
|
||||||
target: DMSService
|
target: DMSService
|
||||||
function onPluginsListReceived(plugins) {
|
function onPluginsListReceived(plugins) {
|
||||||
if (!pluginBrowserLoader.item)
|
pluginBrowser.isLoading = false;
|
||||||
return;
|
pluginBrowser.allPlugins = plugins;
|
||||||
pluginBrowserLoader.item.isLoading = false;
|
pluginBrowser.updateFilteredPlugins();
|
||||||
pluginBrowserLoader.item.allPlugins = plugins;
|
|
||||||
pluginBrowserLoader.item.updateFilteredPlugins();
|
|
||||||
}
|
}
|
||||||
function onInstalledPluginsReceived(plugins) {
|
function onInstalledPluginsReceived(plugins) {
|
||||||
var pluginMap = {};
|
var pluginMap = {};
|
||||||
@@ -413,36 +410,22 @@ FocusScope {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
pluginBrowser.parentModal = pluginsTab.parentModal;
|
||||||
if (DMSService.dmsAvailable && DMSService.apiVersion >= 8)
|
if (DMSService.dmsAvailable && DMSService.apiVersion >= 8)
|
||||||
DMSService.listInstalled();
|
DMSService.listInstalled();
|
||||||
if (PopoutService.pendingPluginInstall)
|
if (PopoutService.pendingPluginInstall)
|
||||||
Qt.callLater(showPluginBrowser);
|
Qt.callLater(() => pluginBrowser.show());
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: PopoutService
|
target: PopoutService
|
||||||
function onPendingPluginInstallChanged() {
|
function onPendingPluginInstallChanged() {
|
||||||
if (PopoutService.pendingPluginInstall)
|
if (PopoutService.pendingPluginInstall)
|
||||||
showPluginBrowser();
|
pluginBrowser.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
PluginBrowser {
|
||||||
id: pluginBrowserLoader
|
id: pluginBrowser
|
||||||
active: false
|
|
||||||
|
|
||||||
PluginBrowser {
|
|
||||||
id: pluginBrowserItem
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
pluginBrowserItem.parentModal = pluginsTab.parentModal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showPluginBrowser() {
|
|
||||||
pluginBrowserLoader.active = true;
|
|
||||||
if (pluginBrowserLoader.item)
|
|
||||||
pluginBrowserLoader.item.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ Item {
|
|||||||
if (DMSService.dmsAvailable)
|
if (DMSService.dmsAvailable)
|
||||||
DMSService.listInstalledThemes();
|
DMSService.listInstalledThemes();
|
||||||
if (PopoutService.pendingThemeInstall)
|
if (PopoutService.pendingThemeInstall)
|
||||||
Qt.callLater(() => showThemeBrowser());
|
Qt.callLater(() => themeBrowser.show());
|
||||||
templateCheckProcess.running = true;
|
templateCheckProcess.running = true;
|
||||||
if (CompositorService.isNiri || CompositorService.isHyprland || CompositorService.isDwl)
|
if (CompositorService.isNiri || CompositorService.isHyprland || CompositorService.isDwl)
|
||||||
checkCursorIncludeStatus();
|
checkCursorIncludeStatus();
|
||||||
@@ -169,7 +169,7 @@ Item {
|
|||||||
target: PopoutService
|
target: PopoutService
|
||||||
function onPendingThemeInstallChanged() {
|
function onPendingThemeInstallChanged() {
|
||||||
if (PopoutService.pendingThemeInstall)
|
if (PopoutService.pendingThemeInstall)
|
||||||
showThemeBrowser();
|
themeBrowser.show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -939,7 +939,7 @@ Item {
|
|||||||
text: I18n.tr("Browse Themes", "browse themes button")
|
text: I18n.tr("Browse Themes", "browse themes button")
|
||||||
iconName: "store"
|
iconName: "store"
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
onClicked: showThemeBrowser()
|
onClicked: themeBrowser.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2041,18 +2041,7 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
ThemeBrowser {
|
||||||
id: themeBrowserLoader
|
id: themeBrowser
|
||||||
active: false
|
|
||||||
|
|
||||||
ThemeBrowser {
|
|
||||||
id: themeBrowserItem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function showThemeBrowser() {
|
|
||||||
themeBrowserLoader.active = true;
|
|
||||||
if (themeBrowserLoader.item)
|
|
||||||
themeBrowserLoader.item.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ Item {
|
|||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
onClicked: root.openMainWallpaperBrowser()
|
onClicked: mainWallpaperBrowser.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,7 +476,7 @@ Item {
|
|||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
onClicked: root.openLightWallpaperBrowser()
|
onClicked: lightWallpaperBrowser.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -660,7 +660,7 @@ Item {
|
|||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
onClicked: root.openDarkWallpaperBrowser()
|
onClicked: darkWallpaperBrowser.open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1242,83 +1242,53 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function openMainWallpaperBrowser() {
|
FileBrowserModal {
|
||||||
mainWallpaperBrowserLoader.active = true;
|
id: mainWallpaperBrowser
|
||||||
if (mainWallpaperBrowserLoader.item)
|
parentModal: root.parentModal
|
||||||
mainWallpaperBrowserLoader.item.open();
|
browserTitle: I18n.tr("Select Wallpaper", "wallpaper file browser title")
|
||||||
}
|
browserIcon: "wallpaper"
|
||||||
|
browserType: "wallpaper"
|
||||||
function openLightWallpaperBrowser() {
|
showHiddenFiles: true
|
||||||
lightWallpaperBrowserLoader.active = true;
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
if (lightWallpaperBrowserLoader.item)
|
onFileSelected: path => {
|
||||||
lightWallpaperBrowserLoader.item.open();
|
if (SessionData.perMonitorWallpaper) {
|
||||||
}
|
SessionData.setMonitorWallpaper(selectedMonitorName, path);
|
||||||
|
} else {
|
||||||
function openDarkWallpaperBrowser() {
|
SessionData.setWallpaper(path);
|
||||||
darkWallpaperBrowserLoader.active = true;
|
|
||||||
if (darkWallpaperBrowserLoader.item)
|
|
||||||
darkWallpaperBrowserLoader.item.open();
|
|
||||||
}
|
|
||||||
|
|
||||||
LazyLoader {
|
|
||||||
id: mainWallpaperBrowserLoader
|
|
||||||
active: false
|
|
||||||
|
|
||||||
FileBrowserModal {
|
|
||||||
parentModal: root.parentModal
|
|
||||||
browserTitle: I18n.tr("Select Wallpaper", "wallpaper file browser title")
|
|
||||||
browserIcon: "wallpaper"
|
|
||||||
browserType: "wallpaper"
|
|
||||||
showHiddenFiles: true
|
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
|
||||||
onFileSelected: path => {
|
|
||||||
if (SessionData.perMonitorWallpaper) {
|
|
||||||
SessionData.setMonitorWallpaper(selectedMonitorName, path);
|
|
||||||
} else {
|
|
||||||
SessionData.setWallpaper(path);
|
|
||||||
}
|
|
||||||
close();
|
|
||||||
}
|
}
|
||||||
|
close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
FileBrowserModal {
|
||||||
id: lightWallpaperBrowserLoader
|
id: lightWallpaperBrowser
|
||||||
active: false
|
parentModal: root.parentModal
|
||||||
|
browserTitle: I18n.tr("Select Wallpaper", "light mode wallpaper file browser title")
|
||||||
FileBrowserModal {
|
browserIcon: "light_mode"
|
||||||
parentModal: root.parentModal
|
browserType: "wallpaper"
|
||||||
browserTitle: I18n.tr("Select Wallpaper", "light mode wallpaper file browser title")
|
showHiddenFiles: true
|
||||||
browserIcon: "light_mode"
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
browserType: "wallpaper"
|
onFileSelected: path => {
|
||||||
showHiddenFiles: true
|
SessionData.wallpaperPathLight = path;
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
SessionData.syncWallpaperForCurrentMode();
|
||||||
onFileSelected: path => {
|
SessionData.saveSettings();
|
||||||
SessionData.wallpaperPathLight = path;
|
close();
|
||||||
SessionData.syncWallpaperForCurrentMode();
|
|
||||||
SessionData.saveSettings();
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
FileBrowserModal {
|
||||||
id: darkWallpaperBrowserLoader
|
id: darkWallpaperBrowser
|
||||||
active: false
|
parentModal: root.parentModal
|
||||||
|
browserTitle: I18n.tr("Select Wallpaper", "dark mode wallpaper file browser title")
|
||||||
FileBrowserModal {
|
browserIcon: "dark_mode"
|
||||||
parentModal: root.parentModal
|
browserType: "wallpaper"
|
||||||
browserTitle: I18n.tr("Select Wallpaper", "dark mode wallpaper file browser title")
|
showHiddenFiles: true
|
||||||
browserIcon: "dark_mode"
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
browserType: "wallpaper"
|
onFileSelected: path => {
|
||||||
showHiddenFiles: true
|
SessionData.wallpaperPathDark = path;
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
SessionData.syncWallpaperForCurrentMode();
|
||||||
onFileSelected: path => {
|
SessionData.saveSettings();
|
||||||
SessionData.wallpaperPathDark = path;
|
close();
|
||||||
SessionData.syncWallpaperForCurrentMode();
|
|
||||||
SessionData.saveSettings();
|
|
||||||
close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
|
||||||
import qs.Common
|
import qs.Common
|
||||||
import qs.Services
|
import qs.Services
|
||||||
import qs.Widgets
|
import qs.Widgets
|
||||||
@@ -917,28 +916,14 @@ Item {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
LazyLoader {
|
WidgetSelectionPopup {
|
||||||
id: widgetSelectionPopupLoader
|
id: widgetSelectionPopup
|
||||||
active: false
|
parentModal: widgetsTab.parentModal
|
||||||
|
onWidgetSelected: (widgetId, targetSection) => {
|
||||||
WidgetSelectionPopup {
|
widgetsTab.addWidgetToSection(widgetId, targetSection);
|
||||||
id: widgetSelectionPopupItem
|
|
||||||
parentModal: widgetsTab.parentModal
|
|
||||||
onWidgetSelected: (widgetId, targetSection) => {
|
|
||||||
widgetsTab.addWidgetToSection(widgetId, targetSection);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showWidgetSelectionPopup(sectionId) {
|
|
||||||
widgetSelectionPopupLoader.active = true;
|
|
||||||
if (!widgetSelectionPopupLoader.item)
|
|
||||||
return;
|
|
||||||
widgetSelectionPopupLoader.item.targetSection = sectionId;
|
|
||||||
widgetSelectionPopupLoader.item.allWidgets = widgetsTab.getWidgetsForPopup();
|
|
||||||
widgetSelectionPopupLoader.item.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
DankFlickable {
|
DankFlickable {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
clip: true
|
clip: true
|
||||||
@@ -1128,7 +1113,9 @@ Item {
|
|||||||
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
||||||
}
|
}
|
||||||
onAddWidget: sectionId => {
|
onAddWidget: sectionId => {
|
||||||
showWidgetSelectionPopup(sectionId);
|
widgetSelectionPopup.targetSection = sectionId;
|
||||||
|
widgetSelectionPopup.allWidgets = widgetsTab.getWidgetsForPopup();
|
||||||
|
widgetSelectionPopup.show();
|
||||||
}
|
}
|
||||||
onRemoveWidget: (sectionId, index) => {
|
onRemoveWidget: (sectionId, index) => {
|
||||||
widgetsTab.removeWidgetFromSection(sectionId, index);
|
widgetsTab.removeWidgetFromSection(sectionId, index);
|
||||||
@@ -1183,7 +1170,9 @@ Item {
|
|||||||
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
||||||
}
|
}
|
||||||
onAddWidget: sectionId => {
|
onAddWidget: sectionId => {
|
||||||
showWidgetSelectionPopup(sectionId);
|
widgetSelectionPopup.targetSection = sectionId;
|
||||||
|
widgetSelectionPopup.allWidgets = widgetsTab.getWidgetsForPopup();
|
||||||
|
widgetSelectionPopup.show();
|
||||||
}
|
}
|
||||||
onRemoveWidget: (sectionId, index) => {
|
onRemoveWidget: (sectionId, index) => {
|
||||||
widgetsTab.removeWidgetFromSection(sectionId, index);
|
widgetsTab.removeWidgetFromSection(sectionId, index);
|
||||||
@@ -1238,7 +1227,9 @@ Item {
|
|||||||
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
widgetsTab.handleItemOrderChanged(sectionId, newOrder);
|
||||||
}
|
}
|
||||||
onAddWidget: sectionId => {
|
onAddWidget: sectionId => {
|
||||||
showWidgetSelectionPopup(sectionId);
|
widgetSelectionPopup.targetSection = sectionId;
|
||||||
|
widgetSelectionPopup.allWidgets = widgetsTab.getWidgetsForPopup();
|
||||||
|
widgetSelectionPopup.show();
|
||||||
}
|
}
|
||||||
onRemoveWidget: (sectionId, index) => {
|
onRemoveWidget: (sectionId, index) => {
|
||||||
widgetsTab.removeWidgetFromSection(sectionId, index);
|
widgetsTab.removeWidgetFromSection(sectionId, index);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ Singleton {
|
|||||||
id: root
|
id: root
|
||||||
|
|
||||||
readonly property string currentVersion: "1.2"
|
readonly property string currentVersion: "1.2"
|
||||||
readonly property bool changelogEnabled: true
|
readonly property bool changelogEnabled: false
|
||||||
|
|
||||||
readonly property string configDir: Paths.strip(StandardPaths.writableLocation(StandardPaths.ConfigLocation)) + "/DankMaterialShell"
|
readonly property string configDir: Paths.strip(StandardPaths.writableLocation(StandardPaths.ConfigLocation)) + "/DankMaterialShell"
|
||||||
readonly property string changelogMarkerPath: configDir + "/.changelog-" + currentVersion
|
readonly property string changelogMarkerPath: configDir + "/.changelog-" + currentVersion
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ Singleton {
|
|||||||
property var colorPickerModal: null
|
property var colorPickerModal: null
|
||||||
property var notificationModal: null
|
property var notificationModal: null
|
||||||
property var wifiPasswordModal: null
|
property var wifiPasswordModal: null
|
||||||
property var wifiPasswordModalLoader: null
|
|
||||||
property var polkitAuthModal: null
|
property var polkitAuthModal: null
|
||||||
property var polkitAuthModalLoader: null
|
|
||||||
property var bluetoothPairingModal: null
|
property var bluetoothPairingModal: null
|
||||||
property var networkInfoModal: null
|
property var networkInfoModal: null
|
||||||
|
|
||||||
@@ -418,17 +416,11 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showWifiPasswordModal(ssid) {
|
function showWifiPasswordModal(ssid) {
|
||||||
if (wifiPasswordModalLoader)
|
wifiPasswordModal?.show(ssid);
|
||||||
wifiPasswordModalLoader.active = true;
|
|
||||||
if (wifiPasswordModal)
|
|
||||||
wifiPasswordModal.show(ssid);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function showHiddenNetworkModal() {
|
function showHiddenNetworkModal() {
|
||||||
if (wifiPasswordModalLoader)
|
wifiPasswordModal?.showHidden();
|
||||||
wifiPasswordModalLoader.active = true;
|
|
||||||
if (wifiPasswordModal)
|
|
||||||
wifiPasswordModal.showHidden();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideWifiPasswordModal() {
|
function hideWifiPasswordModal() {
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
v1.2.2
|
v1.4-unstable
|
||||||
|
|||||||
Reference in New Issue
Block a user