]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkexpander.c
Require XInput2.h in X11 backend
[~andy/gtk] / gtk / gtkexpander.c
index 643edaef201fee80c191cdbf2a79f677b395870f..a72cc1f60568723c70e7839bbb0e90788c20f21f 100644 (file)
@@ -13,9 +13,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  *
  * Authors:
  *      Mark McLoughlin <mark@skynet.ie>
@@ -345,7 +343,7 @@ gtk_expander_class_init (GtkExpanderClass *klass)
   g_object_class_install_property (gobject_class,
                                    PROP_RESIZE_TOPLEVEL,
                                    g_param_spec_boolean ("resize-toplevel",
-                                                         P_("Resize tolevel"),
+                                                         P_("Resize toplevel"),
                                                          P_("Whether the expander will resize the toplevel window upon expanding and collapsing"),
                                                          FALSE,
                                                          GTK_PARAM_READWRITE));
@@ -887,26 +885,28 @@ gtk_expander_paint (GtkExpander *expander,
 
   widget = GTK_WIDGET (expander);
   context = gtk_widget_get_style_context (widget);
+  state = gtk_widget_get_state_flags (widget);
 
   get_expander_bounds (expander, &clip);
   gtk_widget_get_allocation (widget, &allocation);
 
   gtk_style_context_save (context);
 
+  state &= ~(GTK_STATE_FLAG_PRELIGHT);
   if (expander->priv->prelight)
     {
-      state = GTK_STATE_FLAG_PRELIGHT;
+      state |= GTK_STATE_FLAG_PRELIGHT;
       gtk_style_context_set_state (context, state);
       gtk_expander_paint_prelight (expander, cr);
     }
 
   gtk_widget_style_get (widget, "expander-size", &size, NULL);
 
-  state = gtk_style_context_get_state (context);
-
   /* Set active flag as per the expanded state */
   if (priv->expanded)
     state |= GTK_STATE_FLAG_ACTIVE;
+  else
+    state &= ~(GTK_STATE_FLAG_ACTIVE);
 
   gtk_style_context_set_state (context, state);
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
@@ -1016,7 +1016,7 @@ gtk_expander_draw (GtkWidget *widget,
 
   gtk_expander_paint (expander, cr);
 
-  if (gtk_widget_has_focus (widget))
+  if (gtk_widget_has_visible_focus (widget))
     gtk_expander_paint_focus (expander, cr);
 
   GTK_WIDGET_CLASS (gtk_expander_parent_class)->draw (widget, cr);
@@ -1030,7 +1030,7 @@ gtk_expander_button_press (GtkWidget      *widget,
 {
   GtkExpander *expander = GTK_EXPANDER (widget);
 
-  if (event->button == 1 && event->window == expander->priv->event_window)
+  if (event->button == GDK_BUTTON_PRIMARY && event->window == expander->priv->event_window)
     {
       expander->priv->button_down = TRUE;
       return TRUE;
@@ -1045,7 +1045,7 @@ gtk_expander_button_release (GtkWidget      *widget,
 {
   GtkExpander *expander = GTK_EXPANDER (widget);
 
-  if (event->button == 1 && expander->priv->button_down)
+  if (event->button == GDK_BUTTON_PRIMARY && expander->priv->button_down)
     {
       gtk_widget_activate (widget);
       expander->priv->button_down = FALSE;