theme-manager.h File Reference
`#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

## Macros

#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. More...
PurpleTheme * | purple_theme_manager_find_theme (const gchar *name, const gchar *type)
| Finds the PurpleTheme object stored by the theme manager. More...
void | purple_theme_manager_add_theme (PurpleTheme *theme)
| Adds a PurpleTheme to the theme manager. More...
void | purple_theme_manager_remove_theme (PurpleTheme *theme)
| Removes a PurpleTheme from the theme manager and frees the theme. More...
void | purple_theme_manager_register_type (PurpleThemeLoader *loader)
| Adds a loader to the theme manager so it knows how to build themes. More...
void | purple_theme_manager_unregister_type (PurpleThemeLoader *loader)
| Removes the loader and all themes of the same type from the loader. More...
void | purple_theme_manager_for_each_theme (PTFunc func)
| Calls the given function on each purple theme. More...
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. More...

## Detailed Description

Theme Manager API

Definition in file theme-manager.h.

## Function Documentation

## purple_theme_manager_add_theme()

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.

Parameters

  theme | The PurpleTheme to add to the manager.

## purple_theme_manager_find_theme()

PurpleTheme* purple_theme_manager_find_theme | ( | const gchar * | name,
|  | const gchar * | type
| ) |  |

Finds the PurpleTheme object stored by the theme manager.

Parameters

  name | The name of the PurpleTheme.
  type | The type of the PurpleTheme.

Returns
  The PurpleTheme, or NULL if it wasn't found.

## purple_theme_manager_for_each_theme()

void purple_theme_manager_for_each_theme | ( | PTFunc | func | ) |

Calls the given function on each purple theme.

Parameters

  func | The PTFunc to be applied to each theme.

## purple_theme_manager_load_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.

Parameters

  theme_dir | the directory of the theme to load
  type | the type of theme to load

## purple_theme_manager_refresh()

void purple_theme_manager_refresh | ( | void |  | ) |

Rebuilds all the themes in the theme manager.

(Removes all current themes but keeps the added loaders.)

## purple_theme_manager_register_type()

void purple_theme_manager_register_type | ( | PurpleThemeLoader * | loader | ) |

Adds a loader to the theme manager so it knows how to build themes.

Parameters

  loader | The PurpleThemeLoader to add.

## purple_theme_manager_remove_theme()

void purple_theme_manager_remove_theme | ( | PurpleTheme * | theme | ) |

Removes a PurpleTheme from the theme manager and frees the theme.

Parameters

  theme | The PurpleTheme to remove from the manager.

## purple_theme_manager_unregister_type()

void purple_theme_manager_unregister_type | ( | PurpleThemeLoader * | loader | ) |

Removes the loader and all themes of the same type from the loader.

Parameters

  loader | The PurpleThemeLoader to be removed.