BUG: Make SCM test more robust

If the variable is empty, there is a CMake error that it can't compare
strings.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22134 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Don't scroll comboboxes that are inside a scroll area

Using the mouse in a scroll area could inadvertently change combobox
current index (on mouse over).
For conveniency, all the qMRMLNodeComboBoxes won't scroll in scrollarea by
default.
Closes #1820, #1462

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22135 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: add the ability to add custom actions and trigger them

Added a list of actions that are added after the default none,
add, remove, rename actions that the combo box supplies. When
the new action is selected, it is triggered so a module can
add a connection to listen for the triggered signal on the action
and activate a local slot.
Added a test to exercise trying to add duplicate or conflicting
actions.
Use the foreach construct to iterate over the user actions.
From development on new Markups module.



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22136 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Redesign foreground and labelmap opacity slider layout

Closes r1821, r1563

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22137 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2749 fix undo/redo for change label effect

The logic superclass handles undo/redo, but the instance of the undoRedo
needs to be explicitly set.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22138 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Disable scrolling everywhere there is an active scrollarea

Don't do it only for comboboxes.
Closes #1820, #1462

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22139 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fixed issue in SampleData's logging.

Before, when downloaded file's size was larger than the transfer block size, the logger would report being >100% done. This has been fixed.

From: Luis G. Torres <lgtorres42@gmail.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22140 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: put a space between the number and suffix in sample data status

e.g. use 411.0 bytes instead of 411.0bytes.  It just looks better.

From: Steve Pieper <pieper@isomics.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22141 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2990 use conventional layout if saved layout not available

When a module or extension creates a custom layout the number (say, 100)
is saved in the settings file and slicer tries to restore that
on the next start up.  However these layouts can be transient creations
and won't be available at startup.  This patch improves handling of
that case - rather than printing a warning and showing a blank screen, the
program now starts with the regular layout which leads to less
user confusion.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22142 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3014 fix databundle save/restore for dicom volumes

Fix a hole in the logic where a dicom volume would have a storage
node allocated, but the storage type would not be correctly defined
so the temp save path would not work.  Plus the default name
would be set to an invalid filename since dicom volume nodes
have a colon in the string by default.  Now these files are given
a default extension type (.nrrd for scalar volumes) and the names
are percent-encoded to avoid bad file name issues.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22143 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Enable MultiVolumeImporter only if Numpy support is enabled

Since the module depends on numpy, excluding the module will avoid
startup error when the module is loaded when numpy support is disabled.

A better approach could consist in teaching the module how to detect if
numpy is available and fail graciously by reporting a warning. A issue has
been reported upstream. See https://github.com/fedorov/MultiVolumeImporter/issues/6

Co-authored-by: Chrystel Juan <chrystel.juan@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22144 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: select the loaded multivolume on import, to be consistent with other plugins; resolves #2844


git-svn-id: http://svn.slicer.org/Slicer4/trunk@22145 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #3014 fix failing MRB condition where . was missing from extension

This is a follow on fix for r22143 to handle the case where the filename
already has the correct extension.  Before this fix a situation
could arise where the filename would be something like ".nrrdnrrd" and
so it would fail to save.  Now it is correctly saved as ".nrrd".

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22146 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: #2543 small changes to documentation for FiberBundleToLabelMap

Clean up the documentation and improve the display of the name.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22147 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2948 save updated MRB file name for next save step

The URL instance variable of the scene is used to store
the source / destination of the scene, so it needs to be
set for use as the default for the next save operation.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22148 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: #1419 show scene path in DataProbe

We could consider someday moving this information
to the mainWindow with the setWindowTitle method.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22149 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2203  better instructions for Endoscopy module

The module's help and wiki page have been updated to better
describe the use of the module.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22150 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Give user control over the number of decimals in spinboxes

Adding decimals is now possible in spinboxes.
Note that this work is orthogonal to units but not incompatible.
Closes #2973, #2986

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22151 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add control over decimals in Transforms module

Closes #2480, #2579

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22152 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Disable auto enabling for qMRMLCoordinatesWidget

The dimension coordinate widget in Volumes should stay disabled.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22153 3bd1e089-480b-0410-8dfb-8563597acbee