[rhythmbox] podcast: move info bar for errors to the top of the dialog
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] podcast: move info bar for errors to the top of the dialog
- Date: Sun, 27 May 2012 09:55:58 +0000 (UTC)
commit 60bcdb3f1c500239e4bceabf8d0bc8dee50a157e
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun May 27 19:55:19 2012 +1000
podcast: move info bar for errors to the top of the dialog
also fix the parent class for the dialog to be GtkBox rather than
GtkVBox and/or GtkHBox.
data/ui/podcast-add-dialog.ui | 107 ++++++++++++++++-----------------------
podcast/rb-podcast-add-dialog.c | 8 ++-
podcast/rb-podcast-add-dialog.h | 4 +-
podcast/rb-podcast-source.c | 22 +++++---
4 files changed, 63 insertions(+), 78 deletions(-)
---
diff --git a/data/ui/podcast-add-dialog.ui b/data/ui/podcast-add-dialog.ui
index 37caaf6..6a9944a 100644
--- a/data/ui/podcast-add-dialog.ui
+++ b/data/ui/podcast-add-dialog.ui
@@ -9,43 +9,6 @@
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
- <object class="GtkVPaned" id="paned">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <child>
- <object class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
- <child>
- <object class="GtkTreeView" id="feed-view">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="border_width">1</property>
- <child internal-child="selection">
- <object class="GtkTreeSelection" id="treeview-selection1"/>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="resize">False</property>
- <property name="shrink">True</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- <property name="width">1</property>
- <property name="height">1</property>
- </packing>
- </child>
- <child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -61,30 +24,6 @@ Subscribe to podcasts to download new episodes as they are published.</property>
</packing>
</child>
<child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -164,10 +103,50 @@ Subscribe to podcasts to download new episodes as they are published.</property>
</packing>
</child>
<child>
- <object class="GtkBox" id="info-bar-container">
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <object class="GtkVPaned" id="paned">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
+ <property name="can_focus">True</property>
+ <property name="vexpand">True</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child>
+ <object class="GtkTreeView" id="feed-view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="border_width">1</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection"/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="resize">False</property>
+ <property name="shrink">True</property>
+ </packing>
+ </child>
<child>
<placeholder/>
</child>
diff --git a/podcast/rb-podcast-add-dialog.c b/podcast/rb-podcast-add-dialog.c
index 54417d2..f4590e7 100644
--- a/podcast/rb-podcast-add-dialog.c
+++ b/podcast/rb-podcast-add-dialog.c
@@ -113,7 +113,7 @@ static const char *podcast_uri_prefixes[] = {
static guint signals[LAST_SIGNAL] = {0,};
-G_DEFINE_TYPE (RBPodcastAddDialog, rb_podcast_add_dialog, GTK_TYPE_VBOX);
+G_DEFINE_TYPE (RBPodcastAddDialog, rb_podcast_add_dialog, GTK_TYPE_BOX);
static gboolean
@@ -666,10 +666,11 @@ impl_constructed (GObject *object)
dialog->priv->info_bar_message = gtk_label_new ("");
dialog->priv->info_bar = gtk_info_bar_new ();
+ g_object_set (dialog->priv->info_bar, "spacing", 0, NULL);
gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (dialog->priv->info_bar))),
dialog->priv->info_bar_message);
gtk_widget_set_no_show_all (dialog->priv->info_bar, TRUE);
- gtk_box_pack_start (GTK_BOX (gtk_builder_get_object (builder, "info-bar-container")), dialog->priv->info_bar, TRUE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (dialog), dialog->priv->info_bar, FALSE, FALSE, 0);
gtk_widget_show (dialog->priv->info_bar_message);
dialog->priv->subscribe_button = GTK_WIDGET (gtk_builder_get_object (builder, "subscribe-button"));
@@ -732,7 +733,7 @@ impl_constructed (GObject *object)
gtk_tree_view_append_column (GTK_TREE_VIEW (dialog->priv->feed_view), column);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "podcast-add-dialog"));
- gtk_box_pack_start (GTK_BOX (dialog), widget, TRUE, TRUE, 12); /* 12? */
+ gtk_box_pack_start (GTK_BOX (dialog), widget, TRUE, TRUE, 12);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (dialog->priv->feed_view), TRUE);
@@ -936,6 +937,7 @@ rb_podcast_add_dialog_new (RBShell *shell, RBPodcastManager *podcast_mgr)
return GTK_WIDGET (g_object_new (RB_TYPE_PODCAST_ADD_DIALOG,
"shell", shell,
"podcast-manager", podcast_mgr,
+ "orientation", GTK_ORIENTATION_VERTICAL,
NULL));
}
diff --git a/podcast/rb-podcast-add-dialog.h b/podcast/rb-podcast-add-dialog.h
index 2c06ffc..dfd5d6d 100644
--- a/podcast/rb-podcast-add-dialog.h
+++ b/podcast/rb-podcast-add-dialog.h
@@ -48,14 +48,14 @@ typedef struct RBPodcastAddDialogPrivate RBPodcastAddDialogPrivate;
struct _RBPodcastAddDialog
{
- GtkHBox parent;
+ GtkBox parent;
RBPodcastAddDialogPrivate *priv;
};
struct _RBPodcastAddDialogClass
{
- GtkHBoxClass parent;
+ GtkBoxClass parent;
/* signals */
void (*close) (RBPodcastAddDialog *dialog);
diff --git a/podcast/rb-podcast-source.c b/podcast/rb-podcast-source.c
index 279fcd0..179660c 100644
--- a/podcast/rb-podcast-source.c
+++ b/podcast/rb-podcast-source.c
@@ -88,6 +88,7 @@ struct _RBPodcastSourcePrivate
guint prefs_notify_id;
+ GtkWidget *grid;
GtkWidget *paned;
GtkWidget *add_dialog;
GtkAction *add_action;
@@ -347,6 +348,7 @@ static void
podcast_add_dialog_closed_cb (RBPodcastAddDialog *dialog, RBPodcastSource *source)
{
rb_podcast_source_do_query (source);
+ gtk_widget_set_margin_top (GTK_WIDGET (source->priv->grid), 6);
gtk_widget_hide (source->priv->add_dialog);
gtk_widget_show (GTK_WIDGET (source->priv->toolbar));
gtk_widget_show (source->priv->paned);
@@ -393,6 +395,7 @@ podcast_cmd_new_podcast (GtkAction *action, RBPodcastSource *source)
g_object_set (source, "query-model", query_model, NULL);
g_object_unref (query_model);
+ gtk_widget_set_margin_top (GTK_WIDGET (source->priv->grid), 0);
gtk_widget_hide (source->priv->paned);
gtk_widget_hide (GTK_WIDGET (source->priv->toolbar));
gtk_widget_show (source->priv->add_dialog);
@@ -1318,7 +1321,6 @@ impl_constructed (GObject *object)
GSettings *settings;
int position;
GtkUIManager *ui_manager;
- GtkWidget *grid;
RB_CHAIN_GOBJECT_METHOD (rb_podcast_source_parent_class, constructed, object);
source = RB_PODCAST_SOURCE (object);
@@ -1578,18 +1580,20 @@ impl_constructed (GObject *object)
gtk_paned_pack2 (GTK_PANED (source->priv->paned),
GTK_WIDGET (source->priv->posts), TRUE, FALSE);
- grid = gtk_grid_new ();
- gtk_widget_set_margin_top (GTK_WIDGET (grid), 6);
- gtk_grid_set_column_spacing (GTK_GRID (grid), 6);
- gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
- gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (source->priv->toolbar), 0, 0, 1, 1);
- gtk_grid_attach (GTK_GRID (grid), source->priv->paned, 0, 1, 1, 1);
+ source->priv->grid = gtk_grid_new ();
+ gtk_widget_set_margin_top (GTK_WIDGET (source->priv->grid), 6);
+ gtk_grid_set_column_spacing (GTK_GRID (source->priv->grid), 6);
+ gtk_grid_set_row_spacing (GTK_GRID (source->priv->grid), 6);
+ gtk_grid_attach (GTK_GRID (source->priv->grid), GTK_WIDGET (source->priv->toolbar), 0, 0, 1, 1);
+ gtk_grid_attach (GTK_GRID (source->priv->grid), source->priv->paned, 0, 1, 1, 1);
- gtk_container_add (GTK_CONTAINER (source), grid);
+ gtk_container_add (GTK_CONTAINER (source), source->priv->grid);
/* podcast add dialog */
source->priv->add_dialog = rb_podcast_add_dialog_new (shell, source->priv->podcast_mgr);
- gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET (source->priv->add_dialog), 0, 2, 1, 1);
+ gtk_widget_show_all (source->priv->add_dialog);
+ gtk_widget_set_margin_top (source->priv->add_dialog, 0);
+ gtk_grid_attach (GTK_GRID (source->priv->grid), GTK_WIDGET (source->priv->add_dialog), 0, 2, 1, 1);
gtk_widget_set_no_show_all (source->priv->add_dialog, TRUE);
g_signal_connect_object (source->priv->add_dialog, "closed", G_CALLBACK (podcast_add_dialog_closed_cb), source, 0);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]