update actions

This commit is contained in:
yggverse 2024-09-05 16:40:41 +03:00
parent 5065dd23d6
commit d63ba8f1ad
11 changed files with 97 additions and 127 deletions

View File

@ -32,33 +32,51 @@ Browser::Browser(
* browserMain * browserMain
); );
// Init actions // Init browser window actions
add_action( add_action(
"main_tab_append", "refresh",
[this] [this]
{ {
browserMain->tab_append(); browserMain->refresh();
browserHeader->set_title(
browserMain->get_current_tab_page_title()
);
browserHeader->set_subtitle(
browserMain->get_current_tab_page_subtitle()
);
} }
); );
add_action( add_action(
"main_tab_page_update", "debug",
[this] [this]
{ {
browserMain->tab_update(); // @TODO https://gitlab.gnome.org/GNOME/gtkmm/-/commit/5f3b82537d3daad7bda59dd01e719788070f4b6c
gtk_window_set_interactive_debugging(
true
);
} }
); );
// Close // Tab actions
add_action( add_action(
"main_tab_close", "main_tab_append",
[this] [this]
{ {
browserMain->tab_close(); browserMain->tab_append();
} }
); );
add_action(
"main_tab_close",
[this]
{
browserMain->tab_close();
}
);
// Close submenu
add_action( add_action(
"main_tab_close_left", "main_tab_close_left",
[this] [this]
@ -83,49 +101,28 @@ Browser::Browser(
} }
); );
// History // Tab page navigation actions
add_action( add_action(
"main_tab_page_navigation_history_try_back", "main_tab_page_navigation_update",
[this] [this]
{ {
browserMain->tab_page_navigation_history_try_back(); browserMain->tab_page_update();
} }
);
add_action(
"main_tab_page_navigation_history_try_forward",
[this]
{
browserMain->tab_page_navigation_history_try_forward();
}
);
// Tool
add_action(
"debug",
[this]
{
// @TODO https://gitlab.gnome.org/GNOME/gtkmm/-/commit/5f3b82537d3daad7bda59dd01e719788070f4b6c
gtk_window_set_interactive_debugging(
true
);
}
);
// Hidden
add_action(
"refresh",
[this]
{
browserMain->refresh();
browserHeader->set_title(
browserMain->get_current_tab_page_title()
); );
browserHeader->set_subtitle( add_action(
browserMain->get_current_tab_page_subtitle() "main_tab_page_navigation_history_try_back",
[this]
{
browserMain->tab_page_navigation_history_try_back();
}
);
add_action(
"main_tab_page_navigation_history_try_forward",
[this]
{
browserMain->tab_page_navigation_history_try_forward();
}
); );
}
);
} }

View File

@ -96,7 +96,7 @@ Glib::RefPtr<Gio::Menu> Menu::main_tab_page_navigation(
menu->append( menu->append(
_("Update"), _("Update"),
"win.main_tab_page_update" "win.main_tab_page_navigation_update"
); );
return menu; return menu;

View File

@ -38,6 +38,13 @@ Glib::ustring Main::get_current_tab_page_subtitle()
}; };
// Actions // Actions
void Main::refresh()
{
mainTab->refresh(
mainTab->get_current_page()
);
};
void Main::tab_append() void Main::tab_append()
{ {
mainTab->append( mainTab->append(
@ -45,13 +52,6 @@ void Main::tab_append()
); );
}; };
void Main::tab_update()
{
mainTab->update(
mainTab->get_current_page()
);
};
void Main::tab_close() void Main::tab_close()
{ {
mainTab->close( mainTab->close(
@ -74,6 +74,13 @@ void Main::tab_close_all()
mainTab->close_all(); mainTab->close_all();
}; };
void Main::tab_page_update()
{
mainTab->page_update(
mainTab->get_current_page()
);
};
bool Main::tab_page_navigation_history_try_back() bool Main::tab_page_navigation_history_try_back()
{ {
const int & PAGE_NUMBER = mainTab->get_current_page(); const int & PAGE_NUMBER = mainTab->get_current_page();
@ -102,11 +109,4 @@ bool Main::tab_page_navigation_history_try_forward()
} }
return false; return false;
};
void Main::refresh()
{
mainTab->refresh(
mainTab->get_current_page()
);
}; };

View File

