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 1d308c4614f95e6dd73998b196d82793947b1288
Author: Graeme Gott <gra...@gottcode.org>
Date:   Thu Jan 16 15:28:42 2020 -0500

    Make interface for SectionButton more clear.
---
 panel-plugin/applications-page.cpp |  6 +++---
 panel-plugin/section-button.h      | 15 +++++----------
 panel-plugin/window.cpp            | 24 +++++++++++++-----------
 3 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/panel-plugin/applications-page.cpp 
b/panel-plugin/applications-page.cpp
index 3648d02..1dca32c 100644
--- a/panel-plugin/applications-page.cpp
+++ b/panel-plugin/applications-page.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2015, 2016, 2017, 2018 Graeme Gott <gra...@gottcode.org>
+ * Copyright (C) 2013, 2015, 2016, 2017, 2018, 2020 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
@@ -136,7 +136,7 @@ void ApplicationsPage::apply_filter(GtkToggleButton* 
togglebutton)
        Category* category = NULL;
        for (std::vector<Category*>::const_iterator i = m_categories.begin(), 
end = m_categories.end(); i != end; ++i)
        {
-               if (GTK_TOGGLE_BUTTON((*i)->get_button()->get_button()) == 
togglebutton)
+               if (GTK_TOGGLE_BUTTON((*i)->get_button()->get_widget()) == 
togglebutton)
                {
                        category = *i;
                        break;
@@ -328,7 +328,7 @@ void ApplicationsPage::load_contents()
        for (std::vector<Category*>::const_iterator i = m_categories.begin(), 
end = m_categories.end(); i != end; ++i)
        {
                SectionButton* category_button = (*i)->get_button();
-               g_signal_connect_slot(category_button->get_button(), "toggled", 
&ApplicationsPage::apply_filter, this);
+               g_signal_connect_slot(category_button->get_widget(), "toggled", 
&ApplicationsPage::apply_filter, this);
                category_buttons.push_back(category_button);
        }
 
diff --git a/panel-plugin/section-button.h b/panel-plugin/section-button.h
index 8b48b20..5faccb9 100644
--- a/panel-plugin/section-button.h
+++ b/panel-plugin/section-button.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2016, 2017 Graeme Gott <gra...@gottcode.org>
+ * Copyright (C) 2013, 2016, 2017, 2020 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
@@ -29,9 +29,9 @@ public:
        SectionButton(GIcon* icon, const gchar* text);
        ~SectionButton();
 
-       GtkRadioButton* get_button() const
+       GtkWidget* get_widget() const
        {
-               return m_button;
+               return GTK_WIDGET(m_button);
        }
 
        bool get_active() const
@@ -44,14 +44,9 @@ public:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(m_button), 
active);
        }
 
-       GSList* get_group() const
+       void join_group(SectionButton* button)
        {
-               return gtk_radio_button_get_group(m_button);
-       }
-
-       void set_group(GSList* group)
-       {
-               gtk_radio_button_set_group(m_button, group);
+               gtk_radio_button_join_group(m_button, button->m_button);
        }
 
        void reload_icon_size();
diff --git a/panel-plugin/window.cpp b/panel-plugin/window.cpp
index a38344d..5379bd2 100644
--- a/panel-plugin/window.cpp
+++ b/panel-plugin/window.cpp
@@ -158,7 +158,7 @@ WhiskerMenu::Window::Window(Plugin* plugin) :
        GIcon* icon = g_themed_icon_new("user-bookmarks");
        m_favorites_button = new SectionButton(icon, _("Favorites"));
        g_object_unref(icon);
-       
g_signal_connect_slot<GtkToggleButton*>(m_favorites_button->get_button(), 
"toggled", &Window::favorites_toggled, this);
+       
g_signal_connect_slot<GtkToggleButton*>(m_favorites_button->get_widget(), 
"toggled", &Window::favorites_toggled, this);
 
        // Create recent
        m_recent = new RecentPage(this);
@@ -166,8 +166,8 @@ WhiskerMenu::Window::Window(Plugin* plugin) :
        icon = g_themed_icon_new("document-open-recent");
        m_recent_button = new SectionButton(icon, _("Recently Used"));
        g_object_unref(icon);
-       m_recent_button->set_group(m_favorites_button->get_group());
-       g_signal_connect_slot<GtkToggleButton*>(m_recent_button->get_button(), 
"toggled", &Window::recent_toggled, this);
+       m_recent_button->join_group(m_favorites_button);
+       g_signal_connect_slot<GtkToggleButton*>(m_recent_button->get_widget(), 
"toggled", &Window::recent_toggled, this);
 
        // Create applications
        m_applications = new ApplicationsPage(this);
@@ -230,8 +230,8 @@ WhiskerMenu::Window::Window(Plugin* plugin) :
 
        // Create box for packing sidebar
        m_sidebar_buttons = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0));
-       gtk_box_pack_start(m_sidebar_buttons, 
GTK_WIDGET(m_favorites_button->get_button()), false, false, 0);
-       gtk_box_pack_start(m_sidebar_buttons, 
GTK_WIDGET(m_recent_button->get_button()), false, false, 0);
+       gtk_box_pack_start(m_sidebar_buttons, m_favorites_button->get_widget(), 
false, false, 0);
+       gtk_box_pack_start(m_sidebar_buttons, m_recent_button->get_widget(), 
false, false, 0);
        gtk_box_pack_start(m_sidebar_buttons, 
gtk_separator_new(GTK_ORIENTATION_HORIZONTAL), false, false, 4);
 
        m_sidebar = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
@@ -659,7 +659,7 @@ void WhiskerMenu::Window::show(const Position position)
        }
 
        // Make sure recent button is only visible when tracked
-       gtk_widget_set_visible(GTK_WIDGET(m_recent_button->get_button()), 
wm_settings->recent_items_max);
+       gtk_widget_set_visible(m_recent_button->get_widget(), 
wm_settings->recent_items_max);
 
        // Show window
        gtk_widget_show(GTK_WIDGET(m_window));
@@ -693,17 +693,19 @@ void WhiskerMenu::Window::on_context_menu_destroyed()
 
 void WhiskerMenu::Window::set_categories(const std::vector<SectionButton*>& 
categories)
 {
+       SectionButton* button = m_recent_button;
        for (std::vector<SectionButton*>::const_iterator i = 
categories.begin(), end = categories.end(); i != end; ++i)
        {
-               (*i)->set_group(m_recent_button->get_group());
-               gtk_box_pack_start(m_sidebar_buttons, 
GTK_WIDGET((*i)->get_button()), false, false, 0);
-               g_signal_connect_slot<GtkToggleButton*>((*i)->get_button(), 
"toggled", &Window::category_toggled, this);
+               (*i)->join_group(button);
+               button = *i;
+               gtk_box_pack_start(m_sidebar_buttons, button->get_widget(), 
false, false, 0);
+               g_signal_connect_slot<GtkToggleButton*>(button->get_widget(), 
"toggled", &Window::category_toggled, this);
        }
 
        // Position "All Applications" above divider
        if (!categories.empty())
        {
-               gtk_box_reorder_child(m_sidebar_buttons, 
GTK_WIDGET(categories[0]->get_button()), 2);
+               gtk_box_reorder_child(m_sidebar_buttons, 
categories.front()->get_widget(), 2);
        }
 
        show_default_page();
@@ -847,7 +849,7 @@ gboolean WhiskerMenu::Window::on_key_press_event(GtkWidget* 
widget, GdkEvent* ev
        {
                if (GTK_IS_TREE_VIEW(view) && ((widget == view) || 
(gtk_window_get_focus(m_window) == view)))
                {
-                       
gtk_widget_grab_focus(GTK_WIDGET(m_favorites_button->get_button()));
+                       gtk_widget_grab_focus(m_favorites_button->get_widget());
                        page->reset_selection();
                }
        }

-- 
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