pidgin  2.14.10
theme-manager.h File Reference

Theme Manager API. More...

#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 <br>
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...
 
PurpleThemepurple_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...
 
PurpleThemepurple_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
themeThe 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
nameThe name of the PurpleTheme.
typeThe 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
funcThe 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_dirthe directory of the theme to load
typethe 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
loaderThe 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
themeThe 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
loaderThe PurpleThemeLoader to be removed.