@ -36,7 +36,7 @@ namespace app::browser
void tab_close_right(); void tab_close_right();
void tab_close(); void tab_close();
void tab_update(); void tab_page_update();
bool tab_page_navigation_history_try_back(); bool tab_page_navigation_history_try_back();
bool tab_page_navigation_history_try_forward(); bool tab_page_navigation_history_try_forward();

View File

@ -124,21 +124,12 @@ void Tab::refresh(
); );
} }
void Tab::update( void Tab::page_update(
const int & PAGE_NUMBER const int & PAGE_NUMBER
) { ) {
auto pageWidget = get_nth_page( get_tabPage(
PAGE_NUMBER PAGE_NUMBER
); )->update();
if (pageWidget == nullptr)
{
throw _("Tab page not found!");
}
pageWidget->activate_action(
"page.update"
);
} }
// Private helpers // Private helpers

View File

@ -40,6 +40,10 @@ namespace app::browser::main
); );
// Actions // Actions
void refresh(
const int & PAGE_NUMBER // @TODO
);
void append( void append(
const Glib::ustring & TITLE, const Glib::ustring & TITLE,
const Glib::ustring & REQUEST = "", const Glib::ustring & REQUEST = "",
@ -54,21 +58,17 @@ namespace app::browser::main
void close_right(); void close_right();
void close_all(); void close_all();
bool page_navigation_history_try_back( void page_update(
const int & PAGE_NUMBER const int & PAGE_NUMBER
); );
bool page_navigation_history_try_forward( bool page_navigation_history_try_back(
const int & PAGE_NUMBER const int & PAGE_NUMBER
); );
void refresh( bool page_navigation_history_try_forward(
const int & PAGE_NUMBER const int & PAGE_NUMBER
); );
void update(
const int & PAGE_NUMBER
);
}; };
} }

View File

@ -15,23 +15,6 @@ Page::Page(
Gtk::Orientation::VERTICAL Gtk::Orientation::VERTICAL
); );
// Init actions group
auto GioSimpleActionGroup = Gio::SimpleActionGroup::create();
// Define group actions
GioSimpleActionGroup->add_action(
"update",
[this]
{
Page::update();
}
);
insert_action_group(
"page",
GioSimpleActionGroup
);
// Init components // Init components
pageNavigation = Gtk::make_managed<page::Navigation>( pageNavigation = Gtk::make_managed<page::Navigation>(
REQUEST REQUEST

View File

@ -4,7 +4,6 @@
#include <giomm/asyncresult.h> #include <giomm/asyncresult.h>
#include <giomm/inputstream.h> #include <giomm/inputstream.h>
#include <giomm/outputstream.h> #include <giomm/outputstream.h>
#include <giomm/simpleactiongroup.h>
#include <giomm/socketclient.h> #include <giomm/socketclient.h>
#include <giomm/socketconnection.h> #include <giomm/socketconnection.h>
#include <glibmm/i18n.h> #include <glibmm/i18n.h>

View File

@ -42,7 +42,7 @@ Request::Request(
parse(); parse();
activate_action( activate_action(
"page.update" "win.main_tab_page_navigation_update"
); );
} }
); );

View File

@ -5,7 +5,7 @@ using namespace app::browser::main::tab::page::navigation;
Update::Update() Update::Update()
{ {
set_action_name( set_action_name(
"page.update" "win.main_tab_page_navigation_update"
); );
set_icon_name( set_icon_name(

View File

@ -27,16 +27,6 @@ int main(
); );
// Init accels @TODO db settings // Init accels @TODO db settings
app->set_accel_for_action(
"win.main_tab_append",
"<Primary>t"
);
app->set_accel_for_action(
"win.main_tab_page_update",
"<Primary>r"
);
app->set_accel_for_action( app->set_accel_for_action(
"win.debug", "win.debug",
"<Primary>i" "<Primary>i"
@ -47,6 +37,16 @@ int main(
"<Primary>q" "<Primary>q"
); );
app->set_accel_for_action(
"win.main_tab_append",
"<Primary>t"
);
app->set_accel_for_action(
"win.main_tab_page_navigation_update",
"<Primary>r"
);
// Launch browser component // Launch browser component
return app->make_window_and_run<app::Browser>( return app->make_window_and_run<app::Browser>(
argc, argc,