]> git.donarmstrong.com Git - xournal.git/blobdiff - src/xo-interface.c
Release 0.3.3 (minor enhancements)
[xournal.git] / src / xo-interface.c
index fed9fcecf5bf0b710dba094d7a7e169399b66304..00114f5d9ec15706334121e3a94461f93de5ba59 100644 (file)
@@ -36,13 +36,24 @@ create_winMain (void)
   GtkWidget *menuFile_menu;
   GtkWidget *fileNew;
   GtkWidget *fileNewBackground;
-  GtkWidget *image500;
+  GtkWidget *image623;
   GtkWidget *fileOpen;
   GtkWidget *fileSave;
   GtkWidget *fileSaveAs;
   GtkWidget *separator1;
+  GtkWidget *fileRecentFiles;
+  GtkWidget *fileRecentFiles_menu;
+  GtkWidget *mru0;
+  GtkWidget *mru1;
+  GtkWidget *mru2;
+  GtkWidget *mru3;
+  GtkWidget *mru4;
+  GtkWidget *mru5;
+  GtkWidget *mru6;
+  GtkWidget *mru7;
+  GtkWidget *separator22;
   GtkWidget *filePrintOptions;
-  GtkWidget *image501;
+  GtkWidget *image624;
   GtkWidget *filePrint;
   GtkWidget *filePrintPDF;
   GtkWidget *separator2;
@@ -64,25 +75,28 @@ create_winMain (void)
   GtkWidget *separator20;
   GtkWidget *viewFullscreen;
   GtkWidget *separator4;
+  GtkWidget *menuViewZoom;
+  GtkWidget *menuViewZoom_menu;
   GtkWidget *viewZoomIn;
   GtkWidget *viewZoomOut;
   GtkWidget *viewNormalSize;
   GtkWidget *viewPageWidth;
-  GtkWidget *image502;
+  GtkWidget *image625;
+  GtkWidget *viewSetZoom;
   GtkWidget *separator5;
   GtkWidget *viewFirstPage;
-  GtkWidget *image503;
+  GtkWidget *image626;
   GtkWidget *viewPreviousPage;
-  GtkWidget *image504;
+  GtkWidget *image627;
   GtkWidget *viewNextPage;
-  GtkWidget *image505;
+  GtkWidget *image628;
   GtkWidget *viewLastPage;
-  GtkWidget *image506;
+  GtkWidget *image629;
   GtkWidget *separator6;
   GtkWidget *viewShowLayer;
-  GtkWidget *image507;
+  GtkWidget *image630;
   GtkWidget *viewHideLayer;
-  GtkWidget *image508;
+  GtkWidget *image631;
   GtkWidget *menuJournal;
   GtkWidget *menuJournal_menu;
   GtkWidget *journalNewPageBefore;
@@ -114,10 +128,11 @@ create_winMain (void)
   GtkWidget *paperstyleRuled;
   GtkWidget *paperstyleGraph;
   GtkWidget *paperstyleNA;
+  GtkWidget *journalApplyAllPages;
+  GtkWidget *separator23;
   GtkWidget *journalLoadBackground;
-  GtkWidget *image509;
+  GtkWidget *image632;
   GtkWidget *journalScreenshot;
-  GtkWidget *journalApplyAllPages;
   GtkWidget *separator19;
   GtkWidget *journalDefaultBackground;
   GtkWidget *journalSetAsDefault;
@@ -132,9 +147,10 @@ create_winMain (void)
   GtkWidget *toolsSelectRegion;
   GtkWidget *toolsSelectRectangle;
   GtkWidget *toolsVerticalSpace;
+  GtkWidget *toolsHand;
   GtkWidget *separator16;
   GtkWidget *toolsColor;
-  GtkWidget *image510;
+  GtkWidget *image633;
   GtkWidget *toolsColor_menu;
   GSList *colorBlack_group = NULL;
   GtkWidget *colorBlack;
@@ -177,7 +193,7 @@ create_winMain (void)
   GtkWidget *highlighterMedium;
   GtkWidget *highlighterThick;
   GtkWidget *toolsTextFont;
-  GtkWidget *image511;
+  GtkWidget *image634;
   GtkWidget *separator10;
   GtkWidget *toolsDefaultPen;
   GtkWidget *toolsDefaultEraser;
@@ -189,10 +205,44 @@ create_winMain (void)
   GtkWidget *menuOptions;
   GtkWidget *menuOptions_menu;
   GtkWidget *optionsUseXInput;
-  GtkWidget *optionsEmulateEraser;
+  GtkWidget *optionsDiscardCoreEvents;
+  GtkWidget *optionsButtonMappings;
+  GtkWidget *button2_mapping;
+  GtkWidget *button2_mapping_menu;
+  GSList *button2Pen_group = NULL;
+  GtkWidget *button2Pen;
+  GtkWidget *button2Eraser;
+  GtkWidget *button2Highlighter;
+  GtkWidget *button2Text;
+  GtkWidget *button2SelectRegion;
+  GtkWidget *button2SelectRectangle;
+  GtkWidget *button2VerticalSpace;
+  GtkWidget *button2Hand;
+  GtkWidget *separator24;
+  GSList *button2LinkBrush_group = NULL;
+  GtkWidget *button2LinkBrush;
+  GtkWidget *button2CopyBrush;
+  GtkWidget *button2NABrush;
+  GtkWidget *button3_mapping;
+  GtkWidget *button3_mapping_menu;
+  GSList *button3Pen_group = NULL;
+  GtkWidget *button3Pen;
+  GtkWidget *button3Eraser;
+  GtkWidget *button3Highlighter;
+  GtkWidget *button3Text;
+  GtkWidget *button3SelectRegion;
+  GtkWidget *button3SelectRectangle;
+  GtkWidget *button3VerticalSpace;
+  GtkWidget *button3Hand;
+  GtkWidget *separator25;
+  GSList *button3LinkBrush_group = NULL;
+  GtkWidget *button3LinkBrush;
+  GtkWidget *button3CopyBrush;
+  GtkWidget *button3NABrush;
   GtkWidget *separator18;
   GtkWidget *optionsAntialiasBG;
   GtkWidget *optionsProgressiveBG;
+  GtkWidget *optionsPrintRuling;
   GtkWidget *separator21;
   GtkWidget *optionsSavePreferences;
   GtkWidget *menuHelp;
@@ -202,6 +252,8 @@ create_winMain (void)
   GtkWidget *toolbarMain;
   GtkIconSize tmp_toolbar_icon_size;
   GtkWidget *saveButton;
+  GtkWidget *newButton;
+  GtkWidget *openButton;
   GtkWidget *toolitem11;
   GtkWidget *vseparator1;
   GtkWidget *buttonCut;
@@ -223,6 +275,7 @@ create_winMain (void)
   GtkWidget *buttonPageWidth;
   GtkWidget *buttonZoomIn;
   GtkWidget *buttonNormalSize;
+  GtkWidget *buttonZoomSet;
   GtkWidget *tmp_image;
   GtkWidget *buttonFullscreen;
   GtkWidget *toolbarPen;
@@ -237,6 +290,7 @@ create_winMain (void)
   GtkWidget *buttonSelectRegion;
   GtkWidget *buttonSelectRectangle;
   GtkWidget *buttonVerticalSpace;
