]> git.donarmstrong.com Git - xournal.git/blobdiff - src/xo-interface.c
Update to version 0.3.
[xournal.git] / src / xo-interface.c
index 1efc4952446ba990c1d517f2f9711e84215f08ea..3f3e62cb3e027cd465a62d5430da55c6a78b829f 100644 (file)
@@ -36,7 +36,7 @@ create_winMain (void)
   GtkWidget *menuFile_menu;
   GtkWidget *fileNew;
   GtkWidget *fileNewBackground;
-  GtkWidget *image533;
+  GtkWidget *image599;
   GtkWidget *fileOpen;
   GtkWidget *fileSave;
   GtkWidget *fileSaveAs;
@@ -53,7 +53,7 @@ create_winMain (void)
   GtkWidget *mru7;
   GtkWidget *separator22;
   GtkWidget *filePrintOptions;
-  GtkWidget *image534;
+  GtkWidget *image600;
   GtkWidget *filePrint;
   GtkWidget *filePrintPDF;
   GtkWidget *separator2;
@@ -79,21 +79,22 @@ create_winMain (void)
   GtkWidget *viewZoomOut;
   GtkWidget *viewNormalSize;
   GtkWidget *viewPageWidth;
-  GtkWidget *image535;
+  GtkWidget *image601;
+  GtkWidget *viewSetZoom;
   GtkWidget *separator5;
   GtkWidget *viewFirstPage;
-  GtkWidget *image536;
+  GtkWidget *image602;
   GtkWidget *viewPreviousPage;
-  GtkWidget *image537;
+  GtkWidget *image603;
   GtkWidget *viewNextPage;
-  GtkWidget *image538;
+  GtkWidget *image604;
   GtkWidget *viewLastPage;
-  GtkWidget *image539;
+  GtkWidget *image605;
   GtkWidget *separator6;
   GtkWidget *viewShowLayer;
-  GtkWidget *image540;
+  GtkWidget *image606;
   GtkWidget *viewHideLayer;
-  GtkWidget *image541;
+  GtkWidget *image607;
   GtkWidget *menuJournal;
   GtkWidget *menuJournal_menu;
   GtkWidget *journalNewPageBefore;
@@ -125,10 +126,11 @@ create_winMain (void)
   GtkWidget *paperstyleRuled;
   GtkWidget *paperstyleGraph;
   GtkWidget *paperstyleNA;
+  GtkWidget *journalApplyAllPages;
+  GtkWidget *separator23;
   GtkWidget *journalLoadBackground;
-  GtkWidget *image542;
+  GtkWidget *image608;
   GtkWidget *journalScreenshot;
-  GtkWidget *journalApplyAllPages;
   GtkWidget *separator19;
   GtkWidget *journalDefaultBackground;
   GtkWidget *journalSetAsDefault;
@@ -145,7 +147,7 @@ create_winMain (void)
   GtkWidget *toolsVerticalSpace;
   GtkWidget *separator16;
   GtkWidget *toolsColor;
-  GtkWidget *image543;
+  GtkWidget *image609;
   GtkWidget *toolsColor_menu;
   GSList *colorBlack_group = NULL;
   GtkWidget *colorBlack;
@@ -188,7 +190,7 @@ create_winMain (void)
   GtkWidget *highlighterMedium;
   GtkWidget *highlighterThick;
   GtkWidget *toolsTextFont;
-  GtkWidget *image544;
+  GtkWidget *image610;
   GtkWidget *separator10;
   GtkWidget *toolsDefaultPen;
   GtkWidget *toolsDefaultEraser;
@@ -200,7 +202,37 @@ create_winMain (void)
   GtkWidget *menuOptions;
   GtkWidget *menuOptions_menu;
   GtkWidget *optionsUseXInput;
-  GtkWidget *optionsEmulateEraser;
+  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 *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 *separator25;
+  GSList *button3LinkBrush_group = NULL;
+  GtkWidget *button3LinkBrush;
+  GtkWidget *button3CopyBrush;
+  GtkWidget *button3NABrush;
   GtkWidget *separator18;
   GtkWidget *optionsAntialiasBG;
   GtkWidget *optionsProgressiveBG;
@@ -234,6 +266,7 @@ create_winMain (void)
   GtkWidget *buttonPageWidth;
   GtkWidget *buttonZoomIn;
   GtkWidget *buttonNormalSize;
+  GtkWidget *buttonZoomSet;
   GtkWidget *tmp_image;
   GtkWidget *buttonFullscreen;
   GtkWidget *toolbarPen;
@@ -317,9 +350,9 @@ create_winMain (void)
   gtk_widget_show (fileNewBackground);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), fileNewBackground);
 
-  image533 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image533);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (fileNewBackground), image533);
+  image599 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image599);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (fileNewBackground), image599);
 
   fileOpen = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group);
   gtk_widget_show (fileOpen);
