ENH: Cleanup shortcuts(actions) dialog

Closes #1819

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22208 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: "Add data" shortcut is CTRL+O or CTRL+A, and not "CTRL+O + CTRL+A"

Closes #1819

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22209 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add write support for MRC files

Closes #1815

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22210 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: expose the label value for the model to label map CLI

Updated the documentation link and updated the wiki pages to 
include the new parameter.

Resolves issue #3233



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22211 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix decimals in volumes module

Loading MRHEAD, we want the default coordinates to be:
 - spacing: 1.0, 1.0, 1.3
 - origin: -86.645, 133.929, 116.786 if the length unit precision is 3
Issues #2480, #2986, #3074...

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22212 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Block/Redirect display node events in CLI node writing

Closes #2966, #2915

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22213 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix compilation warnings with static char* reference strings

The warning:
vtkMRMLStorableNode.h:154: warning: the address of ‘vtkMRMLStorableNode::StorageNodeReferenceRole’ will always evaluate as ‘true’

When replacing char [] into char*, the new warning is:
/.../vtkMRMLStorableNode.cxx:27: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

When replacing char* by const char*, vtkGetStringMacro can't convert
from const char* to char*.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22214 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add search box in models module

Closes #1530

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22215 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Expose scrollTo() to qMRMLTreeView

So that other modules could conveniently use.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22216 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: #2326 Fix tests and ENH: refactor sample data

The bug refers to failures of the py_vtkITKArchetypeScalarReaderFile
and py_vtkITKArchetypeDiffusionTensorReaderFile tests after
commit [1].  These tests relied on a side-effect of downloading
the sample data in order to determine the file to load
data from, but this was not reliable since the data was in a temp
directory.   Now the tests request the download directly.

The enhancement is that the sample data module now supports the
concept of categories of sample data sources, such that modules
can register their sample data.  This way a version of slicer can
offer sample data appropriate for use with the particular extensions
that have been installed.

[1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22162

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22217 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: update Model to Label Map xml file docs

More testing showed that the output volume will always be cast
to unsigned char, so limit the label value to 0-255 and
give the user some hints about good models to use.

Issue #3233



git-svn-id: http://svn.slicer.org/Slicer4/trunk@22218 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Simplify zlib external project

Added SLICER_ZLIB_LIBRARY_DIR CMake variable

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22219 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Add SSL support

Having the application interacting with services or downloading resources
served over https protocol is now required. More particularly,
it became necessary to access resources stored on Github (extension
manager - issue #2354) or to download python packages from pip server
at run time.

The CMake option "Slicer_USE_PYTHONQT_WITH_OPENSSL" allowing to enable or
disable OpenSSL support has been introduced is set to OFF by default.

Building OpenSSL
================

On Windows, since Perl is required, OpenSSL binaries have been
generated and uploaded on kitware packages server. See [1]

The project allowing to re-generate the Windows OpenSSL archive is currently
hosted here [2].

On unix-like system, OpenSSL is built has part of the Superbuild. To ensure
is can be built in parallel, a patch is also applied [3].

Finally, since python is built with OpenSSL support, the python launcher
is now configured on all platform so that python can properly load the built
OpenSSL shared library when it is used to build project like numpy.

[1] http://packages.kitware.com/packages/application/view?applicationId=20
[2] https://gist.github.com/jcfr/6030240
[3] https://raw.github.com/Alexpux/Qt-builds/master/patches/openssl/openssl-1.0.1-parallel-build.patch

OpenSSL support in Qt, python, curl
===================================

Practically, it means that library like Qt, python, curl need to be
built with OpenSSL support.

This commit only address OpenSSL support for Python and Qt.

Curl support is not yet enabled.

For Qt OpenSSL support, Qt has to be built with the flags:
  -openssl
  -I /path/to/OpenSSL/include
  -L /path/to/OpenSSL/lib

On unix-like system, available binaries are already OpenSSL ready, Qt
has to be explicitly built only on windows. On windows, Qt will have to
be built.

Certificates
============

In case X.509v3 certificates are available on the system where Slicer is
executed, a certificate bundle "Slicer.crt" is also provided. The set of
scripts allowing to generate the bundle are provided by BLFS
(Beyond Linux From Scratch).
More details in Base/QTCore/Resources/Certs/README

Application integration
=======================

The Slicer core application will load the Slicer.crt bundle if needed.

qSlicerExtensionsInstallWidget now derives from a re-usable widget
named qSlicerWebWidget.

qSlicerSslTest has been added to check that "https" connection can
be established using Qt library.

Fixes #2998
Fixes #2355
Fixes #2354

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22220 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: 3235. Added And/Or logic for multiple label selection in FiberBundleLabelSelect

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22221 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix units when reloading scenes

Restoring the selection node unit references shall not just be done when
closing scene, but also when loading or restoring a scene.
To simplify, it should be done anytime the selection node is modified.
When Clear() is called, singletons are reset, which means they loose their
node references. Which should trigger a ModifiedEvent (see next commit)
that is caught by the unit logic that can restore the unit references.

Fixes #3152

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22222 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: vtkMRMLNode::Reset() should trigger ModifiedEvent if needed

 * Remove the dangerous method
vtkMRMLNode::CopyWithSceneWithoutModifiedEvent():
 ** Modifying a node should never be silent, at least one ModifiedEvent
should be triggered.
 * Copying references should not be silent: ModifiedEvent and
NodeReference*Events should be triggered.

The fix ensures resetting() the selection node triggers at least 1
ModifiedEvent.

Fixes #3152

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22223 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Disable OpenSSL parallel build

Commit r22220 enabled SSL support and also included a patch allowing
OpenSSL to be built in parallel. Parallel build prevent the library
from being built on MacOSX factory. Waiting this is fixed and in order
to restore the nightly build, the build is forced to be sequential.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22224 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: fix backward compatibility of sample data logic methods

Since the new generic API returns lists of loaded nodes, the
backward compatibility methods need to return the first element
rather than the list.

py_ThresholdThreadingTest
py_StandaloneEditorWidgetTest
py_sceneImport2428
py_ViewControllersSliceInterpolationBug1926

http://slicer.cdash.org/testDetails.php?test=4166721&build=129681
http://slicer.cdash.org/testDetails.php?test=4166722&build=129681
http://slicer.cdash.org/testDetails.php?test=4166791&build=129681
http://slicer.cdash.org/testDetails.php?test=4166797&build=129681

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22225 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix build error occurring when OpenSSL support is disabled

While commit r22220 added SSL support ensuring the CMake option
"Slicer_USE_PYTHONQT_WITH_OPENSSL" was disabled by default. Not all OpenSSL
related code was properly excluded, this commit ensures Slicer can be
compiled with OpenSSL support disabled.

Discussion: http://slicer-devel.65872.n3.nabble.com/Windows-build-fails-due-to-missing-QSslSocket-class-tt4029446.html

See issue #2998 and #2355

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22226 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix unused variable warning in qMRMLSliderWidget

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