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 )