move debug menu item to the tool submenu, draft open profile dir action

This commit is contained in:
yggverse 2024-10-04 16:19:26 +03:00
parent c8d0b7151e
commit 82219c01b9
5 changed files with 41 additions and 21 deletions

View file

@ -29,7 +29,8 @@ impl Browser {
// Extras
// connection: Arc<sqlite::Connection>,
// Actions
action_debug: Arc<SimpleAction>,
action_tool_debug: Arc<SimpleAction>,
action_tool_profile_directory: Arc<SimpleAction>,
action_quit: Arc<SimpleAction>,
action_update: Arc<SimpleAction>,
action_tab_append: Arc<SimpleAction>,
@ -46,7 +47,8 @@ impl Browser {
// Init components
let header = Arc::new(Header::new(
action_debug.clone(),
action_tool_debug.clone(),
action_tool_profile_directory.clone(),
action_quit.clone(),
action_tab_append.clone(),
action_tab_close.clone(),
@ -75,7 +77,8 @@ impl Browser {
.build();
// Assign actions
widget.add_action(action_debug.as_ref());
widget.add_action(action_tool_debug.as_ref());
widget.add_action(action_tool_profile_directory.as_ref());
widget.add_action(action_quit.as_ref());
widget.add_action(action_update.as_ref());
widget.add_action(action_tab_append.as_ref());
@ -88,13 +91,19 @@ impl Browser {
widget.add_action(action_tab_pin.as_ref());
// Init events
action_debug.connect_activate({
action_tool_debug.connect_activate({
let widget = widget.clone();
move |_, _| {
widget.emit_enable_debugging(true);
}
});
action_tool_profile_directory.connect_activate({
move |_, _| {
// @TODO
}
});
action_quit.connect_activate({
let widget = widget.clone();
move |_, _| {

View file

@ -16,7 +16,8 @@ pub struct Header {
impl Header {
// Construct
pub fn new(
action_debug: Arc<SimpleAction>,
action_tool_debug: Arc<SimpleAction>,
action_tool_profile_directory: Arc<SimpleAction>,
action_quit: Arc<SimpleAction>,
action_tab_append: Arc<SimpleAction>,
action_tab_close: Arc<SimpleAction>,
@ -29,7 +30,8 @@ impl Header {
) -> Self {
// Init components
let tray = Tray::new(
action_debug,
action_tool_debug,
action_tool_profile_directory,
action_quit,
action_tab_append,
action_tab_close,

View file

@ -18,7 +18,8 @@ pub struct Tray {
impl Tray {
pub fn new(
action_debug: Arc<SimpleAction>,
action_tool_debug: Arc<SimpleAction>,
action_tool_profile_directory: Arc<SimpleAction>,
action_quit: Arc<SimpleAction>,
action_tab_append: Arc<SimpleAction>,
action_tab_close: Arc<SimpleAction>,
@ -33,7 +34,8 @@ impl Tray {
let tab = Tab::new(action_tab_append.clone());
let menu = Menu::new(
action_debug,
action_tool_debug,
action_tool_profile_directory,
action_quit,
action_tab_append,
action_tab_close,

View file

@ -13,7 +13,8 @@ pub struct Menu {
#[rustfmt::skip] // @TODO template builder?
impl Menu {
pub fn new(
action_debug: Arc<SimpleAction>,
action_tool_debug: Arc<SimpleAction>,
action_tool_profile_directory: Arc<SimpleAction>,
action_quit: Arc<SimpleAction>,
action_tab_append: Arc<SimpleAction>,
action_tab_close: Arc<SimpleAction>,
@ -55,7 +56,13 @@ impl Menu {
model_tab.append_submenu(Some("Close"), &model_tab_close);
model.append_submenu(Some("Tab"), &model_tab);
model.append(Some("Debug"), Some(&detailed_action_name(action_debug)));
let model_tool = gio::Menu::new();
model_tool.append(Some("Debug"), Some(&detailed_action_name(action_tool_debug)));
model_tool.append(Some("Profile directory"), Some(&detailed_action_name(action_tool_profile_directory)));
model.append_submenu(Some("Tool"), &model_tool);
model.append(Some("Quit"), Some(&detailed_action_name(action_quit)));
// Init widget