1.) Copy & Cut will now take the selection from
the transient selection if no real selection is present
2.) Hence, Copy & Cut are always enabled
3.) The same if true for duplicate
4.) Move interactive will also act immediately on the transient
selection.
Consistent behavior for file paths for images too.
Plus: image paths are not kept as absolute paths
inside the session.
This makes regeneration of images stable.
The solution tries to be a bit more generic:
- four buttons are there to synchronize coordinates
- three buttons to snap p1, p2 and auto-measure from p1.
- All platforms support native hash values for long long etc.
with the TR1 containers
- Use non-static, function symbols to force linking.
- Debian package is picky about dates so give them some
in Changelog.
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.
For Windows, the "dllexport" equivalent requires the template
instantiations to be declared "external" which is a coding nightmare.
The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
1.) Startup issue:
This is solved by making sure templates with virtual functions
are made visible in the DSO. This way, dynamic_cast is possible
across DSO's.
Scary: clang/MacOS wants the forward declarations be declared visible as well.
2.) Menu issue:
The best solution is to have only one QMenuBar. The navigator
now gets a synthetic menu bar composed of QToolButtons.
- Issue: on an entirely fresh installation the "Ruler"
entry was not visible. Now, a new standard template
called "Ruler" is present.
- Ruler templates with categories cannot be deleted
any more and are shown with italic font. If they
were deleted, they would show up again after restart.