Skip to content

RadialGM-v1.0.114

Compare
Choose a tag to compare
@EnigmaBot EnigmaBot released this 07 Oct 20:57
737a04e
Chinchilla Functionality (#33)

* CodeWidget.h declares the interface for a code editing widget
* CodeWidget.cpp defines an implementation of code widget common to all other implementations
* CodeWidgetPlain.cpp defines an implementation of code widget using QPlainTextEdit
* CodeWidgetScintilla.cpp defines an implementation of code widget using QScintilla
* Changed the CMake lists and qmake pro file to link print support, but it doesn't work for some reason in the AppVeyor build
* Uses widget promotion to add the code widget to the code editor, which script editor derives from
* Now serializes with the main window settings whether tabbed view was enabled, and automatically restores that when you reopen RGM
* Changed tabbed view to use non-expanding tab headers, because not just Rusky but everyone else prefers that including me (applied when switching into tabbed mode)
* Uses qmake `CONFIG` (usable in qmake conditionals) instead of `DEFINES` (available to preprocessor/do not want) to toggle syntax highlighting enabled build
* Disabled the context help button for all windows by default using `Qt::AA_DisableWindowContextHelpButton` (this is silly, Qt should have always been that way). If we decide to use that and have a QWhatsThis or whatever, then it should be overriden on a per window or dialog basis for where we provide the behavior.
* Gave the main window's toolbar a window title "Toolbar" so that you can discern what it is when right-clicking the toolbar or menubar to hide/show docks.
* Made the "Cascade" and "Tile" actions first switch to MDI mode so the tab headers aren't still visible, because they shouldn't be
* Added actions to the "Window" menu to switch active windows. This is primarily oriented at MDI users, to facilitate switching windows when maximized, but can also be used by TDI users because the added mnemonics facilitate faster switching. Further, Notepad++ even has this behavior in its "Window" menu and it's a TDI as well, so definitely a good argument for bringing this back from LGM. The alternative I had experimented with but later decided against was switching into tabbed mode when maximizing an MDI window. I decided against that because it's unnatural and does not meet the established expectations of MDI users.
* Improved the efficiency of model synchronization with ImmediateMapper by removing and readding the widget changed notification connection while updating the model. Without this the script editor would lag because the code widget would constantly be reloaded because changing the code widget would trigger a model update which triggered a widget update and so on.
* Implemented the "Close All Others" action under the "Window" menu which closes every subwindow or tab except the active one.