This is an automated email from the git hooks/post-receive script.

gottcode pushed a 
commit to branch 
master
in repository panel-plugins/xfce4-whiskermenu-plugin.

commit 8c008dc5ff5b2e5dc5f2324ba2f5608fb84efac5
Author: Graeme Gott <gra...@gottcode.org>
Date:   Mon Apr 2 10:36:09 2018 -0400

    Require GTK+ version 3.22.
---
 panel-plugin/CMakeLists.txt     |  2 +-
 panel-plugin/page.cpp           | 39 --------------------------------
 panel-plugin/page.h             |  3 +--
 panel-plugin/plugin.cpp         | 50 -----------------------------------------
 panel-plugin/section-button.cpp |  6 +----
 panel-plugin/window.cpp         | 48 +++++----------------------------------
 6 files changed, 9 insertions(+), 139 deletions(-)

diff --git a/panel-plugin/CMakeLists.txt b/panel-plugin/CMakeLists.txt
index e7dee4e..d0825bd 100644
--- a/panel-plugin/CMakeLists.txt
+++ b/panel-plugin/CMakeLists.txt
@@ -13,7 +13,7 @@ if(ENABLE_LINKER_OPTIMIZED_HASH_TABLES)
 endif()
 
 find_package(PkgConfig REQUIRED)
-pkg_check_modules(GTK3 REQUIRED gtk+-3.0>=3.12)
+pkg_check_modules(GTK3 REQUIRED gtk+-3.0>=3.22)
 pkg_check_modules(exo REQUIRED exo-2>=0.11)
 pkg_check_modules(garcon REQUIRED garcon-1)
 pkg_check_modules(libxfce4panel REQUIRED libxfce4panel-2.0>=4.11)
diff --git a/panel-plugin/page.cpp b/panel-plugin/page.cpp
index d73ec7b..32cb845 100644
--- a/panel-plugin/page.cpp
+++ b/panel-plugin/page.cpp
@@ -276,26 +276,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
        // Show context menu
        gtk_tree_view_set_hover_selection(GTK_TREE_VIEW(m_view->get_widget()), 
false);
        gtk_menu_attach_to_widget(GTK_MENU(menu), m_view->get_widget(), NULL);
-#if GTK_CHECK_VERSION(3,22,0)
        gtk_menu_popup_at_pointer(GTK_MENU(menu), event);
-#else
-       int button = 0;
-       int event_time;
-       GtkMenuPositionFunc position_func = NULL;
-       if (event)
-       {
-               GdkEventButton* event_button = 
reinterpret_cast<GdkEventButton*>(event);
-               button = event_button->button;
-               event_time = event_button->time;
-       }
-       else
-       {
-               position_func = 
(GtkMenuPositionFunc)&Page::position_context_menu;
-               event_time = gtk_get_current_event_time ();
-       }
-
-       gtk_menu_popup(GTK_MENU(menu), NULL, NULL, position_func, this, button, 
event_time);
-#endif
 }
 
 //-----------------------------------------------------------------------------
@@ -322,26 +303,6 @@ void Page::extend_context_menu(GtkWidget*)
 
 //-----------------------------------------------------------------------------
 
-void Page::position_context_menu(GtkMenu*, gint* x, gint* y, gboolean* 
push_in, Page* page)
-{
-       // Find rectangle of selected row
-       GtkTreeView* treeview = GTK_TREE_VIEW(page->m_view->get_widget());
-       GdkRectangle rect;
-       GtkTreeViewColumn* column = gtk_tree_view_get_column(treeview, 0);
-       gtk_tree_view_get_cell_area(treeview, page->m_selected_path, column, 
&rect);
-
-       int root_x;
-       int root_y;
-       gdk_window_get_root_coords(gtk_tree_view_get_bin_window(treeview), 
rect.x, rect.y, &root_x, &root_y);
-
-       // Position context menu centered on row
-       *push_in = false;
-       *x = root_x + (rect.width >> 2);
-       *y = root_y + (rect.height >> 1);
-}
-
-//-----------------------------------------------------------------------------
-
 void Page::add_selected_to_desktop()
 {
        // Fetch desktop folder
diff --git a/panel-plugin/page.h b/panel-plugin/page.h
index a32352c..5ec3984 100644
--- a/panel-plugin/page.h
+++ b/panel-plugin/page.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2017 Graeme Gott <gra...@gottcode.org>
+ * Copyright (C) 2013, 2017, 2018 Graeme Gott <gra...@gottcode.org>
  *
  * This library is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -68,7 +68,6 @@ private:
        Launcher* get_selected_launcher() const;
        void create_context_menu(GtkTreeIter* iter, GdkEvent* event);
        virtual void extend_context_menu(GtkWidget* menu);
-       static void position_context_menu(GtkMenu*, gint* x, gint* y, gboolean* 
push_in, Page* page);
 
 private:
        Window* m_window;
diff --git a/panel-plugin/plugin.cpp b/panel-plugin/plugin.cpp
index 0a84cf4..bc673a9 100644
--- a/panel-plugin/plugin.cpp
+++ b/panel-plugin/plugin.cpp
@@ -53,7 +53,6 @@ static bool panel_utils_grab_available()
 
        GdkWindow* root = 
gdk_screen_get_root_window(xfce_gdk_screen_get_active(NULL));
        GdkDisplay* display = gdk_display_get_default();
-#if GTK_CHECK_VERSION(3,20,0)
        GdkSeat* seat = gdk_display_get_default_seat(display);
 
        // Don't try to get the grab for longer then 1/4 second
@@ -67,51 +66,6 @@ static bool panel_utils_grab_available()
                }
                g_usleep(100);
        }
