Skip to content

Commit c230aa8

Browse files
UrtsiSantsitheCapypara
authored andcommitted
Library: Port 'Toolbar View' to Python (#730)
Co-authored-by: Marco Köpcke <[email protected]>
1 parent 0d96e06 commit c230aa8

File tree

1 file changed

+74
-0
lines changed
  • src/Library/demos/Toolbar View

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
import gi
2+
3+
gi.require_version("Gtk", "4.0")
4+
gi.require_version("Adw", "1")
5+
from gi.repository import Adw
6+
import workbench
7+
8+
topbar_select: Adw.ComboRow = workbench.builder.get_object("topbar_select")
9+
bottombar_select: Adw.ComboRow = workbench.builder.get_object("bottombar_select")
10+
toolbar_view: Adw.ToolbarView = workbench.builder.get_object("toolbar_view")
11+
12+
top_bar = None
13+
bottom_bar = None
14+
15+
16+
def change_top_bar(name):
17+
global top_bar
18+
new_top_bar = workbench.builder.get_object(name)
19+
if top_bar:
20+
toolbar_view.remove(top_bar)
21+
toolbar_view.add_top_bar(new_top_bar)
22+
top_bar = new_top_bar
23+
24+
25+
def change_bottom_bar(name):
26+
global bottom_bar
27+
new_bottom_bar = workbench.builder.get_object(name)
28+
if bottom_bar:
29+
toolbar_view.remove(bottom_bar)
30+
toolbar_view.add_bottom_bar(new_bottom_bar)
31+
bottom_bar = new_bottom_bar
32+
33+
34+
def select_top_bar(*args):
35+
match topbar_select.get_selected():
36+
case 0:
37+
change_top_bar("header_bar")
38+
case 1:
39+
change_top_bar("tab_bar")
40+
case 2:
41+
change_top_bar("switcher_bar")
42+
case 3:
43+
change_top_bar("action_bar")
44+
case 4:
45+
change_top_bar("popover")
46+
case 5:
47+
change_top_bar("search_bar")
48+
case 6:
49+
change_top_bar("gtk_box")
50+
51+
52+
def select_bottom_bar(*args):
53+
match bottombar_select.get_selected():
54+
case 0:
55+
change_bottom_bar("header_bar")
56+
case 1:
57+
change_bottom_bar("tab_bar")
58+
case 2:
59+
change_bottom_bar("switcher_bar")
60+
case 3:
61+
change_bottom_bar("action_bar")
62+
case 4:
63+
change_bottom_bar("popover")
64+
case 5:
65+
change_bottom_bar("search_bar")
66+
case 6:
67+
change_bottom_bar("gtk_box")
68+
69+
70+
topbar_select.connect("notify::selected-item", select_top_bar)
71+
bottombar_select.connect("notify::selected-item", select_bottom_bar)
72+
73+
select_top_bar()
74+
select_bottom_bar()

0 commit comments

Comments
 (0)