Initial sidebar filter work
This commit is contained in:
@@ -45,15 +45,81 @@ Adw.StatusPage hidden_notice_empty {
|
|||||||
|
|
||||||
template $CartridgesWindow : Adw.ApplicationWindow {
|
template $CartridgesWindow : Adw.ApplicationWindow {
|
||||||
title: _("Cartridges");
|
title: _("Cartridges");
|
||||||
|
width-request: 281;
|
||||||
|
height-request: 100;
|
||||||
|
|
||||||
|
Adw.Breakpoint {
|
||||||
|
condition ("max-width: 564px")
|
||||||
|
setters {
|
||||||
|
overlay_split_view.collapsed: true;
|
||||||
|
details_view_box.orientation: vertical;
|
||||||
|
details_view_box.margin-top: 12;
|
||||||
|
details_view_box.margin-start: 12;
|
||||||
|
details_view_box.margin-end: 12;
|
||||||
|
details_view_details_box.margin-start: 0;
|
||||||
|
details_view_details_box.margin-end: 0;
|
||||||
|
details_view_title.margin-top: 30;
|
||||||
|
details_view_title.halign: center;
|
||||||
|
details_view_developer.halign: center;
|
||||||
|
details_view_date_box.halign: center;
|
||||||
|
details_view_toolbar.halign: center;
|
||||||
|
details_view_toolbar.orientation: vertical;
|
||||||
|
details_view_play_button.halign: center;
|
||||||
|
details_view_toolbar_buttons.margin-start: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Adw.ToastOverlay toast_overlay {
|
Adw.ToastOverlay toast_overlay {
|
||||||
Adw.NavigationView navigation_view {
|
Adw.NavigationView navigation_view {
|
||||||
Adw.NavigationPage library_page {
|
Adw.NavigationPage library_page {
|
||||||
title: _("Cartridges");
|
title: _("Cartridges");
|
||||||
|
|
||||||
|
Adw.OverlaySplitView overlay_split_view {
|
||||||
|
[sidebar]
|
||||||
|
Adw.NavigationPage {
|
||||||
|
title: _("Sources");
|
||||||
|
Adw.ToolbarView {
|
||||||
|
[top]
|
||||||
|
Adw.HeaderBar {
|
||||||
|
[start]
|
||||||
|
Button {
|
||||||
|
icon-name: "sidebar-show-symbolic";
|
||||||
|
action-name: "win.show_sidebar";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListBox {
|
||||||
|
Box {
|
||||||
|
Image {
|
||||||
|
icon-name: "view-grid";
|
||||||
|
margin-start: 3;
|
||||||
|
margin-end: 9;
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
halign: start;
|
||||||
|
label: _("All");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
styles ["navigation-sidebar"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Adw.ToolbarView library_view {
|
Adw.ToolbarView library_view {
|
||||||
|
|
||||||
[top]
|
[top]
|
||||||
Adw.HeaderBar header_bar {
|
Adw.HeaderBar header_bar {
|
||||||
|
|
||||||
|
[start]
|
||||||
|
Revealer {
|
||||||
|
transition-type: slide_right;
|
||||||
|
reveal-child: bind-property overlay_split_view.show-sidebar inverted;
|
||||||
|
Button show_sidebar_button {
|
||||||
|
icon-name: "sidebar-show-symbolic";
|
||||||
|
action-name: "win.show_sidebar";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[start]
|
[start]
|
||||||
MenuButton {
|
MenuButton {
|
||||||
tooltip-text: _("Add Game");
|
tooltip-text: _("Add Game");
|
||||||
@@ -112,6 +178,7 @@ template $CartridgesWindow : Adw.ApplicationWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Adw.NavigationPage hidden_library_page {
|
Adw.NavigationPage hidden_library_page {
|
||||||
title: _("Hidden Games");
|
title: _("Hidden Games");
|
||||||
@@ -185,32 +252,6 @@ Adw.NavigationPage details_page {
|
|||||||
Adw.HeaderBar {
|
Adw.HeaderBar {
|
||||||
}
|
}
|
||||||
|
|
||||||
Adw.BreakpointBin {
|
|
||||||
hexpand: true;
|
|
||||||
vexpand: true;
|
|
||||||
width-request: 229;
|
|
||||||
height-request: 54;
|
|
||||||
|
|
||||||
Adw.Breakpoint {
|
|
||||||
condition ("max-width: 564px")
|
|
||||||
setters {
|
|
||||||
details_view_box.orientation: vertical;
|
|
||||||
details_view_box.margin-top: 12;
|
|
||||||
details_view_box.margin-start: 12;
|
|
||||||
details_view_box.margin-end: 12;
|
|
||||||
details_view_details_box.margin-start: 0;
|
|
||||||
details_view_details_box.margin-end: 0;
|
|
||||||
details_view_title.margin-top: 30;
|
|
||||||
details_view_title.halign: center;
|
|
||||||
details_view_developer.halign: center;
|
|
||||||
details_view_date_box.halign: center;
|
|
||||||
details_view_toolbar.halign: center;
|
|
||||||
details_view_toolbar.orientation: vertical;
|
|
||||||
details_view_play_button.halign: center;
|
|
||||||
details_view_toolbar_buttons.margin-start: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ScrolledWindow {
|
ScrolledWindow {
|
||||||
Box details_view_box {
|
Box details_view_box {
|
||||||
halign: center;
|
halign: center;
|
||||||
@@ -374,7 +415,6 @@ Adw.NavigationPage details_page {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Picture details_view_blurred_cover {
|
Picture details_view_blurred_cover {
|
||||||
keep-aspect-ratio: false;
|
keep-aspect-ratio: false;
|
||||||
|
|||||||
@@ -106,6 +106,12 @@
|
|||||||
</choices>
|
</choices>
|
||||||
<default>"a-z"</default>
|
<default>"a-z"</default>
|
||||||
</key>
|
</key>
|
||||||
|
<key name="show-sidebar" type="b">
|
||||||
|
<default>false</default>
|
||||||
|
</key>
|
||||||
|
<key name="filter" type="s">
|
||||||
|
<default>"all"</default>
|
||||||
|
</key>
|
||||||
<key name="steam-limiter-tokens-history" type="s">
|
<key name="steam-limiter-tokens-history" type="s">
|
||||||
<default>"[]"</default>
|
<default>"[]"</default>
|
||||||
</key>
|
</key>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<control>touch</control>
|
<control>touch</control>
|
||||||
</supports>
|
</supports>
|
||||||
<recommends>
|
<recommends>
|
||||||
<display_length compare="gt">229</display_length>
|
<display_length compare="gt">280</display_length>
|
||||||
</recommends>
|
</recommends>
|
||||||
<screenshots>
|
<screenshots>
|
||||||
<screenshot type="default">
|
<screenshot type="default">
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ class CartridgesApplication(Adw.Application):
|
|||||||
("protondb_search",),
|
("protondb_search",),
|
||||||
("lutris_search",),
|
("lutris_search",),
|
||||||
("hltb_search",),
|
("hltb_search",),
|
||||||
|
("show_sidebar", ("F9",), self.win),
|
||||||
("show_hidden", ("<primary>h",), self.win),
|
("show_hidden", ("<primary>h",), self.win),
|
||||||
("go_to_parent", ("<alt>Up",), self.win),
|
("go_to_parent", ("<alt>Up",), self.win),
|
||||||
("go_home", ("<alt>Home",), self.win),
|
("go_home", ("<alt>Home",), self.win),
|
||||||
|
|||||||
@@ -27,9 +27,11 @@ from src.utils.relative_date import relative_date
|
|||||||
class CartridgesWindow(Adw.ApplicationWindow):
|
class CartridgesWindow(Adw.ApplicationWindow):
|
||||||
__gtype_name__ = "CartridgesWindow"
|
__gtype_name__ = "CartridgesWindow"
|
||||||
|
|
||||||
|
overlay_split_view = Gtk.Template.Child()
|
||||||
navigation_view = Gtk.Template.Child()
|
navigation_view = Gtk.Template.Child()
|
||||||
toast_overlay = Gtk.Template.Child()
|
toast_overlay = Gtk.Template.Child()
|
||||||
primary_menu_button = Gtk.Template.Child()
|
primary_menu_button = Gtk.Template.Child()
|
||||||
|
show_sidebar_button = Gtk.Template.Child()
|
||||||
details_view = Gtk.Template.Child()
|
details_view = Gtk.Template.Child()
|
||||||
library_page = Gtk.Template.Child()
|
library_page = Gtk.Template.Child()
|
||||||
library_view = Gtk.Template.Child()
|
library_view = Gtk.Template.Child()
|
||||||
@@ -88,6 +90,8 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
|
|
||||||
self.notice_empty.set_icon_name(shared.APP_ID + "-symbolic")
|
self.notice_empty.set_icon_name(shared.APP_ID + "-symbolic")
|
||||||
|
|
||||||
|
self.overlay_split_view.set_show_sidebar(shared.state_schema.get_boolean("show-sidebar"))
|
||||||
|
|
||||||
if shared.PROFILE == "development":
|
if shared.PROFILE == "development":
|
||||||
self.add_css_class("devel")
|
self.add_css_class("devel")
|
||||||
|
|
||||||
@@ -147,6 +151,9 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
remove_from_overlay(self.hidden_notice_no_results)
|
remove_from_overlay(self.hidden_notice_no_results)
|
||||||
|
|
||||||
def filter_func(self, child):
|
def filter_func(self, child):
|
||||||
|
if shared.state_schema.get_string("filter") != "all":
|
||||||
|
pass
|
||||||
|
|
||||||
game = child.get_child()
|
game = child.get_child()
|
||||||
text = (
|
text = (
|
||||||
(
|
(
|
||||||
@@ -260,6 +267,12 @@ class CartridgesWindow(Adw.ApplicationWindow):
|
|||||||
widget.get_visible_page() == self.library_page
|
widget.get_visible_page() == self.library_page
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def on_show_sidebar_action(self, *_args):
|
||||||
|
shared.state_schema.set_boolean(
|
||||||
|
"show-sidebar", (value := not self.overlay_split_view.get_show_sidebar())
|
||||||
|
)
|
||||||
|
self.overlay_split_view.set_show_sidebar(value)
|
||||||
|
|
||||||
def on_go_to_parent_action(self, *_args):
|
def on_go_to_parent_action(self, *_args):
|
||||||
if self.navigation_view.get_visible_page() == self.details_page:
|
if self.navigation_view.get_visible_page() == self.details_page:
|
||||||
self.navigation_view.pop()
|
self.navigation_view.pop()
|
||||||
|
|||||||
Reference in New Issue
Block a user