feat: Add proper popover menu and shortcuts

This commit is contained in:
Fabio Lenherr / DashieTM 2023-12-12 02:12:50 +01:00 committed by takotori
parent 1ecc369d34
commit 5ec6de95c0
8 changed files with 192 additions and 95 deletions

View file

@ -1,6 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gio" version="2.0"/>
<requires lib="gtk" version="4.12"/>
<requires lib="libadwaita" version="1.4"/>
<template class="resetUI" parent="AdwApplicationWindow">
@ -38,33 +39,7 @@
<property name="hexpand">True</property>
<property name="hexpand-set">True</property>
<property name="icon-name">open-menu-symbolic</property>
<property name="popover">
<object class="GtkPopoverMenu" id="reset_popover_menu">
<property name="child">
<object class="GtkBox">
<property name="orientation">vertical</property>
<child>
<object class="GtkButton" id="reset_shortcuts_button">
<property name="has-frame">False</property>
<property name="label">Shortcuts</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset_preference_button">
<property name="has-frame">False</property>
<property name="label">Preferences</property>
</object>
</child>
<child>
<object class="GtkButton" id="reset_about_button">
<property name="has-frame">False</property>
<property name="label">About</property>
</object>
</child>
</object>
</property>
</object>
</property>
<property name="menu-model">main_menu</property>
<property name="valign">end</property>
<property name="vexpand">True</property>
</object>
@ -152,4 +127,14 @@
</object>
</child>
</template>
<menu id="main_menu">
<item>
<attribute name="action">win.about</attribute>
<attribute name="label">About</attribute>
</item>
<item>
<attribute name="action">win.show-help-overlay</attribute>
<attribute name="label">Shortcuts</attribute>
</item>
</menu>
</interface>

View file

@ -0,0 +1,15 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gio" version="2.0"/>
<menu id="menu">
<item>
<attribute name="action">win.about</attribute>
<attribute name="label">About</attribute>
</item>
<item>
<attribute name="action">win.show-help-overlay</attribute>
<attribute name="label">Shortcuts</attribute>
</item>
</menu>
</interface>

View file

@ -0,0 +1,39 @@
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.17.0 -->
<interface>
<requires lib="gtk" version="4.0"/>
<object class="GtkShortcutsWindow" id="help_overlay">
<child>
<object class="GtkShortcutsSection">
<child>
<object class="GtkShortcutsGroup">
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;Ctrl&gt;F</property>
<property name="action-name">win.search</property>
<property name="icon-set">True</property>
<property name="title">Search for Setting</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;Ctrl&gt;Q</property>
<property name="action-name">win.close</property>
<property name="icon-set">True</property>
<property name="title">Close ReSet</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="accelerator">&lt;Ctrl&gt;A</property>
<property name="action-name">win.about</property>
<property name="icon-set">True</property>
<property name="title">Show about window</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View file

