Browse Source

reorganize accels for actions

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

3
src/app/browser.hpp

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

50
src/main.cpp

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