[gnome-control-center/wip/feborges/new-users-panel: 23/25] user-accounts: Hide UmCarousel when there's just a single user
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/feborges/new-users-panel: 23/25] user-accounts: Hide UmCarousel when there's just a single user
- Date: Wed, 24 Aug 2016 10:09:56 +0000 (UTC)
commit ab3b85cb7cd9e1d40372ed68e69087346e40fb47
Author: Felipe Borges <felipeborges gnome org>
Date: Fri Aug 5 13:56:22 2016 +0200
user-accounts: Hide UmCarousel when there's just a single user
https://bugzilla.gnome.org/show_bug.cgi?id=767065
panels/user-accounts/data/user-accounts-dialog.ui | 2 +-
panels/user-accounts/um-arrow-frame.c | 8 ++++++--
panels/user-accounts/um-user-panel.c | 8 +++++++-
3 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/panels/user-accounts/data/user-accounts-dialog.ui
b/panels/user-accounts/data/user-accounts-dialog.ui
index 2703d54..304675b 100644
--- a/panels/user-accounts/data/user-accounts-dialog.ui
+++ b/panels/user-accounts/data/user-accounts-dialog.ui
@@ -50,7 +50,7 @@
<property name="orientation">vertical</property>
<child>
<object class="UmCarousel" id="carousel">
- <property name="visible">True</property>
+ <property name="visible">False</property>
<property name="can_focus">True</property>
</object>
</child>
diff --git a/panels/user-accounts/um-arrow-frame.c b/panels/user-accounts/um-arrow-frame.c
index b20ab3e..c751bc1 100644
--- a/panels/user-accounts/um-arrow-frame.c
+++ b/panels/user-accounts/um-arrow-frame.c
@@ -217,7 +217,8 @@ um_arrow_frame_draw (GtkWidget *widget,
GtkWidget *child;
um_arrow_frame__draw_background (frame, cr);
- um_arrow_frame__draw_arrow (frame, cr);
+ if (frame->item)
+ um_arrow_frame__draw_arrow (frame, cr);
child = gtk_bin_get_child (GTK_BIN (widget));
@@ -406,8 +407,11 @@ void
um_arrow_frame_set_carousel (UmArrowFrame *frame,
UmCarousel *carousel)
{
- if (carousel == NULL)
+ if (carousel == NULL) {
+ frame->margin_top = 0;
+ um_arrow_frame_set_item (carousel, NULL, frame);
return;
+ }
frame->carousel = carousel;
diff --git a/panels/user-accounts/um-user-panel.c b/panels/user-accounts/um-user-panel.c
index a242025..de2eca1 100644
--- a/panels/user-accounts/um-user-panel.c
+++ b/panels/user-accounts/um-user-panel.c
@@ -206,8 +206,9 @@ user_added (ActUserManager *um, ActUser *user, CcUserPanelPrivate *d)
g_debug ("user added: %d %s\n", act_user_get_uid (user), get_real_or_user_name (user));
d->other_accounts++;
- if (d->other_accounts > 0) {
+ if (d->other_accounts > 1) {
um_arrow_frame_set_carousel (d->arrow_frame, d->carousel);
+ gtk_widget_set_visible (GTK_WIDGET (d->carousel), TRUE);
}
g_list_store_append (d->users_list, user);
@@ -229,6 +230,11 @@ user_removed (ActUserManager *um, ActUser *user, CcUserPanelPrivate *d)
break;
}
}
+
+ if (d->other_accounts == 1) {
+ um_arrow_frame_set_carousel (d->arrow_frame, NULL);
+ gtk_widget_set_visible (GTK_WIDGET (d->carousel), FALSE);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]