@@ -386,15 +419,15 @@ create_winMain (void)
   gtk_widget_show (filePrintOptions);
   gtk_container_add (GTK_CONTAINER (menuFile_menu), filePrintOptions);
 
-  image534 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image534);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (filePrintOptions), image534);
+  image600 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image600);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (filePrintOptions), image600);
 
   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);
 
@@ -492,9 +525,13 @@ create_winMain (void)
   gtk_widget_show (viewPageWidth);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewPageWidth);
 
-  image535 = gtk_image_new_from_stock ("gtk-zoom-fit", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image535);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPageWidth), image535);
+  image601 = gtk_image_new_from_stock ("gtk-zoom-fit", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image601);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPageWidth), image601);
+
+  viewSetZoom = gtk_menu_item_new_with_mnemonic ("Set Zoom");
+  gtk_widget_show (viewSetZoom);
+  gtk_container_add (GTK_CONTAINER (menuView_menu), viewSetZoom);
 
   separator5 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator5);
@@ -505,33 +542,33 @@ create_winMain (void)
   gtk_widget_show (viewFirstPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewFirstPage);
 
-  image536 = gtk_image_new_from_stock ("gtk-goto-first", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image536);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewFirstPage), image536);
+  image602 = gtk_image_new_from_stock ("gtk-goto-first", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image602);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewFirstPage), image602);
 
   viewPreviousPage = gtk_image_menu_item_new_with_mnemonic ("Previous Page");
   gtk_widget_show (viewPreviousPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewPreviousPage);
 
-  image537 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image537);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPreviousPage), image537);
+  image603 = gtk_image_new_from_stock ("gtk-go-back", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image603);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewPreviousPage), image603);
 
   viewNextPage = gtk_image_menu_item_new_with_mnemonic ("Next Page");
   gtk_widget_show (viewNextPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewNextPage);
 
-  image538 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image538);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewNextPage), image538);
+  image604 = gtk_image_new_from_stock ("gtk-go-forward", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image604);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewNextPage), image604);
 
   viewLastPage = gtk_image_menu_item_new_with_mnemonic ("Last Page");
   gtk_widget_show (viewLastPage);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewLastPage);
 
-  image539 = gtk_image_new_from_stock ("gtk-goto-last", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image539);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewLastPage), image539);
+  image605 = gtk_image_new_from_stock ("gtk-goto-last", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image605);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewLastPage), image605);
 
   separator6 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator6);
@@ -542,17 +579,17 @@ create_winMain (void)
   gtk_widget_show (viewShowLayer);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewShowLayer);
 
-  image540 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image540);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewShowLayer), image540);
+  image606 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image606);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewShowLayer), image606);
 
   viewHideLayer = gtk_image_menu_item_new_with_mnemonic ("Hide Layer");
   gtk_widget_show (viewHideLayer);
   gtk_container_add (GTK_CONTAINER (menuView_menu), viewHideLayer);
 
-  image541 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image541);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewHideLayer), image541);
+  image607 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image607);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (viewHideLayer), image607);
 
   menuJournal = gtk_menu_item_new_with_mnemonic ("_Journal");
   gtk_widget_show (menuJournal);
@@ -693,22 +730,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);
 
-  image542 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image542);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (journalLoadBackground), image542);
+  image608 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image608);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (journalLoadBackground), image608);
 
   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);
@@ -785,9 +827,9 @@ create_winMain (void)
   gtk_widget_show (toolsColor);
   gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsColor);
 
-  image543 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image543);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsColor), image543);
+  image609 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image609);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsColor), image609);
 
   toolsColor_menu = gtk_menu_new ();
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (toolsColor), toolsColor_menu);
@@ -988,9 +1030,9 @@ create_winMain (void)
   gtk_widget_show (toolsTextFont);
   gtk_container_add (GTK_CONTAINER (menuTools_menu), toolsTextFont);
 
-  image544 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU);
-  gtk_widget_show (image544);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsTextFont), image544);
+  image610 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU);
+  gtk_widget_show (image610);
+  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (toolsTextFont), image610);
 
   separator10 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator10);
@@ -1037,9 +1079,151 @@ 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);
+  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);
+
+  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);
+
+  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);
@@ -1187,6 +1371,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");
@@ -1652,6 +1841,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);
@@ -1727,15 +1919,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);
@@ -1865,8 +2057,62 @@ 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) 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) 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) 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),
@@ -1925,6 +2171,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);
@@ -2015,7 +2264,7 @@ 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, image533, "image533");
+  GLADE_HOOKUP_OBJECT (winMain, image599, "image599");
   GLADE_HOOKUP_OBJECT (winMain, fileOpen, "fileOpen");
   GLADE_HOOKUP_OBJECT (winMain, fileSave, "fileSave");
   GLADE_HOOKUP_OBJECT (winMain, fileSaveAs, "fileSaveAs");
