malcontent-control: Add API to select users by username
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
This commit is contained in:
parent
887b8c9b9b
commit
5efc773bda
|
@ -506,3 +506,38 @@ mct_user_selector_get_user (MctUserSelector *self)
|
|||
|
||||
return self->user;
|
||||
}
|
||||
|
||||
/**
|
||||
* mct_user_selector_select_user_by_username:
|
||||
* @self: an #MctUserSelector
|
||||
* @username: username of the user to select
|
||||
*
|
||||
* Selects the given @username in the widget. This might fail if @username isn’t
|
||||
* a valid user, or if they aren’t listed in the selector due to being an
|
||||
* administrator (see #MctUserSelector:show-administrators).
|
||||
*
|
||||
* Returns: %TRUE if the user was successfully selected, %FALSE otherwise
|
||||
* Since: 0.10.0
|
||||
*/
|
||||
gboolean
|
||||
mct_user_selector_select_user_by_username (MctUserSelector *self,
|
||||
const gchar *username)
|
||||
{
|
||||
MctCarouselItem *item = NULL;
|
||||
ActUser *user = NULL;
|
||||
|
||||
g_return_val_if_fail (MCT_IS_USER_SELECTOR (self), FALSE);
|
||||
g_return_val_if_fail (username != NULL && *username != '\0', FALSE);
|
||||
|
||||
user = act_user_manager_get_user (self->user_manager, username);
|
||||
if (user == NULL)
|
||||
return FALSE;
|
||||
|
||||
item = mct_carousel_find_item (self->carousel, user, user_compare);
|
||||
if (item == NULL)
|
||||
return FALSE;
|
||||
|
||||
mct_carousel_select_item (self->carousel, item);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -34,4 +34,7 @@ MctUserSelector *mct_user_selector_new (ActUserManager *user_manager);
|
|||
|
||||
ActUser *mct_user_selector_get_user (MctUserSelector *self);
|
||||
|
||||
gboolean mct_user_selector_select_user_by_username (MctUserSelector *self,
|
||||
const gchar *username);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
Loading…
Reference in New Issue