+  GtkWidget *buttonHand;
   GtkWidget *toolitem16;
   GtkWidget *vseparator6;
   GtkWidget *buttonToolDefault;
@@ -306,9 +360,9 @@ create_winMain (void)
   gtk_widget_show (fileNewBackground);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), fileNewBackground);
 
-  image500 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image500);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (fileNewBackground), image500);
+  image623 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image623);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (fileNewBackground), image623);
 
   fileOpen = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
   gtk_widget_show (fileOpen);
@@ -327,19 +381,63 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (menuFile_menu), separator1);
   gtk_widget_set_sensitive (separator1, FALSE);
 
+  fileRecentFiles = gtk_menu_item_new_with_mnemonic ("Recent Files");
+  gtk_widget_show (fileRecentFiles);
+  gtk_container_add (GTK_CONTAINER (menuFile_menu), fileRecentFiles);
+
+  fileRecentFiles_menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (fileRecentFiles), fileRecentFiles_menu);
+
+  mru0 = gtk_menu_item_new_with_mnemonic ("0");
+  gtk_widget_show (mru0);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru0);
+
+  mru1 = gtk_menu_item_new_with_mnemonic ("1");
+  gtk_widget_show (mru1);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru1);
+
+  mru2 = gtk_menu_item_new_with_mnemonic ("2");
+  gtk_widget_show (mru2);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru2);
+
+  mru3 = gtk_menu_item_new_with_mnemonic ("3");
+  gtk_widget_show (mru3);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru3);
+
+  mru4 = gtk_menu_item_new_with_mnemonic ("4");
+  gtk_widget_show (mru4);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru4);
+
+  mru5 = gtk_menu_item_new_with_mnemonic ("5");
+  gtk_widget_show (mru5);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru5);
+
+  mru6 = gtk_menu_item_new_with_mnemonic ("6");
+  gtk_widget_show (mru6);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru6);
+
+  mru7 = gtk_menu_item_new_with_mnemonic ("7");
+  gtk_widget_show (mru7);
+  gtk_container_add (GTK_CONTAINER (fileRecentFiles_menu), mru7);
+
+  separator22 = gtk_separator_menu_item_new ();
+  gtk_widget_show (separator22);
+  gtk_container_add (GTK_CONTAINER (menuFile_menu), separator22);
+  gtk_widget_set_sensitive (separator22, FALSE);
+
   filePrintOptions = gtk_image_menu_item_new_with_mnemonic ("Print Options");
   gtk_widget_show (filePrintOptions);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), filePrintOptions);
 
-  image501 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image501);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (filePrintOptions), image501);
+  image624 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image624);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (filePrintOptions), image624);
 
   filePrint = gtk_image_menu_item_new_from_stock ("gtk-print", accel_group);
   gtk_widget_show (filePrint);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), filePrint);
 
-  filePrintPDF = gtk_menu_item_new_with_mnemonic ("Print to PDF");
+  filePrintPDF = gtk_menu_item_new_with_mnemonic ("Export to PDF");
   gtk_widget_show (filePrintPDF);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), filePrintPDF);
 
@@ -421,25 +519,36 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (menuView_menu), separator4);
   gtk_widget_set_sensitive (separator4, FALSE);
 
+  menuViewZoom = gtk_menu_item_new_with_mnemonic ("_Zoom");
+  gtk_widget_show (menuViewZoom);
+  gtk_container_add (GTK_CONTAINER (menuView_menu), menuViewZoom);
+
+  menuViewZoom_menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuViewZoom), menuViewZoom_menu);
+
   viewZoomIn = gtk_image_menu_item_new_from_stock ("gtk-zoom-in", accel_group);
   gtk_widget_show (viewZoomIn);
-  gtk_container_add (GTK_CONTAINER (menuView_menu), viewZoomIn);
+  gtk_container_add (GTK_CONTAINER (menuViewZoom_menu), viewZoomIn);
 
   viewZoomOut = gtk_image_menu_item_new_from_stock ("gtk-zoom-out", accel_group);
   gtk_widget_show (viewZoomOut);
-  gtk_container_add (GTK_CONTAINER (menuView_menu), viewZoomOut);
+  gtk_container_add (GTK_CONTAINER (menuViewZoom_menu), viewZoomOut);
 
   viewNormalSize = gtk_image_menu_item_new_from_stock ("gtk-zoom-100", accel_group);
   gtk_widget_show (viewNormalSize);
-  gtk_container_add (GTK_CONTAINER (menuView_menu), viewNormalSize);
+  gtk_container_add (GTK_CONTAINER (menuViewZoom_menu), viewNormalSize);
 
   viewPageWidth = gtk_image_menu_item_new_with_mnemonic ("Page Width");
   gtk_widget_show (viewPageWidth);
-  gtk_container_add (GTK_CONTAINER (menuView_menu), viewPageWidth);
+  gtk_container_add (GTK_CONTAINER (menuViewZoom_menu), viewPageWidth);
+
+  image625 = gtk_image_new_from_stock ("gtk-zoom-fit", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image625);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPageWidth), image625);
 
-  image502 = gtk_image_new_from_stock ("gtk-zoom-fit", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image502);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPageWidth), image502);
+  viewSetZoom = gtk_menu_item_new_with_mnemonic ("Set Zoom");
+  gtk_widget_show (viewSetZoom);
+  gtk_container_add (GTK_CONTAINER (menuViewZoom_menu), viewSetZoom);
 
   separator5 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator5);
@@ -450,33 +559,33 @@ create_winMain (void)
   gtk_widget_show (viewFirstPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewFirstPage);
 
-  image503 = gtk_image_new_from_stock ("gtk-goto-first", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image503);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewFirstPage), image503);
+  image626 = gtk_image_new_from_stock ("gtk-goto-first", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image626);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewFirstPage), image626);
 
   viewPreviousPage = gtk_image_menu_item_new_with_mnemonic ("Previous Page");
   gtk_widget_show (viewPreviousPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewPreviousPage);
 
-  image504 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image504);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPreviousPage), image504);
+  image627 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image627);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPreviousPage), image627);
 
   viewNextPage = gtk_image_menu_item_new_with_mnemonic ("Next Page");
   gtk_widget_show (viewNextPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewNextPage);
 
-  image505 = gtk_image_new_from_stock ("gtk-media-forward", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image505);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewNextPage), image505);
+  image628 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image628);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewNextPage), image628);
 
   viewLastPage = gtk_image_menu_item_new_with_mnemonic ("Last Page");
   gtk_widget_show (viewLastPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewLastPage);
 
-  image506 = gtk_image_new_from_stock ("gtk-goto-last", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image506);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewLastPage), image506);
+  image629 = gtk_image_new_from_stock ("gtk-goto-last", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image629);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewLastPage), image629);
 
   separator6 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator6);
@@ -487,17 +596,17 @@ create_winMain (void)
   gtk_widget_show (viewShowLayer);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewShowLayer);
 
-  image507 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image507);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewShowLayer), image507);
+  image630 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image630);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewShowLayer), image630);
 
   viewHideLayer = gtk_image_menu_item_new_with_mnemonic ("Hide Layer");
   gtk_widget_show (viewHideLayer);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewHideLayer);
 
-  image508 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image508);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewHideLayer), image508);
+  image631 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image631);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewHideLayer), image631);
 
   menuJournal = gtk_menu_item_new_with_mnemonic ("_Journal");
   gtk_widget_show (menuJournal);
@@ -638,22 +747,27 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (journalPaperStyle_menu), paperstyleNA);
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (paperstyleNA), TRUE);
 
+  journalApplyAllPages = gtk_check_menu_item_new_with_mnemonic ("Apply To All Pages");
+  gtk_widget_show (journalApplyAllPages);
+  gtk_container_add (GTK_CONTAINER (menuJournal_menu), journalApplyAllPages);
+
+  separator23 = gtk_separator_menu_item_new ();
+  gtk_widget_show (separator23);
+  gtk_container_add (GTK_CONTAINER (menuJournal_menu), separator23);
+  gtk_widget_set_sensitive (separator23, FALSE);
+
   journalLoadBackground = gtk_image_menu_item_new_with_mnemonic ("Load Background");
   gtk_widget_show (journalLoadBackground);
   gtk_container_add (GTK_CONTAINER (menuJournal_menu), journalLoadBackground);
 
-  image509 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image509);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (journalLoadBackground), image509);
+  image632 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image632);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (journalLoadBackground), image632);
 
   journalScreenshot = gtk_menu_item_new_with_mnemonic ("Background Screenshot");
   gtk_widget_show (journalScreenshot);
   gtk_container_add (GTK_CONTAINER (menuJournal_menu), journalScreenshot);
 
-  journalApplyAllPages = gtk_menu_item_new_with_mnemonic ("Apply To All Pages");
-  gtk_widget_show (journalApplyAllPages);
-  gtk_container_add (GTK_CONTAINER (menuJournal_menu), journalApplyAllPages);
-
   separator19 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator19);
   gtk_container_add (GTK_CONTAINER (menuJournal_menu), separator19);
@@ -721,6 +835,11 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsVerticalSpace);
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (toolsVerticalSpace), TRUE);
 
+  toolsHand = gtk_radio_menu_item_new_with_mnemonic (toolsPen_group, "Hand Tool");
+  toolsPen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (toolsHand));
+  gtk_widget_show (toolsHand);
+  gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsHand);
+
   separator16 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator16);
   gtk_container_add (GTK_CONTAINER (menuTools_menu), separator16);
@@ -730,9 +849,9 @@ create_winMain (void)
   gtk_widget_show (toolsColor);
   gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsColor);
 
-  image510 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image510);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsColor), image510);
+  image633 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image633);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsColor), image633);
 
   toolsColor_menu = gtk_menu_new ();
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (toolsColor), toolsColor_menu);
@@ -933,9 +1052,9 @@ create_winMain (void)
   gtk_widget_show (toolsTextFont);
   gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsTextFont);
 
-  image511 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image511);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsTextFont), image511);
+  image634 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image634);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsTextFont), image634);
 
   separator10 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator10);
@@ -982,9 +1101,165 @@ create_winMain (void)
   gtk_widget_show (optionsUseXInput);
   gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsUseXInput);
 
-  optionsEmulateEraser = gtk_check_menu_item_new_with_mnemonic ("Emulate Eraser");
-  gtk_widget_show (optionsEmulateEraser);
-  gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsEmulateEraser);
+  optionsDiscardCoreEvents = gtk_check_menu_item_new_with_mnemonic ("Discard Core Events");
+  gtk_widget_show (optionsDiscardCoreEvents);
+  gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsDiscardCoreEvents);
+
+  optionsButtonMappings = gtk_check_menu_item_new_with_mnemonic ("Eraser Tip");
+  gtk_widget_show (optionsButtonMappings);
+  gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsButtonMappings);
+
+  button2_mapping = gtk_menu_item_new_with_mnemonic ("Button 2 Mapping");
+  gtk_widget_show (button2_mapping);
+  gtk_container_add (GTK_CONTAINER (menuOptions_menu), button2_mapping);
+
+  button2_mapping_menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (button2_mapping), button2_mapping_menu);
+
+  button2Pen = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Pen");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2Pen));
+  gtk_widget_show (button2Pen);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2Pen);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2Pen), TRUE);
+
+  button2Eraser = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Eraser");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2Eraser));
+  gtk_widget_show (button2Eraser);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2Eraser);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2Eraser), TRUE);
+
+  button2Highlighter = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Highlighter");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2Highlighter));
+  gtk_widget_show (button2Highlighter);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2Highlighter);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2Highlighter), TRUE);
+
+  button2Text = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Text");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2Text));
+  gtk_widget_show (button2Text);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2Text);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2Text), TRUE);
+
+  button2SelectRegion = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Select Region");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2SelectRegion));
+  gtk_widget_show (button2SelectRegion);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2SelectRegion);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2SelectRegion), TRUE);
+
+  button2SelectRectangle = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Select Rectangle");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2SelectRectangle));
+  gtk_widget_show (button2SelectRectangle);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2SelectRectangle);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2SelectRectangle), TRUE);
+
+  button2VerticalSpace = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Vertical Space");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2VerticalSpace));
+  gtk_widget_show (button2VerticalSpace);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2VerticalSpace);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2VerticalSpace), TRUE);
+
+  button2Hand = gtk_radio_menu_item_new_with_mnemonic (button2Pen_group, "Hand Tool");
+  button2Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2Hand));
+  gtk_widget_show (button2Hand);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2Hand);
+
+  separator24 = gtk_separator_menu_item_new ();
+  gtk_widget_show (separator24);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), separator24);
+  gtk_widget_set_sensitive (separator24, FALSE);
+
+  button2LinkBrush = gtk_radio_menu_item_new_with_mnemonic (button2LinkBrush_group, "Link to Primary Brush");
+  button2LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2LinkBrush));
+  gtk_widget_show (button2LinkBrush);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2LinkBrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2LinkBrush), TRUE);
+
+  button2CopyBrush = gtk_radio_menu_item_new_with_mnemonic (button2LinkBrush_group, "Copy of Current Brush");
+  button2LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2CopyBrush));
+  gtk_widget_show (button2CopyBrush);
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2CopyBrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2CopyBrush), TRUE);
+
+  button2NABrush = gtk_radio_menu_item_new_with_mnemonic (button2LinkBrush_group, "NA");
+  button2LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button2NABrush));
+  gtk_container_add (GTK_CONTAINER (button2_mapping_menu), button2NABrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button2NABrush), TRUE);
+
+  button3_mapping = gtk_menu_item_new_with_mnemonic ("Button 3 Mapping");
+  gtk_widget_show (button3_mapping);
+  gtk_container_add (GTK_CONTAINER (menuOptions_menu), button3_mapping);
+
+  button3_mapping_menu = gtk_menu_new ();
+  gtk_menu_item_set_submenu (GTK_MENU_ITEM (button3_mapping), button3_mapping_menu);
+
+  button3Pen = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Pen");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3Pen));
+  gtk_widget_show (button3Pen);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3Pen);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3Pen), TRUE);
+
+  button3Eraser = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Eraser");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3Eraser));
+  gtk_widget_show (button3Eraser);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3Eraser);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3Eraser), TRUE);
+
+  button3Highlighter = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Highlighter");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3Highlighter));
+  gtk_widget_show (button3Highlighter);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3Highlighter);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3Highlighter), TRUE);
+
+  button3Text = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Text");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3Text));
+  gtk_widget_show (button3Text);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3Text);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3Text), TRUE);
+
+  button3SelectRegion = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Select Region");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3SelectRegion));
+  gtk_widget_show (button3SelectRegion);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3SelectRegion);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3SelectRegion), TRUE);
+
+  button3SelectRectangle = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Select Rectangle");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3SelectRectangle));
+  gtk_widget_show (button3SelectRectangle);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3SelectRectangle);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3SelectRectangle), TRUE);
+
+  button3VerticalSpace = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Vertical Space");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3VerticalSpace));
+  gtk_widget_show (button3VerticalSpace);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3VerticalSpace);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3VerticalSpace), TRUE);
+
+  button3Hand = gtk_radio_menu_item_new_with_mnemonic (button3Pen_group, "Hand Tool");
+  button3Pen_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3Hand));
+  gtk_widget_show (button3Hand);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3Hand);
+
+  separator25 = gtk_separator_menu_item_new ();
+  gtk_widget_show (separator25);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), separator25);
+  gtk_widget_set_sensitive (separator25, FALSE);
+
+  button3LinkBrush = gtk_radio_menu_item_new_with_mnemonic (button3LinkBrush_group, "Link to Primary Brush");
+  button3LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3LinkBrush));
+  gtk_widget_show (button3LinkBrush);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3LinkBrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3LinkBrush), TRUE);
+
+  button3CopyBrush = gtk_radio_menu_item_new_with_mnemonic (button3LinkBrush_group, "Copy of Current Brush");
+  button3LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3CopyBrush));
+  gtk_widget_show (button3CopyBrush);
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3CopyBrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3CopyBrush), TRUE);
+
+  button3NABrush = gtk_radio_menu_item_new_with_mnemonic (button3LinkBrush_group, "NA");
+  button3LinkBrush_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (button3NABrush));
+  gtk_container_add (GTK_CONTAINER (button3_mapping_menu), button3NABrush);
+  gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (button3NABrush), TRUE);
 
   separator18 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator18);