@@ -2032,7 +2281,7 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, mru7, "mru7");
   GLADE_HOOKUP_OBJECT (winMain, separator22, "separator22");
   GLADE_HOOKUP_OBJECT (winMain, filePrintOptions, "filePrintOptions");
-  GLADE_HOOKUP_OBJECT (winMain, image534, "image534");
+  GLADE_HOOKUP_OBJECT (winMain, image600, "image600");
   GLADE_HOOKUP_OBJECT (winMain, filePrint, "filePrint");
   GLADE_HOOKUP_OBJECT (winMain, filePrintPDF, "filePrintPDF");
   GLADE_HOOKUP_OBJECT (winMain, separator2, "separator2");
@@ -2057,21 +2306,22 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, viewZoomOut, "viewZoomOut");
   GLADE_HOOKUP_OBJECT (winMain, viewNormalSize, "viewNormalSize");
   GLADE_HOOKUP_OBJECT (winMain, viewPageWidth, "viewPageWidth");
-  GLADE_HOOKUP_OBJECT (winMain, image535, "image535");
+  GLADE_HOOKUP_OBJECT (winMain, image601, "image601");
+  GLADE_HOOKUP_OBJECT (winMain, viewSetZoom, "viewSetZoom");
   GLADE_HOOKUP_OBJECT (winMain, separator5, "separator5");
   GLADE_HOOKUP_OBJECT (winMain, viewFirstPage, "viewFirstPage");
-  GLADE_HOOKUP_OBJECT (winMain, image536, "image536");
+  GLADE_HOOKUP_OBJECT (winMain, image602, "image602");
   GLADE_HOOKUP_OBJECT (winMain, viewPreviousPage, "viewPreviousPage");
-  GLADE_HOOKUP_OBJECT (winMain, image537, "image537");
+  GLADE_HOOKUP_OBJECT (winMain, image603, "image603");
   GLADE_HOOKUP_OBJECT (winMain, viewNextPage, "viewNextPage");
-  GLADE_HOOKUP_OBJECT (winMain, image538, "image538");
+  GLADE_HOOKUP_OBJECT (winMain, image604, "image604");
   GLADE_HOOKUP_OBJECT (winMain, viewLastPage, "viewLastPage");
-  GLADE_HOOKUP_OBJECT (winMain, image539, "image539");
+  GLADE_HOOKUP_OBJECT (winMain, image605, "image605");
   GLADE_HOOKUP_OBJECT (winMain, separator6, "separator6");
   GLADE_HOOKUP_OBJECT (winMain, viewShowLayer, "viewShowLayer");
-  GLADE_HOOKUP_OBJECT (winMain, image540, "image540");
+  GLADE_HOOKUP_OBJECT (winMain, image606, "image606");
   GLADE_HOOKUP_OBJECT (winMain, viewHideLayer, "viewHideLayer");
-  GLADE_HOOKUP_OBJECT (winMain, image541, "image541");
+  GLADE_HOOKUP_OBJECT (winMain, image607, "image607");
   GLADE_HOOKUP_OBJECT (winMain, menuJournal, "menuJournal");
   GLADE_HOOKUP_OBJECT (winMain, menuJournal_menu, "menuJournal_menu");
   GLADE_HOOKUP_OBJECT (winMain, journalNewPageBefore, "journalNewPageBefore");
@@ -2101,10 +2351,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, image542, "image542");
+  GLADE_HOOKUP_OBJECT (winMain, image608, "image608");
   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");
@@ -2120,7 +2371,7 @@ create_winMain (void)
   GLADE_HOOKUP_OBJECT (winMain, toolsVerticalSpace, "toolsVerticalSpace");
   GLADE_HOOKUP_OBJECT (winMain, separator16, "separator16");
   GLADE_HOOKUP_OBJECT (winMain, toolsColor, "toolsColor");
-  GLADE_HOOKUP_OBJECT (winMain, image543, "image543");
+  GLADE_HOOKUP_OBJECT (winMain, image609, "image609");
   GLADE_HOOKUP_OBJECT (winMain, toolsColor_menu, "toolsColor_menu");
   GLADE_HOOKUP_OBJECT (winMain, colorBlack, "colorBlack");
   GLADE_HOOKUP_OBJECT (winMain, colorBlue, "colorBlue");
@@ -2158,7 +2409,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, image544, "image544");
+  GLADE_HOOKUP_OBJECT (winMain, image610, "image610");
   GLADE_HOOKUP_OBJECT (winMain, separator10, "separator10");
   GLADE_HOOKUP_OBJECT (winMain, toolsDefaultPen, "toolsDefaultPen");
   GLADE_HOOKUP_OBJECT (winMain, toolsDefaultEraser, "toolsDefaultEraser");
@@ -2170,7 +2421,33 @@ 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, 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, 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, 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");
@@ -2203,6 +2480,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");
@@ -2509,3 +2787,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;
+}
+