mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-03-31 16:45:27 +00:00
update save/restore actions delegation
This commit is contained in:
parent
d30ea56530
commit
7795a628de
9 changed files with 76 additions and 74 deletions
|
|
@ -22,6 +22,22 @@ Browser::Browser(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const auto ACTION__RESTORE = add_action(
|
||||||
|
"restore",
|
||||||
|
[this]
|
||||||
|
{
|
||||||
|
browserMain->restore();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const auto ACTION__SAVE = add_action(
|
||||||
|
"save",
|
||||||
|
[this]
|
||||||
|
{
|
||||||
|
browserMain->save();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
const auto ACTION__DEBUG = add_action(
|
const auto ACTION__DEBUG = add_action(
|
||||||
"debug",
|
"debug",
|
||||||
[this]
|
[this]
|
||||||
|
|
@ -151,22 +167,6 @@ Browser::Browser(
|
||||||
"<Primary>Right"
|
"<Primary>Right"
|
||||||
);
|
);
|
||||||
|
|
||||||
const auto ACTION__MAIN_TAB_SESSION_RESTORE = add_action(
|
|
||||||
"main_tab_session_restore",
|
|
||||||
[this]
|
|
||||||
{
|
|
||||||
browserMain->tab_session_restore();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
const auto ACTION__MAIN_TAB_SESSION_SAVE = add_action(
|
|
||||||
"main_tab_session_save",
|
|
||||||
[this]
|
|
||||||
{
|
|
||||||
browserMain->tab_session_save();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
const auto ACTION__QUIT = add_action(
|
const auto ACTION__QUIT = add_action(
|
||||||
"quit",
|
"quit",
|
||||||
[this]
|
[this]
|
||||||
|
|
@ -194,14 +194,14 @@ Browser::Browser(
|
||||||
browserHeader = Gtk::make_managed<browser::Header>(
|
browserHeader = Gtk::make_managed<browser::Header>(
|
||||||
ACTION__DEBUG,
|
ACTION__DEBUG,
|
||||||
ACTION__QUIT,
|
ACTION__QUIT,
|
||||||
|
ACTION__RESTORE,
|
||||||
|
ACTION__SAVE,
|
||||||
ACTION__MAIN_TAB_APPEND,
|
ACTION__MAIN_TAB_APPEND,
|
||||||
ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
ACTION__MAIN_TAB_CLOSE_ALL,
|
ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
set_titlebar(
|
set_titlebar(
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,14 @@ using namespace app::browser;
|
||||||
Header::Header(
|
Header::Header(
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__RESTORE,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__SAVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
) {
|
) {
|
||||||
// Init widget
|
// Init widget
|
||||||
set_show_title_buttons(
|
set_show_title_buttons(
|
||||||
|
|
@ -26,14 +26,14 @@ Header::Header(
|
||||||
headerMenu = Gtk::make_managed<header::Menu>(
|
headerMenu = Gtk::make_managed<header::Menu>(
|
||||||
ACTION__DEBUG,
|
ACTION__DEBUG,
|
||||||
ACTION__QUIT,
|
ACTION__QUIT,
|
||||||
|
ACTION__RESTORE,
|
||||||
|
ACTION__SAVE,
|
||||||
ACTION__MAIN_TAB_APPEND,
|
ACTION__MAIN_TAB_APPEND,
|
||||||
ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
ACTION__MAIN_TAB_CLOSE_ALL,
|
ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
pack_start(
|
pack_start(
|
||||||
|
|
|
||||||
|
|
@ -31,14 +31,14 @@ namespace app::browser
|
||||||
Header(
|
Header(
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__RESTORE,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__SAVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
void refresh(
|
void refresh(
|
||||||
|
|
|
||||||
|
|
@ -5,14 +5,14 @@ using namespace app::browser::header;
|
||||||
Menu::Menu(
|
Menu::Menu(
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__RESTORE,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__SAVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
) {
|
) {
|
||||||
// Init widget
|
// Init widget
|
||||||
set_tooltip_text(
|
set_tooltip_text(
|
||||||
|
|
@ -73,27 +73,6 @@ Menu::Menu(
|
||||||
MENU__MAIN_TAB_PAGE
|
MENU__MAIN_TAB_PAGE
|
||||||
);
|
);
|
||||||
|
|
||||||
const auto MENU__MAIN_TAB_SESSION = Gio::Menu::create();
|
|
||||||
|
|
||||||
MENU__MAIN_TAB_SESSION->append(
|
|
||||||
_("Restore"),
|
|
||||||
get_action_detailed_name(
|
|
||||||
ACTION__MAIN_TAB_SESSION_RESTORE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
MENU__MAIN_TAB_SESSION->append(
|
|
||||||
_("Save"),
|
|
||||||
get_action_detailed_name(
|
|
||||||
ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
MENU__MAIN_TAB->append_submenu(
|
|
||||||
_("Session"),
|
|
||||||
MENU__MAIN_TAB_SESSION
|
|
||||||
);
|
|
||||||
|
|
||||||
const auto MENU__MAIN_TAB_CLOSE = Gio::Menu::create();
|
const auto MENU__MAIN_TAB_CLOSE = Gio::Menu::create();
|
||||||
|
|
||||||
MENU__MAIN_TAB_CLOSE->append(
|
MENU__MAIN_TAB_CLOSE->append(
|
||||||
|
|
@ -136,6 +115,27 @@ Menu::Menu(
|
||||||
MENU__MAIN_TAB
|
MENU__MAIN_TAB
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const auto MENU__MAIN_SESSION = Gio::Menu::create();
|
||||||
|
|
||||||
|
MENU__MAIN_SESSION->append(
|
||||||
|
_("Restore"),
|
||||||
|
get_action_detailed_name(
|
||||||
|
ACTION__RESTORE
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
MENU__MAIN_SESSION->append(
|
||||||
|
_("Save"),
|
||||||
|
get_action_detailed_name(
|
||||||
|
ACTION__SAVE
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
MENU__MAIN->append_submenu(
|
||||||
|
_("Session"),
|
||||||
|
MENU__MAIN_SESSION
|
||||||
|
);
|
||||||
|
|
||||||
const auto MENU__MAIN_TOOLS = Gio::Menu::create();
|
const auto MENU__MAIN_TOOLS = Gio::Menu::create();
|
||||||
|
|
||||||
MENU__MAIN_TOOLS->append(
|
MENU__MAIN_TOOLS->append(
|
||||||
|
|
|
||||||
|
|
@ -20,14 +20,14 @@ namespace app::browser::header
|
||||||
Menu(
|
Menu(
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__DEBUG,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__QUIT,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__RESTORE,
|
||||||
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__SAVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_APPEND,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ACTIVE,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_CLOSE_ALL,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD,
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE,
|
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_RESTORE,
|
|
||||||
const Glib::RefPtr<Gio::SimpleAction> & ACTION__MAIN_TAB_SESSION_SAVE
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,16 @@ void Main::tab_append()
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void Main::restore()
|
||||||
|
{
|
||||||
|
mainTab->restore();
|
||||||
|
};
|
||||||
|
|
||||||
|
void Main::save()
|
||||||
|
{
|
||||||
|
mainTab->save();
|
||||||
|
};
|
||||||
|
|
||||||
void Main::tab_close()
|
void Main::tab_close()
|
||||||
{
|
{
|
||||||
mainTab->close(
|
mainTab->close(
|
||||||
|
|
@ -95,16 +105,6 @@ void Main::tab_page_navigation_history_forward()
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
void Main::tab_session_restore()
|
|
||||||
{
|
|
||||||
mainTab->session_restore();
|
|
||||||
};
|
|
||||||
|
|
||||||
void Main::tab_session_save()
|
|
||||||
{
|
|
||||||
mainTab->session_save();
|
|
||||||
};
|
|
||||||
|
|
||||||
void Main::shutdown()
|
void Main::shutdown()
|
||||||
{
|
{
|
||||||
mainTab->shutdown();
|
mainTab->shutdown();
|
||||||
|
|
|
||||||
|
|
@ -38,20 +38,21 @@ namespace app::browser
|
||||||
|
|
||||||
// Actions
|
// Actions
|
||||||
void refresh();
|
void refresh();
|
||||||
|
void restore();
|
||||||
|
void save();
|
||||||
|
|
||||||
void tab_append();
|
void tab_append();
|
||||||
|
|
||||||
void tab_close_all();
|
void tab_close_all();
|
||||||
void tab_close_left();
|
void tab_close_left();
|
||||||
void tab_close_right();
|
void tab_close_right();
|
||||||
void tab_close();
|
void tab_close();
|
||||||
|
|
||||||
void tab_page_navigation_update();
|
void tab_page_navigation_update();
|
||||||
|
|
||||||
void tab_page_navigation_history_back();
|
void tab_page_navigation_history_back();
|
||||||
void tab_page_navigation_history_forward();
|
void tab_page_navigation_history_forward();
|
||||||
|
|
||||||
void tab_session_restore();
|
|
||||||
void tab_session_save();
|
|
||||||
|
|
||||||
void shutdown();
|
void shutdown();
|
||||||
|
|
||||||
// Getters
|
// Getters
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ Tab::Tab(
|
||||||
[this]
|
[this]
|
||||||
{
|
{
|
||||||
// Restore session from DB
|
// Restore session from DB
|
||||||
session_restore();
|
restore();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -66,7 +66,7 @@ Tab::Tab(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Tab::session_restore()
|
int Tab::restore()
|
||||||
{
|
{
|
||||||
sqlite3_stmt* statement;
|
sqlite3_stmt* statement;
|
||||||
|
|
||||||
|
|
@ -116,7 +116,7 @@ int Tab::session_restore()
|
||||||
return PREPARE_STATUS;
|
return PREPARE_STATUS;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Tab::session_save()
|
int Tab::save()
|
||||||
{
|
{
|
||||||
char * error; // @TODO
|
char * error; // @TODO
|
||||||
|
|
||||||
|
|
@ -172,7 +172,7 @@ int Tab::session_save()
|
||||||
|
|
||||||
void Tab::shutdown()
|
void Tab::shutdown()
|
||||||
{
|
{
|
||||||
session_save();
|
save();
|
||||||
|
|
||||||
// @TODO shutdown children components
|
// @TODO shutdown children components
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,8 +94,9 @@ namespace app::browser::main
|
||||||
const int & PAGE_NUMBER
|
const int & PAGE_NUMBER
|
||||||
);
|
);
|
||||||
|
|
||||||
int session_restore();
|
int restore();
|
||||||
int session_save();
|
|
||||||
|
int save();
|
||||||
|
|
||||||
void shutdown();
|
void shutdown();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue