29
30
#include <dbus/dbus-glib-bindings.h>
31
32
#include <libindicator/indicator.h>
33
INDICATOR_SET_NAME("messages")
33
#include <libindicator/indicator-object.h>
35
35
#include "dbus-data.h"
36
36
#include "messages-service-client.h"
38
#define INDICATOR_MESSAGES_TYPE (indicator_messages_get_type ())
39
#define INDICATOR_MESSAGES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INDICATOR_MESSAGES_TYPE, IndicatorMessages))
40
#define INDICATOR_MESSAGES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INDICATOR_MESSAGES_TYPE, IndicatorMessagesClass))
41
#define IS_INDICATOR_MESSAGES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INDICATOR_MESSAGES_TYPE))
42
#define IS_INDICATOR_MESSAGES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INDICATOR_MESSAGES_TYPE))
43
#define INDICATOR_MESSAGES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INDICATOR_MESSAGES_TYPE, IndicatorMessagesClass))
45
typedef struct _IndicatorMessages IndicatorMessages;
46
typedef struct _IndicatorMessagesClass IndicatorMessagesClass;
48
struct _IndicatorMessagesClass {
49
IndicatorObjectClass parent_class;
52
struct _IndicatorMessages {
53
IndicatorObject parent;
56
GType indicator_messages_get_type (void);
58
/* Indicator Module Config */
60
INDICATOR_SET_TYPE(INDICATOR_MESSAGES_TYPE)
38
63
static GtkWidget * main_image = NULL;
40
64
#define DESIGN_TEAM_SIZE design_team_size
41
65
static GtkIconSize design_team_size;
43
66
static DBusGProxy * icon_proxy = NULL;
45
67
static GtkSizeGroup * indicator_right_group = NULL;
70
static void indicator_messages_class_init (IndicatorMessagesClass *klass);
71
static void indicator_messages_init (IndicatorMessages *self);
72
static void indicator_messages_dispose (GObject *object);
73
static void indicator_messages_finalize (GObject *object);
74
static GtkImage * get_icon (IndicatorObject * io);
75
static GtkMenu * get_menu (IndicatorObject * io);
77
G_DEFINE_TYPE (IndicatorMessages, indicator_messages, INDICATOR_OBJECT_TYPE);
80
indicator_messages_class_init (IndicatorMessagesClass *klass)
82
GObjectClass *object_class = G_OBJECT_CLASS (klass);
84
object_class->dispose = indicator_messages_dispose;
85
object_class->finalize = indicator_messages_finalize;
87
IndicatorObjectClass * io_class = INDICATOR_OBJECT_CLASS(klass);
89
io_class->get_image = get_icon;
90
io_class->get_menu = get_menu;
96
indicator_messages_init (IndicatorMessages *self)
101
indicator_messages_dispose (GObject *object)
103
G_OBJECT_CLASS (indicator_messages_parent_class)->dispose (object);
107
indicator_messages_finalize (GObject *object)
109
G_OBJECT_CLASS (indicator_messages_parent_class)->finalize (object);
48
116
attention_changed_cb (DBusGProxy * proxy, gboolean dot, gpointer userdata)