keyboard: Add _equal() helper function

This commit is contained in:
Bastien Nocera 2011-02-24 04:20:07 +00:00
parent 1961501680
commit b77df51384
2 changed files with 24 additions and 0 deletions

View file

@ -554,6 +554,27 @@ cc_keyboard_item_load_from_gsettings (CcKeyboardItem *item,
return TRUE;
}
gboolean
cc_keyboard_item_equal (CcKeyboardItem *a,
CcKeyboardItem *b)
{
if (a->type != b->type)
return FALSE;
switch (a->type)
{
case CC_KEYBOARD_ITEM_TYPE_GCONF:
return g_str_equal (a->gconf_key, b->gconf_key);
case CC_KEYBOARD_ITEM_TYPE_GCONF_DIR:
return g_str_equal (a->gconf_key_dir, b->gconf_key_dir);
case CC_KEYBOARD_ITEM_TYPE_GSETTINGS:
return (g_str_equal (a->schema, b->schema) &&
g_str_equal (a->key, b->key));
default:
g_assert_not_reached ();
}
}
/*
* vim: sw=2 ts=8 cindent noai bs=2
*/

View file

@ -115,6 +115,9 @@ const char * cc_keyboard_item_get_description (CcKeyboardItem *item);
const char * cc_keyboard_item_get_binding (CcKeyboardItem *item);
const char * cc_keyboard_item_get_command (CcKeyboardItem *item);
gboolean cc_keyboard_item_equal (CcKeyboardItem *a,
CcKeyboardItem *b);
G_END_DECLS
#endif /* __CC_KEYBOARD_ITEM_H */