diff options
| author | Marc Jeanmougin <marc@jeanmougin.fr> | 2018-06-14 18:19:38 +0000 |
|---|---|---|
| committer | Marc Jeanmougin <marc@jeanmougin.fr> | 2018-06-14 18:19:38 +0000 |
| commit | 19bad0b6b3690bbeb287c64e5a30d7aabe015f4f (patch) | |
| tree | 313c22f5dbb5c71bbc85a81f397debeaa790eb36 /src/ui | |
| parent | Merge branch 'GermanTranslation' of gitlab.com:der-Michael/inkscape (diff) | |
| parent | Make shutdown dialogs use gtkmm. (diff) | |
| download | inkscape-19bad0b6b3690bbeb287c64e5a30d7aabe015f4f.tar.gz inkscape-19bad0b6b3690bbeb287c64e5a30d7aabe015f4f.zip | |
Merge branch 'gdkmm' of gitlab.com:linkmauve/inkscape
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/tool/event-utils.cpp | 3 | ||||
| -rw-r--r-- | src/ui/tools/select-tool.cpp | 5 | ||||
| -rw-r--r-- | src/ui/tools/tool-base.cpp | 36 | ||||
| -rw-r--r-- | src/ui/tools/tool-base.h | 3 | ||||
| -rw-r--r-- | src/ui/widget/font-selector-toolbar.cpp | 3 |
5 files changed, 23 insertions, 27 deletions
diff --git a/src/ui/tool/event-utils.cpp b/src/ui/tool/event-utils.cpp index 6b8d5f0dc..7793c9d4d 100644 --- a/src/ui/tool/event-utils.cpp +++ b/src/ui/tool/event-utils.cpp @@ -11,6 +11,7 @@ #include <cstring> #include <gdk/gdk.h> #include <gdk/gdkkeysyms.h> +#include <gdkmm/display.h> #include "display/sp-canvas.h" #include "ui/tool/event-utils.h" @@ -22,7 +23,7 @@ guint shortcut_key(GdkEventKey const &event) { guint shortcut_key = 0; gdk_keymap_translate_keyboard_state( - gdk_keymap_get_for_display(gdk_display_get_default()), + Gdk::Display::get_default()->get_keymap(), event.hardware_keycode, (GdkModifierType) event.state, 0 /*event->key.group*/, diff --git a/src/ui/tools/select-tool.cpp b/src/ui/tools/select-tool.cpp index ddc6e2881..b412812b6 100644 --- a/src/ui/tools/select-tool.cpp +++ b/src/ui/tools/select-tool.cpp @@ -21,6 +21,7 @@ #include <cstring> #include <string> +#include <gtkmm/widget.h> #include <gdk/gdkkeysyms.h> #include <glibmm/i18n.h> @@ -344,9 +345,9 @@ bool SelectTool::item_handler(SPItem* item, GdkEvent* event) { } case GDK_LEAVE_NOTIFY: if (!desktop->isWaitingCursor() && !this->dragging) { - GdkWindow* window = gtk_widget_get_window (GTK_WIDGET (desktop->getCanvas())); + Glib::RefPtr<Gdk::Window> window = Glib::wrap(GTK_WIDGET(desktop->getCanvas()))->get_window(); - gdk_window_set_cursor(window, this->cursor); + window->set_cursor(this->cursor); } break; diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp index 9f9a155c2..ce319009b 100644 --- a/src/ui/tools/tool-base.cpp +++ b/src/ui/tools/tool-base.cpp @@ -19,6 +19,7 @@ #endif #include <gdk/gdkkeysyms.h> +#include <gdkmm/display.h> #include <glibmm/i18n.h> #include "shortcuts.h" @@ -123,11 +124,6 @@ ToolBase::~ToolBase() { delete this->message_context; } - if (this->cursor != NULL) { - g_object_unref(this->cursor); - this->cursor = NULL; - } - if (this->desktop) { this->desktop = NULL; } @@ -161,27 +157,23 @@ void ToolBase::sp_event_context_set_cursor(GdkCursorType cursor_type) { * Recreates and draws cursor on desktop related to ToolBase. */ void ToolBase::sp_event_context_update_cursor() { - GtkWidget *w = GTK_WIDGET(this->desktop->getCanvas()); - if (gtk_widget_get_window (w)) { + Gtk::Widget* w = Glib::wrap(GTK_WIDGET(desktop->getCanvas())); + if (w->get_window()) { if (this->cursor_shape) { - if(this->cursor) { - g_object_unref(this->cursor); - } - bool fillHasColor=false, strokeHasColor=false; guint32 fillColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), true, &fillHasColor); guint32 strokeColor = sp_desktop_get_color_tool(this->desktop, this->getPrefsPath(), false, &strokeHasColor); double fillOpacity = fillHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), true) : 0; double strokeOpacity = strokeHasColor ? sp_desktop_get_opacity_tool(this->desktop, this->getPrefsPath(), false) : 0; - this->cursor = sp_cursor_from_xpm( + this->cursor = Glib::wrap(sp_cursor_from_xpm( this->cursor_shape, SP_RGBA32_C_COMPOSE(fillColor, fillOpacity), SP_RGBA32_C_COMPOSE(strokeColor, strokeOpacity) - ); + )); } - gdk_window_set_cursor(gtk_widget_get_window (w), this->cursor); - gdk_flush(); + w->get_window()->set_cursor(cursor); + w->get_display()->flush(); } this->desktop->waiting_cursor = false; } @@ -546,8 +538,8 @@ bool ToolBase::root_handler(GdkEvent* event) { if (panning_cursor == 1) { panning_cursor = 0; - GtkWidget *w = GTK_WIDGET(this->desktop->getCanvas()); - gdk_window_set_cursor(gtk_widget_get_window (w), this->cursor); + Gtk::Widget* w = Glib::wrap(GTK_WIDGET(desktop->getCanvas())); + w->get_window()->set_cursor(cursor); } if (within_tolerance && (panning || zoom_rb)) { @@ -755,8 +747,8 @@ bool ToolBase::root_handler(GdkEvent* event) { if (panning_cursor == 1) { panning_cursor = 0; - GtkWidget *w = GTK_WIDGET(this->desktop->getCanvas()); - gdk_window_set_cursor(gtk_widget_get_window (w), this->cursor); + Gtk::Widget* w = Glib::wrap(GTK_WIDGET(desktop->getCanvas())); + w->get_window()->set_cursor(cursor); } switch (get_latin_keyval(&event->key)) { @@ -1179,7 +1171,7 @@ static void update_latin_keys_group() { gint n_keys; latin_keys_group_valid = FALSE; - if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), GDK_KEY_a, &keys, &n_keys)) { + if (gdk_keymap_get_entries_for_keyval(Gdk::Display::get_default()->get_keymap(), GDK_KEY_a, &keys, &n_keys)) { for (gint i = 0; i < n_keys; i++) { if (!latin_keys_group_valid || keys[i].group < latin_keys_group) { latin_keys_group = keys[i].group; @@ -1194,7 +1186,7 @@ static void update_latin_keys_group() { * Initialize Latin keys group handling. */ void init_latin_keys_group() { - g_signal_connect(G_OBJECT(gdk_keymap_get_default()), + g_signal_connect(G_OBJECT(Gdk::Display::get_default()->get_keymap()), "keys-changed", G_CALLBACK(update_latin_keys_group), NULL); update_latin_keys_group(); } @@ -1211,7 +1203,7 @@ guint get_latin_keyval(GdkEventKey const *event, guint *consumed_modifiers /*= N gint group = latin_keys_group_valid ? latin_keys_group : event->group; gdk_keymap_translate_keyboard_state( - gdk_keymap_get_for_display(gdk_display_get_default()), + Gdk::Display::get_default()->get_keymap(), event->hardware_keycode, (GdkModifierType) event->state, group, &keyval, NULL, NULL, &modifiers); diff --git a/src/ui/tools/tool-base.h b/src/ui/tools/tool-base.h index 7185b787e..e7b0d0155 100644 --- a/src/ui/tools/tool-base.h +++ b/src/ui/tools/tool-base.h @@ -18,6 +18,7 @@ #include "knotholder.h" #include <2geom/point.h> #include <gdk/gdk.h> +#include <gdkmm/cursor.h> #include <glib-object.h> #include <sigc++/trackable.h> @@ -150,7 +151,7 @@ public: virtual ~ToolBase(); Inkscape::Preferences::Observer *pref_observer; - GdkCursor *cursor; + Glib::RefPtr<Gdk::Cursor> cursor; gint xp, yp; ///< where drag started gint tolerance; diff --git a/src/ui/widget/font-selector-toolbar.cpp b/src/ui/widget/font-selector-toolbar.cpp index c997e0920..4f951fa62 100644 --- a/src/ui/widget/font-selector-toolbar.cpp +++ b/src/ui/widget/font-selector-toolbar.cpp @@ -13,6 +13,7 @@ #include <glibmm/i18n.h> #include <glibmm/regex.h> +#include <gdkmm/display.h> #include "font-selector-toolbar.h" @@ -259,7 +260,7 @@ FontSelectorToolbar::on_key_press_event (GdkEventKey* key_event) bool consumed = false; unsigned int key = 0; - gdk_keymap_translate_keyboard_state( gdk_keymap_get_for_display( gdk_display_get_default() ), + gdk_keymap_translate_keyboard_state( Gdk::Display::get_default()->get_keymap(), key_event->hardware_keycode, (GdkModifierType)key_event->state, 0, &key, 0, 0, 0 ); |
