Gtk2-Recent
view release on metacpan or search on metacpan
recent-files/egg-recent-view-uimanager.c view on Meta::CPAN
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_SHOW_NUMBERS,
g_param_spec_boolean ("show-numbers",
"Show Numbers",
"Whether or not to show numbers",
TRUE,
G_PARAM_READWRITE));
g_object_class_install_property (object_class,
PROP_LABEL_WIDTH,
g_param_spec_int ("label-width",
"Label Width",
"The desired width of the menu label, in characters",
-1,
G_MAXINT,
DEFAULT_LABEL_WIDTH_CHARS,
G_PARAM_READWRITE));
klass->activate = NULL;
}
static void
egg_recent_view_init (EggRecentViewClass *iface)
{
iface->do_get_model = egg_recent_view_uimanager_get_model;
iface->do_set_model = egg_recent_view_uimanager_set_model;
}
static void
show_menus_changed_cb (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
EggRecentViewUIManager *view)
{
GConfValue *value;
value = gconf_entry_get_value (entry);
g_return_if_fail (value->type == GCONF_VALUE_BOOL);
egg_recent_view_uimanager_show_icons (view, gconf_value_get_bool (value));
}
#ifndef USE_STABLE_LIBGNOMEUI
static void
theme_changed_cb (GnomeIconTheme *theme,
EggRecentViewUIManager *view)
{
if (view->model != NULL)
egg_recent_model_changed (view->model);
}
#endif
static void
egg_recent_view_uimanager_init (EggRecentViewUIManager * view)
{
view->client = gconf_client_get_default ();
view->show_icons = gconf_client_get_bool (view->client,
"/desktop/gnome/interface/menus_have_icons",
NULL);
gconf_client_add_dir (view->client, "/desktop/gnome/interface",
GCONF_CLIENT_PRELOAD_NONE,
NULL);
gconf_client_notify_add (view->client,
"/desktop/gnome/interface/menus_have_icons",
(GConfClientNotifyFunc)show_menus_changed_cb,
view, NULL, NULL);
view->leading_sep = FALSE;
view->trailing_sep = FALSE;
view->show_numbers = TRUE;
view->uimanager = NULL;
view->action_group = NULL;
view->merge_id = 0;
view->changed_cb_id = 0;
view->path = NULL;
#ifndef USE_STABLE_LIBGNOMEUI
view->theme = gnome_icon_theme_new ();
gnome_icon_theme_set_allow_svg (view->theme, TRUE);
g_signal_connect_object (view->theme, "changed",
G_CALLBACK (theme_changed_cb), view, 0);
#endif
view->tooltip_func = NULL;
view->tooltip_func_data = NULL;
view->icon_size = GTK_ICON_SIZE_MENU;
view->label_width = DEFAULT_LABEL_WIDTH_CHARS;
}
void
egg_recent_view_uimanager_set_icon_size (EggRecentViewUIManager *view,
GtkIconSize icon_size)
{
if (view->icon_size != icon_size) {
view->icon_size = icon_size;
egg_recent_model_changed (view->model);
} else {
view->icon_size = icon_size;
}
}
GtkIconSize
egg_recent_view_uimanager_get_icon_size (EggRecentViewUIManager *view)
{
return view->icon_size;
}
void
egg_recent_view_uimanager_show_icons (EggRecentViewUIManager *view,
gboolean show)
{
view->show_icons = show;
if (view->model != NULL)
egg_recent_model_changed (view->model);
}
void
egg_recent_view_uimanager_show_numbers (EggRecentViewUIManager *view,
gboolean show)
{
( run in 2.931 seconds using v1.01-cache-2.11-cpan-d8267643d1d )