diff --git a/src/control/stockdlg/XojOpenDlg.cpp b/src/control/stockdlg/XojOpenDlg.cpp
index 5a6bc5a7..87694f07 100644
--- a/src/control/stockdlg/XojOpenDlg.cpp
+++ b/src/control/stockdlg/XojOpenDlg.cpp
@@ -34,7 +34,10 @@ XojOpenDlg::~XojOpenDlg()
{
XOJ_CHECK_TYPE(XojOpenDlg);
- gtk_widget_destroy(dialog);
+ if (dialog)
+ {
+ gtk_widget_destroy(dialog);
+ }
dialog = NULL;
XOJ_RELEASE_TYPE(XojOpenDlg);
@@ -99,6 +102,7 @@ Path XojOpenDlg::runDialog()
if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_OK)
{
gtk_widget_destroy(dialog);
+ dialog = NULL;
return Path("");
}
@@ -146,6 +150,7 @@ Path XojOpenDlg::showOpenDialog(bool pdf, bool& attachPdf)
if (pdf)
{
attachOpt = gtk_check_button_new_with_label(_("Attach file to the journal"));
+ g_object_ref(attachOpt);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(attachOpt), FALSE);
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(dialog), attachOpt);
}
@@ -159,6 +164,7 @@ Path XojOpenDlg::showOpenDialog(bool pdf, bool& attachPdf)
if (attachOpt)
{
attachPdf = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(attachOpt));
+ g_object_unref(attachOpt);
}
return file;
diff --git a/src/gui/XournalView.cpp b/src/gui/XournalView.cpp
index e4ca89d8..41645054 100644
--- a/src/gui/XournalView.cpp
+++ b/src/gui/XournalView.cpp
@@ -457,9 +457,18 @@ void XournalView::scrollTo(size_t pageNo, double yDocument)
XojPageView* v = this->viewPages[pageNo];
+ // Make sure it is visible
Layout* layout = gtk_xournal_get_layout(this->widget);
- layout->ensureRectIsVisible(v->layout.getLayoutAbsoluteX(), v->layout.getLayoutAbsoluteY() + yDocument,
- v->getDisplayWidth(), v->getDisplayHeight());
+
+ int x = v->layout.getLayoutAbsoluteX();
+ int y = v->layout.getLayoutAbsoluteY() + yDocument;
+ int width = v->getDisplayWidth();
+ int height = v->getDisplayHeight();
+
+ layout->ensureRectIsVisible(x, y, width, height);
+
+ // Select the page
+ control->firePageSelected(pageNo);
}
void XournalView::endTextAllPages(XojPageView* except)
diff --git a/src/gui/toolbarMenubar/ToolMenuHandler.cpp b/src/gui/toolbarMenubar/ToolMenuHandler.cpp
index 2d8504b7..d6030932 100644
--- a/src/gui/toolbarMenubar/ToolMenuHandler.cpp
+++ b/src/gui/toolbarMenubar/ToolMenuHandler.cpp
@@ -382,44 +382,28 @@ void ToolMenuHandler::initToolItems()
addToolItem(undoButton);
addToolItem(redoButton);
- addToolItem(new ToolButton(listener, "GOTO_FIRST", ACTION_GOTO_FIRST, "go-first", _("Go to first page"),
- gui->get("menuViewFirstPage")));
- addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back"),
- gui->get("menuNavigationPreviousPage")));
+ addToolItem(new ToolButton(listener, "GOTO_FIRST", ACTION_GOTO_FIRST, "go-first", _("Go to first page")));
+ addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back")));
- addToolItem(new ToolButton(listener, "GOTO_BACK", ACTION_GOTO_BACK, "go-previous", _("Back"),
- gui->get("menuNavigationPreviousPage")));
+ addToolItem(new ToolButton(listener, gui, "GOTO_PAGE", ACTION_GOTO_PAGE, "goto.svg", _("Go to page")));
- addToolItem(new ToolButton(listener, gui, "GOTO_PAGE", ACTION_GOTO_PAGE, "goto.svg", _("Go to page"),
- gui->get("menuNavigationGotoPage")));
+ addToolItem(new ToolButton(listener, "GOTO_NEXT", ACTION_GOTO_NEXT, "go-next", _("Next")));
+ addToolItem(new ToolButton(listener, "GOTO_LAST", ACTION_GOTO_LAST, "go-last", _("Go to last page")));
- addToolItem(new ToolButton(listener, "GOTO_NEXT", ACTION_GOTO_NEXT, "go-next", _("Next"),
- gui->get("menuNavigationNextPage")));
- addToolItem(new ToolButton(listener, "GOTO_LAST", ACTION_GOTO_LAST, "go-last", _("Go to last page"),
- gui->get("menuNavigationLastPage")));
-
- addToolItem(new ToolButton(listener, "GOTO_PREVIOUS_LAYER", ACTION_GOTO_PREVIOUS_LAYER, "go-previous", _("Go to previous layer"),
- gui->get("menuNavigationPreviousLayer")));
- addToolItem(new ToolButton(listener, "GOTO_NEXT_LAYER", ACTION_GOTO_NEXT_LAYER, "go-next", _("Go to next layer"),
- gui->get("menuNavigationNextLayer")));
- addToolItem(new ToolButton(listener, "GOTO_TOP_LAYER", ACTION_GOTO_TOP_LAYER, "go-top", _("Go to top layer"),
- gui->get("menuNavigationTopLayer")));
+ addToolItem(new ToolButton(listener, "GOTO_PREVIOUS_LAYER", ACTION_GOTO_PREVIOUS_LAYER, "go-previous", _("Go to previous layer")));
+ addToolItem(new ToolButton(listener, "GOTO_NEXT_LAYER", ACTION_GOTO_NEXT_LAYER, "go-next", _("Go to next layer")));
+ addToolItem(new ToolButton(listener, "GOTO_TOP_LAYER", ACTION_GOTO_TOP_LAYER, "go-top", _("Go to top layer")));
addToolItem(new ToolButton(listener, gui, "GOTO_NEXT_ANNOTATED_PAGE", ACTION_GOTO_NEXT_ANNOTATED_PAGE,
- "nextAnnotatedPage.svg", _("Next annotated page"),
- gui->get("menuNavigationNextAnnotatedPage")));
-
- addToolItem(new ToolButton(listener, "ZOOM_OUT", ACTION_ZOOM_OUT, "zoom-out", _("Zoom out"),
- gui->get("menuViewZoomOut")));
- addToolItem(new ToolButton(listener, "ZOOM_IN", ACTION_ZOOM_IN, "zoom-in", _("Zoom in"),
- gui->get("menuViewZoomIn")));
- addToolItem(new ToolButton(listener, "ZOOM_FIT", ACTION_ZOOM_FIT, "zoom-fit-best", _("Zoom fit to screen"),
- gui->get("menuViewZoomFit")));
- addToolItem(new ToolButton(listener, "ZOOM_100", ACTION_ZOOM_100, "zoom-original", _("Zoom to 100%"),
- gui->get("menuViewZoom100")));
+ "nextAnnotatedPage.svg", _("Next annotated page")));
+
+ addToolItem(new ToolButton(listener, "ZOOM_OUT", ACTION_ZOOM_OUT, "zoom-out", _("Zoom out")));
+ addToolItem(new ToolButton(listener, "ZOOM_IN", ACTION_ZOOM_IN, "zoom-in", _("Zoom in")));
+ addToolItem(new ToolButton(listener, "ZOOM_FIT", ACTION_ZOOM_FIT, "zoom-fit-best", _("Zoom fit to screen")));
+ addToolItem(new ToolButton(listener, "ZOOM_100", ACTION_ZOOM_100, "zoom-original", _("Zoom to 100%")));
addToolItem(new ToolButton(listener, gui, "FULLSCREEN", ACTION_FULLSCREEN, GROUP_FULLSCREEN, false,
- "fullscreen.svg", _("Toggle fullscreen"), gui->get("menuViewFullScreen")));
+ "fullscreen.svg", _("Toggle fullscreen")));
addToolItem(new ToolButton(listener, gui, "RECSTOP", ACTION_RECSTOP, GROUP_REC, false,
"rec.svg", _("Rec / Stop"), gui->get("menuRecStop")));
@@ -507,33 +491,18 @@ void ToolMenuHandler::initToolItems()
addToolItem(toolZoomSlider);
addToolItem(new ToolButton(listener, gui, "TWO_PAGES", ACTION_VIEW_TWO_PAGES, GROUP_TWOPAGES, false,
- "showtwopages.svg", _("Two pages"), gui->get("menuViewTwoPages")));
+ "showtwopages.svg", _("Two pages")));
addToolItem(new ToolButton(listener, gui, "PRESENTATION_MODE", ACTION_VIEW_PRESENTATION_MODE, GROUP_PRESENTATION_MODE, false,
- "showtwopages.svg", _("Presentation mode"), gui->get("menuViewPresMode")));
+ "showtwopages.svg", _("Presentation mode")));
toolPageLayer = new ToolPageLayer(control->getLayerController(), gui, listener, "LAYER", ACTION_FOOTER_LAYER);
addToolItem(toolPageLayer);
- registerMenupoint(gui->get("menuFileAnnotate"), ACTION_ANNOTATE_PDF);
-
-
- registerMenupoint(gui->get("menuJournalNewLayer"), ACTION_NEW_LAYER);
- registerMenupoint(gui->get("menuJournalDeleteLayer"), ACTION_DELETE_LAYER);
- registerMenupoint(gui->get("menuJournalNewPageBefore"), ACTION_NEW_PAGE_BEFORE);
- registerMenupoint(gui->get("menuJournalNewPageAfter"), ACTION_NEW_PAGE_AFTER);
- registerMenupoint(gui->get("menuJournalNewPageAtEnd"), ACTION_NEW_PAGE_AT_END);
- registerMenupoint(gui->get("menuJournalTemplateConfig"), ACTION_CONFIGURE_PAGE_TEMPLATE);
- registerMenupoint(gui->get("menuDeletePage"), ACTION_DELETE_PAGE);
- registerMenupoint(gui->get("menuJournalPaperFormat"), ACTION_PAPER_FORMAT);
- registerMenupoint(gui->get("menuJournalPaperColor"), ACTION_PAPER_BACKGROUND_COLOR);
-
gtk_menu_item_set_submenu(GTK_MENU_ITEM(gui->get("menuJournalPaperBackground")), pageBackgroundChangeController->getMenu());
addToolItem(new ToolButton(listener, "DELETE", ACTION_DELETE, "edit-delete", _("Delete")));
- registerMenupoint(gui->get("menuNavigationPreviousAnnotatedPage"), ACTION_GOTO_PREVIOUS_ANNOTATED_PAGE);
-
registerMenupoint(gui->get("eraserFine"), ACTION_TOOL_ERASER_SIZE_FINE, GROUP_ERASER_SIZE);
registerMenupoint(gui->get("eraserMedium"), ACTION_TOOL_ERASER_SIZE_MEDIUM, GROUP_ERASER_SIZE);
registerMenupoint(gui->get("eraserThick"), ACTION_TOOL_ERASER_SIZE_THICK, GROUP_ERASER_SIZE);
@@ -558,9 +527,6 @@ void ToolMenuHandler::initToolItems()
registerMenupoint(gui->get("menuEditTex"), ACTION_TEX);
- registerMenupoint(gui->get("menuViewToolbarManage"), ACTION_MANAGE_TOOLBAR);
- registerMenupoint(gui->get("menuViewToolbarCustomize"), ACTION_CUSTOMIZE_TOOLBAR);
-
gtk_builder_connect_signals_full(gui->getBuilder(), (GtkBuilderConnectFunc)signalConnectCallback, this);
}
diff --git a/ui/main.glade b/ui/main.glade
index b1d79383..923ad17d 100644
--- a/ui/main.glade
+++ b/ui/main.glade
@@ -70,6 +70,7 @@
False
_Annotate PDF
True
+
@@ -316,6 +317,7 @@
False
_Two Pages
True
+
@@ -324,6 +326,7 @@
False
_Presentation Mode
True
+
@@ -332,6 +335,7 @@
False
Fullscreen
True
+
@@ -372,6 +376,7 @@
False
_Manage
True
+
@@ -380,6 +385,7 @@
False
_Customize
True
+
@@ -414,6 +420,7 @@
False
True
True
+
@@ -425,6 +432,7 @@
False
True
True
+
@@ -436,6 +444,7 @@
False
True
True
+
@@ -445,6 +454,7 @@
False
True
True
+
@@ -467,6 +477,7 @@
False
_First Page
True
+
@@ -476,6 +487,7 @@
False
_Previous Page
True
+
@@ -485,6 +497,7 @@
False
_Goto Page
True
+
@@ -494,6 +507,7 @@
False
_Next Page
True
+
@@ -503,6 +517,7 @@
False
_Last Page
True
+
@@ -518,6 +533,7 @@
False
_Previous Layer
True
+
@@ -527,6 +543,7 @@
False
_Next Layer
True
+
@@ -536,6 +553,7 @@
False
_Top Layer
True
+
@@ -550,6 +568,7 @@
False
N_ext annotated page
True
+
@@ -559,6 +578,7 @@
False
P_revious annotated Page
True
+
@@ -582,6 +602,7 @@
False
New Page _Before
True
+
@@ -590,6 +611,7 @@
False
New Page _After
True
+
@@ -599,6 +621,7 @@
False
New Page at _End
True
+
@@ -607,6 +630,7 @@
False
Configure Page Template
True
+
@@ -615,6 +639,7 @@
False
_Delete Page
True
+
@@ -630,6 +655,7 @@
False
New _Layer
True
+
@@ -639,6 +665,7 @@
False
Delete Layer
True
+
@@ -654,6 +681,7 @@
False
Paper _Format
True
+
@@ -662,6 +690,7 @@
False
Paper _Color
True
+