- Implement ColorPalette parsing
- Implement NamedColor class to handle colors easier
- Implement default color palette creation (in case no `palette.gpl`
found)
- Implement basic parsing error messages to facilitate debugging of
`palette.gpl`
- Implement Parsing of new toolbar.ini format and add automatic migration
- COLOR(xa0b2d3) -> COLOR(1) depending on the color palette
- the migration simply increments the Color Palette index for every
color as there is no obvious mapping
- Implement test suite for ColorPalette parsing
- Remove any mentions of hex colors
- Remove unused DEV_METADATA_MAX_ITEMS from cmake
- Change drag drop implementation for ColorToolItems
- Improve design of seperator "icon" (in customization window only)
* New Toolbar items and icons: Export to PDF, Print
* minor changes in pdf export icon
* Minimize new icons
Co-authored-by: Ulrich Huber <ulrich@huberulrich.de>
In particular, this adds two options:
* Edge pan speed (as % of viewport dimension per second)
* Maximum edge pan multiplier resulting from proportion of selection out of view
AUTHORS file and copyrights.txt:
- added community contributors taken from the git shortlog
- listed the developer team seperately
- fixed wrong start contributing year of Andreas Butti, who originally
created the C++ rewrite of Xournal
- added name of peetCreative
About dialog:
- updated authors and removed year numbers
- added icon designers
- switched to a 2-column layout
- added links to website, license and AUTHORS file
Fatih20's changes:
* All action icons revamped
* Renamed some icons, making the naming scheme more systematic
* Added new icons for layer combo, drawing type combo, selection combo and zoom slider
Technius's changes:
* Adjusted icon load paths
rolandlo's changes:
* Added option to use available stock icons
* Prefixed all icons with "xopp-"
Co-authored-by: Bryan Tan <techniux@gmail.com>
Co-authored-by: R.I. Narayans <fatih20@users.noreply.github.com>
From its inception, the ini file specified a default grid parameter (20)
which was different from the default in the source code (which coincides
with the default for graph paper, 14.17).
Remove the default from the ini file so that the ini file is free from
any extra parameters.
This does not change how existing files are displayed since they store
any extra parameters for the page templates. It does change how new
files with isometric paper background look: they use the narrower
spacing 14.17 and do not store it in the file, unless a user specifies
the parameter in the ini file explicitely.
The page templates ini file specifies some unnecessary parameters (equal
to the default) and some template names incosistent with the page style
name.
Clean this up, and while at it also the spelling of a related variable
and some old page style names in test files.
No functional change.
Depending on the type of background and the way layers are used,
previews of layers may make more sense either individually or as a
stack.
Provide an alternative sidebar preview "layer stack" which, for each
layer, shows the layer and all layers below, including the background.
Having this as a separate sidebar "page" (tab) make it easy to have
one's favourite view there as well as to switch back and forth quickly.
Technically, this sidebar view is so similar to the existing layer view
that it is implemented as an option for the layer view rather than a new
class.
When in dark mode, the page preview background would still be light.
The preview's background is now styled with CSS. Selectors including
GtkButton and GtkWindow seemed to do nothing. These have been replaced
with button, window, etc. selectors.
This works around what seems to be a bug in Gtk: Hiding the sidebar
created a dead region (for touchscreens)
in which the GtkPaned eats horizontal gestures.
Implements four new actions to move selected elements to front, to back, forward
by one, or backward by one. Currently, these actions can be accessed through
a new Edit > Arrange menu item.
The tooltips for the toolbar button refer to "pages" even when the layer
preview is active and thus the actions apply to layers instead of pages.
Make the tooltips change according to the preview mode ("page" in code).
* Refactor the page cache algorithm
* Add a page preloading feature
* Add settings for number of pages to preload
* Add option to evict from page cache on page scroll (enabled by default)
In practice, evict on page scroll reduces memory consumption much more than when
having it off, so it has been enabled by default.
This commit adds support for renaming layers in Xournalpp (and some
other small tweaks).
The features it provides are as follow:
- Ability for layer and background to have name.
- Changing the name of currently selected layer to some other name.
- Custom dialog for doing the above action.
- Saving and loading layer names from/to xopp file (including compatibility with
Xorunal).
- Lua API for renaming layers and reading layers names.
- generateConvert.php Now generates modern c++ that is compatible with
clang-format.
- Added clangd support to .gitignore.
So far, the type of background export determined extra export types.
Originally this increased the number of export types by a factor of 2,
now (with the addition of "no ruling") by a factor of 3. This is a lot
already and does not scale.
Instead, reduce the export types to those determined by the file type and
configure the background export types in the export dialog, along with
progressive mode and quality parameters (depending on file type).
In addition to a cleaner UI this makes it easier to remember the last
choice or make the default configurable (to be implemented by a future
series) rather than forcing the user to make the same choice over and
over again.