Tim Deagan 12/26/2014
While add-on rulers can be extremely useful, there are many times that a quick scaling marker would be handy. This feature generates tics every 10 units, driven off the log10 of the l variable defining axes length. As you zoom in or out, the tics automatically re-scale themselves. Every tenth tic is slightly larger. A menu item is added to the view menu to enable or disable the feature.
I experimented with menu driven scaling (.01, .1, 1, 10, etc.), but using small increments when zoomed out brought the app to it's knees. Adding a visual indicator of the current scaling might be nice, but I'm nto sure where to put it (possibly below the small axes,) since it changes as zooming and would clutter the console.
Changes to be committed:
new file: images/scalemarkers.png
modified: openscad.qrc
modified: src/GLView.cc
modified: src/GLView.h
modified: src/MainWindow.h
modified: src/MainWindow.ui
modified: src/QGLView.h
modified: src/mainwin.cc
Especially for the case where the windows are docked as tabs in the
same position, the "visibility-changed" signal does not work as close
indicator. The window is also treated as invisible when just the tab
is invisible, not only in case the window is closed.
Having our own "copy" menu did cause the automatically generated action
of the QTextEditor used as console to drop the CTRL+C link. Using the
WidgetWithChildrenShortcut settings seems to fix that for Qt4 and Qt5.
When you write your code in editor sometimes you want to rotate or move object
on 3D view, but due stealing focus by this widget it is quite tedious.
You need additional mouse click to return focus to editor and search line where
you last edited. This behavior is not neccessary as we can interpret keyboard
events globally (in MainWindow) and send commands to 3D view.
Console window need ClickFocus to show context menu.
Zoom In/Out 3D view is assigned to CTRL+[ and CTRL+]. Adding also additional
shortcut to zoom in editor font CTRL+= (with CTRL++ SHIFT is necessary).