implement update action dependencies

This commit is contained in:
yggverse 2024-09-08 04:20:25 +03:00
parent 1a548977a2
commit d869b4b3e7
11 changed files with 56 additions and 23 deletions

View file

@ -9,7 +9,8 @@ Page::Page(
const Glib::ustring & SUBTITLE,
const Glib::ustring & REQUEST,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_BACK,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_FORWARD
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_FORWARD,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_UPDATE
) {
// Init container
set_orientation(
@ -20,7 +21,8 @@ Page::Page(
pageNavigation = Gtk::make_managed<page::Navigation>(
REQUEST,
ACTION__PAGE_NAVIGATION_HISTORY_BACK,
ACTION__PAGE_NAVIGATION_HISTORY_FORWARD
ACTION__PAGE_NAVIGATION_HISTORY_FORWARD,
ACTION__PAGE_NAVIGATION_UPDATE
);
append(

View file

@ -46,7 +46,8 @@ namespace app::browser::main::tab
const Glib::ustring & SUBTITLE,
const Glib::ustring & REQUEST,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_BACK,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_FORWARD
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_HISTORY_FORWARD,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__PAGE_NAVIGATION_UPDATE
);
// Actions

View file

@ -10,7 +10,8 @@ using namespace app::browser::main::tab::page;
Navigation::Navigation(
const Glib::ustring & REQUEST,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_BACK,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_FORWARD
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_FORWARD,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_UPDATE
) {
// Init container
set_orientation(
@ -53,7 +54,9 @@ Navigation::Navigation(
* navigationHistory
);
navigationUpdate = Gtk::make_managed<navigation::Update>();
navigationUpdate = Gtk::make_managed<navigation::Update>(
ACTION__NAVIGATION_UPDATE
);
append(
* navigationUpdate

View file

@ -37,7 +37,8 @@ namespace app::browser::main::tab::page
Navigation(
const Glib::ustring & REQUEST,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_BACK,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_FORWARD
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_HISTORY_FORWARD,
const Glib::RefPtr<Gio::SimpleAction> & ACTION__NAVIGATION_UPDATE
);
// Actions

View file

@ -2,12 +2,13 @@
using namespace app::browser::main::tab::page::navigation;
Update::Update()
{
set_action_name(
"win.main_tab_page_navigation_update"
);
Update::Update(
const Glib::RefPtr<Gio::SimpleAction> & ACTION__UPDATE
) {
// Init actions
action__update = ACTION__UPDATE;
// Init widget
set_icon_name(
"view-refresh-symbolic"
);
@ -15,4 +16,16 @@ Update::Update()
set_tooltip_text(
_("Update")
);
/* @TODO
set_sensitive(
false
); */
signal_clicked().connect(
[this]
{
action__update->activate();
}
);
}

View file

@ -1,16 +1,22 @@
#ifndef APP_BROWSER_MAIN_TAB_PAGE_NAVIGATION_UPDATE_HPP
#define APP_BROWSER_MAIN_TAB_PAGE_NAVIGATION_UPDATE_HPP
#include <giomm/simpleaction.h>
#include <glibmm/i18n.h>
#include <glibmm/refptr.h>
#include <gtkmm/button.h>
namespace app::browser::main::tab::page::navigation
{
class Update : public Gtk::Button
{
Glib::RefPtr<Gio::SimpleAction> action__update;
public:
Update();
Update(
const Glib::RefPtr<Gio::SimpleAction> & ACTION__UPDATE
);
};
}