Merge remote-tracking branch 'upstream/master' into improveZoomPresentation

presentation
Peter Klausing 7 years ago
commit 56814bb19e
  1. 2
      CMakeLists.txt
  2. 21
      README.md
  3. 1440
      po/cs.po
  4. 1844
      po/de.po
  5. 1535
      po/it.po
  6. 1443
      po/pl.po
  7. 1243
      po/xournalpp.pot
  8. 1428
      po/zh.po
  9. 1428
      po/zh_HK.po
  10. 1428
      po/zh_TW.po
  11. 5
      readme/WindowsBuild.md
  12. 7
      src/control/Control.cpp
  13. 61
      src/control/settings/Settings.cpp
  14. 17
      src/control/settings/Settings.h
  15. 12
      src/gui/Layout.cpp
  16. 8
      src/gui/Layout.h
  17. 25
      src/gui/PageView.cpp
  18. 23
      src/gui/PageView.h
  19. 91
      src/gui/XournalView.cpp
  20. 3
      src/gui/XournalView.h
  21. 70
      src/gui/dialog/SettingsDialog.cpp
  22. 3
      src/gui/dialog/SettingsDialog.h
  23. 6
      src/gui/inputdevices/InputSequence.cpp
  24. 8
      src/gui/inputdevices/InputSequence.h
  25. 2
      src/gui/toolbarMenubar/ToolZoomSlider.cpp
  26. 3
      ui/about.glade
  27. 2
      ui/main.glade
  28. 4802
      ui/settings.glade

@ -3,7 +3,7 @@ cmake_minimum_required (VERSION 2.8.8)
project ("Xournal++" CXX C)
## Also update changelog in debian folder!
set (PROJECT_VERSION "1.0.9")
set (PROJECT_VERSION "1.0.11")
set (PROJECT_PACKAGE "xournalpp")
set (PROJECT_STRING "${PROJECT_NAME} ${PROJECT_VERSION}")
set (PROJECT_URL "https://github.com/xournalpp/xournalpp")

