gnome-control-center/vfs-methods/themus/themus-properties-main.c
James Henstridge ebd8e46d44 use GNOMELOCALEDIR.
2004-11-28  James Henstridge  <james@jamesh.id.au>

	* vfs-methods/themus/themus-properties-main.c: use GNOMELOCALEDIR.

	* vfs-methods/themus/Makefile.am: similar changes to the fontilus
	ones.

	* vfs-methods/fontilus/fontilus-context-menu.c: same here.

	* vfs-methods/fontilus/font-view.c: use GNOMELOCALEDIR rather than
	FONTILUS_LOCALEDIR in the bindtextdomain() call, to match the rest
	of gnome-control-center.

	* vfs-methods/fontilus/Makefile.am: similar schema and desktop
	file fixes.  Don't include the old mime files in the dist.

	* schemas/Makefile.am: remove .schemas files on clean, when
	installing schemas, look for them in builddir rather than srcdir.

	* gnome-settings-daemon/actions/Makefile.am: fix up build rules so
	that ALSA_CFLAGS isn't defined multiple times (use the newer
	automake += syntax).

	* control-center/Makefile.am: distribute $(icon_DATA).

	* capplets/*/Makefile.am: put the .desktop and .desktop.in files
	in CLEANFILES.  The .desktop.in.in file gets included because it
	is listed in the configure script.

	* configure.in: update configure script, and remove macro calls
	that are not needed by modern versions of Automake.

	* Makefile.am: remove intltool files on distclean.

	* autogen.sh: request Automake >= 1.7.
2004-11-28 08:14:05 +00:00

130 lines
3.9 KiB
C

/* -*- mode: C; c-basic-offset: 4 -*-
* themus - utilities for GNOME themes
* Copyright (C) 2000, 2001 Eazel Inc.
* Copyright (C) 2003 Andrew Sobala <aes@gnome.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* libmain.c - object activation infrastructure for shared library
version of tree view. */
#include <config.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include "themus-properties-view.h"
#include <libnautilus-extension/nautilus-extension-types.h>
#include <libnautilus-extension/nautilus-property-page-provider.h>
static GType tpp_type = 0;
static void property_page_provider_iface_init (NautilusPropertyPageProviderIface *iface);
static GList *themus_properties_get_pages (NautilusPropertyPageProvider *provider,
GList *files);
static void
themus_properties_plugin_register_type (GTypeModule *module)
{
static const GTypeInfo info = {
sizeof (GObjectClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) NULL,
NULL,
NULL,
sizeof (GObject),
0,
(GInstanceInitFunc) NULL
};
static const GInterfaceInfo property_page_provider_iface_info = {
(GInterfaceInitFunc)property_page_provider_iface_init,
NULL,
NULL
};
tpp_type = g_type_module_register_type (module, G_TYPE_OBJECT,
"ThemusPropertiesPlugin",
&info, 0);
g_type_module_add_interface (module,
tpp_type,
NAUTILUS_TYPE_PROPERTY_PAGE_PROVIDER,
&property_page_provider_iface_info);
}
static void
property_page_provider_iface_init (NautilusPropertyPageProviderIface *iface)
{
iface->get_pages = themus_properties_get_pages;
}
static GList *
themus_properties_get_pages (NautilusPropertyPageProvider *provider,
GList *files)
{
GList *pages = NULL;
NautilusFileInfo *file;
char *uri = NULL;
GtkWidget *page, *label;
NautilusPropertyPage *property_page;
/* only add properties page if a single file is selected */
if (files == NULL || files->next != NULL) goto end;
file = files->data;
/* only add the properties page to these mime types */
if (!nautilus_file_info_is_mime_type (file, "application/x-gnome-theme") &&
!nautilus_file_info_is_mime_type (file, "application/x-gnome-theme-installed"))
goto end;
/* okay, make the page */
uri = nautilus_file_info_get_uri (file);
label = gtk_label_new (_("Theme"));
page = themus_properties_view_new (uri);
property_page = nautilus_property_page_new ("theme-properties",
label, page);
pages = g_list_prepend (pages, property_page);
end:
g_free (uri);
return pages;
}
/* --- extension interface --- */
void
nautilus_module_initialize (GTypeModule *module)
{
themus_properties_plugin_register_type (module);
themus_properties_view_register_type (module);
/* set up translation catalog */
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
}
void
nautilus_module_shutdown (void)
{
}
void
nautilus_module_list_types (const GType **types,
int *num_types)
{
static GType type_list[1];
type_list[0] = tpp_type;
*types = type_list;
*num_types = G_N_ELEMENTS (type_list);
}