SF.net SVN: geany:[3354] trunk

eht16 at users.sourceforge.net eht16 at xxxxx
Tue Dec 9 20:31:38 UTC 2008


Revision: 3354
          http://geany.svn.sourceforge.net/geany/?rev=3354&view=rev
Author:   eht16
Date:     2008-12-09 20:31:38 +0000 (Tue, 09 Dec 2008)

Log Message:
-----------
Add new toolbar elements: Close All and Preferences.
The icon for Close All was kindly provided by Tyler Mulligan, thanks.
Remove GeanyStockItem and add ui_new_pixbuf_from_stock() as a replacement.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/THANKS
    trunk/doc/geany.html
    trunk/doc/geany.txt
    trunk/src/about.c
    trunk/src/callbacks.c
    trunk/src/callbacks.h
    trunk/src/images.c
    trunk/src/main.c
    trunk/src/toolbar.c
    trunk/src/ui_utils.c
    trunk/src/ui_utils.h

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/ChangeLog	2008-12-09 20:31:38 UTC (rev 3354)
@@ -7,6 +7,13 @@
  * data/ui_toolbar.xml:
    Remove the list of available actions and instead refer to the
    documentation for an up to date list.
+ * THANKS, src/about.c, src/callbacks.c, src/callbacks.h, src/images.c,
+   src/main.c, src/toolbar.c, src/ui_utils.c, src/ui_utils.h,
+   doc/geany.txt, doc/geany.html:
+   Add new toolbar elements: Close All and Preferences.
+   The icon for Close All was kindly provided by Tyler Mulligan, thanks.
+   Remove GeanyStockItem and add ui_new_pixbuf_from_stock() as a
+   replacement.
 
 
 2008-12-09  Nick Treleaven  <nick(dot)treleaven(at)btinternet(dot)com>

Modified: trunk/THANKS
===================================================================
--- trunk/THANKS	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/THANKS	2008-12-09 20:31:38 UTC (rev 3354)
@@ -57,6 +57,7 @@
 Tyler D'Agosta - Add missing HTML entities
 Walery Studennikov <despairr(at)gmail(dot)com> - YAML filetype patch
 Guillaume de Rorthais <ioguix(at)free(dot)fr> - Auto-close brackets/braces/quotes patch
+Tyler Mulligan <tyler(at)doknowevil(dot)net> - Close All toolbar icon
 
 Translators:
 ------------

Modified: trunk/doc/geany.html
===================================================================
--- trunk/doc/geany.html	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/doc/geany.html	2008-12-09 20:31:38 UTC (rev 3354)
@@ -6,7 +6,7 @@
 <meta name="generator" content="Docutils 0.5: http://docutils.sourceforge.net/" />
 <title>Geany</title>
 <meta name="authors" content="Enrico Tröger  Nick Treleaven  Frank Lanitz" />
-<meta name="date" content="2008-12-01" />
+<meta name="date" content="$Date$" />
 <style type="text/css">
 
 /*
@@ -139,7 +139,7 @@
 <br />Nick Treleaven
 <br />Frank Lanitz</td></tr>
 <tr><th class="docinfo-name">Date:</th>
-<td>2008-12-01</td></tr>
+<td>$Date$</td></tr>
 <tr><th class="docinfo-name">Version:</th>
 <td>0.16</td></tr>
 </tbody>
@@ -3631,6 +3631,9 @@
 <tr><td>Close</td>
 <td>Close the current file</td>
 </tr>
+<tr><td>CloseAll</td>
+<td>Close all open files</td>
+</tr>
 <tr><td>Cut</td>
 <td>Cut the current selection</td>
 </tr>
@@ -3689,6 +3692,9 @@
 <tr><td>Goto</td>
 <td>Jump to the entered line number (only useful if you also use 'SearchEntry')</td>
 </tr>
+<tr><td>Preferences</td>
+<td>Show the preferences dialog</td>
+</tr>
 <tr><td>Quit</td>
 <td>Quit Geany</td>
 </tr>
@@ -4519,7 +4525,7 @@
 <div class="footer">
 <hr class="footer" />
 <a class="reference external" href="geany.txt">View document source</a>.
-Generated on: 2008-12-06 11:01 UTC.
+Generated on: 2008-12-09 20:28 UTC.
 Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
 </div>

Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/doc/geany.txt	2008-12-09 20:31:38 UTC (rev 3354)
@@ -3245,6 +3245,7 @@
 SaveAll            Save all open files
 Reload             Reload the current file from disk
 Close              Close the current file
+CloseAll           Close all open files
 Cut                Cut the current selection
 Copy               Copy the current selection
 Paste              Paste the contents of the clipboard
@@ -3265,6 +3266,7 @@
                    use 'SearchEntry')
 GotoEntry          The goto field belonging to the 'Goto' element (can be used alone)
 Goto               Jump to the entered line number (only useful if you also use 'SearchEntry')
+Preferences        Show the preferences dialog
 Quit               Quit Geany
 ================== ==============================================================================
 

Modified: trunk/src/about.c
===================================================================
--- trunk/src/about.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/about.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -83,7 +83,8 @@
 "Giuseppe Torelli, Guillaume de Rorthais, Guillaume Hoffmann, Herbert Voss, Jason Oster, Jean-François Wauthy, Jeff Pohlmeyer, "
 "John Gabriele, Josef Whiter, Kevin Ellwood, Kristoffer A. Tjernås, Marko Peric, Matti Mårds, Moritz Barsnick, "
 "Peter Strand, Pierre Joye, Rob van der Linde, Robert McGinley, Roland Baudin, S Jagannathan, Saleem Abdulrasool, "
-"Sebastian Kraft, Shiv, Slava Semushin, Stefan Oltmanns, Tamim, Tomás Vírseda, Walery Studennikov, Yura Siamashka";
+"Sebastian Kraft, Shiv, Slava Semushin, Stefan Oltmanns, Tamim, Tomás Vírseda, Tyler Mulligan, Walery Studennikov, "
+"Yura Siamashka";
 
 
 static void header_eventbox_style_set(GtkWidget *widget);
@@ -162,7 +163,7 @@
 	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), header_eventbox, FALSE, FALSE, 0);
 
 	/* set image */
-	icon = ui_new_pixbuf_from_inline(GEANY_IMAGE_LOGO, FALSE);
+	icon = ui_new_pixbuf_from_inline(GEANY_IMAGE_LOGO);
 	gtk_image_set_from_pixbuf(GTK_IMAGE(header_image), icon);
 	gtk_window_set_icon(GTK_WINDOW(dialog), icon);
 	g_object_unref(icon);	/* free our reference */

Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/callbacks.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -689,6 +689,22 @@
 
 
 void
+on_toolbutton_close_all_clicked        (GtkAction       *action,
+                                        gpointer         user_data)
+{
+	on_close_all1_activate(NULL, NULL);
+}
+
+
+void
+on_toolbutton_preferences_clicked      (GtkAction       *action,
+                                        gpointer         user_data)
+{
+	on_preferences1_activate(NULL, NULL);
+}
+
+
+void
 on_notebook1_switch_page               (GtkNotebook     *notebook,
                                         GtkNotebookPage *page,
                                         guint            page_num,

Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/callbacks.h	2008-12-09 20:31:38 UTC (rev 3354)
@@ -69,6 +69,10 @@
                                         gpointer         user_data);
 
 void
+on_toolbutton_close_all_clicked        (GtkAction       *action,
+                                        gpointer         user_data);
+
+void
 on_notebook1_switch_page               (GtkNotebook     *notebook,
                                         GtkNotebookPage *page,
                                         guint            page_num,
@@ -267,6 +271,10 @@
                                         gpointer         user_data);
 
 void
+on_toolbutton_preferences_clicked      (GtkAction       *action,
+                                        gpointer         user_data);
+
+void
 on_toolbutton_reload_clicked           (GtkAction       *action,
                                         gpointer         user_data);
 

Modified: trunk/src/images.c
===================================================================
--- trunk/src/images.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/images.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -480,3 +480,391 @@
   "\0\0\0\0\0\0\0\0\0\0\0\0\0"};
 
 
+/* Close All icon, kindly provided by Tyler Mulligan (licenced as GPLv2). */
+/* GdkPixbuf RGBA C-Source image dump */
+
+#ifdef __SUNPRO_C
+#pragma align 4 (close_all_inline)
+#endif
+#ifdef __GNUC__
+static const guint8 close_all_inline[] __attribute__ ((__aligned__ (4))) =
+#else
+static const guint8 close_all_inline[] =
+#endif
+{ ""
+  /* Pixbuf magic (0x47646b50) */
+  "GdkP"
+  /* length: header (24) + pixel_data (9216) */
+  "\0\0$\30"
+  /* pixdata_type (0x1010002) */
+  "\1\1\0\2"
+  /* rowstride (192) */
+  "\0\0\0\300"
+  /* width (48) */
+  "\0\0\0""0"
+  /* height (48) */
+  "\0\0\0""0"
+  /* pixel_data: */
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\203\0\0\4\255\21\21\341"
+  "\255\20\20\311\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\256\21\21\320\255\22\22\337\204\0"
+  "\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\252\14\14\336\342\177"
+  "\177\376\335qq\376\247\4\4\326\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\247\3\3\333\336uu\376\342}}\376\252"
+  "\13\13\336\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\255\22\22\311\336pp\377"
+  "\333DD\377\335JJ\377\334oo\376\253\14\14\273\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\254\15\15\300\335oo\376\334HH\377\333"
+  "EE\377\336pp\377\255\20\20\313\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\213\0\0\4\252\13\13\333\334"
+  "mm\377\330>>\376\330==\377\330==\377\331@@\377\331ff\376\250\7\7\313"
+  "\217\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\234\0\0\4\250\7\7\317\332gg\376\330"
+  "\77\77\377\330==\377\330==\377\330\77\77\376\335mm\377\251\12\12\336"
+  "\214\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\250\12\12\337\340yy\376\330BB\377\327<<\377\327==\377\327==\377"
+  "\327<<\377\331EE\377\333mm\376\247\7\7\314\0\0\0\0\0\0\0\0\0\0\0\0\250"
+  "\7\7\317\334nn\376\330CC\377\327<<\377\327==\377\327==\377\327<<\377"
+  "\330BB\377\340zz\376\247\10\10\327\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\205\205\205\27\214\216\211\341\210\212\205\377\210\212"
+  "\205\377\210\212\205\377\210\212\205\377\210\212\205\377\210\212\205"
+  "\377\210\212\205\377\210\212\205\377\210\212\205\377\210\212\205\377"
+  "\210\212\205\377\210\212\205\377\207\211\204\377\210\212\205\377\216"
+  "\220\212\310ypO\3\0\0\0\0\241\0\0_\306BB\377\334YY\377\32499\377\325"
+  "<<\377\325;;\377\325;;\377\325;;\377\327CC\377\326``\376\252\14\14\274"
+  "\250\0\0\3\253\14\14\300\327bb\376\327AA\377\325;;\377\325;;\377\325"
+  ";;\377\325<<\377\32499\377\334YY\377\304@@\377\242\0\0W\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\215\216\212\333\362\363\363\377\377"
+  "\377\377\376\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\376"
+  "\377\377\377\376\351\350\347\377\202\205\177\234\0\0\0\0\0\0\0\0\246"
+  "\0\0P\305@@\377\334[[\377\324::\377\325;;\377\325;;\377\325;;\377\324"
+  "::\377\325<<\377\331ee\374\244\0\0\377\331gg\374\325<<\377\324::\377"
+  "\325;;\377\325;;\377\325;;\377\324::\377\334[[\377\305@@\377\244\0\0"
+  "C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205"
+  "\377\377\377\377\376\350\350\350\376\351\351\351\377\352\352\352\377"
+  "\353\353\353\377\353\353\353\377\354\354\354\377\354\354\354\377\355"
+  "\355\355\377\355\355\355\377\355\355\355\377\355\355\355\377\354\354"
+  "\354\377\354\354\354\377\352\352\352\376\377\377\377\377{}x\272\0\0\0"
+  "\0\0\0\0\1\0\0\0\0\236\0\0]\27733\377\332XX\377\32277\377\323::\377\323"
+  "::\377\323::\377\323::\377\325BB\377\336nn\377\325BB\377\323::\377\323"
+  "::\377\323::\377\323::\377\32277\377\332VV\377\27744\377\235\0\0V\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212"
+  "\205\377\377\377\377\377\351\351\351\377\353\353\353\377\354\354\354"
+  "\377\355\355\355\377\355\355\355\377\356\356\356\377\356\356\356\377"
+  "\356\356\356\377\357\357\357\377\357\357\357\377\357\357\357\377\356"
+  "\356\356\377\356\356\356\377\354\354\354\377\377\377\377\377z}w\272\0"
+  "\0\0\0\0\0\0\4\0\0\0\2\0\0\0\1\243\0\0U\306DD\375\331WW\377\32199\377"
+  "\32199\377\32199\377\32199\377\32199\377\32177\377\32199\377\32199\377"
+  "\32199\377\32199\377\32199\377\330TT\377\307FF\375\241\0\0M\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212"
+  "\205\377\377\377\377\377\352\352\352\377\352\352\352\377\321\323\317"
+  "\377\321\322\316\377\321\323\317\377\322\323\317\377\322\323\320\377"
+  "\322\323\317\377\322\324\320\377\322\324\320\377\322\323\317\377\324"
+  "\326\322\377\360\360\361\377\355\355\355\377\377\377\377\377y{v\272\0"
+  "\0\0\0\0\0\0\0\0\0\0\4\0\0\0\5\0\0\0\3\240\0\0U\275//\377\330WW\377\317"
+  "55\377\32088\377\32088\377\32088\377\32088\377\32088\377\32088\377\320"
+  "88\377\31766\377\327RR\377\27522\377\242\0\0P\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205"
+  "\377\377\377\377\377\353\353\353\377\354\354\354\377\351\351\350\377"
+  "\351\351\350\377\352\352\351\377\352\352\351\377\353\353\352\377\353"
+  "\353\352\377\353\353\352\377\353\353\352\377\352\353\352\377\353\353"
+  "\353\377\361\361\361\377\356\356\356\377\377\377\377\377z|w\366tuq\316"
+  "ijgu8=9\32\0\0\0\0\0\0\0\1\0\0\0\3\235\0\0]\30299\374\326SS\377\3176"
+  "6\377\31777\377\31777\377\31777\377\31777\377\31777\377\31766\377\325"
+  "NN\377\303>>\373\240\0\0[\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377"
+  "\377\377\354\354\354\377\355\355\355\377\344\345\343\377\345\345\344"
+  "\377\345\345\344\377\345\346\345\377\346\347\345\377\346\347\345\377"
+  "\346\347\345\377\346\347\345\377\346\347\345\377\347\350\346\377\362"
+  "\362\362\377\360\360\360\377\377\377\377\377\234\235\231\377\376\375"
+  "\376\377\341\341\340\377\251\252\250\377\224\226\223\350\213\215\211"
+  "\211mnm>ac`#\244\0\0\377\325aa\376\31533\377\31677\377\31677\377\316"
+  "77\377\31677\377\31677\377\31533\377\324__\376\244\0\0\377\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377\377\355\355\355\377\355"
+  "\355\355\377\332\333\330\377\331\332\327\377\332\333\330\377\332\334"
+  "\331\377\332\334\331\377\333\334\331\377\333\334\331\377\333\334\331"
+  "\377\333\334\331\377\335\336\333\377\363\363\363\377\361\361\361\377"
+  "\377\377\377\377\226\227\223\377\354\354\354\376\361\361\361\377\367"
+  "\367\367\377\367\367\367\377\347\350\347\377\317\320\317\377\26055\373"
+  "\317WW\376\316;;\377\31466\377\31466\377\31466\377\31466\377\31466\377"
+  "\31466\377\31466\377\316>>\377\317TT\374\251\10\10\273\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\210\212\205\377\377\377\377\377\356\356\356\377\360\360\360\377"
+  "\361\361\361\377\362\362\362\377\363\363\363\377\364\364\364\377\364"
+  "\364\364\377\365\365\365\377\365\365\365\377\365\365\365\377\365\365"
+  "\365\377\364\364\364\377\363\363\363\377\362\362\362\377\377\377\377"
+  "\377\226\230\224\377\355\355\355\377\355\355\355\377\356\356\356\377"
+  "\355\355\355\376\354\352\352\377\26411\377\313NN\377\31355\377\31244"
+  "\377\31244\377\31244\377\31244\377\31244\377\31244\377\31244\377\312"
+  "44\377\31244\377\31377\377\313LL\376\247\4\4\313\243\0\0\3\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212"
+  "\205\377\377\377\377\377\356\356\356\377\355\355\355\377\310\312\305"
+  "\377\307\311\304\377\307\311\304\377\307\312\304\377\310\312\305\377"
+  "\310\312\305\377\310\312\305\377\310\312\305\377\307\312\304\377\313"
+  "\315\310\377\367\367\367\377\363\363\363\377\377\377\377\377\223\224"
+  "\220\377\342\343\341\377\353\353\353\377\361\360\361\377\357\357\357"
+  "\377\26655\377\315QQ\377\31399\377\31244\377\31244\377\31244\377\312"
+  "44\377\31233\377\31388\377\31233\377\31244\377\31244\377\31244\377\312"
+  "44\377\313::\377\315RR\376\246\4\4\313\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377"
+  "\377\357\357\357\377\361\361\361\377\370\367\370\377\371\371\371\377"
+  "\372\372\373\377\373\373\373\377\374\374\375\377\375\374\375\377\376"
+  "\375\376\377\376\375\376\377\375\375\376\377\374\374\374\377\365\365"
+  "\365\377\364\364\364\377\377\377\377\377\223\225\220\377\330\331\327"
+  "\377\316\320\314\377\311\313\306\377\264@@\377\310FF\377\31288\377\310"
+  "22\377\31022\377\31022\377\31022\377\31011\377\315DD\376\303@@\377\315"
+  "DD\376\31011\377\31022\377\31022\377\31022\377\31022\377\31299\377\310"
+  "GG\376\250\6\6\273\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\210\212\205\377\377\377\377\377\360\360\360\377\356\356"
+  "\356\377\274\277\270\377\272\275\267\377\273\276\267\377\273\276\267"
+  "\377\273\276\267\377\273\276\267\377\273\276\267\377\273\276\267\377"
+  "\272\275\266\377\300\303\274\377\372\372\372\377\365\365\365\377\377"
+  "\377\377\377\227\231\225\377\360\360\360\377\362\362\362\377\26500\377"
+  "\310HH\377\31055\377\30611\377\30722\377\30722\377\30722\377\30611\377"
+  "\314EE\377\27400\377\243\0\0\210\27511\377\314EE\377\30611\377\30722"
+  "\377\30722\377\30722\377\30611\377\30744\377\311II\376\246\2\2\326\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377"
+  "\377\377\377\377\360\360\360\377\362\362\362\377\372\372\372\377\374"
+  "\373\374\377\375\375\376\377\376\376\377\377\377\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
+  "\377\367\367\367\377\366\366\366\377\377\377\377\377\220\222\215\377"
+  "\323\324\321\377\262;;\377\307GG\377\31088\377\30511\377\30611\377\306"
+  "11\377\30611\377\305//\377\313BB\377\267%%\377\231\0\0W\0\0\0\2\240\0"
+  "\0X\267&&\377\313BB\377\305//\377\30611\377\30611\377\30611\377\305/"
+  "/\377\316MM\377\252\13\13\377\243\0\0/\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377\377\361\361\361\377\357"
+  "\357\357\377\277\301\273\377\275\300\272\377\275\300\272\377\276\300"
+  "\272\377\276\300\272\377\276\300\272\377\276\301\272\377\276\301\272"
+  "\377\275\300\271\377\303\305\277\377\373\373\374\377\366\366\366\377"
+  "\377\377\377\377\230\232\226\377\362\362\362\377\313\200\200\377\301"
+  "99\377\310<<\377\30400\377\30400\377\30400\377\30400\377\311@@\377\273"
+  "11\377\17797\251\0\0\0\2\0\0\0\2\0\0\0\0\242\0\0O\27411\375\311AA\377"
+  "\30400\377\30400\377\30411\376\313HH\377\264\40\40\371\244\0\0.\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377\377"
+  "\377\377\377\361\361\361\377\363\363\363\377\371\370\371\377\372\372"
+  "\372\377\374\373\374\377\375\375\375\377\376\376\377\377\377\377\377"
+  "\377\377\377\377\377\377\377\377\377\377\377\377\377\376\376\377\377"
+  "\371\371\371\377\367\367\367\377\377\377\377\377\217\221\213\377\327"
+  "\330\325\377\350\351\350\377\317\212\212\377\27511\377\306<<\377\303"
+  "//\377\302..\377\307@@\377\265\"\"\377\342\261\261\377\325\326\325\377"
+  "\220\223\220\330chb4@@>\6\0\0\0\0\241\0\0N\265!!\377\310@@\377\302,,"
+  "\377\312FF\377\255\23\23\377\237\0\0""2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377\377\361"
+  "\361\361\377\360\360\360\377\316\320\313\377\316\320\313\377\316\320"
+  "\314\377\316\321\314\377\324\325\321\377\376\376\376\377\375\375\375"
+  "\377\375\375\375\377\374\374\374\377\373\373\373\377\371\371\371\377"
+  "\367\367\367\377\377\377\377\377\230\231\225\377\352\353\352\377\337"
+  "\340\335\377\331\332\327\377\270jg\377\27400\377\30466\377\305<<\377"
+  "\270((\377\276\210\210\377\352\352\352\376\351\351\351\377\351\351\351"
+  "\377\273\273\272\377\203\205\202\261NNK6\0\2\2\1\226\0\0]\270((\377\311"
+  "II\376\262\35\35\371\236\0\0""2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377\377\361"
+  "\361\361\377\362\362\362\377\362\362\362\377\363\363\363\377\365\365"
+  "\364\377\366\366\366\377\370\371\370\377\374\374\374\377\375\375\375"
+  "\377\375\375\375\377\374\374\374\377\373\373\373\377\371\371\371\377"
+  "\367\367\367\377\377\377\377\377\221\222\216\377\341\342\340\377\362"
+  "\362\362\377\354\354\354\377\354\354\353\377\307~~\377\301;;\377\270"
+  "((\377\211[Y\377\321\321\321\377\315\315\315\377\314\314\314\376\313"
+  "\313\313\377\316\316\316\377\326\326\326\377\224\226\223\361]_[\253\6"
+  "\6\7\34\201\0\0[\245\0\0\377u\0\0""6\0\0\0\16\0\0\0\13\0\0\0\7\0\0\0"
+  "\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\207\211\204\377\377"
+  "\377\377\376\361\361\361\377\363\363\363\377\364\364\364\377\365\365"
+  "\365\377\367\367\367\377\370\370\370\377\371\371\371\377\373\373\373"
+  "\377\374\374\374\377\374\374\374\377\374\374\374\377\372\372\372\377"
+  "\371\371\371\377\367\367\367\377\377\377\377\377\223\225\220\377\324"
+  "\326\324\377\301\303\276\377\303\304\300\377\331\331\330\377\336\336"
+  "\336\377\275jj\377\273\177\177\377\201\203\177\377\261\262\260\377\273"
+  "\273\273\377\275\275\275\377\267\267\267\377\264\264\264\377\267\267"
+  "\267\376\310\310\310\377\261\261\260\377UVT\205\0\0\0$+\0\0,\0\0\0\33"
+  "\0\0\0\31\0\0\0\24\0\0\0\17\0\0\0\12\0\0\0\6\0\0\0\1\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\210\212\205\377\377\377\377\376\360\360\360\376\362"
+  "\362\362\377\363\363\363\377\365\365\365\377\366\366\366\377\370\370"
+  "\370\377\370\370\370\377\372\372\372\377\372\372\372\377\372\372\372"
+  "\377\372\372\372\377\371\371\371\377\370\370\370\377\366\366\366\377"
+  "\377\377\377\377\225\227\222\377\360\360\360\377\370\370\370\377\352"
+  "\352\352\377\345\345\345\377\341\341\341\377\351\351\351\377\242\243"
+  "\240\377\263\263\263\377\302\304\302\377\256\260\253\377\262\263\261"
+  "\377\307\306\306\377\305\305\305\377\305\305\305\377\303\303\303\377"
+  "\311\311\311\377stq\222\0\0\0!\0\0\0\35\0\0\0\31\0\0\0\25\0\0\0\21\0"
+  "\0\0\14\0\0\0\10\0\0\0\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\217"
+  "\222\215\261\343\343\342\377\372\373\372\377\372\372\372\377\372\372"
+  "\372\377\372\372\372\377\372\372\372\377\373\373\373\376\373\373\372"
+  "\376\373\373\372\377\372\373\372\377\372\373\372\377\372\373\372\377"
+  "\373\373\372\377\373\373\372\377\375\375\375\377\326\327\325\377\257"
+  "\260\255\377\314\316\312\377\303\305\277\377\334\335\332\377\365\365"
+  "\364\377\364\364\364\377\371\371\371\377\177\200~\377\302\304\301\377"
+  "\342\342\342\377\342\342\342\377\313\314\312\377\275\277\273\377\337"
+  "\337\337\377\334\334\334\376\343\343\343\377\306\307\305\373TVRS\0\0"
+  "\0\15\0\0\0\13\0\0\0\10\0\0\0\5\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0iP\23\1\201\203}\202y|v\227xzt\230"
+  "wyt\231vxs\230z|w\316\240\242\236\377\243\245\241\377\244\245\242\377"
+  "\245\246\243\377\245\246\243\377\246\247\244\377\246\247\244\377\235"
+  "\237\233\377\242\243\237\377\276\276\274\377\371\371\370\377\377\377"
+  "\377\377\374\374\374\377\357\360\357\377\370\370\370\377\370\370\370"
+  "\377\357\357\357\377\251\252\250\377\344\345\343\377\320\322\316\377"
+  "\331\333\327\377\357\360\360\377\357\360\357\377\357\357\357\377\360"
+  "\360\360\376\372\372\372\377|~{\266\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\0\221\223\220"
+  "\257\360\360\360\377\357\357\357\377\361\361\361\377\362\362\362\377"
+  "\365\365\365\377\366\366\366\377\367\367\367\377\365\365\365\377\370"
+  "\370\370\377\374\374\374\377\376\376\376\377\375\375\375\377\374\374"
+  "\374\377\372\372\372\377\371\371\371\377\371\371\371\377\305\306\305"
+  "\377\251\254\246\377\363\363\362\377\363\363\363\377\344\345\343\377"
+  "\326\330\324\377\360\360\360\377\360\360\360\376\376\376\376\377\234"
+  "\235\233\377ceb\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\5\0\0\0\4~\201\177p\326\326\325\377"
+  "\364\364\364\377\366\366\366\377\366\366\366\377\367\367\367\377\367"
+  "\367\367\376\370\370\370\377\372\372\372\377\373\373\373\377\374\374"
+  "\374\377\375\375\375\377\375\375\375\377\373\373\373\377\372\372\372"
+  "\377\370\370\370\377\372\372\372\377\265\266\264\377\333\334\333\377"
+  "\310\312\304\377\337\340\335\377\361\361\361\377\365\365\365\377\362"
+  "\362\362\377\363\363\363\377\337\337\336\377\200\202~\204\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\3\3\3\3\6""553\21mnkm\240\242\236\252\264\265\263\357\302"
+  "\302\301\377\355\355\354\376\377\377\377\377\377\377\377\377\374\374"
+  "\374\377\372\372\372\377\373\373\373\377\374\374\374\377\373\373\373"
+  "\377\372\372\372\377\371\371\371\377\367\367\367\377\367\367\366\377"
+  "\255\256\252\377\344\344\343\377\373\373\373\377\337\340\335\377\340"
+  "\341\336\377\365\365\365\377\362\362\362\377\370\370\370\377\246\247"
+  "\245\327SSR\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\12\30\31"
+  "\30\21,-+\27RRS.wxu\366\215\220\214\377\255\256\253\377\351\351\350\377"
+  "\377\377\377\377\377\377\377\377\375\375\375\377\372\372\372\377\371"
+  "\371\371\377\370\370\370\377\366\366\366\377\357\357\357\377\255\257"
+  "\254\377\315\317\312\377\321\324\317\377\366\365\365\377\365\365\365"
+  "\377\364\364\364\377\367\367\367\376\346\347\346\375klim\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\5\0\0\0\7\0\0\0\12\0\0\0\12CD at 6\272"
+  "\273\272\372\370\370\370\377\322\323\323\377\256\257\255\377\223\225"
+  "\222\377\266\270\265\377\327\330\327\377\340\340\340\377\363\363\363"
+  "\377\373\373\373\377\377\377\377\377\330\330\327\377\273\274\271\377"
+  "\376\375\376\377\345\345\343\377\342\344\341\377\366\366\366\377\365"
+  "\365\365\377\377\377\377\377\200\201~\320\0\0\0\3\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\5\0\0\0\7\0\0\0\11\35\40\37\27\231"
+  "\232\227\377\377\377\377\377\370\370\370\377\362\362\362\377\362\362"
+  "\362\377\344\344\344\377\316\316\315\377\274\274\273\377\250\251\245"
+  "\377\250\251\247\377\240\241\236\377\253\254\252\377\322\324\320\377"
+  "\317\321\314\377\362\363\362\377\371\371\371\377\367\367\367\376\376"
+  "\376\377\377\257\261\257\377hhf7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\4\0\0\0\7\0\0\0\7^^^3\212\213\207"
+  "\346\353\353\352\375\373\373\373\376\366\366\366\377\366\366\366\377"
+  "\370\370\370\377\372\372\372\377\367\367\367\377\360\360\360\377\356"
+  "\356\356\377\366\366\366\377\376\376\376\377\361\362\362\377\345\346"
+  "\344\377\371\371\371\377\367\367\367\377\351\351\351\377\214\216\213"
+  "\233\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\3\0\0\0\4\3\3\3\7\0\0\0\5\0\0\0\15cd`\206\263\265\263"
+  "\336\344\344\344\377\377\376\377\377\370\370\370\376\371\371\371\377"
+  "\373\373\373\377\375\375\375\377\377\377\377\377\376\376\376\377\374"
+  "\374\374\377\373\373\373\377\373\373\373\377\367\367\367\377\374\374"
+  "\374\376\267\270\266\351STR\35\23\24\23\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\5"
+  "\0\0\0\7\0\0\0\4MOK$\205\210\204\221\245\246\244\377\377\377\377\377"
+  "\375\375\375\377\372\372\372\377\374\374\374\377\375\375\375\377\374"
+  "\374\374\377\373\373\373\377\372\372\372\377\370\370\370\377\372\371"
+  "\372\376\362\363\362\377tur\215\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0"
+  "\0\0\2\0\0\0\4\0\0\0\5\0\0\0\6\0\0\0\0UTU)\201\203\177\324\334\335\334"
+  "\371\372\372\372\377\374\374\374\377\373\373\373\376\372\372\372\377"
+  "\372\372\372\377\371\371\371\377\370\370\370\377\377\377\377\377\206"
+  "\210\205\346\30\22\35\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\1\0\0\0\2\0\0\0\4\4\4\4\5\0\0\0\3\0\0\0\3]`[`\252\253\250\317\324"
+  "\325\324\377\377\377\377\377\373\373\373\376\371\371\371\377\370\370"
+  "\370\377\374\374\374\377\303\304\302\377wytP\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\3"
+  "\0\0\0\3\0\0\0\2RTP\17}\177{n\233\234\231\364\376\376\376\377\375\374"
+  "\375\377\366\366\366\376\361\361\361\377\230\231\227\256\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0RYT\26wyv\270\315"
+  "\315\313\361\347\347\346\377\300\301\277\360cf_1\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0eic:\177"
+  "\200}^kmh6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+  "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"};
+
+

Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/main.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -944,7 +944,7 @@
 	{
 		GdkPixbuf *pb;
 
-		pb = ui_new_pixbuf_from_inline(GEANY_IMAGE_LOGO, FALSE);
+		pb = ui_new_pixbuf_from_inline(GEANY_IMAGE_LOGO);
 		gtk_window_set_icon(GTK_WINDOW(main_widgets.window), pb);
 		g_object_unref(pb);	/* free our reference */
 	}

Modified: trunk/src/toolbar.c
===================================================================
--- trunk/src/toolbar.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/toolbar.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -52,6 +52,7 @@
 	{ "SaveAll", GEANY_STOCK_SAVE_ALL, N_("Save All"), NULL, N_("Save all open files"), G_CALLBACK(on_save_all1_activate) },
 	{ "Reload", GTK_STOCK_REVERT_TO_SAVED, NULL, NULL, N_("Reload the current file from disk"), G_CALLBACK(on_toolbutton_reload_clicked) },
 	{ "Close", GTK_STOCK_CLOSE, NULL, NULL, N_("Close the current file"), G_CALLBACK(on_toolbutton_close_clicked) },
+	{ "CloseAll", GEANY_STOCK_CLOSE_ALL, NULL, NULL, N_("Close all open files"), G_CALLBACK(on_toolbutton_close_all_clicked) },
 	{ "Cut", GTK_STOCK_CUT, NULL, NULL, N_("Cut the current selection"), G_CALLBACK(on_cut1_activate) },
 	{ "Copy", GTK_STOCK_COPY, NULL, NULL, N_("Copy the current selection"), G_CALLBACK(on_copy1_activate) },
 	{ "Paste", GTK_STOCK_PASTE, NULL, NULL, N_("Paste the contents of the clipboard"), G_CALLBACK(on_paste1_activate) },
@@ -69,6 +70,7 @@
 	{ "Indent", GTK_STOCK_INDENT, NULL, NULL, N_("Increase indentation"), G_CALLBACK(on_menu_increase_indent1_activate) },
 	{ "Search", GTK_STOCK_FIND, NULL, NULL, N_("Find the entered text in the current file"), G_CALLBACK(on_toolbutton_search_clicked) },
 	{ "Goto", GTK_STOCK_JUMP_TO, NULL, NULL, N_("Jump to the entered line number"), G_CALLBACK(on_toolbutton_goto_clicked) },
+	{ "Preferences", GTK_STOCK_PREFERENCES, NULL, NULL, N_("Show the preferences dialog"), G_CALLBACK(on_toolbutton_preferences_clicked) },
 	{ "Quit", GTK_STOCK_QUIT, NULL, NULL, N_("Quit Geany"), G_CALLBACK(on_toolbutton_quit_clicked) },
 };
 const guint ui_entries_n = G_N_ELEMENTS(ui_entries);

Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/ui_utils.c	2008-12-09 20:31:38 UTC (rev 3354)
@@ -72,16 +72,6 @@
 widgets;
 
 
-/* Local stock item struct to extend the GtkStockItem structure by an image id which is used
- * as the icon */
-typedef struct
-{
-	GtkStockItem item;
-	guint image_id;
-}
-GeanyStockItem;
-
-
 static void update_recent_menu(void);
 static void recent_file_loaded(const gchar *utf8_filename);
 static void recent_file_activate_cb(GtkMenuItem *menuitem, gpointer user_data);
@@ -649,6 +639,7 @@
 	add_doc_widget("find_prevsel1");
 	add_doc_widget("go_to_line1");
 	add_doc_toolitem("Close");
+	add_doc_toolitem("CloseAll");
 	add_doc_toolitem("Search");
 	add_doc_toolitem("SearchEntry");
 	add_doc_toolitem("NavBack");
@@ -813,7 +804,7 @@
 
 
 /* Note: remember to unref the pixbuf once an image or window has added a reference. */
-GdkPixbuf *ui_new_pixbuf_from_inline(gint img, gboolean small_img)
+GdkPixbuf *ui_new_pixbuf_from_inline(gint img)
 {
 	switch(img)
 	{
@@ -825,18 +816,34 @@
 			return gdk_pixbuf_new_from_inline(-1, save_all_inline, FALSE, NULL);
 			break;
 		}
+		case GEANY_IMAGE_CLOSE_ALL:
+		{
+			return gdk_pixbuf_new_from_inline(-1, close_all_inline, FALSE, NULL);
+			break;
+		}
 		default:
 			return NULL;
 	}
 }
 
 
-GtkWidget *ui_new_image_from_inline(gint img, gboolean small_img)
+static GdkPixbuf *ui_new_pixbuf_from_stock(const gchar *stock_id)
 {
+	if (utils_str_equal(stock_id, GEANY_STOCK_CLOSE_ALL))
+		return ui_new_pixbuf_from_inline(GEANY_IMAGE_CLOSE_ALL);
+	else if (utils_str_equal(stock_id, GEANY_STOCK_SAVE_ALL))
+		return ui_new_pixbuf_from_inline(GEANY_IMAGE_SAVE_ALL);
+
+	return NULL;
+}
+
+
+GtkWidget *ui_new_image_from_inline(gint img)
+{
 	GtkWidget *wid;
 	GdkPixbuf *pb;
 
-	pb = ui_new_pixbuf_from_inline(img, small_img);
+	pb = ui_new_pixbuf_from_inline(img);
 	wid = gtk_image_new_from_pixbuf(pb);
 	g_object_unref(pb);	/* the image doesn't adopt our reference, so remove our ref. */
 	return wid;
@@ -1583,18 +1590,19 @@
 	GtkIconFactory *factory = gtk_icon_factory_new();
 	GdkPixbuf *pb;
 	gsize i, len;
-	GeanyStockItem items[] =
+	GtkStockItem items[] =
 	{
-		{ { GEANY_STOCK_SAVE_ALL, _("Save All"), 0, 0, GETTEXT_PACKAGE }, GEANY_IMAGE_SAVE_ALL }
+		{ GEANY_STOCK_SAVE_ALL, _("Save All"), 0, 0, GETTEXT_PACKAGE },
+		{ GEANY_STOCK_CLOSE_ALL, _("Close All"), 0, 0, GETTEXT_PACKAGE }
 	};
 
 	len = G_N_ELEMENTS(items);
 	for (i = 0; i < len; i++)
 	{
-		pb = ui_new_pixbuf_from_inline(items[i].image_id, FALSE);
+		pb = ui_new_pixbuf_from_stock(items[i].stock_id);
 		icon_set = gtk_icon_set_new_from_pixbuf(pb);
 
-		gtk_icon_factory_add(factory, items[i].item.stock_id, icon_set);
+		gtk_icon_factory_add(factory, items[i].stock_id, icon_set);
 
 		gtk_icon_set_unref(icon_set);
 		g_object_unref(pb);

Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h	2008-12-09 20:30:23 UTC (rev 3353)
+++ trunk/src/ui_utils.h	2008-12-09 20:31:38 UTC (rev 3354)
@@ -127,10 +127,12 @@
 
 
 #define GEANY_STOCK_SAVE_ALL "geany-save-all"
+#define GEANY_STOCK_CLOSE_ALL "geany-close-all"
 enum
 {
 	GEANY_IMAGE_LOGO,
 	GEANY_IMAGE_SAVE_ALL,
+	GEANY_IMAGE_CLOSE_ALL
 };
 
 
@@ -221,9 +223,9 @@
 
 
 
-GdkPixbuf *ui_new_pixbuf_from_inline(gint img, gboolean small_img);
+GdkPixbuf *ui_new_pixbuf_from_inline(gint img);
 
-GtkWidget *ui_new_image_from_inline(gint img, gboolean small_img);
+GtkWidget *ui_new_image_from_inline(gint img);
 
 
 void ui_create_recent_menu(void);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list