@ -3,6 +3,27 @@
[![Build Status](https://travis-ci.org/xournalpp/xournalpp.svg?branch=string_new)](https://travis-ci.org/xournalpp/xournalpp)
[![Join the chat at https://gitter.im/xournalpp/xournalpp](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/xournalpp/xournalpp?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Shout out
Recently we revisited the settings dialog to improve the feeling and usability.
While doing that we also added better descriptions, for which we require
new translations. If you would like to help us, please contact us by creating an issue
or write us on [Gitter](https://gitter.im/xournalpp/xournalpp)!
Partial translations, which need to be updated:
- Czech
- Polish
- Chinese
Full translations for all languages not mentioned previously except:
- English
- German
- Italian
Previous knowledge in creating translations using `gettext` would be nice but is not necessary.
We are happy to help you set everything up for translating.
**Thanks in advance!**
## Features
Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed.

1440
po/cs.po

File diff suppressed because it is too large Load Diff

1844
po/de.po

File diff suppressed because it is too large Load Diff

1535
po/it.po

File diff suppressed because it is too large Load Diff

1443
po/pl.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1428
po/zh.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -49,9 +49,12 @@ pacman -S mingw-w64-x86_64-gcc
```bash
pacman -S mingw-w64-x86_64-poppler \
pacman -S mingw-w64-x86_64-gtk3 \
pacman -S mingw-w64-x86_64-libsndfile
pacman -S mingw-w64-x86_64-libsndfile \
pacman -S mingw-w64-x86_64-libzip
```
TODO: Lua 5.3 is missing for MSYS2?
### sndfile / PortAudio
Build/Install portaudio with
```bash

@ -2131,21 +2131,26 @@ void Control::showSettings()
{
XOJ_CHECK_TYPE(Control);
// take note of some settings before to compare with after
int selectionColor = settings->getBorderColor();
bool verticalSpace = settings->getAddVerticalSpace();
int verticalSpaceAmount = settings->getAddVerticalSpaceAmount();
bool horizontalSpace = settings->getAddHorizontalSpace();
int horizontalSpaceAmount = settings->getAddHorizontalSpaceAmount();
bool bigCursor = settings->isShowBigCursor();
bool highlightPosition = settings->isHighlightPosition();
SettingsDialog* dlg = new SettingsDialog(this->gladeSearchPath, settings, this);
dlg->show(GTK_WINDOW(this->win->getWindow()));
// note which settings have changed and act accordingly
if (selectionColor != settings->getBorderColor())
{
win->getXournal()->forceUpdatePagenumbers();
}
if (verticalSpace != settings->getAddVerticalSpace() || horizontalSpace != settings->getAddHorizontalSpace())
if (verticalSpace != settings->getAddVerticalSpace() || horizontalSpace != settings->getAddHorizontalSpace()
|| verticalSpaceAmount != settings->getAddVerticalSpaceAmount() || horizontalSpaceAmount != settings->getAddHorizontalSpaceAmount() )
{
int currentPage = getCurrentPageNo();
win->getXournal()->layoutPages();

@ -89,7 +89,9 @@ void Settings::loadDefault()
this->autosaveEnabled = true;
this->addHorizontalSpace = false;
this->addHorizontalSpaceAmount = 150;
this->addVerticalSpace = false;
this->addVerticalSpaceAmount = 150;
this->snapRotation = true;
this->snapRotationTolerance = 0.20;
@ -453,10 +455,22 @@ void Settings::parseItem(xmlDocPtr doc, xmlNodePtr cur)
{
this->backgroundColor = g_ascii_strtoll((const char*) value, NULL, 10);
}
else if (xmlStrcmp(name, (const xmlChar*) "addHorizontalSpace") == 0)
{
this->addHorizontalSpace = xmlStrcmp(value, (const xmlChar*) "true") ? false : true;
}
else if (xmlStrcmp(name, (const xmlChar*) "addHorizontalSpaceAmount") == 0)
{
this->addHorizontalSpaceAmount = g_ascii_strtoll((const char*) value, NULL, 10);
}
else if (xmlStrcmp(name, (const xmlChar*) "addVerticalSpace") == 0)
{
this->addVerticalSpace = xmlStrcmp(value, (const xmlChar*) "true") ? false : true;
}
else if (xmlStrcmp(name, (const xmlChar*) "addVerticalSpaceAmount") == 0)
{
this->addVerticalSpaceAmount = g_ascii_strtoll((const char*) value, NULL, 10);
}
else if (xmlStrcmp(name, (const xmlChar*) "snapRotation") == 0)
{
this->snapRotation = xmlStrcmp(value, (const xmlChar*) "true") ? false : true;
@ -481,10 +495,6 @@ void Settings::parseItem(xmlDocPtr doc, xmlNodePtr cur)
{
this->touchWorkaround = xmlStrcmp(value, (const xmlChar*) "true") ? false : true;
}
else if (xmlStrcmp(name, (const xmlChar*) "addHorizontalSpace") == 0)
{
this->addHorizontalSpace = xmlStrcmp(value, (const xmlChar*) "true") ? false : true;
}
else if (xmlStrcmp(name, (const xmlChar*) "scrollbarHideType") == 0)
{
if (xmlStrcmp(value, (const xmlChar*) "both") == 0)
@ -846,7 +856,9 @@ void Settings::save()
WRITE_INT_PROP(autosaveTimeout);
WRITE_BOOL_PROP(addHorizontalSpace);
WRITE_INT_PROP(addHorizontalSpaceAmount);
WRITE_BOOL_PROP(addVerticalSpace);
WRITE_INT_PROP(addVerticalSpaceAmount);
WRITE_BOOL_PROP(snapRotation);
WRITE_DOUBLE_PROP(snapRotationTolerance);
@ -1118,6 +1130,27 @@ void Settings::setAddVerticalSpace(bool space)
this->addVerticalSpace = space;
}
int Settings::getAddVerticalSpaceAmount()
{
XOJ_CHECK_TYPE(Settings);
return this->addVerticalSpaceAmount;
}
void Settings::setAddVerticalSpaceAmount(int pixels)
{
XOJ_CHECK_TYPE(Settings);
if (this->addVerticalSpaceAmount == pixels)
{
return;
}
this->addVerticalSpaceAmount = pixels;
save();
}
bool Settings::getAddHorizontalSpace()
{
XOJ_CHECK_TYPE(Settings);
@ -1132,6 +1165,26 @@ void Settings::setAddHorizontalSpace(bool space)
this->addHorizontalSpace = space;
}
int Settings::getAddHorizontalSpaceAmount()
{
XOJ_CHECK_TYPE(Settings);
return this->addHorizontalSpaceAmount;
}
void Settings::setAddHorizontalSpaceAmount(int pixels)
{
XOJ_CHECK_TYPE(Settings);
if (this->addHorizontalSpaceAmount == pixels)
{
return;
}
this->addHorizontalSpaceAmount = pixels;
save();
}
bool Settings::isShowBigCursor()
{
XOJ_CHECK_TYPE(Settings);

@ -266,9 +266,13 @@ public:
bool getAddVerticalSpace();
void setAddVerticalSpace(bool space);
int getAddVerticalSpaceAmount();
void setAddVerticalSpaceAmount(int pixels);
bool getAddHorizontalSpace();
void setAddHorizontalSpace(bool space);
int getAddHorizontalSpaceAmount();
void setAddHorizontalSpaceAmount(int pixels);
bool isTouchWorkaround();
void setTouchWorkaround(bool b);
@ -584,15 +588,24 @@ private:
bool autosaveEnabled;
/**
* Allow scroll outside the page (horizontal)
* Allow scroll outside the page display area (horizontal)
*/
bool addHorizontalSpace;
/**
* Allow scroll outside the page (vertical)
* How much allowance to scroll outside the page display area (either side of )
*/
int addHorizontalSpaceAmount;
/**
* Allow scroll outside the page display area (vertical)
*/
bool addVerticalSpace;
/** How much allowance to scroll outside the page display area (above and below)
*/
int addVerticalSpaceAmount;
/**
* Rotation snapping enabled by default
*/

@ -225,13 +225,13 @@ void Layout::layoutPages()
int borderPrefX = XOURNAL_PADDING;
if (settings->getAddHorizontalSpace() )
{
borderPrefX += XOURNAL_PADDING_FREE_SPACE; // this adds extra space to the left and right
borderPrefX += settings->getAddHorizontalSpaceAmount(); // this adds extra space to the left and right
}
int borderPrefY = XOURNAL_PADDING;
if (settings->getAddVerticalSpace() )
{
borderPrefY += XOURNAL_PADDING_FREE_SPACE; // this adds space to the top and bottom
borderPrefY += settings->getAddVerticalSpaceAmount(); // this adds space to the top and bottom
}
@ -278,6 +278,7 @@ void Layout::layoutPages()
{
XojPageView* v = this->view->viewPages[pageAtRowCol];
v->setMappedRowCol( r,c ); //store row and column for e.g. proper arrow key navigation
int vDisplayWidth = v->getDisplayWidth();
{
int paddingLeft;
@ -500,3 +501,10 @@ XojPageView* Layout::getViewAt(int x, int y)
}
int Layout::getIndexAtGridMap(int row, int col)
{
return this->mapper.map( col, row); //watch out.. x,y --> c,r
}

@ -95,10 +95,16 @@ public:
*/
XojPageView* getViewAt(int x, int y);
/**
* Return the page index found ( or -1 if not found) at layout grid row,col
*
*/
int getIndexAtGridMap(int row, int col);
protected:
static void horizontalScrollChanged(GtkAdjustment* adjustment, Layout* layout);
static void verticalScrollChanged(GtkAdjustment* adjustment, Layout* layout);
private:
void checkScroll(GtkAdjustment* adjustment, double& lastScroll);
void setLayoutSize(int width, int height);

@ -934,6 +934,31 @@ void XojPageView::setY( int y )
this->dispY = y;
}
void XojPageView::setMappedRowCol(int row, int col )
{
XOJ_CHECK_TYPE(XojPageView);
this->mappedRow = row;
this->mappedCol = col;
}
int XojPageView::getMappedRow()
{
XOJ_CHECK_TYPE(XojPageView);
return this->mappedRow;
}
int XojPageView::getMappedCol()
{
XOJ_CHECK_TYPE(XojPageView);
return this->mappedCol;
}
PageRef XojPageView::getPage()
{
XOJ_CHECK_TYPE(XojPageView);

@ -77,6 +77,17 @@ public:
*/
bool containsPoint(int x, int y, bool local = false);
bool containsY(int y);
/**
* Returns Row assigned in current layout
*/
int getMappedRow();
/**
* Returns Column assigned in current layout
*/
int getMappedCol();
GtkColorWrapper getSelectionColor();
int getBufferPixels();
@ -169,6 +180,11 @@ private:
void setX(int x);
void setY(int y);
void setMappedRowCol(int row, int col ); //row, column assigned by mapper during layout.
private:
XOJ_TYPE_ATTRIB;
@ -223,10 +239,15 @@ private:
int dispX; //position on display - set in Layout::layoutPages
int dispY;
int mappedRow;
int mappedCol;
friend class RenderJob;
friend class InputHandler;
friend class BaseSelectObject;
friend class SelectObject;
friend class PlayObject;
friend void Layout::layoutPages(); //only function allowed to setX(), setY()
friend void Layout::layoutPages(); //only function allowed to setX(), setY(), setMappedRowCol()
};

@ -211,12 +211,12 @@ bool XournalView::onKeyPressEvent(GdkEventKey* event)
}
else
{
if (event->keyval == GDK_KEY_Page_Down)
if (event->keyval == GDK_KEY_Page_Down || event->keyval == GDK_KEY_KP_Page_Down)
{
control->getScrollHandler()->goToNextPage();
return true;
}
if (event->keyval == GDK_KEY_Page_Up)
if (event->keyval == GDK_KEY_Page_Up || event->keyval == GDK_KEY_KP_Page_Up)
{
control->getScrollHandler()->goToPreviousPage();
return true;
@ -232,6 +232,32 @@ bool XournalView::onKeyPressEvent(GdkEventKey* event)
return true;
}
//Numeric keypad always navigates by page
if (event->keyval == GDK_KEY_KP_Up)
{
this->pageRelativeXY(0,-1);
return true;
}
if (event->keyval == GDK_KEY_KP_Down)
{
this->pageRelativeXY(0,1);
return true;
}
if (event->keyval == GDK_KEY_KP_Left)
{
this->pageRelativeXY(-1, 0);
return true;
}
if (event->keyval == GDK_KEY_KP_Right)
{
this->pageRelativeXY(1,0);
return true;
}
if (event->keyval == GDK_KEY_Up)
{
if (control->getSettings()->isPresentationMode())
@ -241,7 +267,14 @@ bool XournalView::onKeyPressEvent(GdkEventKey* event)
}
else
{
layout->scrollRelativ(0, -scrollKeySize);
if (state & GDK_SHIFT_MASK)
{
this->pageRelativeXY(0,-1);
}
else
{
layout->scrollRelativ(0, -scrollKeySize);
}
return true;
}
}
@ -255,30 +288,51 @@ bool XournalView::onKeyPressEvent(GdkEventKey* event)
}
else
{
layout->scrollRelativ(0, scrollKeySize);
if (state & GDK_SHIFT_MASK)
{
this->pageRelativeXY(0,1);
}
else
{
layout->scrollRelativ(0, scrollKeySize);
}
return true;
}
}
if (event->keyval == GDK_KEY_Left)
{
control->getScrollHandler()->goToPreviousPage();
if (state & GDK_SHIFT_MASK)
{
this->pageRelativeXY(-1,0);
}
else
{
layout->scrollRelativ(-scrollKeySize, 0);
}
return true;
}
if (event->keyval == GDK_KEY_Right)
{
control->getScrollHandler()->goToNextPage();
if (state & GDK_SHIFT_MASK)
{
this->pageRelativeXY(1,0);
}
else
{
layout->scrollRelativ(scrollKeySize, 0);
}
return true;
}
if (event->keyval == GDK_KEY_End)
if (event->keyval == GDK_KEY_End || event->keyval == GDK_KEY_KP_End)
{
control->getScrollHandler()->goToLastPage();
return true;
}
if (event->keyval == GDK_KEY_Home)
if (event->keyval == GDK_KEY_Home || event->keyval == GDK_KEY_KP_Home)
{
control->getScrollHandler()->goToFirstPage();
return true;
@ -460,6 +514,27 @@ void XournalView::scrollTo(size_t pageNo, double yDocument)
control->firePageSelected(pageNo);
}
void XournalView::pageRelativeXY(int offCol, int offRow)
{
XOJ_CHECK_TYPE(XournalView);
int currPage = getCurrentPage();
XojPageView* view = getViewFor(currPage );
int row = view->getMappedRow();
int col = view->getMappedCol();
Layout* layout = gtk_xournal_get_layout(this->widget);
int page = layout->getIndexAtGridMap(row +offRow ,col + offCol);
if( page >=0)
{
this-> scrollTo(page, 0);
}
}
void XournalView::endTextAllPages(XojPageView* except)
{
XOJ_CHECK_TYPE(XournalView);

@ -51,6 +51,9 @@ public:
void layoutPages();
void scrollTo(size_t pageNo, double y = 0);
//Relative navigation in current layout:
void pageRelativeXY(int offCol, int offRow );
size_t getCurrentPage();

@ -1,3 +1,5 @@
#include <utility>
#include "SettingsDialog.h"
#include "ButtonConfigGui.h"
@ -32,7 +34,7 @@ SettingsDialog::SettingsDialog(GladeSearchpath* gladeSearchPath, Settings* setti
+[](GtkToggleButton* togglebutton, SettingsDialog* self)
{
XOJ_CHECK_TYPE_OBJ(self, SettingsDialog);
self->autosaveToggled();
self->enableWithCheckbox("cbAutosave", "boxAutosave");
}), this);
@ -50,6 +52,34 @@ SettingsDialog::SettingsDialog(GladeSearchpath* gladeSearchPath, Settings* setti
system(gtk_entry_get_text(GTK_ENTRY(self->get("txtDisableTouchCommand"))));
}), this);
g_signal_connect(get("cbAddVerticalSpace"), "toggled", G_CALLBACK(
+[](GtkToggleButton* togglebutton, SettingsDialog* self)
{
XOJ_CHECK_TYPE_OBJ(self, SettingsDialog);
self->enableWithCheckbox("cbAddVerticalSpace", "spAddVerticalSpace");
}), this);
g_signal_connect(get("cbAddHorizontalSpace"), "toggled", G_CALLBACK(
+[](GtkToggleButton* togglebutton, SettingsDialog* self)
{
XOJ_CHECK_TYPE_OBJ(self, SettingsDialog);
self->enableWithCheckbox("cbAddHorizontalSpace", "spAddHorizontalSpace");
}), this);
g_signal_connect(get("cbDisableTouchOnPenNear"), "toggled", G_CALLBACK(
+[](GtkToggleButton* togglebutton, SettingsDialog* self)
{
XOJ_CHECK_TYPE_OBJ(self, SettingsDialog);
self->enableWithCheckbox("cbDisableTouchOnPenNear", "boxInternalHandRecognition");
}), this);
g_signal_connect(get("cbTouchDisableMethod"), "changed", G_CALLBACK(
+[](GtkComboBox* comboBox, SettingsDialog* self)
{
XOJ_CHECK_TYPE_OBJ(self, SettingsDialog);
self->customHandRecognitionToggled();
}), this);
gtk_box_pack_start(GTK_BOX(vbox), callib, false, true, 0);
gtk_widget_show(callib);
@ -142,14 +172,22 @@ bool SettingsDialog::getCheckbox(const char* name)
/**
* Autosave was toggled, enable / disable autosave config
*/
void SettingsDialog::autosaveToggled()
void SettingsDialog::enableWithCheckbox(string checkbox, string widget)
{
XOJ_CHECK_TYPE(SettingsDialog);
GtkWidget* cbAutosave = get("cbAutosave");
GtkWidget* cbAutosave = get(std::move(checkbox));
bool autosaveEnabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cbAutosave));
gtk_widget_set_sensitive(get("lbAutosaveTimeout"), autosaveEnabled);
gtk_widget_set_sensitive(get("spAutosaveTimeout"), autosaveEnabled);
gtk_widget_set_sensitive(get(std::move(widget)), autosaveEnabled);
}
void SettingsDialog::customHandRecognitionToggled()
{
XOJ_CHECK_TYPE(SettingsDialog);
GtkWidget* cbTouchDisableMethod = get("cbTouchDisableMethod");
int touchMethod = gtk_combo_box_get_active(GTK_COMBO_BOX(cbTouchDisableMethod));
gtk_widget_set_sensitive(get("boxCustomTouchDisableSettings"), touchMethod == 2);
}
void SettingsDialog::load()
@ -195,6 +233,12 @@ void SettingsDialog::load()
GtkWidget* spZoomStepScroll = get("spZoomStepScroll");
gtk_spin_button_set_value(
GTK_SPIN_BUTTON(spZoomStepScroll), settings->getZoomStepScroll());
GtkWidget* spAddHorizontalSpace = get("spAddHorizontalSpace");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spAddHorizontalSpace), settings->getAddHorizontalSpaceAmount());
GtkWidget* spAddVerticalSpace = get("spAddVerticalSpace");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spAddVerticalSpace), settings->getAddVerticalSpaceAmount());
GtkWidget* slider = get("zoomCallibSlider");
@ -248,7 +292,11 @@ void SettingsDialog::load()
loadCheckbox("cbHidePresentationSidebar", hidePresentationSidebar);
loadCheckbox("cbHideMenubarStartup", settings->isMenubarVisible());
autosaveToggled();
enableWithCheckbox("cbAutosave", "boxAutosave");
enableWithCheckbox("cbAddVerticalSpace", "spAddVerticalSpace");
enableWithCheckbox("cbAddHorizontalSpace", "spAddHorizontalSpace");
enableWithCheckbox("cbDisableTouchOnPenNear", "boxInternalHandRecognition");
customHandRecognitionToggled();
SElement& touch = settings->getCustomElement("touch");
@ -467,6 +515,16 @@ void SettingsDialog::save()
double zoomStepScroll = gtk_spin_button_get_value(
GTK_SPIN_BUTTON(spZoomStepScroll));
settings->setZoomStepScroll(zoomStepScroll);
GtkWidget* spAddHorizontalSpace = get("spAddHorizontalSpace");
int addHorizontalSpaceAmount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(spAddHorizontalSpace));
settings->setAddHorizontalSpaceAmount(addHorizontalSpaceAmount);
GtkWidget* spAddVerticalSpace = get("spAddVerticalSpace");
int addVerticalSpaceAmount = gtk_spin_button_get_value(GTK_SPIN_BUTTON(spAddVerticalSpace));
settings->setAddVerticalSpaceAmount(addVerticalSpaceAmount);
settings->setDisplayDpi(dpi);

@ -34,7 +34,8 @@ public:
/**
* Autosave was toggled, enable / disable autosave config
*/
void autosaveToggled();
void enableWithCheckbox(string checkbox, string widget);
void customHandRecognitionToggled();
private:
void load();

@ -13,6 +13,7 @@
#include "model/Point.h"
#include <Util.h>
#include <cmath>
InputSequence::InputSequence(NewGtkInputDevice* inputHandler)
@ -152,11 +153,14 @@ void InputSequence::handleScrollEvent()
// use root coordinates as reference point because
// scrolling changes window relative coordinates
// see github Gnome/evince@1adce5486b10e763bed869
if (lastMousePositionX == (int)rootX && lastMousePositionY == (int)rootY)
// GTK handles event compression/filtering differently between versions - this may be needed on certain hardware/GTK combinations.
if (std::abs(lastMousePositionX - rootX) < 0.1 && std::abs( lastMousePositionY - rootY) < 0.1 )
{
return;
}
if (scrollOffsetX == 0 && scrollOffsetY == 0)
{
scrollOffsetX = lastMousePositionX - rootX;

@ -208,12 +208,12 @@ private:
/**
* Last mouse position for Scrolling
*/
int lastMousePositionX = 0;
double lastMousePositionX = 0;
/**
* Last mouse position for Scrolling
*/
int lastMousePositionY = 0;
double lastMousePositionY = 0;
/**
* Currently scrolling active
@ -223,10 +223,10 @@ private:
/**
* The last Mouse Position, for scrolling
*/
int scrollOffsetX = 0;
double scrollOffsetX = 0;
/**
* The last Mouse Position, for scrolling
*/
int scrollOffsetY = 0;
double scrollOffsetY = 0;
};

@ -199,6 +199,8 @@ GtkToolItem* ToolZoomSlider::newItem()
g_signal_connect(this->slider, "format-value", G_CALLBACK(sliderFormatValue), this);
gtk_scale_set_draw_value(GTK_SCALE(this->slider), true);
gtk_widget_set_can_focus(this->slider, false);
if (this->horizontal)
{
gtk_widget_set_size_request(GTK_WIDGET(this->slider), 120, 16);

@ -173,7 +173,8 @@ Wilson Brenna, 2012 - 2015 (tex support)
Marek Pikuła, 2015 - 2018
Moreno Razzoli, 2018 - 2019
Luca Errani, 2018 - 2019
Ulrich Huber, 2019</property>
Ulrich Huber, 2019
Justin Jones, 2019</property>
<property name="use_markup">True</property>
<property name="justify">center</property>
</object>

@ -1125,7 +1125,7 @@
<object class="GtkCheckMenuItem" id="menuToolsDrawCoordinateSystem">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Draw Arrow</property>
<property name="label" translatable="yes">Draw coordinate system</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="ACTION_TOOL_DRAW_COORDINATE_SYSTEM" swapped="no"/>
<accelerator key="5" signal="activate" modifiers="GDK_CONTROL_MASK"/>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save