gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r18516 - in gnunet-gtk: . contrib src src/fs src/include sr


From: gnunet
Subject: [GNUnet-SVN] r18516 - in gnunet-gtk: . contrib src src/fs src/include src/lib src/peerinfo src/statistics
Date: Thu, 8 Dec 2011 17:15:03 +0100

Author: grothoff
Date: 2011-12-08 17:15:03 +0100 (Thu, 08 Dec 2011)
New Revision: 18516

Added:
   gnunet-gtk/contrib/get_version.sh
   gnunet-gtk/contrib/gnunet_fs_gtk_about_window.glade.in
Modified:
   gnunet-gtk/configure.ac
   gnunet-gtk/contrib/Makefile.am
   gnunet-gtk/src/Makefile.am
   gnunet-gtk/src/fs/gnunet-fs-gtk-about.c
   gnunet-gtk/src/include/gnunet_gtk.h
   gnunet-gtk/src/lib/about.c
   gnunet-gtk/src/lib/glade.c
   gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk-about.c
   gnunet-gtk/src/statistics/gnunet-statistics-gtk.c
Log:
LRN: Starting to get rid of gtk_dialog_run(), and more

* Call AC_INIT() with different package name and tarball name
* Get version from VCS instead of hard-coding it in configure.ac
* Don't supply version to AM_INIT_AUTOMAKE
* Use silent rules
* Make a few GNUNET_FS_GTK_* AM variables to be used in .glade files
* Add contrib/gnunet_fs_gtk_about_window.glade.in
* GNUNET_GTK_display_about () doesn't take dialog name anymore
  (it should always be 'about_window' now)
* GNUNET_GTK_get_new_builder () now passes the builder as a callback
  argument
* about.c now implements most of the things that were previously done
  by GtkAboutDialog.



Modified: gnunet-gtk/configure.ac
===================================================================
--- gnunet-gtk/configure.ac     2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/configure.ac     2011-12-08 16:15:03 UTC (rev 18516)
@@ -20,8 +20,8 @@
 # Process this file with autoconf to produce a configure script.
 #
 AC_PREREQ(2.61)
-AC_INIT([gnunet-gtk],[0.9.0],address@hidden)
-AM_INIT_AUTOMAKE([gnunet-gtk], [0.9.0])
+AC_INIT([GNUnet GTK],m4_esyscmd([contrib/get_version.sh .version | tr -d 
'\n']),address@hidden,[gnunet-gtk])
+AM_INIT_AUTOMAKE([silent-rules])
 AM_CONFIG_HEADER(gnunet_gtk_config.h)
 
 AH_TOP([#define _GNU_SOURCE  1])
@@ -358,6 +358,11 @@
 packagesrcdir=`cd $srcdir && pwd`
 AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [source dir])
 
+AC_SUBST(GNUNET_FS_GTK_NAME, $PACKAGE_NAME, [name of the program])
+AC_SUBST(GNUNET_FS_GTK_VERSION3, $PACKAGE_VERSION, [version of the program])
+AC_SUBST(GNUNET_FS_GTK_YEARFROM, [2010], [year of the first release])
+AC_SUBST(GNUNET_FS_GTK_YEARTO, [$(date | sed -e 's/.* 
\([[[:digit:]]]\+\)$/\1/')], [year of the most current release])
+
 AC_OUTPUT([
 Makefile
 contrib/Makefile
@@ -374,4 +379,5 @@
 po/Makefile
 gnunet-fs-gtk.desktop
 gnunet-setup.desktop
+contrib/gnunet_fs_gtk_about_window.glade
 ])

Modified: gnunet-gtk/contrib/Makefile.am
===================================================================
--- gnunet-gtk/contrib/Makefile.am      2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/contrib/Makefile.am      2011-12-08 16:15:03 UTC (rev 18516)
@@ -34,7 +34,8 @@
   gnunet_peerinfo_gtk_main_window.glade \
   gnunet_statistics_gtk_about_dialog.glade \
   gnunet_statistics_gtk_main_window.glade \
-  gnunet_setup_gtk_main_window.glade 
+  gnunet_setup_gtk_main_window.glade \
+  gnunet_fs_gtk_about_window.glade
 
 install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(pkgpixdir)

Added: gnunet-gtk/contrib/get_version.sh
===================================================================
--- gnunet-gtk/contrib/get_version.sh                           (rev 0)
+++ gnunet-gtk/contrib/get_version.sh   2011-12-08 16:15:03 UTC (rev 18516)
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Gets the version number from VCS, or from the contents of the file $1
+version=
+if test -f "$1"
+then
+  version=$(cat $1)
+fi
+if test "x$version" = "x" -a -d "./.git"
+then
+  version=$(git svn info | grep "Revision: [[:digit:]]\+" | sed -e 
's/Revision: //')
+  if test "x$version" = "x"
+  then
+    version=$(git log -1 | grep 'commit [a-f0-9]\+' | sed -e 's/commit //')
+    if test ! "x$version" = "x"
+    then
+      version="git-$version"
+    fi
+  else
+    version="r$version"
+  fi
+fi
+if test "x$version" = "x" -a -d "./.svn"
+then
+  version=$(svn info | grep "Revision: [[:digit:]]\+" | sed -e 's/Revision: 
//')
+  if test ! "x$version" = "x"
+  then
+    version="r$version"
+  fi
+fi
+if test "x$version" = "x"
+then
+  version="unknown"
+fi
+echo $version


Property changes on: gnunet-gtk/contrib/get_version.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: gnunet-gtk/contrib/gnunet_fs_gtk_about_window.glade.in
===================================================================
--- gnunet-gtk/contrib/gnunet_fs_gtk_about_window.glade.in                      
        (rev 0)
+++ gnunet-gtk/contrib/gnunet_fs_gtk_about_window.glade.in      2011-12-08 
16:15:03 UTC (rev 18516)
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <requires lib="gtk+" version="2.24"/>
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkWindow" id="about_window">
+    <property name="can_focus">False</property>
+    <property name="modal">True</property>
+    <property name="destroy_with_parent">True</property>
+    <signal name="destroy-event" 
handler="GNUNET_GTK_about_window_got_destroy_event" swapped="no"/>
+    <signal name="frame-event" 
handler="GNUNET_GTK_about_window_got_frame_event" swapped="no"/>
+    <signal name="realize" handler="GNUNET_GTK_about_window_realized" 
swapped="no"/>
+    <signal name="delete-event" 
handler="GNUNET_GTK_about_window_got_delete_event" swapped="no"/>
+    <child>
+      <object class="GtkVBox" id="about_main_vbox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="border_width">10</property>
+        <child>
+          <object class="GtkImage" id="about_logo_image">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="pixbuf">gnunet_logo.png</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="about_name_version_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label">@GNUNET_FS_GTK_NAME@ 
@GNUNET_FS_GTK_VERSION3@</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+              <attribute name="size" value="200"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="about_copyright_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label">(C) @address@hidden@GNUNET_FS_GTK_YEARTO@ 
The GNUnet Project</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkLabel" id="about_link_label">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label">&lt;a href="https://gnunet.org/"&gt;GNUnet: 
GNU's Framework for Secure P2P Networking&lt;/a&gt;</property>
+            <property name="use_markup">True</property>
+            <property name="wrap">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkNotebook" id="about_credits_notebook">
+            <property name="can_focus">True</property>
+            <child>
+              <object class="GtkScrolledWindow" 
id="about_credits_authors_scroller">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <object class="GtkTextView" 
id="about_credits_authors_textview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">word</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="buffer">credits_authors_contents</property>
+                    <property name="accepts_tab">False</property>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="about_credits_authors_tab">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Developed 
by</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkScrolledWindow" 
id="about_credits_docs_scroller">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <object class="GtkTextView" id="about_credits_docs_textview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">word</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="buffer">credits_docs_contents</property>
+                    <property name="accepts_tab">False</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="about_credits_docs_tab">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Documented 
by</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkScrolledWindow" 
id="about_credits_trans_scroller">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <object class="GtkTextView" 
id="about_credits_trans_textview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">word</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="buffer">credits_trans_contents</property>
+                    <property name="accepts_tab">False</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="about_credits_trans_tab">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Translated 
by</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkScrolledWindow" 
id="about_credits_art_scroller">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <child>
+                  <object class="GtkTextView" id="about_credits_art_textview">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="editable">False</property>
+                    <property name="wrap_mode">word</property>
+                    <property name="cursor_visible">False</property>
+                    <property name="buffer">credits_art_contents</property>
+                    <property name="accepts_tab">False</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="about_credits_art_tab">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Artwork by</property>
+              </object>
+              <packing>
+                <property name="position">3</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">4</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkScrolledWindow" id="about_license_scroller">
+            <property name="can_focus">True</property>
+            <property name="hscrollbar_policy">automatic</property>
+            <property name="vscrollbar_policy">automatic</property>
+            <child>
+              <object class="GtkTextView" id="about_license_textview">
+                <property name="can_focus">True</property>
+                <property name="editable">False</property>
+                <property name="wrap_mode">word</property>
+                <property name="cursor_visible">False</property>
+                <property name="buffer">license_contents</property>
+                <property name="accepts_tab">False</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">5</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHBox" id="about_buttons_hbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">5</property>
+            <property name="homogeneous">True</property>
+            <child>
+              <object class="GtkButton" id="about_credits_button">
+                <property name="label" translatable="yes">Credits</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <signal name="clicked" 
handler="GNUNET_GTK_about_credits_button_clicked" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="about_license_button">
+                <property name="label" translatable="yes">License</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <signal name="clicked" 
handler="GNUNET_GTK_about_license_button_clicked" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="about_close_button">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+                <signal name="clicked" 
handler="GNUNET_GTK_about_close_button_clicked" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">False</property>
+                <property name="pack_type">end</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">6</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkTextBuffer" id="credits_art_contents">
+    <property name="text">Jakub 'jimmac' Steiner &lt;address@hidden&gt;
+Christian Muellner &lt;address@hidden&gt;
+Alex Jones &lt;address@hidden&gt;
+Nicklas Larsson &lt;address@hidden&gt;
+</property>
+  </object>
+  <object class="GtkTextBuffer" id="credits_authors_contents">
+    <property name="text">Juergen Appel &lt;address@hidden&gt;
+Krista Grothoff &lt;address@hidden&gt;
+James Blackwell &lt;address@hidden&gt;
+Ludovic Courtes &lt;address@hidden&gt;
+Nils Durner &lt;address@hidden&gt;
+Renaldo Ferreira &lt;address@hidden&gt;
+Christian Grothoff &lt;address@hidden&gt;
+Eric Haumant
+Tzvetan Horozov &lt;address@hidden&gt;
+Gerd Knorr &lt;address@hidden&gt;
+Werner Koch &lt;address@hidden&gt;
+Uli Luckas &lt;address@hidden&gt;
+Blake Matheny
+Glenn McGrath
+Hendrik Pagenhardt &lt;address@hidden&gt;
+Ioana Patrascu &lt;address@hidden&gt;
+Marko Raeihae
+Paul Ruth &lt;address@hidden&gt;
+Risto Saarelma
+Antti Salonen
+Tiberius Stef &lt;address@hidden&gt;
+Tuomas Toivonen
+Tomi Tukiainen
+Kevin Vandersloot &lt;address@hidden&gt;
+Simo Viitanen
+Larry Waldo
+Igor Wronsky &lt;address@hidden&gt;
+&lt;address@hidden&gt;</property>
+  </object>
+  <object class="GtkTextBuffer" id="credits_docs_contents">
+    <property name="text">Christian Grothoff &lt;address@hidden&gt;
+Anders Carlsson &lt;address@hidden&gt;
+Nils Durner &lt;address@hidden&gt;
+Nicklas Larsson &lt;address@hidden&gt;
+Milan Bouchet-Valat &lt;address@hidden&gt;
+Igor Wronsky &lt;address@hidden&gt;
+</property>
+  </object>
+  <object class="GtkTextBuffer" id="credits_trans_contents">
+    <property name="text">Di Ma
+Jens Palsberg &lt;address@hidden&gt;
+Christian Grothoff &lt;address@hidden&gt;
+Nils Durner &lt;address@hidden&gt;
+Mathieu &lt;address@hidden&gt;
+Eric Haumant
address@hidden
+Hiroshi Yamauchi &lt;address@hidden&gt;
+Adam Welc &lt;address@hidden&gt;
+Bogdan Carbunar &lt;address@hidden&gt;
+Steven Michael Murphy &lt;address@hidden&gt;
+Phan Vinh Thinh &lt;address@hidden&gt;
+Daniel Nylander &lt;address@hidden&gt;
+</property>
+  </object>
+  <object class="GtkTextBuffer" id="license_contents">
+    <property name="text" translatable="yes">License should be loaded here at 
runtime from the license file (no need to copy the whole GPL in 
here...).</property>
+  </object>
+</interface>

Modified: gnunet-gtk/src/Makefile.am
===================================================================
--- gnunet-gtk/src/Makefile.am  2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/src/Makefile.am  2011-12-08 16:15:03 UTC (rev 18516)
@@ -1 +1 @@
-SUBDIRS = . include lib $(GNUNET_FS_APP) $(GNUNET_SETUP_APP) 
$(GNUNET_PEERINFO_APP) statistics
+SUBDIRS = . include lib $(GNUNET_FS_APP) $(GNUNET_SETUP_APP) 
$(GNUNET_PEERINFO_APP) 

Modified: gnunet-gtk/src/fs/gnunet-fs-gtk-about.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk-about.c     2011-12-08 15:45:10 UTC (rev 
18515)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk-about.c     2011-12-08 16:15:03 UTC (rev 
18516)
@@ -34,8 +34,7 @@
 void
 GNUNET_GTK_main_menu_help_about_activate_cb (GtkWidget * dummy, gpointer data)
 {
-  GNUNET_GTK_display_about ("gnunet_fs_gtk_about_dialog.glade",
-                            "GNUNET_FS_GTK_about_dialog");
+  GNUNET_GTK_display_about ("gnunet_fs_gtk_about_window.glade");
 }
 
 

Modified: gnunet-gtk/src/include/gnunet_gtk.h
===================================================================
--- gnunet-gtk/src/include/gnunet_gtk.h 2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/src/include/gnunet_gtk.h 2011-12-08 16:15:03 UTC (rev 18516)
@@ -37,8 +37,8 @@
 #include <gnunet/gnunet_util_lib.h>
 #include <gnunet/gnunet_fs_service.h>
 #include <extractor.h>
-#include <gladeui/glade.h>
 #include <gtk/gtk.h>
+#include <gladeui/glade.h>
 
 /* ****************** Initialization *************** */
 
@@ -93,10 +93,9 @@
  * This displays an about dialog.
  *
  * @param dialogfile name of the glade file containing the dialog
- * @param dialogname name of the about dialog in the file
  */
 void
-GNUNET_GTK_display_about (const char *dialogfile, const char *dialogname);
+GNUNET_GTK_display_about (const char *dialogfile);
 
 
 

Modified: gnunet-gtk/src/lib/about.c
===================================================================
--- gnunet-gtk/src/lib/about.c  2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/src/lib/about.c  2011-12-08 16:15:03 UTC (rev 18516)
@@ -26,6 +26,115 @@
  */
 #include "gnunet_gtk.h"
 
+static void
+destroy_about_dialog (GtkBuilder *builder)
+{
+  GtkWidget *ad;
+  ad = GTK_WIDGET (gtk_builder_get_object (builder, "about_window"));
+  gtk_widget_destroy (ad);
+  g_object_unref (G_OBJECT (builder));
+}
+
+static void
+about_window_show_exclusively (GtkBuilder *builder, gchar *name)
+{
+  GtkWidget *about_credits_notebook;
+  GtkWidget *about_license_textview;
+  GtkWidget *about_license_scroller;
+  about_credits_notebook = GTK_WIDGET (gtk_builder_get_object (builder, 
"about_credits_notebook"));
+  about_license_textview = GTK_WIDGET (gtk_builder_get_object (builder, 
"about_license_textview"));
+  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_textview);
+    gtk_widget_hide (about_license_scroller);
+  }
+  else if (strcmp ("about_credits_notebook", name) == 0)
+  {
+    gtk_widget_show (about_credits_notebook);
+    gtk_widget_hide (about_license_textview);
+    gtk_widget_hide (about_license_scroller);
+  }
+  else if (strcmp ("about_license_textview", name) == 0)
+  {
+    gtk_widget_show (about_license_textview);
+    gtk_widget_show (about_license_scroller);
+    gtk_widget_hide (about_credits_notebook);
+  }
+}
+
+G_MODULE_EXPORT gboolean
+GNUNET_GTK_about_window_got_frame_event (GtkWindow *window, GdkEvent *event,
+    gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+
+  switch (event->type)
+  {
+  case GDK_DELETE:
+    destroy_about_dialog (builder);
+    return TRUE;
+    break;
+  default:
+    return FALSE;
+  }
+}
+
+G_MODULE_EXPORT void
+GNUNET_GTK_about_window_realized (GtkWidget *widget, gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  GtkTextBuffer *license_contents;
+  gchar *license = NULL;
+  license_contents = GTK_TEXT_BUFFER (gtk_builder_get_object (builder, 
"license_contents"));
+  if (g_file_get_contents ("COPYING", &license, NULL, NULL) && license != NULL)
+  {
+    gtk_text_buffer_set_text (license_contents, license, -1);
+    g_free (license);
+  }
+  about_window_show_exclusively (builder, NULL);
+}
+
+G_MODULE_EXPORT void
+GNUNET_GTK_about_close_button_clicked (GtkButton *widget, gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  destroy_about_dialog (builder);
+}
+
+G_MODULE_EXPORT gboolean
+GNUNET_GTK_about_window_got_delete_event (GtkWidget *widget, GdkEvent *event,
+                                          gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  destroy_about_dialog (builder);
+  return FALSE;
+}
+
+G_MODULE_EXPORT gboolean
+GNUNET_GTK_about_window_got_destroy_event (GtkWidget *widget, GdkEvent *event,
+                                          gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  destroy_about_dialog (builder);
+  return FALSE;
+}
+
+G_MODULE_EXPORT void
+GNUNET_GTK_about_credits_button_clicked (GtkButton *widget, gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  about_window_show_exclusively (builder, "about_credits_notebook");
+}
+
+G_MODULE_EXPORT void
+GNUNET_GTK_about_license_button_clicked (GtkButton *widget, gpointer user_data)
+{
+  GtkBuilder *builder = GTK_BUILDER (user_data);
+  about_window_show_exclusively (builder, "about_license_textview");
+}
+
 /**
  * This displays an about dialog.
  *
@@ -33,7 +142,7 @@
  * @param dialogname name of the about dialog in the file
  */
 void
-GNUNET_GTK_display_about (const char *dialogfile, const char *dialogname)
+GNUNET_GTK_display_about (const char *dialogfile)
 {
   GtkBuilder *builder;
   GtkWidget *ad;
@@ -41,10 +150,14 @@
   builder = GNUNET_GTK_get_new_builder (dialogfile);
   if (builder == NULL)
     return;
-  ad = GTK_WIDGET (gtk_builder_get_object (builder, dialogname));
+  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);
+  /*
   gtk_dialog_run (GTK_DIALOG (ad));
   gtk_widget_destroy (ad);
   g_object_unref (G_OBJECT (builder));
+  */
 }
 
 

Modified: gnunet-gtk/src/lib/glade.c
===================================================================
--- gnunet-gtk/src/lib/glade.c  2011-12-08 15:45:10 UTC (rev 18515)
+++ gnunet-gtk/src/lib/glade.c  2011-12-08 16:15:03 UTC (rev 18516)
@@ -84,7 +84,7 @@
     GNUNET_free (glade_path);
     return NULL;
   }
-  gtk_builder_connect_signals (ret, NULL);
+  gtk_builder_connect_signals (ret, ret);
   GNUNET_free (glade_path);
   return ret;
 }

