From 10b49b77812726201fbb96ac95e174542a9c9015 Mon Sep 17 00:00:00 2001 From: Chandra Kant Date: Thu, 29 Jan 2026 22:20:07 +0530 Subject: [PATCH] Update WallpaperPanel.qml --- Modules/Panels/Wallpaper/WallpaperPanel.qml | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Modules/Panels/Wallpaper/WallpaperPanel.qml b/Modules/Panels/Wallpaper/WallpaperPanel.qml index 88f1781b9..ef4449228 100644 --- a/Modules/Panels/Wallpaper/WallpaperPanel.qml +++ b/Modules/Panels/Wallpaper/WallpaperPanel.qml @@ -752,6 +752,38 @@ SmartPanel { } } + NIconButton { + property string sortOrder: Settings.data.wallpaper.sortOrder || "name" + icon: { + if (sortOrder === "date_desc") return "clock"; + if (sortOrder === "date_asc") return "history"; + if (sortOrder === "name_desc") return "sort-descending"; + return "sort-ascending"; + } + tooltipText: { + if (sortOrder === "date_desc") return "Sort: Newest First"; + if (sortOrder === "date_asc") return "Sort: Oldest First"; + if (sortOrder === "name_desc") return "Sort: Name (Z-A)"; + return "Sort: Name (A-Z)"; + } + baseSize: Style.baseWidgetSize * 0.8 + onClicked: { + var next = "name"; + if (sortOrder === "name") next = "date_desc"; + else if (sortOrder === "date_desc") next = "name"; // Toggle simpler: Name -> Newest -> Name + // Expanded cycle: Name -> Newest -> Oldest -> Z-A -> Name + // User just asked for "newest first", so let's make it easy to reach. + // Let's do: Name (A-Z) -> Newest -> Oldest -> Name (Z-A) -> ... + + if (sortOrder === "name") next = "date_desc"; + else if (sortOrder === "date_desc") next = "date_asc"; + else if (sortOrder === "date_asc") next = "name_desc"; + else next = "name"; + + Settings.data.wallpaper.sortOrder = next; + } + } + NIconButton { icon: getViewModeIcon() tooltipText: getViewModeTooltip()