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.
This commit is contained in:
parent
177edc5444
commit
10e30f7dc7
@ -93,6 +93,7 @@ Panel.prototype = {
|
|||||||
|
|
||||||
let statusbox = new Big.Box();
|
let statusbox = new Big.Box();
|
||||||
let statusmenu = this._statusmenu = new Shell.StatusMenu();
|
let statusmenu = this._statusmenu = new Shell.StatusMenu();
|
||||||
|
statusmenu.get_name().fontName = 'Sans Bold 16px';
|
||||||
statusbox.append(this._statusmenu, Big.BoxPackFlags.NONE);
|
statusbox.append(this._statusmenu, Big.BoxPackFlags.NONE);
|
||||||
let statusbutton = new Button.Button(statusbox, PANEL_BUTTON_COLOR, PRESSED_BUTTON_BACKGROUND_COLOR,
|
let statusbutton = new Button.Button(statusbox, PANEL_BUTTON_COLOR, PRESSED_BUTTON_BACKGROUND_COLOR,
|
||||||
true, null, PANEL_HEIGHT);
|
true, null, PANEL_HEIGHT);
|
||||||
|
@ -117,12 +117,9 @@ static void
|
|||||||
update_name_text (ShellStatusMenu *status)
|
update_name_text (ShellStatusMenu *status)
|
||||||
{
|
{
|
||||||
ShellStatusMenuPrivate *priv = status->priv;
|
ShellStatusMenuPrivate *priv = status->priv;
|
||||||
char *markup;
|
|
||||||
|
|
||||||
markup = g_markup_printf_escaped("<b>%s</b>",
|
clutter_text_set_text (priv->name,
|
||||||
gdm_user_get_real_name (GDM_USER (priv->user)));
|
gdm_user_get_real_name (GDM_USER (priv->user)));
|
||||||
clutter_text_set_markup (priv->name, markup);
|
|
||||||
g_free (markup);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -655,3 +652,27 @@ shell_status_menu_toggle (ShellStatusMenu *status, ClutterEvent *event)
|
|||||||
status, 1, event->button.time);
|
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;
|
||||||
|
}
|
||||||
|
@ -37,6 +37,9 @@ GType shell_status_menu_get_type (void);
|
|||||||
|
|
||||||
void shell_status_menu_toggle (ShellStatusMenu *menu, ClutterEvent *event);
|
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
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __SHELL_STATUS_MENU_H__ */
|
#endif /* __SHELL_STATUS_MENU_H__ */
|
||||||
|
Loading…
Reference in New Issue
Block a user