Modified: gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk-about.c
===================================================================
--- gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk-about.c 2011-12-08 15:45:10 UTC 
(rev 18515)
+++ gnunet-gtk/src/peerinfo/gnunet-peerinfo-gtk-about.c 2011-12-08 16:15:03 UTC 
(rev 18516)
@@ -35,8 +35,7 @@
 GNUNET_PEERINFO_GTK_main_menu_help_about_activate_cb (GtkWidget * dummy,
                                                       gpointer data)
 {
-  GNUNET_GTK_display_about ("gnunet_peerinfo_gtk_about_dialog.glade",
-                            "GNUNET_PEERINFO_GTK_about_dialog");
+  GNUNET_GTK_display_about ("gnunet_peerinfo_gtk_about_window.glade");
 }
 
 

Modified: gnunet-gtk/src/statistics/gnunet-statistics-gtk.c
===================================================================
--- gnunet-gtk/src/statistics/gnunet-statistics-gtk.c   2011-12-08 15:45:10 UTC 
(rev 18515)
+++ gnunet-gtk/src/statistics/gnunet-statistics-gtk.c   2011-12-08 16:15:03 UTC 
(rev 18516)
@@ -27,6 +27,7 @@
 
 #include <gnunet/gnunet_util_lib.h>
 #include <gnunet/gnunet_statistics_service.h>
+#include <cairo.h>
 
 #define MAX_HISTORY 1280
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]