@@ -999,6 +1274,10 @@ create_winMain (void)
   gtk_widget_show (optionsProgressiveBG);
   gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsProgressiveBG);
 
+  optionsPrintRuling = gtk_check_menu_item_new_with_mnemonic ("Print Paper Ruling");
+  gtk_widget_show (optionsPrintRuling);
+  gtk_container_add (GTK_CONTAINER (menuOptions_menu), optionsPrintRuling);
+
   separator21 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator21);
   gtk_container_add (GTK_CONTAINER (menuOptions_menu), separator21);
@@ -1034,6 +1313,16 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (toolbarMain), saveButton);
   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (saveButton), tooltips, "Save", NULL);
 
+  newButton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-new");
+  gtk_widget_show (newButton);
+  gtk_container_add (GTK_CONTAINER (toolbarMain), newButton);
+  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (newButton), tooltips, "New", NULL);
+
+  openButton = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-open");
+  gtk_widget_show (openButton);
+  gtk_container_add (GTK_CONTAINER (toolbarMain), openButton);
+  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (openButton), tooltips, "Open", NULL);
+
   toolitem11 = (GtkWidget*) gtk_tool_item_new ();
   gtk_widget_show (toolitem11);
   gtk_container_add (GTK_CONTAINER (toolbarMain), toolitem11);
@@ -1132,6 +1421,11 @@ create_winMain (void)
   gtk_container_add (GTK_CONTAINER (toolbarMain), buttonNormalSize);
   gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (buttonNormalSize), tooltips, "Normal Size", NULL);
 
+  buttonZoomSet = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-find");
+  gtk_widget_show (buttonZoomSet);
+  gtk_container_add (GTK_CONTAINER (toolbarMain), buttonZoomSet);
+  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (buttonZoomSet), tooltips, "Set Zoom", NULL);
+
   buttonFullscreen = (GtkWidget*) gtk_toggle_tool_button_new ();
   gtk_tool_button_set_label (GTK_TOOL_BUTTON (buttonFullscreen), "");
   tmp_image = create_pixmap (winMain, "fullscreen.png");
@@ -1241,6 +1535,16 @@ create_winMain (void)
   gtk_radio_tool_button_set_group (GTK_RADIO_TOOL_BUTTON (buttonVerticalSpace), buttonPen_group);
   buttonPen_group = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (buttonVerticalSpace));
 
+  buttonHand = (GtkWidget*) gtk_radio_tool_button_new (NULL);
+  gtk_tool_button_set_label (GTK_TOOL_BUTTON (buttonHand), "Hand Tool");
+  tmp_image = create_pixmap (winMain, "hand.png");
+  gtk_widget_show (tmp_image);
+  gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (buttonHand), tmp_image);
+  gtk_widget_show (buttonHand);
+  gtk_container_add (GTK_CONTAINER (toolbarPen), buttonHand);
+  gtk_radio_tool_button_set_group (GTK_RADIO_TOOL_BUTTON (buttonHand), buttonPen_group);
+  buttonPen_group = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (buttonHand));
+
   toolitem16 = (GtkWidget*) gtk_tool_item_new ();
   gtk_widget_show (toolitem16);
   gtk_container_add (GTK_CONTAINER (toolbarPen), toolitem16);
@@ -1522,6 +1826,30 @@ create_winMain (void)
   g_signal_connect ((gpointer) fileSaveAs, "activate",
                     G_CALLBACK (on_fileSaveAs_activate),
                     NULL);
