media: streamline the dialog a bit

Simplify the layout and move the "extra" options off the main page.
This commit is contained in:
William Jon McCann 2010-11-23 17:40:46 -05:00
parent bb211c67e5
commit a9908912bd
2 changed files with 357 additions and 230 deletions

View file

@ -680,12 +680,39 @@ prepare_combo_box (CcMediaPanel *self,
}
}
static void
on_extra_options_dialog_response (GtkWidget *dialog,
int response,
CcMediaPanel *self)
{
gtk_widget_hide (dialog);
}
static void
on_extra_options_button_clicked (GtkWidget *button,
CcMediaPanel *self)
{
GtkWidget *dialog;
dialog = GTK_WIDGET (gtk_builder_get_object (self->priv->builder, "extra_options_dialog"));
gtk_window_set_transient_for (GTK_WINDOW (dialog),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
g_debug ("setting transient for %p", GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
g_signal_connect (dialog,
"response",
G_CALLBACK (on_extra_options_dialog_response),
NULL);
gtk_window_present (GTK_WINDOW (dialog));
}
static void
media_panel_setup (CcMediaPanel *self)
{
guint n;
GList *l, *content_types;
GtkWidget *other_type_combo_box;
GtkWidget *extras_button;
GtkListStore *other_type_list_store;
GtkCellRenderer *renderer;
GtkTreeIter iter;
@ -774,6 +801,12 @@ media_panel_setup (CcMediaPanel *self)
gtk_combo_box_set_active (GTK_COMBO_BOX (other_type_combo_box), 0);
extras_button = GTK_WIDGET (gtk_builder_get_object (builder, "extra_options_button"));
g_signal_connect (extras_button,
"clicked",
G_CALLBACK (on_extra_options_button_clicked),
self);
update_media_sensitivity (self);
}

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy toplevel-contextual -->
@ -8,27 +8,40 @@
<property name="resizable">False</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkVBox" id="media_preferences_vbox">
<object class="GtkVBox" id="media_preferences_vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkHBox" id="media_preferences_vbox">
<property name="visible">True</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<child>
<object class="GtkVBox" id="media_preferences_vbox3">
<property name="visible">True</property>
<property name="border_width">10</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkVBox" id="media_handling_vbox">
<property name="visible">True</property>
<property name="spacing">10</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkVBox" id="vbox44">
<property name="visible">True</property>
<property name="spacing">6</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkLabel" id="label42">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Media Handling&lt;/b&gt;</property>
<property name="use_markup">True</property>
<property name="label" translatable="yes">Select how media should be handled</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
@ -43,22 +56,8 @@
<child>
<object class="GtkVBox" id="vbox52">
<property name="visible">True</property>
<property name="spacing">6</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="label60">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Choose what happens when inserting media or connecting devices to the system</property>
<property name="use_markup">True</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<property name="spacing">6</property>
<child>
<object class="GtkTable" id="table4">
<property name="visible">True</property>
@ -101,6 +100,7 @@
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
</child>
@ -204,6 +204,28 @@
</object>
<packing>
<property name="expand">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
<child>
<object class="GtkButton" id="extra_options_button">
<property name="label" translatable="yes">Other Media...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
@ -221,17 +243,96 @@
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="media_autorun_never_checkbutton">
<property name="label" translatable="yes">_Never prompt or start programs on media insertion</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="media_automount_open_checkbutton">
<property name="label" translatable="yes">B_rowse media when inserted</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkHButtonBox" id="dialog-action_area1"/>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">4</property>
</packing>
</child>
</object>
</child>
</object>
<object class="GtkDialog" id="extra_options_dialog">
<property name="border_width">10</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<child internal-child="vbox">
<object class="GtkVBox" id="extras-dialog-vbox">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkVBox" id="vbox50">
<property name="visible">True</property>
<property name="spacing">6</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkLabel" id="label61">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">&lt;b&gt;Other Media&lt;/b&gt;</property>
<property name="use_markup">True</property>
<property name="label" translatable="yes">Select how other media should be handled</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="expand">False</property>
@ -246,15 +347,15 @@
<child>
<object class="GtkVBox" id="vbox51">
<property name="visible">True</property>
<property name="spacing">6</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkTable" id="table5">
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">2</property>
<property name="column_spacing">6</property>
<property name="row_spacing">6</property>
<property name="row_spacing">10</property>
<child>
<object class="GtkComboBox" id="media_other_type_combobox">
<property name="visible">True</property>
@ -323,24 +424,30 @@
</object>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkHButtonBox" id="dialog-action_area2">
<property name="visible">True</property>
<property name="layout_style">end</property>
<child>
<object class="GtkCheckButton" id="media_autorun_never_checkbutton">
<property name="label" translatable="yes">_Never prompt or start programs on media insertion</property>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label">gtk-close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">True</property>
<property name="use_stock">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -348,30 +455,17 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="media_automount_open_checkbutton">
<property name="label" translatable="yes">B_rowse media when inserted</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">2</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkHButtonBox" id="dialog-action_area1"/>
<packing>
<property name="expand">False</property>
<property name="pack_type">end</property>
<property name="position">4</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
<action-widgets>
<action-widget response="0">button1</action-widget>
</action-widgets>
</object>
</interface>