-#else
-       GdkDeviceManager* device_manager = 
gdk_display_get_device_manager(display);
-       GdkDevice* pointer = 
gdk_device_manager_get_client_pointer(device_manager);
-       GdkDevice* keyboard = gdk_device_get_associated_device(pointer);
-
-       // Don't try to get the grab for longer then 1/4 second
-       GdkGrabStatus grab_pointer = GDK_GRAB_FROZEN;
-       GdkGrabStatus grab_keyboard = GDK_GRAB_FROZEN;
-       for (guint i = 0; i < (G_USEC_PER_SEC / 400); ++i)
-       {
-               grab_keyboard = gdk_device_grab(keyboard,
-                               root,
-                               GDK_OWNERSHIP_NONE,
-                               true,
-                               GDK_ALL_EVENTS_MASK,
-                               NULL,
-                               GDK_CURRENT_TIME);
-               if (grab_keyboard == GDK_GRAB_SUCCESS)
-               {
-                       grab_pointer = gdk_device_grab(pointer,
-                                       root,
-                                       GDK_OWNERSHIP_NONE,
-                                       true,
-                                       GDK_ALL_EVENTS_MASK,
-                                       NULL,
-                                       GDK_CURRENT_TIME);
-                       if (grab_pointer == GDK_GRAB_SUCCESS)
-                       {
-                               grab_succeed = true;
-                               break;
-                       }
-               }
-               g_usleep(100);
-       }
-
-       // Release the grab so the menu window can take it
-       if (grab_pointer == GDK_GRAB_SUCCESS)
-       {
-               gdk_device_ungrab(pointer, GDK_CURRENT_TIME);
-       }
-       if (grab_keyboard == GDK_GRAB_SUCCESS)
-       {
-               gdk_device_ungrab(keyboard, GDK_CURRENT_TIME);
-       }
-#endif
 
        if (!grab_succeed)
        {
@@ -164,11 +118,7 @@ Plugin::Plugin(XfcePanelPlugin* plugin) :
 #if !LIBXFCE4PANEL_CHECK_VERSION(4,13,0)
        widget_add_css(m_button, ".xfce4-panel button { padding: 1px; }");
        gtk_button_set_relief(GTK_BUTTON(m_button), GTK_RELIEF_NONE);
-#if GTK_CHECK_VERSION(3,20,0)
        gtk_widget_set_focus_on_click(GTK_WIDGET(m_button), false);
-#else
-       gtk_button_set_focus_on_click(GTK_BUTTON(m_button), false);
-#endif
 #endif
        g_signal_connect_slot(m_button, "toggled", &Plugin::button_toggled, 
this);
        gtk_widget_show(m_button);
diff --git a/panel-plugin/section-button.cpp b/panel-plugin/section-button.cpp
index 8f073ea..dff5c56 100644
--- a/panel-plugin/section-button.cpp
+++ b/panel-plugin/section-button.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2016, 2017 Graeme Gott <gra...@gottcode.org>
+ * Copyright (C) 2013, 2016, 2017, 2018 Graeme Gott <gra...@gottcode.org>
  *
  * This library is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -52,11 +52,7 @@ SectionButton::SectionButton(const gchar* icon, const gchar* 
text) :
        gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(m_button), false);
        gtk_button_set_relief(GTK_BUTTON(m_button), GTK_RELIEF_NONE);
        gtk_widget_set_tooltip_text(GTK_WIDGET(m_button), text);
-#if GTK_CHECK_VERSION(3,20,0)
        gtk_widget_set_focus_on_click(GTK_WIDGET(m_button), false);
-#else
-       gtk_button_set_focus_on_click(GTK_BUTTON(m_button), false);
-#endif
        g_signal_connect(m_button, "enter-notify-event", 
G_CALLBACK(on_enter_notify_event), GTK_TOGGLE_BUTTON(m_button));
 
        m_box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 4));
