feat: add status page to preset manager

This commit is contained in:
0xMRTT 2022-09-27 00:02:19 +02:00
parent 3b229a088a
commit cd8cbc01d7
No known key found for this signature in database
GPG key ID: AC9E06BF3DECB6FB
3 changed files with 30 additions and 23 deletions

View file

@ -21,6 +21,7 @@ template GradienceNoPluginPrefWindow: Adw.Window {
Adw.StatusPage {
name: "empty";
title: _("No preferences");
icon-name: "system-search-symbolic";
description: _("This plugin doesn't have any settings");
}

View file

@ -4,7 +4,7 @@ using Adw 1;
template GradiencePresetWindow : Adw.Window {
title: _("Presets");
default-width: 700;
default-height: 500;
default-height: 520;
Adw.ToastOverlay toast_overlay {
Adw.Leaflet leaflet {
@ -116,19 +116,17 @@ template GradiencePresetWindow : Adw.Window {
Gtk.StackPage {
name: "page_empty";
child: Gtk.Label {
label: _("No Results Found");
valign: start;
halign: center;
child: Adw.StatusPage {
icon-name: "system-search-symbolic";
title: _("No Results Found");
};
}
Gtk.StackPage {
name: "page_offline";
child: Gtk.Label {
label: _("Offline");
valign: start;
halign: center;
child: Adw.StatusPage {
icon-name: "network-wireless-offline-symbolic";
title: _("Offline");
};
}
}

View file

@ -231,24 +231,32 @@ class GradiencePresetWindow(Adw.Window):
buglog(f"Presets amount: {len(self.search_results_list)}")
buglog(f"Search string: {search_text}")
buglog("Items found:")
for widget in self.search_results_list:
widget.props.visible = False
if not (
self.search_dropdown.props.selected_item.get_string().lower() in "all"
):
if (
self.search_dropdown.props.selected_item.get_string().lower()
in widget.prefix.lower()
items_count = 0
if not self.offline:
self.search_stack.set_visible_child_name("page_results")
for widget in self.search_results_list:
widget.props.visible = False
if not (
self.search_dropdown.props.selected_item.get_string().lower() in "all"
):
if (
self.search_dropdown.props.selected_item.get_string().lower()
in widget.prefix.lower()
):
if search_text.lower() in widget.props.title.lower():
widget.props.visible = True
items_count += 1
buglog(widget.props.title)
else:
if search_text.lower() in widget.props.title.lower():
widget.props.visible = True
items_count += 1
buglog(widget.props.title)
else:
if search_text.lower() in widget.props.title.lower():
widget.props.visible = True
buglog(widget.props.title)
elif search_text == "":
widget.props.visible = True
elif search_text == "":
widget.props.visible = True
items_count += 1
if items_count == 0:
self.search_stack.set_visible_child_name("page_empty")
def on_search_ended(self, *args):
for widget in self.search_results_list: