diff options
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/dialog/document-properties.cpp | 12 | ||||
| -rw-r--r-- | src/ui/dialog/filter-effects-dialog.cpp | 10 | ||||
| -rw-r--r-- | src/ui/dialog/layers.cpp | 5 | ||||
| -rw-r--r-- | src/ui/dialog/objects.cpp | 6 | ||||
| -rw-r--r-- | src/ui/dialog/svg-fonts-dialog.cpp | 12 | ||||
| -rw-r--r-- | src/ui/dialog/symbols.cpp | 20 | ||||
| -rw-r--r-- | src/ui/dialog/tags.cpp | 4 | ||||
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 5 | ||||
| -rw-r--r-- | src/ui/uxmanager.cpp | 22 | ||||
| -rw-r--r-- | src/ui/widget/panel.cpp | 4 | ||||
| -rw-r--r-- | src/ui/widget/selected-style.cpp | 12 |
11 files changed, 112 insertions, 0 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 3d246f4cb..48e0042b4 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -564,21 +564,33 @@ void DocumentProperties::populate_linked_profiles_box() void DocumentProperties::external_scripts_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _ExternalScriptsContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _ExternalScriptsContextMenu.popup(event->button, event->time); +#endif } } void DocumentProperties::embedded_scripts_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _EmbeddedScriptsContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _EmbeddedScriptsContextMenu.popup(event->button, event->time); +#endif } } void DocumentProperties::linked_profiles_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _EmbProfContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _EmbProfContextMenu.popup(event->button, event->time); +#endif } } diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp index 9764618ec..bfebc687d 100644 --- a/src/ui/dialog/filter-effects-dialog.cpp +++ b/src/ui/dialog/filter-effects-dialog.cpp @@ -1624,7 +1624,12 @@ void FilterEffectsDialog::FilterModifier::filter_list_button_release(GdkEventBut auto items = _menu->get_children(); items[0]->set_sensitive(sensitive); items[1]->set_sensitive(sensitive); + +#if GTKMM_CHECK_VERSION(3,22,0) + _menu->popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _menu->popup(event->button, event->time); +#endif } } @@ -2484,7 +2489,12 @@ bool FilterEffectsDialog::PrimitiveList::on_button_release_event(GdkEventButton* auto items = _primitive_menu->get_children(); items[0]->set_sensitive(sensitive); items[1]->set_sensitive(sensitive); + +#if GTKMM_CHECK_VERSION(3,22,0) + _primitive_menu->popup_at_pointer(reinterpret_cast<GdkEvent *>(e)); +#else _primitive_menu->popup(e->button, e->time); +#endif return true; } diff --git a/src/ui/dialog/layers.cpp b/src/ui/dialog/layers.cpp index ed2babf80..2a59bac00 100644 --- a/src/ui/dialog/layers.cpp +++ b/src/ui/dialog/layers.cpp @@ -572,7 +572,12 @@ bool LayersPanel::_handleButtonEvent(GdkEventButton* event) int y = static_cast<int>(event->y); if ( _tree.get_path_at_pos( x, y, path ) ) { _checkTreeSelection(); + +#if GTKMM_CHECK_VERSION(3,22,0) + _popupMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popupMenu.popup(event->button, event->time); +#endif } } diff --git a/src/ui/dialog/objects.cpp b/src/ui/dialog/objects.cpp index 2be1f115f..6d2e884b0 100644 --- a/src/ui/dialog/objects.cpp +++ b/src/ui/dialog/objects.cpp @@ -779,7 +779,13 @@ bool ObjectsPanel::_handleButtonEvent(GdkEventButton* event) int y = static_cast<int>(event->y); if ( _tree.get_path_at_pos( x, y, path ) ) { _checkTreeSelection(); + +#if GTKMM_CHECK_VERSION(3,22,0) + _popupMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popupMenu.popup(event->button, event->time); +#endif + if (_tree.get_selection()->is_selected(path)) { return true; } diff --git a/src/ui/dialog/svg-fonts-dialog.cpp b/src/ui/dialog/svg-fonts-dialog.cpp index 5284940be..d58e0a064 100644 --- a/src/ui/dialog/svg-fonts-dialog.cpp +++ b/src/ui/dialog/svg-fonts-dialog.cpp @@ -276,21 +276,33 @@ void SvgFontsDialog::on_kerning_value_changed(){ void SvgFontsDialog::glyphs_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _GlyphsContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _GlyphsContextMenu.popup(event->button, event->time); +#endif } } void SvgFontsDialog::kerning_pairs_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _KerningPairsContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _KerningPairsContextMenu.popup(event->button, event->time); +#endif } } void SvgFontsDialog::fonts_list_button_release(GdkEventButton* event) { if((event->type == GDK_BUTTON_RELEASE) && (event->button == 3)) { +#if GTKMM_CHECK_VERSION(3,22,0) + _FontsContextMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _FontsContextMenu.popup(event->button, event->time); +#endif } } diff --git a/src/ui/dialog/symbols.cpp b/src/ui/dialog/symbols.cpp index 1642ff04c..108d186ab 100644 --- a/src/ui/dialog/symbols.cpp +++ b/src/ui/dialog/symbols.cpp @@ -114,8 +114,15 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : /******************** Table *************************/ auto table = new Gtk::Grid(); + +#if GTKMM_CHECK_VERSION(3,12,0) + table->set_margin_start(3); + table->set_margin_end(3); +#else table->set_margin_left(3); table->set_margin_right(3); +#endif + table->set_margin_top(4); // panel is a cloked Gtk::VBox _getContents()->pack_start(*Gtk::manage(table), Gtk::PACK_EXPAND_WIDGET); @@ -154,8 +161,15 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : search->set_tooltip_text(_("Return to start search.")); search->signal_key_press_event().connect_notify( sigc::mem_fun(*this, &SymbolsDialog::beforeSearch)); search->signal_key_release_event().connect_notify(sigc::mem_fun(*this, &SymbolsDialog::unsensitive)); + +#if GTKMM_CHECK_VERSION(3,12,0) + search->set_margin_start(10); + search->set_margin_end(10); +#else search->set_margin_left(10); search->set_margin_right(10); +#endif + search->set_margin_bottom(6); search->signal_search_changed().connect(sigc::mem_fun(*this, &SymbolsDialog::clearSearch)); table->attach(*Gtk::manage(search),0,row,2,1); @@ -237,8 +251,14 @@ SymbolsDialog::SymbolsDialog( gchar const* prefsPath ) : progress->pack_start(* progress_bar, Gtk::PACK_EXPAND_WIDGET); progress->set_margin_top(15); progress->set_margin_bottom(15); + +#if GTKMM_CHECK_VERSION(3,12,0) + progress->set_margin_start(20); + progress->set_margin_end(20); +#else progress->set_margin_left(20); progress->set_margin_right(20); +#endif ++row; diff --git a/src/ui/dialog/tags.cpp b/src/ui/dialog/tags.cpp index ae45654a7..ebd36da01 100644 --- a/src/ui/dialog/tags.cpp +++ b/src/ui/dialog/tags.cpp @@ -571,7 +571,11 @@ bool TagsPanel::_handleButtonEvent(GdkEventButton* event) int y = static_cast<int>(event->y); if ( _tree.get_path_at_pos( x, y, path ) ) { _checkTreeSelection(); +#if GTKMM_CHECK_VERSION(3,22,0) + _popupMenu.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popupMenu.popup(event->button, event->time); +#endif if (_tree.get_selection()->is_selected(path)) { return true; } diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index 79e1cbc10..83a084a60 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -1126,10 +1126,15 @@ void sp_event_root_menu_popup(SPDesktop *desktop, SPItem *item, GdkEvent *event) switch (event->type) { case GDK_BUTTON_PRESS: +#if GTKMM_CHECK_VERSION(3,22,0) + case GDK_KEY_PRESS: + CM->popup_at_pointer(event); +#else CM->popup(event->button.button, event->button.time); break; case GDK_KEY_PRESS: CM->popup(0, event->key.time); +#endif break; default: break; diff --git a/src/ui/uxmanager.cpp b/src/ui/uxmanager.cpp index c263eaded..f48f40879 100644 --- a/src/ui/uxmanager.cpp +++ b/src/ui/uxmanager.cpp @@ -20,6 +20,10 @@ #include "util/ege-tags.h" #include "widgets/toolbox.h" +#if GTKMM_CHECK_VERSION(3,22,0) +# include <gdkmm/monitor.h> +#endif + using std::vector; class TrackItem @@ -120,10 +124,28 @@ UXManagerImpl::UXManagerImpl() : tags.addTag(ege::Tag("General")); tags.addTag(ege::Tag("Icons")); + // Figure out if we're on a widescreen display +#if GTKMM_CHECK_VERSION(3,22,0) + auto display = Gdk::Display::get_default(); + auto monitor = display->get_primary_monitor(); + + // Fallback to monitor number 0 if the user hasn't configured a primary monitor + if (!monitor) { + monitor = display->get_monitor(0); + } + + if(monitor) { + Gdk::Rectangle monitor_geometry; + monitor->get_geometry(monitor_geometry); + + int const width = monitor_geometry.get_width(); + int const height = monitor_geometry.get_height(); +#else Glib::RefPtr<Gdk::Screen> defaultScreen = Gdk::Screen::get_default(); if (defaultScreen) { int width = defaultScreen->get_width(); int height = defaultScreen->get_height(); +#endif gdouble aspect = static_cast<gdouble>(width) / static_cast<gdouble>(height); if (aspect > 1.65) { _widescreen = true; diff --git a/src/ui/widget/panel.cpp b/src/ui/widget/panel.cpp index aea9b7e8e..cc17262af 100644 --- a/src/ui/widget/panel.cpp +++ b/src/ui/widget/panel.cpp @@ -83,7 +83,11 @@ void Panel::_popper(GdkEventButton* event) { if ( (event->type == GDK_BUTTON_PRESS) && (event->button == 3 || event->button == 1) ) { if (_menu) { +#if GTKMM_CHECK_VERSION(3,22,0) + _menu->popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _menu->popup(event->button, event->time); +#endif } } } diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp index d9b93f6db..1c6556884 100644 --- a/src/ui/widget/selected-style.cpp +++ b/src/ui/widget/selected-style.cpp @@ -822,7 +822,11 @@ SelectedStyle::on_fill_click(GdkEventButton *event) fs->showPageFill(); } else if (event->button == 3) { // right-click, popup menu +#if GTKMM_CHECK_VERSION(3,22,0) + _popup[SS_FILL].popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popup[SS_FILL].popup(event->button, event->time); +#endif } else if (event->button == 2) { // middle click, toggle none/lastcolor if (_mode[SS_FILL] == SS_NONE) { on_fill_lastused(); @@ -840,7 +844,11 @@ SelectedStyle::on_stroke_click(GdkEventButton *event) if (Dialog::FillAndStroke *fs = get_fill_and_stroke_panel(_desktop)) fs->showPageStrokePaint(); } else if (event->button == 3) { // right-click, popup menu +#if GTKMM_CHECK_VERSION(3,22,0) + _popup[SS_STROKE].popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popup[SS_STROKE].popup(event->button, event->time); +#endif } else if (event->button == 2) { // middle click, toggle none/lastcolor if (_mode[SS_STROKE] == SS_NONE) { on_stroke_lastused(); @@ -858,7 +866,11 @@ SelectedStyle::on_sw_click(GdkEventButton *event) if (Dialog::FillAndStroke *fs = get_fill_and_stroke_panel(_desktop)) fs->showPageStrokeStyle(); } else if (event->button == 3) { // right-click, popup menu +#if GTKMM_CHECK_VERSION(3,22,0) + _popup_sw.popup_at_pointer(reinterpret_cast<GdkEvent *>(event)); +#else _popup_sw.popup(event->button, event->time); +#endif } else if (event->button == 2) { // middle click, toggle none/lastwidth? // } |
