gnome-control-center/capplets/appearance/theme-util.h
Jens Granseuer a780f374cb Add support for installing missing GTK+ theme engines via packagekit (bug
2008-05-07  Jens Granseuer  <jensgr@gmx.net>

	Add support for installing missing GTK+ theme engines via
	packagekit (bug #511065)

	* appearance-themes.c: (theme_message_area_response_cb),
	(theme_message_area_update): when we detect a missing engine,
	check if packagekit is available on the session bus. If it is show
	an install button to pull the corresponding package
	* appearance.h:
	* theme-util.c: (packagekit_available), (theme_install_file):
	* theme-util.h: add support functions

svn path=/trunk/; revision=8695
2008-05-07 20:19:36 +00:00

62 lines
2.3 KiB
C

/*
* Copyright (C) 2007 The GNOME Foundation
* Written by Jens Granseuer <jensgr@gmx.net>
* All Rights Reserved
*
* This program 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 of the License, or
* (at your option) any later version.
*
* This program 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 program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#define GTK_THEME_KEY "/desktop/gnome/interface/gtk_theme"
#define METACITY_THEME_KEY "/apps/metacity/general/theme"
#define ICON_THEME_KEY "/desktop/gnome/interface/icon_theme"
#define COLOR_SCHEME_KEY "/desktop/gnome/interface/gtk_color_scheme"
#define LOCKDOWN_KEY "/desktop/gnome/lockdown/disable_theme_settings"
#define BACKGROUND_KEY "/desktop/gnome/background/picture_filename"
#define APPLICATION_FONT_KEY "/desktop/gnome/interface/font_name"
#define DOCUMENTS_FONT_KEY "/desktop/gnome/interface/document_font_name"
#define DESKTOP_FONT_KEY "/apps/nautilus/preferences/desktop_font"
#define WINDOWTITLE_FONT_KEY "/apps/metacity/general/titlebar_font"
#define MONOSPACE_FONT_KEY "/desktop/gnome/interface/monospace_font_name"
#ifdef HAVE_XCURSOR
# define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_theme"
# define CURSOR_SIZE_KEY "/desktop/gnome/peripherals/mouse/cursor_size"
#else
# define CURSOR_THEME_KEY "/desktop/gnome/peripherals/mouse/cursor_font"
#endif
enum {
COL_THUMBNAIL,
COL_LABEL,
COL_NAME,
NUM_COLS
};
typedef enum {
THEME_TYPE_GTK,
THEME_TYPE_WINDOW,
THEME_TYPE_ICON,
THEME_TYPE_META,
THEME_TYPE_CURSOR
} ThemeType;
gboolean theme_is_writable (const gpointer theme);
gboolean theme_delete (const gchar *name, ThemeType type);
gboolean theme_model_iter_last (GtkTreeModel *model, GtkTreeIter *iter);
gboolean theme_find_in_model (GtkTreeModel *model, const gchar *name, GtkTreeIter *iter);
void theme_install_file (GtkWindow *parent, const gchar *path);
gboolean packagekit_available (void);