[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18963 - gnunet-gtk/src/lib
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18963 - gnunet-gtk/src/lib |
Date: |
Wed, 4 Jan 2012 02:11:41 +0100 |
Author: grothoff
Date: 2012-01-04 02:11:41 +0100 (Wed, 04 Jan 2012)
New Revision: 18963
Modified:
gnunet-gtk/src/lib/about.c
Log:
-LRN: unbuildering about dialog
Modified: gnunet-gtk/src/lib/about.c
===================================================================
--- gnunet-gtk/src/lib/about.c 2012-01-04 00:59:15 UTC (rev 18962)
+++ gnunet-gtk/src/lib/about.c 2012-01-04 01:11:41 UTC (rev 18963)
@@ -26,57 +26,52 @@
*/
#include "gnunet_gtk.h"
-
-static void
-destroy_about_dialog (GtkBuilder * builder)
+struct AboutDialogContext
{
+ GtkBuilder *builder;
GtkWidget *ad;
+ GtkWidget *about_credits_notebook;
+ GtkWidget *about_license_scroller;
+ GtkTextBuffer *license_contents;
+};
- ad = GTK_WIDGET (gtk_builder_get_object (builder, "about_window"));
- gtk_widget_destroy (ad);
- g_object_unref (G_OBJECT (builder));
+static void
+destroy_about_dialog (struct AboutDialogContext *ctx)
+{
+ gtk_widget_destroy (ctx->ad);
+ g_object_unref (G_OBJECT (ctx->builder));
+ GNUNET_free (ctx);
}
static void
-about_window_show_exclusively (GtkBuilder * builder, gchar * name)
+about_window_show_exclusively (struct AboutDialogContext *ctx, gchar * name)
{
- GtkWidget *about_credits_notebook;
- GtkWidget *about_license_scroller;
-
- about_credits_notebook =
- GTK_WIDGET (gtk_builder_get_object (builder, "about_credits_notebook"));
- about_license_scroller =
- GTK_WIDGET (gtk_builder_get_object (builder, "about_license_scroller"));
if (name == NULL)
{
- gtk_widget_hide (about_credits_notebook);
- gtk_widget_hide (about_license_scroller);
+ gtk_widget_hide (ctx->about_credits_notebook);
+ gtk_widget_hide (ctx->about_license_scroller);
}
else if (strcmp ("about_credits_notebook", name) == 0)
{
- gtk_widget_show (about_credits_notebook);
- gtk_widget_hide (about_license_scroller);
+ gtk_widget_show (ctx->about_credits_notebook);
+ gtk_widget_hide (ctx->about_license_scroller);
}
else if (strcmp ("about_license_scroller", name) == 0)
{
- gtk_widget_show (about_license_scroller);
- gtk_widget_hide (about_credits_notebook);
+ gtk_widget_show (ctx->about_license_scroller);
+ gtk_widget_hide (ctx->about_credits_notebook);
}
}
G_MODULE_EXPORT void
-GNUNET_GTK_about_window_realized (GtkWidget * widget, gpointer user_data)
+GNUNET_GTK_about_window_realized (GtkWidget * widget, struct
AboutDialogContext *ctx)
{
- GtkBuilder *builder = GTK_BUILDER (user_data);
- GtkTextBuffer *license_contents;
gchar *license = NULL;
const char *path;
char *license_path;
- license_contents =
- GTK_TEXT_BUFFER (gtk_builder_get_object (builder, "license_contents"));
path = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_DOCDIR);
if (path != NULL)
GNUNET_asprintf (&license_path, "%s%s", path, "COPYING");
@@ -85,7 +80,7 @@
if (g_file_get_contents (license_path, &license, NULL, NULL) &&
(license != NULL))
{
- gtk_text_buffer_set_text (license_contents, license, -1);
+ gtk_text_buffer_set_text (ctx->license_contents, license, -1);
g_free (license);
}
GNUNET_free_non_null (license_path);
@@ -93,39 +88,31 @@
G_MODULE_EXPORT void
-GNUNET_GTK_about_close_button_clicked (GtkButton * widget, gpointer user_data)
+GNUNET_GTK_about_close_button_clicked (GtkButton * widget, struct
AboutDialogContext *ctx)
{
- GtkBuilder *builder = GTK_BUILDER (user_data);
-
- destroy_about_dialog (builder);
+ destroy_about_dialog (ctx);
}
G_MODULE_EXPORT gboolean
GNUNET_GTK_about_window_got_delete_event (GtkWidget * widget, GdkEvent * event,
- gpointer user_data)
+ struct AboutDialogContext *ctx)
{
- GtkBuilder *builder = GTK_BUILDER (user_data);
-
- destroy_about_dialog (builder);
+ destroy_about_dialog (ctx);
return FALSE;
}
G_MODULE_EXPORT void
-GNUNET_GTK_about_credits_button_clicked (GtkButton * widget, gpointer
user_data)
+GNUNET_GTK_about_credits_button_clicked (GtkButton * widget, struct
AboutDialogContext *ctx)
{
- GtkBuilder *builder = GTK_BUILDER (user_data);
-
- about_window_show_exclusively (builder, "about_credits_notebook");
+ about_window_show_exclusively (ctx, "about_credits_notebook");
}
G_MODULE_EXPORT void
-GNUNET_GTK_about_license_button_clicked (GtkButton * widget, gpointer
user_data)
+GNUNET_GTK_about_license_button_clicked (GtkButton * widget, struct
AboutDialogContext *ctx)
{
- GtkBuilder *builder = GTK_BUILDER (user_data);
-
- about_window_show_exclusively (builder, "about_license_scroller");
+ about_window_show_exclusively (ctx, "about_license_scroller");
}
@@ -138,15 +125,24 @@
void
GNUNET_GTK_display_about (const char *dialogfile)
{
- GtkBuilder *builder;
- GtkWidget *ad;
+ struct AboutDialogContext *ctx;
+ ctx = GNUNET_malloc (sizeof (struct AboutDialogContext));
+ ctx->builder = GNUNET_GTK_get_new_builder (dialogfile, ctx);
- builder = GNUNET_GTK_get_new_builder (dialogfile, NULL);
- if (builder == NULL)
+ if (ctx->builder == NULL)
+ {
+ GNUNET_free (ctx);
return;
- ad = GTK_WIDGET (gtk_builder_get_object (builder, "about_window"));
- g_object_set_data (G_OBJECT (ad), "gnunet-gtk-builder", builder);
- gtk_widget_show (ad);
+ }
+ ctx->about_credits_notebook =
+ GTK_WIDGET (gtk_builder_get_object (ctx->builder,
"about_credits_notebook"));
+ ctx->about_license_scroller =
+ GTK_WIDGET (gtk_builder_get_object (ctx->builder,
"about_license_scroller"));
+ ctx->ad = GTK_WIDGET (gtk_builder_get_object (ctx->builder, "about_window"));
+ ctx->license_contents =
+ GTK_TEXT_BUFFER (gtk_builder_get_object (ctx->builder,
"license_contents"));
+ g_object_set_data (G_OBJECT (ctx->ad), "gnunet-gtk-builder", ctx->builder);
+ gtk_widget_show (ctx->ad);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18963 - gnunet-gtk/src/lib,
gnunet <=