@ -21,7 +21,8 @@
(20,None,None,"resetCardEntry.ui",None,None,None,None,None,None,None),
(21,1,None,"resetWifiOptions.ui",None,None,None,None,None,None,None),
(22,1,None,"resetWifiAddressEntry.ui",None,None,None,None,None,None,None),
(23,1,None,"resetWifiRouteEntry.ui",None,None,None,None,None,None,None)
(23,1,None,"resetWifiRouteEntry.ui",None,None,None,None,None,None,None),
(24,None,None,"resetShortcuts.ui",None,None,None,None,None,None,None)
</ui>
<ui_library>
(21,"gtk","4.12",None),
@ -40,17 +41,23 @@
(3,26,"GtkButton","reset_sidebar_toggle",25,None,None,None,None,None),
(3,31,"GtkButton","reset_close",25,None,None,None,2,None),
(3,33,"GtkMenuButton",None,25,None,None,None,1,None),
(3,35,"GtkPopoverMenu","reset_popover_menu",33,None,None,None,-1,None),
(3,36,"GtkBox",None,35,None,None,None,-1,None),
(3,38,"GtkButton","reset_preference_button",36,None,None,None,1,None),
(3,39,"GtkButton","reset_about_button",36,None,None,None,2,None),
(3,40,"GtkScrolledWindow",None,18,None,None,None,1,None),
(3,41,"GtkViewport",None,40,None,None,None,None,None),
(3,42,"GtkListBox","reset_sidebar_list",41,None,None,None,None,None),
(3,43,"GtkScrolledWindow",None,3,None,None,None,1,None),
(3,44,"GtkViewport",None,43,None,None,None,None,None),
(3,45,"GtkFlowBox","reset_main",44,None,None,None,None,None),
(3,51,"GtkButton","reset_shortcuts_button",36,None,None,None,None,None),
(3,54,"(menu)","main_menu",None,None,None,None,None,None),
(3,59,"(external)","54",None,None,None,None,None,None),
(3,61,"(external)","59",None,None,None,None,None,None),
(3,63,"(external)","61",None,None,None,None,None,None),
(3,65,"(external)","63",None,None,None,None,None,None),
(3,69,"(external)","67",None,None,None,None,None,None),
(3,72,"(external)","71",None,None,None,None,None,None),
(3,73,"(item)",None,54,None,None,None,1,None),
(3,74,"(external)","72",None,None,None,None,None,None),
(3,75,"(item)",None,54,None,None,None,2,None),
(3,76,"(external)","74",None,None,None,None,None,None),
(4,7,"GtkBox","resetWifi",None,None,None,None,None,None),
(4,152,"AdwNavigationView","reset_wifi_navigation",7,None,None,None,1,None),
(4,153,"AdwNavigationPage",None,152,None,None,None,None,None),
@ -289,7 +296,13 @@
(23,8,"AdwEntryRow","reset_route_metric",6,None,None,None,1,None),
(23,9,"GtkBox",None,2,None,None,None,None,None),
(23,10,"AdwEntryRow","reset_route_address",9,None,None,None,None,None),
(23,11,"AdwEntryRow","reset_route_prefix",9,None,None,None,1,None)
(23,11,"AdwEntryRow","reset_route_prefix",9,None,None,None,1,None),
(24,1,"GtkShortcutsWindow","help_overlay",None,None,None,None,-1,None),
(24,2,"GtkShortcutsSection",None,1,None,None,None,-1,None),
(24,3,"GtkShortcutsGroup",None,2,None,None,None,-1,None),
(24,4,"GtkShortcutsShortcut",None,3,None,None,None,-1,None),
(24,5,"GtkShortcutsShortcut",None,3,None,None,None,-1,None),
(24,6,"GtkShortcutsShortcut",None,3,None,None,None,2,None)
</object>
<object_property>
(3,1,"GtkWidget","height-request","200",None,None,None,None,None,None,None,None,None),
@ -321,18 +334,12 @@
(3,33,"GtkMenuButton","can-shrink","True",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
(3,33,"GtkMenuButton","popover",None,None,None,None,None,35,None,None,None,None),
(3,33,"GtkMenuButton","menu-model","54",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","valign","end",None,None,None,None,None,None,None,None,None),
(3,33,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None),
(3,35,"GtkPopover","child",None,None,None,None,None,36,None,None,None,None),
(3,36,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(3,38,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,38,"GtkButton","label","Preferences",None,None,None,None,None,None,None,None,None),
(3,39,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,39,"GtkButton","label","About",None,None,None,None,None,None,None,None,None),
(3,40,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
(3,40,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(3,42,"GtkWidget","css-name","resetList",None,None,None,None,None,None,None,None,None),
@ -345,8 +352,10 @@
(3,45,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","margin-top","5",None,None,None,None,None,None,None,None,None),
(3,45,"GtkWidget","valign","start",None,None,None,None,None,None,None,None,None),
(3,51,"GtkButton","has-frame","False",None,None,None,None,None,None,None,None,None),
(3,51,"GtkButton","label","Shortcuts",None,None,None,None,None,None,None,None,None),
(3,73,"(item)","action","win.about",None,None,None,None,None,None,None,None,None),
(3,73,"(item)","label","About",None,None,None,None,None,None,None,None,None),
(3,75,"(item)","action","win.show-help-overlay",None,None,None,None,None,None,None,None,None),
(3,75,"(item)","label","Shortcuts",None,None,None,None,None,None,None,None,None),
(4,7,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
(4,7,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(4,7,"GtkWidget","hexpand-set","True",None,None,None,None,None,None,None,None,None),
@ -819,7 +828,19 @@
(23,10,"AdwPreferencesRow","title","Address",None,None,None,None,None,None,None,None,None),
(23,10,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(23,11,"AdwPreferencesRow","title","Prefix",None,None,None,None,None,None,None,None,None),
(23,11,"GtkEditable","max-width-chars","5",None,None,None,None,None,None,None,None,None)
(23,11,"GtkEditable","max-width-chars","5",None,None,None,None,None,None,None,None,None),
(24,4,"GtkShortcutsShortcut","accelerator","&lt;Ctrl&gt;F",None,None,None,None,None,None,None,None,None),
(24,4,"GtkShortcutsShortcut","action-name","win.search",None,None,None,None,None,None,None,None,None),
(24,4,"GtkShortcutsShortcut","icon-set","True",None,None,None,None,None,None,None,None,None),
(24,4,"GtkShortcutsShortcut","title","Search for Setting",None,None,None,None,None,None,None,None,None),
(24,5,"GtkShortcutsShortcut","accelerator","&lt;Ctrl&gt;Q",None,None,None,None,None,None,None,None,None),
(24,5,"GtkShortcutsShortcut","action-name","win.close",None,None,None,None,None,None,None,None,None),
(24,5,"GtkShortcutsShortcut","icon-set","True",None,None,None,None,None,None,None,None,None),
(24,5,"GtkShortcutsShortcut","title","Close ReSet",None,None,None,None,None,None,None,None,None),
(24,6,"GtkShortcutsShortcut","accelerator","&lt;Ctrl&gt;A",None,None,None,None,None,None,None,None,None),
(24,6,"GtkShortcutsShortcut","action-name","win.about",None,None,None,None,None,None,None,None,None),
(24,6,"GtkShortcutsShortcut","icon-set","True",None,None,None,None,None,None,None,None,None),
(24,6,"GtkShortcutsShortcut","title","Show about window",None,None,None,None,None,None,None,None,None)
</object_property>
<object_data>
(3,42,"GtkWidget",1,1,None,None,None,None,None,None),

View file

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/Xetibo/ReSet/">
<!--Main window-->
<!--Main
window-->
<file compressed="true" preprocess="xml-stripblanks">resetMainWindow.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetSidebarEntry.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetSettingBox.ui</file>
@ -26,6 +27,8 @@
<file compressed="true" preprocess="xml-stripblanks">resetSourceEntry.ui</file>
<!--Misc-->
<file compressed="true" preprocess="xml-stripblanks">resetPopup.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="gtk/help-overlay.ui">resetShortcuts.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetMenu.ui</file>
<file compressed="true" preprocess="xml-stripblanks">resetCardEntry.ui</file>
</gresource>
</gresources>