BUG: (2074) handle case of where some dicom files have no geom info

When sorting dicom files there may be files that are part of a series
but have no position or orientation info, in which case their
index into to the list is -1.  Be sure to check this case when
assembling the sorting list.  If no sorting info is available, just
use their native index as their sort - there is no correct sorting
behavior but this will avoid a crash.  (User will have been warned
already in the DICOM module UI).

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20130 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Move Cameras module from core module to loadable module

That way it can expose a cameras logic.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20131 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: allow bigger paint brushes

Previously the maximum paint brush size was set on the min volume
dimension (times spacing) but this was problematic for thin volumes.
Now make the max size be dependent on the max dimension.


git-svn-id: http://svn.slicer.org/Slicer4/trunk@20132 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Adds ability to dynamically change python shell font size/family

See http://www.na-mic.org/Bug/view.php?id=1829

Closes #1829

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20133 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix unit tests following Cameras module move to be a loadable module

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20134 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add loading options to MRML Scene file

Option to clear the scene (equivalent to Load Scene) or not (equivalent to Import).
If the scene is imported, then the option Copy Cameras (enabled by default) copy the properties of the scene-to-import camera nodes into the existing nodes with the same name.
Move qSlicerSceneIO into the Data module to add an OptionsWidget to control the options.

Closes #1952

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20135 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added functionality to set automatically unique name to dialog.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20136 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix origin when centering image to load

When the option "center" is checked, the origin was 0,0,0 instead of -w/2,-h/2,-d/2.
A potential reason why it was working before could be because the image pipeline was using the ijkmatrix instead of the image origin. 

Closes #2102

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20137 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Crash when deleting a model node.

Assert/crash in vtkMRMLModelDisplayableManager::OnMRMLDisplayableModelNodeModifiedEvent when a model node was removed from the scene.
Being removed, the displayable node has no valid display node anymore. 
vtkMRMLModelDisplayableManager::RemoveDisplayable() was requesting the display node of the removed model node, which eventually fires a DisplayModifiedEvent because it is set to 0.
An easier fix could have been done in OnMRMLDisplayableModelNodeModifiedEvent() but it wouldn't have fix the real issue. In RemoveDisplayable, there is no need to retrieve the DisplayNode, the node ID is enough.

Closes #2100

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20138 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Rename funtion, restore old behavior to open Dialog

Restore old behavior for qSlicerIOManager::openDialog()
Renamed funciton to set dialog default name.
  getUniqueDialogName --> createUniqueDialogName

Close #1733

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20139 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Use the concept of "_data" in every test of qMRMLNodeAttributeTableViewTest. Fixes #2065

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20140 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: ignore hidden files (starting with .) while loading multivolume


git-svn-id: http://svn.slicer.org/Slicer4/trunk@20141 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Save Data dialog: Move Change Diretory for all selected in button box

It saves screen real estate to move the button in the dialog button box
Change the text of the directory button as the directory path is not important.

Issue #2098

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20142 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Save Data dialog: Apply directory to selected items on accept

Even if the directory didn't change, accepting the browse dialog shall apply the directory to all selected items.

Closes #1825, #1866

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20143 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix qMRMLNodeAttributeTableViewTest committed by mistake in r20142

However, it now fails in testRename

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20144 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Fix testRename test case in qMRMLNodeAttributeTableViewTest; Fix typo; Fixes #2065

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20145 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Integrate QtTesting modifications

Added unit test to the bases classes.
Allow to record severals properties to the same QObject when we start to
record.
Record dialog gives feedbacks.
Change player dialog stop button.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20146 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Added projections of the eigenvector corresponding to the maximal eigenvalue to the main axes

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20147 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Guarantee that some tracts will always be displayed when loading a new tractography, even with large tractography files

git-svn-id: http://svn.slicer.org/Slicer4/trunk@20148 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Guarantee that some tracts will always be displayed when loading a new tractography, even with large tractography files (typo corrected)

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