summaryrefslogtreecommitdiff
path: root/gtk/hotlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/hotlist.c')
-rw-r--r--gtk/hotlist.c84
1 files changed, 41 insertions, 43 deletions
diff --git a/gtk/hotlist.c b/gtk/hotlist.c
index fed6ae735..8258e0990 100644
--- a/gtk/hotlist.c
+++ b/gtk/hotlist.c
@@ -25,13 +25,12 @@
#include "desktop/plotters.h"
#include "desktop/tree.h"
-#include "gtk/hotlist.h"
#include "gtk/plotters.h"
#include "gtk/scaffolding.h"
#include "gtk/treeview.h"
#include "gtk/compat.h"
-
-#define GLADE_NAME "hotlist.glade"
+#include "gtk/resources.h"
+#include "gtk/hotlist.h"
#define MENUPROTO(x) static gboolean nsgtk_on_##x##_activate( \
GtkMenuItem *widget, gpointer g)
@@ -44,7 +43,6 @@ struct menu_events {
GCallback handler;
};
-static void nsgtk_hotlist_init_menu(void);
/* file menu*/
MENUPROTO(export);
@@ -92,74 +90,74 @@ static struct menu_events menu_events[] = {
{NULL, NULL}
};
-static struct nsgtk_treeview *hotlist_window;
-static GtkBuilder *gladeFile;
+static struct nsgtk_treeview *hotlist_treeview;
+static GtkBuilder *hotlist_builder;
GtkWindow *wndHotlist;
+/**
+ * Connects menu events in the hotlist window.
+ */
+static void nsgtk_hotlist_init_menu(void)
+{
+ struct menu_events *event = menu_events;
+ GtkWidget *w;
+
+ while (event->widget != NULL) {
+ w = GTK_WIDGET(gtk_builder_get_object(hotlist_builder, event->widget));
+ if (w == NULL) {
+ LOG("Unable to connect menu widget ""%s""", event->widget); } else {
+ g_signal_connect(G_OBJECT(w), "activate", event->handler, hotlist_treeview);
+ }
+ event++;
+ }
+}
-/* exported interface docuemnted in gtk_hotlist.h */
-bool nsgtk_hotlist_init(const char *glade_file_location)
+/* exported interface docuemnted in gtk/hotlist.h */
+nserror nsgtk_hotlist_init(void)
{
GtkWindow *window;
GtkScrolledWindow *scrolled;
GtkDrawingArea *drawing_area;
+ nserror res;
- GError* error = NULL;
- gladeFile = gtk_builder_new();
- if (!gtk_builder_add_from_file(gladeFile, glade_file_location, &error)) {
- g_warning("Couldn't load builder file: %s", error->message);
- g_error_free(error);
- return false;
+ res = nsgtk_builder_new_from_resname("hotlist", &hotlist_builder);
+ if (res != NSERROR_OK) {
+ LOG("Cookie UI builder init failed");
+ return res;
}
- gtk_builder_connect_signals(gladeFile, NULL);
-
- wndHotlist = GTK_WINDOW(gtk_builder_get_object(gladeFile, "wndHotlist"));
+ gtk_builder_connect_signals(hotlist_builder, NULL);
+
+ wndHotlist = GTK_WINDOW(gtk_builder_get_object(hotlist_builder, "wndHotlist"));
window = wndHotlist;
- scrolled = GTK_SCROLLED_WINDOW(gtk_builder_get_object(gladeFile,
+ scrolled = GTK_SCROLLED_WINDOW(gtk_builder_get_object(hotlist_builder,
"hotlistScrolled"));
- drawing_area = GTK_DRAWING_AREA(gtk_builder_get_object(gladeFile,
+ drawing_area = GTK_DRAWING_AREA(gtk_builder_get_object(hotlist_builder,
"hotlistDrawingArea"));
tree_hotlist_path = nsoption_charp(hotlist_path);
- hotlist_window = nsgtk_treeview_create(TREE_HOTLIST, window,
+ hotlist_treeview = nsgtk_treeview_create(TREE_HOTLIST, window,
scrolled, drawing_area);
- if (hotlist_window == NULL)
- return false;
+ if (hotlist_treeview == NULL) {
+ return NSERROR_INIT_FAILED;
+ }
#define CONNECT(obj, sig, callback, ptr) \
g_signal_connect(G_OBJECT(obj), (sig), G_CALLBACK(callback), (ptr))
CONNECT(window, "delete_event", gtk_widget_hide_on_delete, NULL);
- CONNECT(window, "hide", nsgtk_tree_window_hide, hotlist_window);
+ CONNECT(window, "hide", nsgtk_tree_window_hide, hotlist_treeview);
nsgtk_hotlist_init_menu();
- return true;
+ return NSERROR_OK;
}
-/**
- * Connects menu events in the hotlist window.
- */
-void nsgtk_hotlist_init_menu(void)
-{
- struct menu_events *event = menu_events;
- GtkWidget *w;
-
- while (event->widget != NULL) {
- w = GTK_WIDGET(gtk_builder_get_object(gladeFile, event->widget));
- if (w == NULL) {
- LOG("Unable to connect menu widget ""%s""", event->widget); } else {
- g_signal_connect(G_OBJECT(w), "activate", event->handler, hotlist_window);
- }
- event++;
- }
-}
/**
@@ -167,8 +165,8 @@ void nsgtk_hotlist_init_menu(void)
*/
void nsgtk_hotlist_destroy(void)
{
- /* TODO: what about gladeFile? */
- nsgtk_treeview_destroy(hotlist_window);
+ /** \todo what about hotlist_builder? */
+ nsgtk_treeview_destroy(hotlist_treeview);
}