diff --git a/panel-plugin/window.cpp b/panel-plugin/window.cpp
index c51bae1..b691e51 100644
--- a/panel-plugin/window.cpp
+++ b/panel-plugin/window.cpp
@@ -40,12 +40,11 @@ using namespace WhiskerMenu;
 
 //-----------------------------------------------------------------------------
 
-#if GTK_CHECK_VERSION(3,20,0)
-
-static void grab_pointer(GdkWindow* window, guint32)
+static void grab_pointer(GtkWidget* widget)
 {
        GdkDisplay* display = gdk_display_get_default();
        GdkSeat* seat = gdk_display_get_default_seat(display);
+       GdkWindow* window = gtk_widget_get_window(widget);
        gdk_seat_grab(seat, window, GDK_SEAT_CAPABILITY_ALL_POINTING, true, 
NULL, NULL, NULL, NULL);
 }
 
@@ -56,31 +55,6 @@ static void ungrab_pointer()
        gdk_seat_ungrab(seat);
 }
 
-#else
-
-static void grab_pointer(GdkWindow* window, guint32 time)
-{
-       GdkDisplay* display = gdk_display_get_default();
-       GdkDeviceManager* device_manager = 
gdk_display_get_device_manager(display);
-       GdkDevice* device = 
gdk_device_manager_get_client_pointer(device_manager);
-       gdk_device_grab(device, window, GDK_OWNERSHIP_NONE, true,
-               GdkEventMask(
-                       GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
-                       GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK
-               ),
-               NULL, time);
-}
-
-static void ungrab_pointer()
-{
-       GdkDisplay* display = gdk_display_get_default();
-       GdkDeviceManager* device_manager = 
gdk_display_get_device_manager(display);
-       GdkDevice* device = 
gdk_device_manager_get_client_pointer(device_manager);
-       gdk_device_ungrab(device, gtk_get_current_event_time());
-}
-
-#endif
-
 //-----------------------------------------------------------------------------
 
 WhiskerMenu::Window::Window(Plugin* plugin) :
@@ -417,25 +391,15 @@ void WhiskerMenu::Window::show(const Position position)
        else
        {
                GdkDisplay* display = gdk_display_get_default();
-#if GTK_CHECK_VERSION(3,20,0)
                GdkSeat* seat = gdk_display_get_default_seat(display);
                GdkDevice* device = gdk_seat_get_pointer(seat);
-#else
-               GdkDeviceManager* device_manager = 
gdk_display_get_device_manager(display);
-               GdkDevice* device = 
gdk_device_manager_get_client_pointer(device_manager);
-#endif
                gdk_device_get_position(device, &screen, &parent_x, &parent_y);
        }
 
        // Fetch screen geomtry
        GdkRectangle monitor;
-#if GTK_CHECK_VERSION(3,22,0)
        GdkMonitor* monitor_gdk = 
gdk_display_get_monitor_at_point(gdk_display_get_default(), parent_x, parent_y);
        gdk_monitor_get_geometry(monitor_gdk, &monitor);
-#else
-       int monitor_num = gdk_screen_get_monitor_at_point(screen, parent_x, 
parent_y);
-       gdk_screen_get_monitor_geometry(screen, monitor_num, &monitor);
-#endif
 
        // Prevent window from being larger than screen
        if (m_geometry.width > monitor.width)
@@ -677,7 +641,7 @@ void WhiskerMenu::Window::save()
 
 void WhiskerMenu::Window::on_context_menu_destroyed()
 {
-       grab_pointer(gtk_widget_get_window(GTK_WIDGET(m_window)), 
gtk_get_current_event_time());
+       grab_pointer(GTK_WIDGET(m_window));
 }
 
 //-----------------------------------------------------------------------------
@@ -743,7 +707,7 @@ gboolean 
WhiskerMenu::Window::on_enter_notify_event(GtkWidget*, GdkEvent* event)
                return false;
        }
 
-       grab_pointer(gtk_widget_get_window(GTK_WIDGET(m_window)), 
crossing_event->time);
+       grab_pointer(GTK_WIDGET(m_window));
 
        return false;
 }
@@ -759,7 +723,7 @@ gboolean 
WhiskerMenu::Window::on_leave_notify_event(GtkWidget*, GdkEvent* event)
                return false;
        }
 
-       grab_pointer(gtk_widget_get_window(GTK_WIDGET(m_window)), 
crossing_event->time);
+       grab_pointer(GTK_WIDGET(m_window));
 
        return false;
 }
@@ -864,7 +828,7 @@ gboolean WhiskerMenu::Window::on_map_event(GtkWidget*, 
GdkEvent*)
        gtk_window_set_keep_above(m_window, true);
 
        // Track mouse clicks outside of menu
-       grab_pointer(gtk_widget_get_window(GTK_WIDGET(m_window)), 
gtk_get_current_event_time());
+       grab_pointer(GTK_WIDGET(m_window));
 
        // Focus search entry
        gtk_widget_grab_focus(GTK_WIDGET(m_search_entry));

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to