aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/greeter-list.vala2
-rw-r--r--src/prompt-box.vala7
-rw-r--r--src/user-list.vala25
3 files changed, 28 insertions, 6 deletions
diff --git a/src/greeter-list.vala b/src/greeter-list.vala
index dc41a8f..c574778 100644
--- a/src/greeter-list.vala
+++ b/src/greeter-list.vala
@@ -155,7 +155,7 @@ public abstract class GreeterList : FadableBox
/* When we swap out a scrolling entry, make sure to hide its
* image button, else it will appear in the tab chain. */
if (_scrolling_entry != null)
- _scrolling_entry.set_options_image (null);
+ _scrolling_entry.set_options_image (null, null);
_scrolling_entry = value;
}
}
diff --git a/src/prompt-box.vala b/src/prompt-box.vala
index 2180c70..273c507 100644
--- a/src/prompt-box.vala
+++ b/src/prompt-box.vala
@@ -385,13 +385,18 @@ public class PromptBox : FadableBox
queue_draw ();
}
- public void set_options_image (Gdk.Pixbuf? image)
+ public void set_options_image (Gdk.Pixbuf? image, string? tooltip)
{
if (option_button == null)
return;
option_image.pixbuf = image;
+ if (tooltip == null)
+ option_image.set_tooltip_text("");
+ else
+ option_image.set_tooltip_text(tooltip);
+
if (image == null)
option_button.hide ();
else
diff --git a/src/user-list.vala b/src/user-list.vala
index b4cab22..abbf576 100644
--- a/src/user-list.vala
+++ b/src/user-list.vala
@@ -121,8 +121,15 @@ public class UserList : GreeterList
set
{
_default_session = value;
- if (selected_entry != null)
- selected_entry.set_options_image (get_badge ());
+ if (selected_entry != null) {
+ selected_entry.set_options_image (get_badge (), value);
+ foreach (var session in LightDM.get_sessions ()) {
+ if (session.key == value) {
+ selected_entry.set_options_image (get_badge (), session.name);
+ break;
+ }
+ }
+ }
}
}
@@ -136,8 +143,18 @@ public class UserList : GreeterList
set
{
_session = value;
- if (selected_entry != null)
- selected_entry.set_options_image (get_badge ());
+ if (selected_entry != null) {
+ selected_entry.set_options_image (get_badge (), value);
+ if (selected_entry != null) {
+ selected_entry.set_options_image (get_badge (), value);
+ foreach (var session in LightDM.get_sessions ()) {
+ if (session.key == value) {
+ selected_entry.set_options_image (get_badge (), session.name);
+ break;
+ }
+ }
+ }
+ }
}
}