roundabout,
created on Monday, 23 June 2025, 14:38:46 (1750689526),
received on Monday, 23 June 2025, 14:38:48 (1750689528)
Author identity: vlad <vlad.muntoiu@gmail.com>
dc98218a360ba07555d08b3aa6477a63958c9b08
panthera-www.cc
@@ -270,9 +270,10 @@ public:
}
};
class PantheraWindow;
class PantheraWww : public Gtk::Application {
private:
Gtk::ApplicationWindow* window;
std::shared_ptr<gPanthera::ContentManager> content_manager;
std::string cookie_file;
std::vector<SearchEngine> search_engines;
@@ -292,6 +293,7 @@ private:
protected:
void on_startup() override;
void on_activate() override;
PantheraWindow *make_window();
public:
PantheraWww();
@@ -540,6 +542,7 @@ public:
layout_file_out.close();
std::cout << "Layout changed: " << layout_manager->get_layout_as_json() << std::endl;
});
set_show_menubar(true);
}
};
@@ -693,11 +696,15 @@ void PantheraWww::on_new_tab(gPanthera::ContentStack *stack, const Glib::ustring
}
}
void PantheraWww::on_startup() {
Gtk::Application::on_startup();
PantheraWindow *PantheraWww::make_window() {
Glib::RefPtr<Gtk::Application> self_ref = Glib::make_refptr_for_instance<Gtk::Application>(this);
window = new PantheraWindow(self_ref);
auto window = new PantheraWindow(self_ref);
add_window(*window);
return window;
}
void PantheraWww::on_startup() {
Gtk::Application::on_startup();
// Get search engines
std::ifstream search_engines_file_in("search_engines.json");
if(search_engines_file_in) {
@@ -747,8 +754,6 @@ void PantheraWww::on_startup() {
plugin_file_out.close();
}
window->set_show_menubar(true);
// Known bug <https://gitlab.gnome.org/GNOME/epiphany/-/issues/2714>:
// JS can't veto the application's accelerators using `preventDefault()`. This is
// not possible in WebKitGTK, or at least I can't find a way to do it.
@@ -780,6 +785,7 @@ void PantheraWww::on_startup() {
}
void PantheraWww::on_activate() {
auto window = make_window();
window->present();
}