#include <glib-object.h>
#include <glib.h>
#include "theme.h"
#include "theme-loader.h"
Go to the source code of this file.
Data Structures | |
struct | _PurpleThemeManager |
struct | _PurpleThemeManagerClass |
Defines | |
#define | PURPLE_TYPE_THEME_MANAGER (purple_theme_manager_get_type()) |
#define | PURPLE_THEME_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManager)) |
#define | PURPLE_THEME_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManagerClass)) |
#define | PURPLE_IS_THEME_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_THEME_MANAGER)) |
#define | PURPLE_IS_THEME_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_THEME_MANAGER)) |
#define | PURPLE_GET_THEME_MANAGER_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_THEME_MANAGER, PurpleThemeManagerClass)) |
Typedefs | |
typedef void(* | PTFunc )(PurpleTheme *) |
typedef struct _PurpleThemeManager | PurpleThemeManager |
typedef struct _PurpleThemeManagerClass | PurpleThemeManagerClass |
Functions | |
Purple Theme Manager API | |
G_BEGIN_DECLS GType | purple_theme_manager_get_type (void) |
GObject foo. | |
void | purple_theme_manager_init (void) |
Initalizes the theme manager. | |
void | purple_theme_manager_uninit (void) |
Uninitalizes the manager then frees all the themes and loaders it is responsible for. | |
void | purple_theme_manager_refresh (void) |
Rebuilds all the themes in the theme manager. | |
PurpleTheme * | purple_theme_manager_find_theme (const gchar *name, const gchar *type) |
Finds the PurpleTheme object stored by the theme manager. | |
void | purple_theme_manager_add_theme (PurpleTheme *theme) |
Adds a PurpleTheme to the theme manager. | |
void | purple_theme_manager_remove_theme (PurpleTheme *theme) |
Removes a PurpleTheme from the theme manager and frees the theme. | |
void | purple_theme_manager_register_type (PurpleThemeLoader *loader) |
Adds a loader to the theme manager so it knows how to build themes. | |
void | purple_theme_manager_unregister_type (PurpleThemeLoader *loader) |
Removes the loader and all themes of the same type from the loader. | |
void | purple_theme_manager_for_each_theme (PTFunc func) |
Calls the given function on each purple theme. | |
PurpleTheme * | purple_theme_manager_load_theme (const gchar *theme_dir, const gchar *type) |
Loads a theme of the given type without adding it to the manager. |
Definition in file theme-manager.h.
void purple_theme_manager_add_theme | ( | PurpleTheme * | theme | ) |
Adds a PurpleTheme to the theme manager.
If the theme already exists then this function does nothing.
theme | The PurpleTheme to add to the manager. |
PurpleTheme* purple_theme_manager_find_theme | ( | const gchar * | name, | |
const gchar * | type | |||
) |
Finds the PurpleTheme object stored by the theme manager.
name | The name of the PurpleTheme. | |
type | The type of the PurpleTheme. |
void purple_theme_manager_for_each_theme | ( | PTFunc | func | ) |
Calls the given function on each purple theme.
func | The PTFunc to be applied to each theme. |
PurpleTheme* purple_theme_manager_load_theme | ( | const gchar * | theme_dir, | |
const gchar * | type | |||
) |
Loads a theme of the given type without adding it to the manager.
theme_dir | the directory of the theme to load | |
type | the type of theme to load |
void purple_theme_manager_refresh | ( | void | ) |
Rebuilds all the themes in the theme manager.
(Removes all current themes but keeps the added loaders.)
void purple_theme_manager_register_type | ( | PurpleThemeLoader * | loader | ) |
Adds a loader to the theme manager so it knows how to build themes.
loader | The PurpleThemeLoader to add. |
void purple_theme_manager_remove_theme | ( | PurpleTheme * | theme | ) |
Removes a PurpleTheme from the theme manager and frees the theme.
theme | The PurpleTheme to remove from the manager. |
void purple_theme_manager_unregister_type | ( | PurpleThemeLoader * | loader | ) |
Removes the loader and all themes of the same type from the loader.
loader | The PurpleThemeLoader to be removed. |