midori/midori/midori-addons.h
Arnaud Renevier e4457be3ed Read addons into a list for more flexibility
Until now we used to scan directories every time
we wanted to either display the list of addons
or load addons in order to execute them. That
is wasteful and inflexible.

Use a list of elements and only update it when
needed, for example when the directory folder
notifies us of a change.

This is a stop towards disabling particular elements.
2008-08-23 19:57:22 +02:00

86 lines
2.3 KiB
C

/*
Copyright (C) 2008 Christian Dywan <christian@twotoasts.de>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
See the file COPYING for the full license text.
*/
#ifndef __MIDORI_ADDONS_H__
#define __MIDORI_ADDONS_H__
#include <gtk/gtk.h>
#include <katze/katze.h>
G_BEGIN_DECLS
#define MIDORI_TYPE_ADDONS \
(midori_addons_get_type ())
#define MIDORI_ADDONS(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), MIDORI_TYPE_ADDONS, MidoriAddons))
#define MIDORI_ADDONS_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), MIDORI_TYPE_ADDONS, MidoriAddonsClass))
#define MIDORI_IS_ADDONS(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIDORI_TYPE_ADDONS))
#define MIDORI_IS_ADDONS_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), MIDORI_TYPE_ADDONS))
#define MIDORI_ADDONS_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), MIDORI_TYPE_ADDONS, MidoriAddonsClass))
typedef struct _MidoriAddons MidoriAddons;
typedef struct _MidoriAddonsClass MidoriAddonsClass;
struct _MidoriAddonsClass
{
GtkVBoxClass parent_class;
};
typedef enum
{
MIDORI_ADDON_NONE,
MIDORI_ADDON_EXTENSIONS,
MIDORI_ADDON_USER_SCRIPTS,
MIDORI_ADDON_USER_STYLES
} MidoriAddonKind;
GType
midori_addon_kind_get_type (void) G_GNUC_CONST;
#define MIDORI_TYPE_ADDON_KIND \
(midori_addon_kind_get_type ())
GType
midori_addons_get_type (void);
GtkWidget*
midori_addons_new (GtkWidget* web_widget,
MidoriAddonKind kind);
void
midori_addons_set_web_widget (MidoriAddons* addons,
GtkWidget* web_widget);
GtkWidget*
midori_addons_get_web_widget (MidoriAddons* addons);
void
midori_addons_set_kind (MidoriAddons* addons,
MidoriAddonKind kind);
MidoriAddonKind
midori_addons_get_kind (MidoriAddons* addons);
GtkWidget*
midori_addons_get_toolbar (MidoriAddons* addons);
void
midori_addons_update_elements (MidoriAddons* addons);
G_END_DECLS
#endif /* __MIDORI_ADDONS_H__ */