Browse Source

Simplified getting default Gtk::Application object

merge-requests/409/head
eidheim 4 years ago
parent
commit
561ae473ba
  1. 10
      src/dialog.cpp
  2. 10
      src/menu.cpp
  3. 10
      src/selection_dialog.cpp
  4. 5
      src/tooltips.cpp

10
src/dialog.cpp

@ -3,10 +3,7 @@
#include <cmath> #include <cmath>
Dialog::Message::Message(const std::string &text, std::function<void()> &&on_cancel, bool show_progress_bar) : Gtk::Window(Gtk::WindowType::WINDOW_POPUP) { Dialog::Message::Message(const std::string &text, std::function<void()> &&on_cancel, bool show_progress_bar) : Gtk::Window(Gtk::WindowType::WINDOW_POPUP) {
auto g_application = g_application_get_default(); set_transient_for(*Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->get_active_window());
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
set_transient_for(*application->get_active_window());
set_position(Gtk::WindowPosition::WIN_POS_CENTER_ON_PARENT); set_position(Gtk::WindowPosition::WIN_POS_CENTER_ON_PARENT);
set_modal(true); set_modal(true);
@ -83,10 +80,7 @@ std::string Dialog::gtk_dialog(const boost::filesystem::path &path, const std::s
Gtk::FileChooserDialog dialog(title, action); Gtk::FileChooserDialog dialog(title, action);
#endif #endif
auto g_application = g_application_get_default(); dialog.set_transient_for(*Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->get_active_window());
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
dialog.set_transient_for(*application->get_active_window());
dialog.set_position(Gtk::WindowPosition::WIN_POS_CENTER_ON_PARENT); dialog.set_position(Gtk::WindowPosition::WIN_POS_CENTER_ON_PARENT);
if(title == "Save File As") if(title == "Save File As")

10
src/menu.cpp

@ -572,17 +572,11 @@ const Glib::ustring menu_xml = R"RAW(<interface>
)RAW"; )RAW";
void Menu::add_action(const std::string &name, const std::function<void()> &action) { void Menu::add_action(const std::string &name, const std::function<void()> &action) {
auto g_application = g_application_get_default(); actions[name] = Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->add_action(name, action);
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
actions[name] = application->add_action(name, action);
} }
void Menu::set_keys() { void Menu::set_keys() {
auto g_application = g_application_get_default(); auto application = Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default());
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
for(auto &key : Config::get().menu.keys) { for(auto &key : Config::get().menu.keys) {
if(actions.find(key.first) != actions.end()) { if(actions.find(key.first) != actions.end()) {

10
src/selection_dialog.cpp

@ -37,10 +37,7 @@ void SelectionDialogBase::ListViewText::clear() {
SelectionDialogBase::SelectionDialogBase(Source::BaseView *view_, const boost::optional<Gtk::TextIter> &start_iter, bool show_search_entry_, bool use_markup) SelectionDialogBase::SelectionDialogBase(Source::BaseView *view_, const boost::optional<Gtk::TextIter> &start_iter, bool show_search_entry_, bool use_markup)
: start_mark(start_iter ? Source::Mark(*start_iter) : Source::Mark()), view(view_), window(Gtk::WindowType::WINDOW_POPUP), vbox(Gtk::Orientation::ORIENTATION_VERTICAL), list_view_text(use_markup), show_search_entry(show_search_entry_) { : start_mark(start_iter ? Source::Mark(*start_iter) : Source::Mark()), view(view_), window(Gtk::WindowType::WINDOW_POPUP), vbox(Gtk::Orientation::ORIENTATION_VERTICAL), list_view_text(use_markup), show_search_entry(show_search_entry_) {
auto g_application = g_application_get_default(); window.set_transient_for(*Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->get_active_window());
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
window.set_transient_for(*application->get_active_window());
window.set_type_hint(Gdk::WindowTypeHint::WINDOW_TYPE_HINT_COMBO); window.set_type_hint(Gdk::WindowTypeHint::WINDOW_TYPE_HINT_COMBO);
@ -68,10 +65,7 @@ SelectionDialogBase::SelectionDialogBase(Source::BaseView *view_, const boost::o
window.add(vbox); window.add(vbox);
list_view_text.signal_realize().connect([this]() { list_view_text.signal_realize().connect([this]() {
auto g_application = g_application_get_default(); auto application_window = Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->get_active_window();
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
auto application_window = application->get_active_window();
// Calculate window width and height // Calculate window width and height
int row_width = 0, padding_height = 0, window_height = 0; int row_width = 0, padding_height = 0, window_height = 0;

5
src/tooltips.cpp

@ -48,10 +48,7 @@ void Tooltip::show(bool disregard_drawn, const std::function<void()> &on_motion)
//init window //init window
window = std::make_unique<Gtk::Window>(Gtk::WindowType::WINDOW_POPUP); window = std::make_unique<Gtk::Window>(Gtk::WindowType::WINDOW_POPUP);
auto g_application = g_application_get_default(); if(auto active_window = Glib::RefPtr<Gtk::Application>::cast_dynamic(Gtk::Application::get_default())->get_active_window())
auto gio_application = Glib::wrap(g_application, true);
auto application = Glib::RefPtr<Gtk::Application>::cast_static(gio_application);
if(auto active_window = application->get_active_window())
window->set_transient_for(*active_window); window->set_transient_for(*active_window);
window->set_type_hint(Gdk::WindowTypeHint::WINDOW_TYPE_HINT_TOOLTIP); window->set_type_hint(Gdk::WindowTypeHint::WINDOW_TYPE_HINT_TOOLTIP);

Loading…
Cancel
Save