[Xfce4-commits] <xfce4-panel:nick/background> Add support for more background options (bug #1731).
Nick Schermer
noreply at xfce.org
Wed Apr 28 14:38:02 CEST 2010
Updating branch refs/heads/nick/background
to 00993d1175bb50d746b31623c0193804b230de4e (commit)
from 62b86c08dcf3bb104376a71843c092806caf6e6d (commit)
commit 00993d1175bb50d746b31623c0193804b230de4e
Author: Nick Schermer <nick at xfce.org>
Date: Sun Apr 25 11:34:05 2010 +0200
Add support for more background options (bug #1731).
panel/panel-preferences-dialog.c | 47 +++++++
panel/panel-preferences-dialog.glade | 232 ++++++++++++++++++++++++++++++----
2 files changed, 254 insertions(+), 25 deletions(-)
diff --git a/panel/panel-preferences-dialog.c b/panel/panel-preferences-dialog.c
index aca1304..cc7b0fe 100644
--- a/panel/panel-preferences-dialog.c
+++ b/panel/panel-preferences-dialog.c
@@ -53,6 +53,8 @@ static void panel_preferences_dialog_bindings_update (PanelPreferencesDialog *di
static void panel_preferences_dialog_output_changed (GtkComboBox *combobox, PanelPreferencesDialog *dialog);
+static void panel_preferences_dialog_bg_style_changed (PanelPreferencesDialog *dialog);
+
static void panel_preferences_dialog_panel_combobox_changed (GtkComboBox *combobox, PanelPreferencesDialog *dialog);
static void panel_preferences_dialog_panel_combobox_rebuild (PanelPreferencesDialog *dialog);
static void panel_preferences_dialog_panel_add (GtkWidget *widget, PanelPreferencesDialog *dialog);
@@ -167,6 +169,17 @@ panel_preferences_dialog_init (PanelPreferencesDialog *dialog)
connect_signal ("panel-remove", "clicked", panel_preferences_dialog_panel_remove);
connect_signal ("panel-combobox", "changed", panel_preferences_dialog_panel_combobox_changed);
+ /* style tab */
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "background-style");
+ panel_return_if_fail (G_IS_OBJECT (object));
+ g_signal_connect_swapped (G_OBJECT (object), "changed",
+ G_CALLBACK (panel_preferences_dialog_bg_style_changed), dialog);
+
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "composited");
+ panel_return_if_fail (G_IS_OBJECT (object));
+ g_signal_connect_swapped (G_OBJECT (object), "notify::visible",
+ G_CALLBACK (panel_preferences_dialog_bg_style_changed), dialog);
+
/* items treeview and buttons */
connect_signal ("item-up", "clicked", panel_preferences_dialog_item_move);
connect_signal ("item-down", "clicked", panel_preferences_dialog_item_move);
@@ -508,6 +521,40 @@ panel_preferences_dialog_output_changed (GtkComboBox *combobox,
static void
+panel_preferences_dialog_bg_style_changed (PanelPreferencesDialog *dialog)
+{
+ gint active;
+ GObject *object;
+ gboolean composited;
+
+ panel_return_if_fail (PANEL_IS_PREFERENCES_DIALOG (dialog));
+ panel_return_if_fail (PANEL_WINDOW (dialog->active));
+
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "background-style");
+ panel_return_if_fail (GTK_IS_COMBO_BOX (object));
+ active = gtk_combo_box_get_active (GTK_COMBO_BOX (object));
+
+ 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);
+
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "bg-color-box");
+ panel_return_if_fail (GTK_IS_WIDGET (object));
+ g_object_set (G_OBJECT (object), "visible", active == 1, NULL);
+
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "bg-image-box");
+ panel_return_if_fail (GTK_IS_WIDGET (object));
+ g_object_set (G_OBJECT (object), "visible", active == 2, NULL);
+
+ object = gtk_builder_get_object (GTK_BUILDER (dialog), "bg-theme-box");
+ panel_return_if_fail (GTK_IS_WIDGET (object));
+ g_object_set (G_OBJECT (object), "visible", active == 3, NULL);
+}
+
+
+
+static void
panel_preferences_dialog_panel_sensitive (PanelPreferencesDialog *dialog)
{
diff --git a/panel/panel-preferences-dialog.glade b/panel/panel-preferences-dialog.glade
index eafa71a..122a000 100644
--- a/panel/panel-preferences-dialog.glade
+++ b/panel/panel-preferences-dialog.glade
@@ -31,6 +31,32 @@
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkListStore" id="themes-store">
+ <columns>
+ <!-- column-name title -->
+ <column type="gchararray"/>
+ </columns>
+ </object>
+ <object class="GtkListStore" id="styles-store">
+ <columns>
+ <!-- column-name title -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">None (use system style)</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Solid color</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Background image</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Panel theme</col>
+ </row>
+ </data>
+ </object>
<object class="XfceTitledDialog" id="dialog">
<property name="title" translatable="yes">Xfce Panel</property>
<property name="window_position">center-on-parent</property>
@@ -349,11 +375,12 @@
</child>
<child>
<object class="GtkCheckButton" id="length-adjust">
- <property name="label" translatable="yes">Automatically increase the length</property>
+ <property name="label" translatable="yes">A_utomatically increase the length</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Select this option to automatically increase the length of the panel if the plugins request more space.</property>
+ <property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@@ -394,7 +421,7 @@
</packing>
</child>
<child>
- <object class="GtkVBox" id="composited">
+ <object class="GtkVBox" id="vbox7">
<property name="visible">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
@@ -409,35 +436,189 @@
<property name="visible">True</property>
<property name="left_padding">12</property>
<child>
- <object class="GtkHBox" id="hbox2">
+ <object class="GtkVBox" id="vbox4">
<property name="visible">True</property>
<property name="border_width">6</property>
- <property name="spacing">12</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
<child>
- <object class="GtkLabel" id="label7">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
- <property name="label" translatable="yes" comments="I18N: label for the background alha slider">_Alpha:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">alpha-scale</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Style:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">background-style</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="background-style">
+ <property name="visible">True</property>
+ <property name="model">styles-store</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext4"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
- <property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkHScale" id="alpha-scale">
+ <object class="GtkHBox" id="bg-alpha-box">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip_text" translatable="yes">Alpha value of the panel background, between 0 (transparent) and 100 (opaque).</property>
- <property name="adjustment">background-alpha</property>
- <property name="digits">0</property>
- <property name="value_pos">right</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Alpha:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">bg-alpha-scale</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHScale" id="bg-alpha-scale">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Alpha value of the panel background, between 0 (transparent) and 100 (opaq
+ue).</property>
+ <property name="adjustment">background-alpha</property>
+ <property name="digits">0</property>
+ <property name="value_pos">right</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkHBox" id="bg-color-box">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">C_olor:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">background-color</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkColorButton" id="background-color">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="title" translatable="yes">Pick a Panel Color</property>
+ <property name="color">#000000000000</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="bg-image-box">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label19">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_File:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">background-image</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="background-image">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Select A Background Image</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="bg-theme-box">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Theme:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">background-theme</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="background-theme">
+ <property name="visible">True</property>
+ <property name="model">themes-store</property>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext5"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">4</property>
+ </packing>
+ </child>
</object>
</child>
</object>
@@ -458,14 +639,13 @@
</packing>
</child>
<child>
- <object class="GtkFrame" id="frame4">
+ <object class="GtkFrame" id="composited">
<property name="visible">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
- <property name="bottom_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkTable" id="table2">
@@ -558,7 +738,7 @@
<child type="tab">
<object class="GtkLabel" id="label12">
<property name="visible">True</property>
- <property name="label" translatable="yes">C_ompositing</property>
+ <property name="label" translatable="yes">Appeara_nce</property>
<property name="use_underline">True</property>
</object>
<packing>
@@ -822,17 +1002,19 @@
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
- <object class="GtkSizeGroup" id="composing-sizegroup">
- <widgets>
- <widget name="label7"/>
- <widget name="label9"/>
- <widget name="label10"/>
- </widgets>
- </object>
<object class="GtkSizeGroup" id="display-sizegroup">
<widgets>
<widget name="label1"/>
<widget name="label13"/>
</widgets>
</object>
+ <object class="GtkSizeGroup" id="bg-sizegroup">
+ <widgets>
+ <widget name="label20"/>
+ <widget name="label19"/>
+ <widget name="label16"/>
+ <widget name="label15"/>
+ <widget name="label7"/>
+ </widgets>
+ </object>
</interface>
More information about the Xfce4-commits
mailing list