[Xfce4-commits] <xfce4-panel:master> Panel: Make compositing settings insensitive (bug #7862).

Nick Schermer noreply at xfce.org
Wed Aug 3 21:40:01 CEST 2011


Updating branch refs/heads/master
         to 4cce36dc00a726154794d3b8448347e2914c360f (commit)
       from 3017e5c70f4cc8dec9801e426f447b861627b42b (commit)

commit 4cce36dc00a726154794d3b8448347e2914c360f
Author: Nick Schermer <nick at xfce.org>
Date:   Wed Aug 3 21:35:52 2011 +0200

    Panel: Make compositing settings insensitive (bug #7862).
    
    Instead of hiding the compositing settings, make them
    insensitive and show an info bubble how to enable
    the settings.

 panel/panel-preferences-dialog.c     |   11 ++++++-
 panel/panel-preferences-dialog.glade |   50 ++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 2 deletions(-)

diff --git a/panel/panel-preferences-dialog.c b/panel/panel-preferences-dialog.c
index 82b2f9e..eb402d3 100644
--- a/panel/panel-preferences-dialog.c
+++ b/panel/panel-preferences-dialog.c
@@ -163,6 +163,7 @@ panel_preferences_dialog_init (PanelPreferencesDialog *dialog)
 {
   GObject           *window;
   GObject           *object;
+  GObject           *info;
   GObject           *treeview;
   GtkTreeViewColumn *column;
   GtkCellRenderer   *renderer;
@@ -203,6 +204,11 @@ panel_preferences_dialog_init (PanelPreferencesDialog *dialog)
   g_signal_connect_swapped (G_OBJECT (object), "notify::visible",
       G_CALLBACK (panel_preferences_dialog_bg_style_changed), dialog);
 
+  info = gtk_builder_get_object (GTK_BUILDER (dialog), "composited-info");
+  panel_return_if_fail (G_IS_OBJECT (info));
+  exo_binding_new_with_negation (G_OBJECT (object), "sensitive",
+                                 G_OBJECT (info), "visible");
+
   object = gtk_builder_get_object (GTK_BUILDER (dialog), "background-image");
   panel_return_if_fail (GTK_IS_FILE_CHOOSER_BUTTON (object));
   g_signal_connect (G_OBJECT (object), "file-set",
@@ -414,7 +420,7 @@ panel_preferences_dialog_bindings_update (PanelPreferencesDialog *dialog)
   panel_preferences_dialog_bindings_add (dialog, "background-alpha", "value");
   panel_preferences_dialog_bindings_add (dialog, "enter-opacity", "value");
   panel_preferences_dialog_bindings_add (dialog, "leave-opacity", "value");
-  panel_preferences_dialog_bindings_add (dialog, "composited", "visible");
+  panel_preferences_dialog_bindings_add (dialog, "composited", "sensitive");
   panel_preferences_dialog_bindings_add (dialog, "background-style", "active");
   panel_preferences_dialog_bindings_add (dialog, "background-color", "color");
 
@@ -600,7 +606,8 @@ panel_preferences_dialog_bg_style_changed (PanelPreferencesDialog *dialog)
   object = gtk_builder_get_object (GTK_BUILDER (dialog), "bg-alpha-box");
   panel_return_if_fail (GTK_IS_WIDGET (object));
   g_object_get (G_OBJECT (dialog->active), "composited", &composited, NULL);
-  g_object_set (G_OBJECT (object), "visible", composited && active < 2, NULL);
+  g_object_set (G_OBJECT (object), "visible", active < 2,
+                "sensitive", composited, NULL);
 
   object = gtk_builder_get_object (GTK_BUILDER (dialog), "bg-color-box");
   panel_return_if_fail (GTK_IS_WIDGET (object));
diff --git a/panel/panel-preferences-dialog.glade b/panel/panel-preferences-dialog.glade
index 8b09f91..9c6ab4a 100644
--- a/panel/panel-preferences-dialog.glade
+++ b/panel/panel-preferences-dialog.glade
@@ -742,6 +742,56 @@
                         <property name="position">1</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkAlignment" id="composited-info">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="yalign">1</property>
+                        <property name="xscale">0</property>
+                        <property name="yscale">0</property>
+                        <child>
+                          <object class="GtkHBox" id="hbox5">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkImage" id="image9">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="stock">gtk-info</property>
+                                <property name="icon-size">5</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel" id="label17">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Enable compositing in the window manager for opacity settings in the panel.</property>
+                                <property name="wrap">True</property>
+                                <property name="width_chars">0</property>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="position">1</property>


More information about the Xfce4-commits mailing list