summaryrefslogtreecommitdiff
path: root/endless/eostopbar.c
diff options
context:
space:
mode:
authorFernando Farfan <fernando@endlessm.com>2013-06-16 21:58:53 -0700
committerFernando Farfan <fernando@endlessm.com>2013-06-17 14:19:36 -0700
commitd1d717db7d880a7bbe66fa645a3e0657f1d56b15 (patch)
tree1ac3216344d55c7ddd58c2a8acd6205e3a501510 /endless/eostopbar.c
parenta458260bfc7455f4d70e04d45d3f313209d6ba08 (diff)
Added topbar hboxes to further contain topbar widgets.
Added individual topbar hboxes that will further contain topbar widgets. These hboxes will be set with the preferred properties, withtout interfering with the widgets' properties. [endlessm/eos-sdk#97]
Diffstat (limited to 'endless/eostopbar.c')
-rw-r--r--endless/eostopbar.c53
1 files changed, 43 insertions, 10 deletions
diff --git a/endless/eostopbar.c b/endless/eostopbar.c
index 5a60d90..59ca39d 100644
--- a/endless/eostopbar.c
+++ b/endless/eostopbar.c
@@ -29,6 +29,8 @@ G_DEFINE_TYPE (EosTopBar, eos_top_bar, GTK_TYPE_EVENT_BOX)
struct _EosTopBarPrivate
{
GtkWidget *actions_hbox;
+ GtkWidget *left_top_bar_hbox;
+ GtkWidget *center_top_bar_hbox;
GtkWidget *left_top_bar_widget;
GtkWidget *center_top_bar_widget;
@@ -119,9 +121,24 @@ eos_top_bar_init (EosTopBar *self)
gtk_widget_set_hexpand (GTK_WIDGET (self), TRUE);
- self->priv->actions_hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
+ self->priv->actions_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_hexpand (self->priv->actions_hbox, TRUE);
+ self->priv->left_top_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+ self->priv->center_top_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
+
+ // Global properties for top_bar_hbox'es ...
+ gtk_widget_set_halign (GTK_WIDGET (self->priv->left_top_bar_hbox),
+ GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (GTK_WIDGET (self->priv->left_top_bar_hbox),
+ GTK_ALIGN_CENTER);
+
+ gtk_widget_set_hexpand (self->priv->center_top_bar_hbox, TRUE);
+ gtk_widget_set_halign (GTK_WIDGET (self->priv->center_top_bar_hbox),
+ GTK_ALIGN_CENTER);
+ gtk_widget_set_valign (GTK_WIDGET (self->priv->center_top_bar_hbox),
+ GTK_ALIGN_CENTER);
+
/* TODO implement adding actions and widgets to the actions_hbox */
self->priv->minimize_button = gtk_button_new ();
@@ -140,6 +157,13 @@ eos_top_bar_init (EosTopBar *self)
gtk_button_set_image (GTK_BUTTON (self->priv->close_button),
self->priv->close_icon);
+ gtk_box_pack_start (GTK_BOX (self->priv->actions_hbox),
+ self->priv->left_top_bar_hbox,
+ FALSE, FALSE, _EOS_TOP_BAR_BUTTON_PADDING_PX);
+ gtk_box_pack_start (GTK_BOX (self->priv->actions_hbox),
+ self->priv->center_top_bar_hbox,
+ FALSE, FALSE, _EOS_TOP_BAR_BUTTON_PADDING_PX);
+
gtk_box_pack_end (GTK_BOX (self->priv->actions_hbox),
self->priv->close_button,
FALSE, FALSE, _EOS_TOP_BAR_BUTTON_PADDING_PX);
@@ -175,6 +199,9 @@ void
eos_top_bar_set_left_widget (EosTopBar *self,
GtkWidget *left_top_bar_widget)
{
+ /* TODO Remove */
+ GdkRGBA gray = {0.75, 0.75, 0.75, 1.0};
+
g_return_if_fail (EOS_IS_TOP_BAR (self));
g_return_if_fail (left_top_bar_widget == NULL || GTK_IS_WIDGET (left_top_bar_widget));
@@ -189,12 +216,14 @@ eos_top_bar_set_left_widget (EosTopBar *self,
priv->left_top_bar_widget = left_top_bar_widget;
if (left_top_bar_widget)
{
- gtk_widget_set_halign (GTK_WIDGET (left_top_bar_widget), GTK_ALIGN_CENTER);
- gtk_widget_set_valign (GTK_WIDGET (left_top_bar_widget), GTK_ALIGN_CENTER);
+ /* TODO Remove */
+ gtk_widget_override_color (priv->left_top_bar_hbox,
+ GTK_STATE_FLAG_NORMAL,
+ &gray);
- gtk_box_pack_start (GTK_BOX (priv->actions_hbox),
+ gtk_box_pack_start (GTK_BOX (priv->left_top_bar_hbox),
left_top_bar_widget,
- TRUE, TRUE, 0);
+ FALSE, FALSE, 0);
}
}
@@ -209,6 +238,9 @@ void
eos_top_bar_set_center_widget (EosTopBar *self,
GtkWidget *center_top_bar_widget)
{
+ /* TODO Remove */
+ GdkRGBA gray = {0.75, 0.75, 0.75, 1.0};
+
g_return_if_fail (EOS_IS_TOP_BAR (self));
g_return_if_fail (center_top_bar_widget == NULL || GTK_IS_WIDGET (center_top_bar_widget));
@@ -223,12 +255,13 @@ eos_top_bar_set_center_widget (EosTopBar *self,
priv->center_top_bar_widget = center_top_bar_widget;
if (center_top_bar_widget)
{
- gtk_widget_set_halign (GTK_WIDGET (center_top_bar_widget), GTK_ALIGN_CENTER);
- gtk_widget_set_valign (GTK_WIDGET (center_top_bar_widget), GTK_ALIGN_CENTER);
- gtk_widget_set_hexpand (GTK_WIDGET (center_top_bar_widget), TRUE);
+ /* TODO Remove */
+ gtk_widget_override_color (priv->center_top_bar_hbox,
+ GTK_STATE_FLAG_NORMAL,
+ &gray);
- gtk_box_pack_start (GTK_BOX (priv->actions_hbox),
+ gtk_box_pack_start (GTK_BOX (priv->center_top_bar_hbox),
center_top_bar_widget,
- TRUE, TRUE, 0);
+ FALSE, FALSE, 0);
}
}