[gnome-shell] Bug 588405 - Handle status menu button appearance in JavaScript



commit 10e30f7dc7fd6746ede74fa9bda4e937c6e08ddc
Author: Sander Dijkhuis <sander dijkhuis gmail com>
Date:   Sun Jul 12 23:44:06 2009 +0200

    Bug 588405 - Handle status menu button appearance in JavaScript
    
    Make the ClutterText and ClutterTexture from the status menu
    button available to JavaScript, and from there improve the
    font definition of the user name.
    
    shell-status-menu.[ch]: Add public get_name() and get_icon()
        functions that return the user name label and icon
        texture, remove the markup from update_name_text().
    panel.js: Set the font for the button consistently with that
        of the other panel labels.

 js/ui/panel.js          |    1 +
 src/shell-status-menu.c |   31 ++++++++++++++++++++++++++-----
 src/shell-status-menu.h |    3 +++
 3 files changed, 30 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 24ac5d2..a7f6827 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -93,6 +93,7 @@ Panel.prototype = {
 
         let statusbox = new Big.Box();
         let statusmenu = this._statusmenu = new Shell.StatusMenu();
+        statusmenu.get_name().fontName = 'Sans Bold 16px';
         statusbox.append(this._statusmenu, Big.BoxPackFlags.NONE);
         let statusbutton = new Button.Button(statusbox, PANEL_BUTTON_COLOR, PRESSED_BUTTON_BACKGROUND_COLOR,
                                              true, null, PANEL_HEIGHT);
diff --git a/src/shell-status-menu.c b/src/shell-status-menu.c
index fa0be00..4507d6a 100644
--- a/src/shell-status-menu.c
+++ b/src/shell-status-menu.c
@@ -117,12 +117,9 @@ static void
 update_name_text (ShellStatusMenu *status)
 {
   ShellStatusMenuPrivate *priv = status->priv;
-  char      *markup;
 
-  markup = g_markup_printf_escaped("<b>%s</b>",
-                                   gdm_user_get_real_name (GDM_USER (priv->user)));
-  clutter_text_set_markup (priv->name, markup);
-  g_free (markup);
+  clutter_text_set_text (priv->name,
+                         gdm_user_get_real_name (GDM_USER (priv->user)));
 }
 
 static void
@@ -655,3 +652,27 @@ shell_status_menu_toggle (ShellStatusMenu *status, ClutterEvent *event)
           status, 1, event->button.time);
     }
 }
+
+/**
+ * shell_status_menu_get_name:
+ * @menu: a #ShellStatusMenu
+ *
+ * Return value: (transfer none): the #ClutterText actor with the user's name.
+ */
+ClutterText *
+shell_status_menu_get_name (ShellStatusMenu *menu)
+{
+  return menu->priv->name;
+}
+
+/**
+ * shell_status_menu_get_icon:
+ * @menu: a #ShellStatusMenu
+ *
+ * Return value: (transfer none): the #ClutterTexture actor with the user icon.
+ */
+ClutterTexture *
+shell_status_menu_get_icon (ShellStatusMenu *menu)
+{
+  return menu->priv->user_icon;
+}
diff --git a/src/shell-status-menu.h b/src/shell-status-menu.h
index d31dca6..9831741 100644
--- a/src/shell-status-menu.h
+++ b/src/shell-status-menu.h
@@ -37,6 +37,9 @@ GType             shell_status_menu_get_type     (void);
 
 void              shell_status_menu_toggle       (ShellStatusMenu *menu, ClutterEvent *event);
 
+ClutterText      *shell_status_menu_get_name     (ShellStatusMenu *menu);
+ClutterTexture   *shell_status_menu_get_icon     (ShellStatusMenu *menu);
+
 G_END_DECLS
 
 #endif /* __SHELL_STATUS_MENU_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]