+  g_signal_connect ((gpointer) mru0, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru1, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru2, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru3, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru4, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru5, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru6, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
+  g_signal_connect ((gpointer) mru7, "activate",
+                    G_CALLBACK (on_mru_activate),
+                    NULL);
   g_signal_connect ((gpointer) filePrintOptions, "activate",
                     G_CALLBACK (on_filePrintOptions_activate),
                     NULL);
@@ -1573,6 +1901,9 @@ create_winMain (void)
   g_signal_connect ((gpointer) viewPageWidth, "activate",
                     G_CALLBACK (on_viewPageWidth_activate),
                     NULL);
+  g_signal_connect ((gpointer) viewSetZoom, "activate",
+                    G_CALLBACK (on_viewSetZoom_activate),
+                    NULL);
   g_signal_connect ((gpointer) viewFirstPage, "activate",
                     G_CALLBACK (on_viewFirstPage_activate),
                     NULL);
@@ -1648,15 +1979,15 @@ create_winMain (void)
   g_signal_connect ((gpointer) paperstyleGraph, "toggled",
                     G_CALLBACK (on_paperstyleGraph_activate),
                     NULL);
+  g_signal_connect ((gpointer) journalApplyAllPages, "activate",
+                    G_CALLBACK (on_journalApplyAllPages_activate),
+                    NULL);
   g_signal_connect ((gpointer) journalLoadBackground, "activate",
                     G_CALLBACK (on_journalLoadBackground_activate),
                     NULL);
   g_signal_connect ((gpointer) journalScreenshot, "activate",
                     G_CALLBACK (on_journalScreenshot_activate),
                     NULL);
-  g_signal_connect ((gpointer) journalApplyAllPages, "activate",
-                    G_CALLBACK (on_journalApplyAllPages_activate),
-                    NULL);
   g_signal_connect ((gpointer) journalDefaultBackground, "activate",
                     G_CALLBACK (on_journalDefaultBackground_activate),
                     NULL);
@@ -1684,6 +2015,9 @@ create_winMain (void)
   g_signal_connect ((gpointer) toolsVerticalSpace, "toggled",
                     G_CALLBACK (on_toolsVerticalSpace_activate),
                     NULL);
+  g_signal_connect ((gpointer) toolsHand, "activate",
+                    G_CALLBACK (on_toolsHand_activate),
+                    NULL);
   g_signal_connect ((gpointer) colorBlack, "toggled",
                     G_CALLBACK (on_colorBlack_activate),
                     NULL);
@@ -1786,8 +2120,71 @@ create_winMain (void)
   g_signal_connect ((gpointer) optionsUseXInput, "toggled",
                     G_CALLBACK (on_optionsUseXInput_activate),
                     NULL);
-  g_signal_connect ((gpointer) optionsEmulateEraser, "activate",
-                    G_CALLBACK (on_optionsEmulateEraser_activate),
+  g_signal_connect ((gpointer) optionsDiscardCoreEvents, "toggled",
+                    G_CALLBACK (on_optionsDiscardCore_activate),
+                    NULL);
+  g_signal_connect ((gpointer) optionsButtonMappings, "activate",
+                    G_CALLBACK (on_optionsButtonMappings_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2Pen, "activate",
+                    G_CALLBACK (on_button2Pen_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2Eraser, "activate",
+                    G_CALLBACK (on_button2Eraser_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2Highlighter, "activate",
+                    G_CALLBACK (on_button2Highlighter_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2Text, "activate",
+                    G_CALLBACK (on_button2Text_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2SelectRegion, "activate",
+                    G_CALLBACK (on_button2SelectRegion_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2SelectRectangle, "activate",
+                    G_CALLBACK (on_button2SelectRectangle_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2VerticalSpace, "activate",
+                    G_CALLBACK (on_button2VerticalSpace_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2Hand, "activate",
+                    G_CALLBACK (on_button2Hand_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2LinkBrush, "activate",
+                    G_CALLBACK (on_button2LinkBrush_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button2CopyBrush, "activate",
+                    G_CALLBACK (on_button2CopyBrush_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3Pen, "activate",
+                    G_CALLBACK (on_button3Pen_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3Eraser, "activate",
+                    G_CALLBACK (on_button3Eraser_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3Highlighter, "activate",
+                    G_CALLBACK (on_button3Highlighter_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3Text, "activate",
+                    G_CALLBACK (on_button3Text_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3SelectRegion, "activate",
+                    G_CALLBACK (on_button3SelectRegion_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3SelectRectangle, "activate",
+                    G_CALLBACK (on_button3SelectRectangle_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3VerticalSpace, "activate",
+                    G_CALLBACK (on_button3VerticalSpace_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3Hand, "activate",
+                    G_CALLBACK (on_button3Hand_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3LinkBrush, "activate",
+                    G_CALLBACK (on_button3LinkBrush_activate),
+                    NULL);
+  g_signal_connect ((gpointer) button3CopyBrush, "activate",
+                    G_CALLBACK (on_button3CopyBrush_activate),
                     NULL);
   g_signal_connect ((gpointer) optionsAntialiasBG, "activate",
                     G_CALLBACK (on_optionsAntialiasBG_activate),
@@ -1795,6 +2192,9 @@ create_winMain (void)
   g_signal_connect ((gpointer) optionsProgressiveBG, "activate",
                     G_CALLBACK (on_optionsProgressiveBG_activate),
                     NULL);
+  g_signal_connect ((gpointer) optionsPrintRuling, "activate",
+                    G_CALLBACK (on_optionsPrintRuling_activate),
+                    NULL);
   g_signal_connect ((gpointer) optionsSavePreferences, "activate",
                     G_CALLBACK (on_optionsSavePreferences_activate),
                     NULL);
@@ -1807,6 +2207,12 @@ create_winMain (void)
   g_signal_connect ((gpointer) saveButton, "clicked",
                     G_CALLBACK (on_fileSave_activate),
                     NULL);
+  g_signal_connect ((gpointer) newButton, "clicked",
+                    G_CALLBACK (on_fileNew_activate),
+                    NULL);
+  g_signal_connect ((gpointer) openButton, "clicked",
+                    G_CALLBACK (on_fileOpen_activate),
+                    NULL);
   g_signal_connect ((gpointer) buttonCut, "clicked",
                     G_CALLBACK (on_editCut_activate),
                     NULL);
@@ -1846,6 +2252,9 @@ create_winMain (void)
   g_signal_connect ((gpointer) buttonNormalSize, "clicked",
                     G_CALLBACK (on_viewNormalSize_activate),
                     NULL);
+  g_signal_connect ((gpointer) buttonZoomSet, "clicked",
+                    G_CALLBACK (on_viewSetZoom_activate),
+                    NULL);
   g_signal_connect ((gpointer) buttonFullscreen, "toggled",
                     G_CALLBACK (on_viewFullscreen_activate),
                     NULL);
@@ -1873,6 +2282,9 @@ create_winMain (void)
   g_signal_connect ((gpointer) buttonVerticalSpace, "toggled",
                     G_CALLBACK (on_toolsVerticalSpace_activate),
                     NULL);
+  g_signal_connect ((gpointer) buttonHand, "toggled",
+                    G_CALLBACK (on_toolsHand_activate),
+                    NULL);
   g_signal_connect ((gpointer) buttonToolDefault, "clicked",
                     G_CALLBACK (on_buttonToolDefault_clicked),
                     NULL);
@@ -1936,13 +2348,24 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, menuFile_menu, "menuFile_menu");
   GLADE_HOOKUP_OBJECT (winMain, fileNew, "fileNew");
   GLADE_HOOKUP_OBJECT (winMain, fileNewBackground, "fileNewBackground");
-  GLADE_HOOKUP_OBJECT (winMain, image500, "image500");
+  GLADE_HOOKUP_OBJECT (winMain, image623, "image623");
   GLADE_HOOKUP_OBJECT (winMain, fileOpen, "fileOpen");
   GLADE_HOOKUP_OBJECT (winMain, fileSave, "fileSave");
   GLADE_HOOKUP_OBJECT (winMain, fileSaveAs, "fileSaveAs");
   GLADE_HOOKUP_OBJECT (winMain, separator1, "separator1");
+  GLADE_HOOKUP_OBJECT (winMain, fileRecentFiles, "fileRecentFiles");
+  GLADE_HOOKUP_OBJECT (winMain, fileRecentFiles_menu, "fileRecentFiles_menu");
+  GLADE_HOOKUP_OBJECT (winMain, mru0, "mru0");
+  GLADE_HOOKUP_OBJECT (winMain, mru1, "mru1");
+  GLADE_HOOKUP_OBJECT (winMain, mru2, "mru2");
+  GLADE_HOOKUP_OBJECT (winMain, mru3, "mru3");
+  GLADE_HOOKUP_OBJECT (winMain, mru4, "mru4");
+  GLADE_HOOKUP_OBJECT (winMain, mru5, "mru5");
+  GLADE_HOOKUP_OBJECT (winMain, mru6, "mru6");
+  GLADE_HOOKUP_OBJECT (winMain, mru7, "mru7");
+  GLADE_HOOKUP_OBJECT (winMain, separator22, "separator22");
   GLADE_HOOKUP_OBJECT (winMain, filePrintOptions, "filePrintOptions");
-  GLADE_HOOKUP_OBJECT (winMain, image501, "image501");
+  GLADE_HOOKUP_OBJECT (winMain, image624, "image624");
   GLADE_HOOKUP_OBJECT (winMain, filePrint, "filePrint");
   GLADE_HOOKUP_OBJECT (winMain, filePrintPDF, "filePrintPDF");
   GLADE_HOOKUP_OBJECT (winMain, separator2, "separator2");
@@ -1963,25 +2386,28 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, separator20, "separator20");
   GLADE_HOOKUP_OBJECT (winMain, viewFullscreen, "viewFullscreen");
   GLADE_HOOKUP_OBJECT (winMain, separator4, "separator4");
+  GLADE_HOOKUP_OBJECT (winMain, menuViewZoom, "menuViewZoom");
+  GLADE_HOOKUP_OBJECT (winMain, menuViewZoom_menu, "menuViewZoom_menu");
   GLADE_HOOKUP_OBJECT (winMain, viewZoomIn, "viewZoomIn");
   GLADE_HOOKUP_OBJECT (winMain, viewZoomOut, "viewZoomOut");
   GLADE_HOOKUP_OBJECT (winMain, viewNormalSize, "viewNormalSize");
   GLADE_HOOKUP_OBJECT (winMain, viewPageWidth, "viewPageWidth");
-  GLADE_HOOKUP_OBJECT (winMain, image502, "image502");
+  GLADE_HOOKUP_OBJECT (winMain, image625, "image625");
+  GLADE_HOOKUP_OBJECT (winMain, viewSetZoom, "viewSetZoom");
   GLADE_HOOKUP_OBJECT (winMain, separator5, "separator5");
   GLADE_HOOKUP_OBJECT (winMain, viewFirstPage, "viewFirstPage");
-  GLADE_HOOKUP_OBJECT (winMain, image503, "image503");
+  GLADE_HOOKUP_OBJECT (winMain, image626, "image626");
   GLADE_HOOKUP_OBJECT (winMain, viewPreviousPage, "viewPreviousPage");
-  GLADE_HOOKUP_OBJECT (winMain, image504, "image504");
+  GLADE_HOOKUP_OBJECT (winMain, image627, "image627");
   GLADE_HOOKUP_OBJECT (winMain, viewNextPage, "viewNextPage");
-  GLADE_HOOKUP_OBJECT (winMain, image505, "image505");
+  GLADE_HOOKUP_OBJECT (winMain, image628, "image628");
   GLADE_HOOKUP_OBJECT (winMain, viewLastPage, "viewLastPage");
-  GLADE_HOOKUP_OBJECT (winMain, image506, "image506");
+  GLADE_HOOKUP_OBJECT (winMain, image629, "image629");
   GLADE_HOOKUP_OBJECT (winMain, separator6, "separator6");
   GLADE_HOOKUP_OBJECT (winMain, viewShowLayer, "viewShowLayer");
-  GLADE_HOOKUP_OBJECT (winMain, image507, "image507");
+  GLADE_HOOKUP_OBJECT (winMain, image630, "image630");
   GLADE_HOOKUP_OBJECT (winMain, viewHideLayer, "viewHideLayer");
-  GLADE_HOOKUP_OBJECT (winMain, image508, "image508");
+  GLADE_HOOKUP_OBJECT (winMain, image631, "image631");
   GLADE_HOOKUP_OBJECT (winMain, menuJournal, "menuJournal");
   GLADE_HOOKUP_OBJECT (winMain, menuJournal_menu, "menuJournal_menu");
   GLADE_HOOKUP_OBJECT (winMain, journalNewPageBefore, "journalNewPageBefore");
@@ -2011,10 +2437,11 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, paperstyleRuled, "paperstyleRuled");
   GLADE_HOOKUP_OBJECT (winMain, paperstyleGraph, "paperstyleGraph");
   GLADE_HOOKUP_OBJECT (winMain, paperstyleNA, "paperstyleNA");
+  GLADE_HOOKUP_OBJECT (winMain, journalApplyAllPages, "journalApplyAllPages");
+  GLADE_HOOKUP_OBJECT (winMain, separator23, "separator23");
   GLADE_HOOKUP_OBJECT (winMain, journalLoadBackground, "journalLoadBackground");
-  GLADE_HOOKUP_OBJECT (winMain, image509, "image509");
+  GLADE_HOOKUP_OBJECT (winMain, image632, "image632");
   GLADE_HOOKUP_OBJECT (winMain, journalScreenshot, "journalScreenshot");
-  GLADE_HOOKUP_OBJECT (winMain, journalApplyAllPages, "journalApplyAllPages");
   GLADE_HOOKUP_OBJECT (winMain, separator19, "separator19");
   GLADE_HOOKUP_OBJECT (winMain, journalDefaultBackground, "journalDefaultBackground");
   GLADE_HOOKUP_OBJECT (winMain, journalSetAsDefault, "journalSetAsDefault");
@@ -2028,9 +2455,10 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, toolsSelectRegion, "toolsSelectRegion");
   GLADE_HOOKUP_OBJECT (winMain, toolsSelectRectangle, "toolsSelectRectangle");
   GLADE_HOOKUP_OBJECT (winMain, toolsVerticalSpace, "toolsVerticalSpace");
+  GLADE_HOOKUP_OBJECT (winMain, toolsHand, "toolsHand");
   GLADE_HOOKUP_OBJECT (winMain, separator16, "separator16");
   GLADE_HOOKUP_OBJECT (winMain, toolsColor, "toolsColor");
-  GLADE_HOOKUP_OBJECT (winMain, image510, "image510");
+  GLADE_HOOKUP_OBJECT (winMain, image633, "image633");
   GLADE_HOOKUP_OBJECT (winMain, toolsColor_menu, "toolsColor_menu");
   GLADE_HOOKUP_OBJECT (winMain, colorBlack, "colorBlack");
   GLADE_HOOKUP_OBJECT (winMain, colorBlue, "colorBlue");
@@ -2068,7 +2496,7 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, highlighterMedium, "highlighterMedium");
   GLADE_HOOKUP_OBJECT (winMain, highlighterThick, "highlighterThick");
   GLADE_HOOKUP_OBJECT (winMain, toolsTextFont, "toolsTextFont");
-  GLADE_HOOKUP_OBJECT (winMain, image511, "image511");
+  GLADE_HOOKUP_OBJECT (winMain, image634, "image634");
   GLADE_HOOKUP_OBJECT (winMain, separator10, "separator10");
   GLADE_HOOKUP_OBJECT (winMain, toolsDefaultPen, "toolsDefaultPen");
   GLADE_HOOKUP_OBJECT (winMain, toolsDefaultEraser, "toolsDefaultEraser");
@@ -2080,10 +2508,40 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, menuOptions, "menuOptions");
   GLADE_HOOKUP_OBJECT (winMain, menuOptions_menu, "menuOptions_menu");
   GLADE_HOOKUP_OBJECT (winMain, optionsUseXInput, "optionsUseXInput");
-  GLADE_HOOKUP_OBJECT (winMain, optionsEmulateEraser, "optionsEmulateEraser");
+  GLADE_HOOKUP_OBJECT (winMain, optionsDiscardCoreEvents, "optionsDiscardCoreEvents");
+  GLADE_HOOKUP_OBJECT (winMain, optionsButtonMappings, "optionsButtonMappings");
+  GLADE_HOOKUP_OBJECT (winMain, button2_mapping, "button2_mapping");
+  GLADE_HOOKUP_OBJECT (winMain, button2_mapping_menu, "button2_mapping_menu");
+  GLADE_HOOKUP_OBJECT (winMain, button2Pen, "button2Pen");
+  GLADE_HOOKUP_OBJECT (winMain, button2Eraser, "button2Eraser");
+  GLADE_HOOKUP_OBJECT (winMain, button2Highlighter, "button2Highlighter");
+  GLADE_HOOKUP_OBJECT (winMain, button2Text, "button2Text");
+  GLADE_HOOKUP_OBJECT (winMain, button2SelectRegion, "button2SelectRegion");
+  GLADE_HOOKUP_OBJECT (winMain, button2SelectRectangle, "button2SelectRectangle");
+  GLADE_HOOKUP_OBJECT (winMain, button2VerticalSpace, "button2VerticalSpace");
+  GLADE_HOOKUP_OBJECT (winMain, button2Hand, "button2Hand");
+  GLADE_HOOKUP_OBJECT (winMain, separator24, "separator24");
+  GLADE_HOOKUP_OBJECT (winMain, button2LinkBrush, "button2LinkBrush");
+  GLADE_HOOKUP_OBJECT (winMain, button2CopyBrush, "button2CopyBrush");
+  GLADE_HOOKUP_OBJECT (winMain, button2NABrush, "button2NABrush");
+  GLADE_HOOKUP_OBJECT (winMain, button3_mapping, "button3_mapping");
+  GLADE_HOOKUP_OBJECT (winMain, button3_mapping_menu, "button3_mapping_menu");
+  GLADE_HOOKUP_OBJECT (winMain, button3Pen, "button3Pen");
+  GLADE_HOOKUP_OBJECT (winMain, button3Eraser, "button3Eraser");
+  GLADE_HOOKUP_OBJECT (winMain, button3Highlighter, "button3Highlighter");
+  GLADE_HOOKUP_OBJECT (winMain, button3Text, "button3Text");
+  GLADE_HOOKUP_OBJECT (winMain, button3SelectRegion, "button3SelectRegion");
+  GLADE_HOOKUP_OBJECT (winMain, button3SelectRectangle, "button3SelectRectangle");
+  GLADE_HOOKUP_OBJECT (winMain, button3VerticalSpace, "button3VerticalSpace");
+  GLADE_HOOKUP_OBJECT (winMain, button3Hand, "button3Hand");
+  GLADE_HOOKUP_OBJECT (winMain, separator25, "separator25");
+  GLADE_HOOKUP_OBJECT (winMain, button3LinkBrush, "button3LinkBrush");
+  GLADE_HOOKUP_OBJECT (winMain, button3CopyBrush, "button3CopyBrush");
+  GLADE_HOOKUP_OBJECT (winMain, button3NABrush, "button3NABrush");
   GLADE_HOOKUP_OBJECT (winMain, separator18, "separator18");
   GLADE_HOOKUP_OBJECT (winMain, optionsAntialiasBG, "optionsAntialiasBG");
   GLADE_HOOKUP_OBJECT (winMain, optionsProgressiveBG, "optionsProgressiveBG");
+  GLADE_HOOKUP_OBJECT (winMain, optionsPrintRuling, "optionsPrintRuling");
   GLADE_HOOKUP_OBJECT (winMain, separator21, "separator21");
   GLADE_HOOKUP_OBJECT (winMain, optionsSavePreferences, "optionsSavePreferences");
   GLADE_HOOKUP_OBJECT (winMain, menuHelp, "menuHelp");
@@ -2092,6 +2550,8 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, helpAbout, "helpAbout");
   GLADE_HOOKUP_OBJECT (winMain, toolbarMain, "toolbarMain");
   GLADE_HOOKUP_OBJECT (winMain, saveButton, "saveButton");
+  GLADE_HOOKUP_OBJECT (winMain, newButton, "newButton");
+  GLADE_HOOKUP_OBJECT (winMain, openButton, "openButton");
   GLADE_HOOKUP_OBJECT (winMain, toolitem11, "toolitem11");
   GLADE_HOOKUP_OBJECT (winMain, vseparator1, "vseparator1");
   GLADE_HOOKUP_OBJECT (winMain, buttonCut, "buttonCut");
@@ -2113,6 +2573,7 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, buttonPageWidth, "buttonPageWidth");
   GLADE_HOOKUP_OBJECT (winMain, buttonZoomIn, "buttonZoomIn");
   GLADE_HOOKUP_OBJECT (winMain, buttonNormalSize, "buttonNormalSize");
+  GLADE_HOOKUP_OBJECT (winMain, buttonZoomSet, "buttonZoomSet");
   GLADE_HOOKUP_OBJECT (winMain, buttonFullscreen, "buttonFullscreen");
   GLADE_HOOKUP_OBJECT (winMain, toolbarPen, "toolbarPen");
   GLADE_HOOKUP_OBJECT (winMain, buttonPen, "buttonPen");
@@ -2125,6 +2586,7 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, buttonSelectRegion, "buttonSelectRegion");
   GLADE_HOOKUP_OBJECT (winMain, buttonSelectRectangle, "buttonSelectRectangle");
   GLADE_HOOKUP_OBJECT (winMain, buttonVerticalSpace, "buttonVerticalSpace");
+  GLADE_HOOKUP_OBJECT (winMain, buttonHand, "buttonHand");
   GLADE_HOOKUP_OBJECT (winMain, toolitem16, "toolitem16");
   GLADE_HOOKUP_OBJECT (winMain, vseparator6, "vseparator6");
   GLADE_HOOKUP_OBJECT (winMain, buttonToolDefault, "buttonToolDefault");
@@ -2383,7 +2845,7 @@ create_aboutDialog (void)
   dialog_vbox2 = GTK_DIALOG (aboutDialog)->vbox;
   gtk_widget_show (dialog_vbox2);
 
-  image387 = create_pixmap (aboutDialog, "notepad.png");
+  image387 = create_pixmap (aboutDialog, "xournal.png");
   gtk_widget_show (image387);
   gtk_box_pack_start (GTK_BOX (dialog_vbox2), image387, FALSE, TRUE, 12);
 
@@ -2392,7 +2854,7 @@ create_aboutDialog (void)
   gtk_box_pack_start (GTK_BOX (dialog_vbox2), labelTitle, FALSE, FALSE, 3);
   gtk_label_set_justify (GTK_LABEL (labelTitle), GTK_JUSTIFY_CENTER);
 
-  labelInfo = gtk_label_new ("Written by Denis Auroux\nhttp://math.mit.edu/~auroux/software/xournal/");
+  labelInfo = gtk_label_new ("Written by Denis Auroux\n       http://xournal.sourceforge.net/       ");
   gtk_widget_show (labelInfo);
   gtk_box_pack_start (GTK_BOX (dialog_vbox2), labelInfo, FALSE, FALSE, 0);
   gtk_label_set_justify (GTK_LABEL (labelInfo), GTK_JUSTIFY_CENTER);
@@ -2419,3 +2881,133 @@ create_aboutDialog (void)
   return aboutDialog;
 }
 
+GtkWidget*
+create_zoomDialog (void)
+{
+  GtkWidget *zoomDialog;
+  GtkWidget *dialog_vbox3;
+  GtkWidget *vbox1;
+  GtkWidget *hbox4;
+  GtkWidget *radioZoom;
+  GSList *radioZoom_group = NULL;
+  GtkObject *spinZoom_adj;
+  GtkWidget *spinZoom;
+  GtkWidget *label1;
+  GtkWidget *radioZoom100;
+  GtkWidget *radioZoomWidth;
+  GtkWidget *radioZoomHeight;
+  GtkWidget *dialog_action_area3;
+  GtkWidget *cancelbutton2;
+  GtkWidget *button1;
+  GtkWidget *button2;
+
+  zoomDialog = gtk_dialog_new ();
+  gtk_window_set_title (GTK_WINDOW (zoomDialog), "Set Zoom");
+  gtk_window_set_modal (GTK_WINDOW (zoomDialog), TRUE);
+  gtk_window_set_type_hint (GTK_WINDOW (zoomDialog), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+  dialog_vbox3 = GTK_DIALOG (zoomDialog)->vbox;
+  gtk_widget_show (dialog_vbox3);
+
+  vbox1 = gtk_vbox_new (FALSE, 2);
+  gtk_widget_show (vbox1);
+  gtk_box_pack_start (GTK_BOX (dialog_vbox3), vbox1, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (vbox1), 8);
+
+  hbox4 = gtk_hbox_new (FALSE, 0);
+  gtk_widget_show (hbox4);
+  gtk_box_pack_start (GTK_BOX (vbox1), hbox4, FALSE, FALSE, 0);
+
+  radioZoom = gtk_radio_button_new_with_mnemonic (NULL, "Zoom: ");
+  gtk_widget_show (radioZoom);
+  gtk_box_pack_start (GTK_BOX (hbox4), radioZoom, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (radioZoom), 4);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioZoom), radioZoom_group);
+  radioZoom_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioZoom));
+
+  spinZoom_adj = gtk_adjustment_new (100, 10, 1500, 5, 20, 20);
+  spinZoom = gtk_spin_button_new (GTK_ADJUSTMENT (spinZoom_adj), 1, 0);
+  gtk_widget_show (spinZoom);
+  gtk_box_pack_start (GTK_BOX (hbox4), spinZoom, FALSE, TRUE, 5);
+  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinZoom), TRUE);
+
+  label1 = gtk_label_new ("%");
+  gtk_widget_show (label1);
+  gtk_box_pack_start (GTK_BOX (hbox4), label1, FALSE, TRUE, 0);
+  gtk_misc_set_alignment (GTK_MISC (label1), 0.48, 0.5);
+
+  radioZoom100 = gtk_radio_button_new_with_mnemonic (NULL, "Normal size (100%)");
+  gtk_widget_show (radioZoom100);
+  gtk_box_pack_start (GTK_BOX (vbox1), radioZoom100, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (radioZoom100), 4);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioZoom100), radioZoom_group);
+  radioZoom_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioZoom100));
+
+  radioZoomWidth = gtk_radio_button_new_with_mnemonic (NULL, "Page Width");
+  gtk_widget_show (radioZoomWidth);
+  gtk_box_pack_start (GTK_BOX (vbox1), radioZoomWidth, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (radioZoomWidth), 4);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioZoomWidth), radioZoom_group);
+  radioZoom_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioZoomWidth));
+
+  radioZoomHeight = gtk_radio_button_new_with_mnemonic (NULL, "Page Height");
+  gtk_widget_show (radioZoomHeight);
+  gtk_box_pack_start (GTK_BOX (vbox1), radioZoomHeight, FALSE, FALSE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (radioZoomHeight), 4);
+  gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioZoomHeight), radioZoom_group);
+  radioZoom_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioZoomHeight));
+
+  dialog_action_area3 = GTK_DIALOG (zoomDialog)->action_area;
+  gtk_widget_show (dialog_action_area3);
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
+
+  cancelbutton2 = gtk_button_new_from_stock ("gtk-cancel");
+  gtk_widget_show (cancelbutton2);
+  gtk_dialog_add_action_widget (GTK_DIALOG (zoomDialog), cancelbutton2, GTK_RESPONSE_CANCEL);
+  GTK_WIDGET_SET_FLAGS (cancelbutton2, GTK_CAN_DEFAULT);
+
+  button1 = gtk_button_new_from_stock ("gtk-apply");
+  gtk_widget_show (button1);
+  gtk_dialog_add_action_widget (GTK_DIALOG (zoomDialog), button1, GTK_RESPONSE_APPLY);
+  GTK_WIDGET_SET_FLAGS (button1, GTK_CAN_DEFAULT);
+
+  button2 = gtk_button_new_from_stock ("gtk-ok");
+  gtk_widget_show (button2);
+  gtk_dialog_add_action_widget (GTK_DIALOG (zoomDialog), button2, GTK_RESPONSE_OK);
+  GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT);
+
+  g_signal_connect ((gpointer) radioZoom, "toggled",
+                    G_CALLBACK (on_radioZoom_toggled),
+                    NULL);
+  g_signal_connect ((gpointer) spinZoom, "value_changed",
+                    G_CALLBACK (on_spinZoom_value_changed),
+                    NULL);
+  g_signal_connect ((gpointer) radioZoom100, "toggled",
+                    G_CALLBACK (on_radioZoom100_toggled),
+                    NULL);
+  g_signal_connect ((gpointer) radioZoomWidth, "toggled",
+                    G_CALLBACK (on_radioZoomWidth_toggled),
+                    NULL);
+  g_signal_connect ((gpointer) radioZoomHeight, "toggled",
+                    G_CALLBACK (on_radioZoomHeight_toggled),
+                    NULL);
+
+  /* Store pointers to all widgets, for use by lookup_widget(). */
+  GLADE_HOOKUP_OBJECT_NO_REF (zoomDialog, zoomDialog, "zoomDialog");
+  GLADE_HOOKUP_OBJECT_NO_REF (zoomDialog, dialog_vbox3, "dialog_vbox3");
+  GLADE_HOOKUP_OBJECT (zoomDialog, vbox1, "vbox1");
+  GLADE_HOOKUP_OBJECT (zoomDialog, hbox4, "hbox4");
+  GLADE_HOOKUP_OBJECT (zoomDialog, radioZoom, "radioZoom");
+  GLADE_HOOKUP_OBJECT (zoomDialog, spinZoom, "spinZoom");
+  GLADE_HOOKUP_OBJECT (zoomDialog, label1, "label1");
+  GLADE_HOOKUP_OBJECT (zoomDialog, radioZoom100, "radioZoom100");
+  GLADE_HOOKUP_OBJECT (zoomDialog, radioZoomWidth, "radioZoomWidth");
+  GLADE_HOOKUP_OBJECT (zoomDialog, radioZoomHeight, "radioZoomHeight");
+  GLADE_HOOKUP_OBJECT_NO_REF (zoomDialog, dialog_action_area3, "dialog_action_area3");
+  GLADE_HOOKUP_OBJECT (zoomDialog, cancelbutton2, "cancelbutton2");
+  GLADE_HOOKUP_OBJECT (zoomDialog, button1, "button1");
+  GLADE_HOOKUP_OBJECT (zoomDialog, button2, "button2");
+
+  return zoomDialog;
+}
+