summaryrefslogtreecommitdiffstats
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/dialog/document-properties.cpp12
-rw-r--r--src/ui/dialog/filter-effects-dialog.cpp10
-rw-r--r--src/ui/dialog/layers.cpp5
-rw-r--r--src/ui/dialog/objects.cpp6
-rw-r--r--src/ui/dialog/svg-fonts-dialog.cpp12
-rw-r--r--src/ui/dialog/symbols.cpp20
-rw-r--r--src/ui/dialog/tags.cpp4
-rw-r--r--src/ui/tools/tool-base.cpp5
-rw-r--r--src/ui/uxmanager.cpp22
-rw-r--r--src/ui/widget/panel.cpp4
-rw-r--r--src/ui/widget/selected-style.cpp12
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?
//
}