[devhelp: 9/22] book manager: new signal to emit when list of disabled books changes
- From: Frederic Peters <fpeters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp: 9/22] book manager: new signal to emit when list of disabled books changes
- Date: Mon, 12 Jul 2010 09:20:17 +0000 (UTC)
commit 3657fde36205a6eb10f07c64a6ecd31af33d5e3c
Author: Aleksander Morgado <aleksander lanedo com>
Date: Thu May 20 12:38:25 2010 +0200
book manager: new signal to emit when list of disabled books changes
src/dh-book-manager.c | 23 +++++++++++++++++++++++
src/dh-book-manager.h | 3 +++
src/dh-marshal.list | 1 +
3 files changed, 27 insertions(+), 0 deletions(-)
---
diff --git a/src/dh-book-manager.c b/src/dh-book-manager.c
index ca07836..a9415e4 100644
--- a/src/dh-book-manager.c
+++ b/src/dh-book-manager.c
@@ -28,12 +28,20 @@
#include "dh-util.h"
#include "dh-book.h"
#include "dh-book-manager.h"
+#include "dh-marshal.h"
typedef struct {
/* The list of all DhBooks found in the system */
GList *books;
} DhBookManagerPriv;
+enum {
+ DISABLED_BOOK_LIST_UPDATED,
+ LAST_SIGNAL
+};
+
+static gint signals[LAST_SIGNAL] = { 0 };
+
G_DEFINE_TYPE (DhBookManager, dh_book_manager, G_TYPE_OBJECT);
#define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \
@@ -76,6 +84,16 @@ dh_book_manager_class_init (DhBookManagerClass *klass)
object_class->finalize = book_manager_finalize;
+ signals[DISABLED_BOOK_LIST_UPDATED] =
+ g_signal_new ("open-link",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (DhBookManagerClass, disabled_book_list_updated),
+ NULL, NULL,
+ _dh_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
+
g_type_class_add_private (klass, sizeof (DhBookManagerPriv));
}
@@ -365,6 +383,11 @@ dh_book_manager_update (DhBookManager *book_manager)
/* Store in conf */
dh_util_state_store_disabled_books (disabled_books);
+ /* Emit signal to notify others */
+ g_signal_emit (book_manager,
+ signals[DISABLED_BOOK_LIST_UPDATED],
+ 0);
+
book_manager_clean_list_of_disabled_books (disabled_books);
}
diff --git a/src/dh-book-manager.h b/src/dh-book-manager.h
index bda6b98..1fbaeea 100644
--- a/src/dh-book-manager.h
+++ b/src/dh-book-manager.h
@@ -46,6 +46,9 @@ struct _DhBookManager {
struct _DhBookManagerClass {
GObjectClass parent_class;
+
+ /* Signals */
+ void (* disabled_book_list_updated) (DhBookManager *book_manager);
};
GType dh_book_manager_get_type (void) G_GNUC_CONST;
diff --git a/src/dh-marshal.list b/src/dh-marshal.list
index 969dff3..2023eaf 100644
--- a/src/dh-marshal.list
+++ b/src/dh-marshal.list
@@ -1,5 +1,6 @@
VOID:BOOLEAN
VOID:POINTER
VOID:STRING
+VOID:VOID
BOOLEAN:STRING
VOID:STRING,FLAGS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]