Browse Source

reorganize accels for actions

CPP-GTK4
yggverse 2 weeks ago
parent
commit
bc21425acc
  1. 140
      src/app/browser.cpp
  2. 3
      src/app/browser.hpp
  3. 50
      src/main.cpp

140
src/app/browser.cpp

@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
using namespace app;
Browser::Browser(
//const Glib::RefPtr<Gtk::Application> & app,
const Glib::RefPtr<Gtk::Application> & APP
//const std::shared_ptr<lib::Database> & db
) {
// Init window actions
@ -33,80 +33,112 @@ Browser::Browser( @@ -33,80 +33,112 @@ Browser::Browser(
}
);
// Tab actions
add_action(
"main_tab_append",
[this]
{
browserMain->tab_append();
}
APP->set_accel_for_action(
"win.debug",
"<Primary>i"
);
const auto ACTION__MAIN_TAB_CLOSE = add_action(
"main_tab_close",
[this]
{
browserMain->tab_close();
}
add_action(
"main_tab_append",
[this]
{
browserMain->tab_append();
}
);
APP->set_accel_for_action(
"win.main_tab_append",
"<Primary>t"
);
add_action(
"main_tab_close_left",
const auto ACTION__MAIN_TAB_CLOSE = add_action(
"main_tab_close",
[this]
{
browserMain->tab_close();
}
);
add_action(
"main_tab_close_left",
[this]
{
browserMain->tab_close_left();
}
)->set_enabled(
false
);
add_action(
"main_tab_close_right",
[this]
{
browserMain->tab_close_right();
}
)->set_enabled(
false
);
add_action(
"main_tab_close_all",
[this]
{
browserMain->tab_close_all();
}
)->set_enabled(
false
);
// Tab page navigation actions
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE = add_action(
"main_tab_page_navigation_update",
[this]
{
browserMain->tab_close_left();
browserMain->tab_page_navigation_update();
}
)->set_enabled(
false
);
add_action(
"main_tab_close_right",
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE->set_enabled(
false
);
APP->set_accel_for_action(
"win.main_tab_page_navigation_update",
"<Primary>r"
);
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK = add_action(
"main_tab_page_navigation_history_back",
[this]
{
browserMain->tab_close_right();
browserMain->tab_page_navigation_history_back();
}
)->set_enabled(
false
);
add_action(
"main_tab_close_all",
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK->set_enabled(
false
);
APP->set_accel_for_action(
"win.main_tab_page_navigation_history_back",
"<Primary>Left"
);
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD = add_action(
"main_tab_page_navigation_history_forward",
[this]
{
browserMain->tab_close_all();
browserMain->tab_page_navigation_history_forward();
}
)->set_enabled(
false
);
// Tab page navigation actions
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE = add_action(
"main_tab_page_navigation_update",
[this]
{
browserMain->tab_page_navigation_update();
}
);
ACTION__MAIN_TAB_PAGE_NAVIGATION_UPDATE->set_enabled(
false
);
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK = add_action(
"main_tab_page_navigation_history_back",
[this]
{
browserMain->tab_page_navigation_history_back();
}
ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD->set_enabled(
false
);
const auto ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD = add_action(
"main_tab_page_navigation_history_forward",
[this]
{
browserMain->tab_page_navigation_history_forward();
}
APP->set_accel_for_action(
"win.main_tab_page_navigation_history_forward",
"<Primary>Right"
);
// Init widget

3
src/app/browser.hpp

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include <giomm/simpleaction.h>
#include <glibmm/i18n.h>
#include <glibmm/refptr.h>
#include <gtkmm/application.h>
#include <gtkmm/applicationwindow.h>
#include <gtkmm/object.h>
@ -33,7 +34,7 @@ namespace app @@ -33,7 +34,7 @@ namespace app
public:
Browser(
//const Glib::RefPtr<Gtk::Application> & app,
const Glib::RefPtr<Gtk::Application> & APP
//const std::shared_ptr<lib::Database> & db
);
};

50
src/main.cpp

@ -7,61 +7,35 @@ int main( @@ -7,61 +7,35 @@ int main(
char * argv[]
) {
// Init profile database
const std::shared_ptr<lib::Database> db(
const std::shared_ptr<lib::Database> DB( // @TODO
new lib::Database(
"database.sqlite3"
)
);
// Init app
const Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(
const Glib::RefPtr<Gtk::Application> APP = Gtk::Application::create(
"io.github.yggverse.Yoda"
);
app->add_action(
APP->add_action(
"quit",
[app]
[APP]
{
app->quit();
APP->quit();
}
);
// Init accels @TODO db settings
app->set_accel_for_action(
"win.debug",
"<Primary>i"
);
app->set_accel_for_action(
"app.quit",
"<Primary>q"
);
app->set_accel_for_action(
"win.main_tab_append",
"<Primary>t"
APP->set_accel_for_action(
"app.quit",
"<Primary>q"
);
app->set_accel_for_action(
"win.main_tab_page_navigation_update",
"<Primary>r"
);
app->set_accel_for_action(
"win.main_tab_page_navigation_history_back",
"<Primary>Left"
);
app->set_accel_for_action(
"win.main_tab_page_navigation_history_forward",
"<Primary>Right"
);
// Launch browser component
return app->make_window_and_run<app::Browser>(
return APP->make_window_and_run<app::Browser>(
argc,
argv
//app,
//db
argv,
APP
// DB
);
}
Loading…
Cancel
Save