Example #1
0
/**
 * grits_opengl_new:
 * @plugins: the plugins store to use
 * @prefs:   the preferences object to use
 *
 * Create a new OpenGL renderer.
 *
 * Returns: the new #GritsOpenGL
 */
GritsViewer *grits_opengl_new(GritsPlugins *plugins, GritsPrefs *prefs)
{
	g_debug("GritsOpenGL: new");
	GritsViewer *opengl = g_object_new(GRITS_TYPE_OPENGL, NULL);
	grits_viewer_setup(opengl, plugins, prefs);
	return opengl;
}
Example #2
0
/****************
 * GObject code *
 ****************/
static void aweather_gui_parser_finished(GtkBuildable *_self, GtkBuilder *builder)
{
	g_debug("AWeatherGui: parser finished");
	AWeatherGui *self = AWEATHER_GUI(_self);
	self->builder = builder;

	/* Simple things */
	gchar *config   = g_build_filename(g_get_user_config_dir(), PACKAGE, "config.ini", NULL);
	gchar *defaults = g_build_filename(PKGDATADIR, "defaults.ini", NULL);
	self->prefs   = grits_prefs_new(config, defaults);
	self->plugins = grits_plugins_new(PLUGINSDIR, self->prefs);
	self->viewer  = GRITS_VIEWER(aweather_gui_get_widget(self, "main_viewer"));
	self->gtk_plugins = GTK_LIST_STORE(aweather_gui_get_object(self, "plugins"));
	grits_viewer_setup(self->viewer, self->plugins, self->prefs);
	g_free(config);
	g_free(defaults);

	/* Misc, helpers */
	site_setup(self);
	menu_setup(self);
	time_setup(self);
	prefs_setup(self);
	icons_setup(self);

	/* Default size */
	gint width  = grits_prefs_get_integer(self->prefs, "aweather/width",  NULL);
	gint height = grits_prefs_get_integer(self->prefs, "aweather/height", NULL);
	if (width && height)
		gtk_window_set_default_size(GTK_WINDOW(self), width, height);

	/* Connect signals */
	gtk_builder_connect_signals(self->builder, self);
	g_signal_connect(self, "key-press-event",
			G_CALLBACK(on_gui_key_press), self);
	g_signal_connect_swapped(self->viewer, "offline",
			G_CALLBACK(gtk_toggle_action_set_active),
			aweather_gui_get_object(self, "offline"));
	g_signal_connect_swapped(self->viewer, "refresh",
			G_CALLBACK(set_update_timeout), self);
	g_signal_connect_swapped(self->viewer, "realize",
			G_CALLBACK(aweather_gui_load_plugins), self);
}