Allow manual translation or rotation.

Adds a settings widget to the manipulate tool.
This allows manual translation or rotation
around the origin or the center of geometry.
Also supports undo of manipulations.

Change-Id: I45a9e02dc6251dfc6f2f0f55d79ed6039ce88697
Modify the setOBMol method to fill crystal cells.

The existing code will import only the asymmetric
unit cell, which is surprising for most inorganic
crystals. (It works fine for molecular crystals.)
This patch adds a heuristic to fill the unit cell
when presented with a crystal < 4 carbon atoms.

This also removes similar code from the insert
crystal extension.

Change-Id: I07f613cebaa72bb6b51c7c6714f1e2d8533ab792
Automated update of translation templates (POT) using latest strings.

Change-Id: I15ec3b28e39a19e9a06f713dfeae5a5b947dc2b2
Added a few more minor crystal structures.

Includes all remaining III-V semiconductors,
common clays, and ice polymorphs.

Change-Id: If674b3af73c16e7754f0f0a1e922468f25c95859
Automated update of translation templates (POT) using latest strings.

Change-Id: Ic0a6b0727c85fc317a07e6ee57e628556f2824c0
We can't perceive chains from the engine

This will break other things such as the orbitals extension. We must
perceive these chains at a point when changes can be made, ideally
adding the residues to the molecule rather than setting the entire
molecule. This fixes a segfault when loading molecules with ortbial data
when the cartoon engine is enabled (even if no biomolecule backbone is
present).

Change-Id: Ica3686cdd8f93cc88ae1638163d55af22f55c695
Removing the overlay engine

It has issues leaking GL state, and is not in a finished state. This can
be brought back if there is further motivation in the future.

Change-Id: Ie1a05b900ac0277ebefc72a43a9631d3713cb5a8
glwidget.cpp: Don't use SLOT(paint) when invoking method, PR#3510576

SLOT macro prepends "1" to function name and consequently we get error
about missing method in python extension:
QMetaObject::invokeMethod: No such method
Avogadro::PythonExtension::1paint(GLWidget*)

Change-Id: I1c380bd709234aaab8e4916d2c8bbe6d5727ef7c
Merge topic 'remove-overlay-engine' into master

7f45c803 Removing the overlay engine
Merge topic 'fix-segfault-from-cartoon-engine' into master

8341c7e4 We can't perceive chains from the engine
Automated update of translation templates (POT) using latest strings.

Change-Id: Idee86c73583a211ba091fa954ac4b0a1e5658bb4
Merge topic 'fix_1paint' into master

dfa3fb4f glwidget.cpp: Don't use SLOT(paint) when invoking method, PR#3510576
Merge topic 'ENH_new-crystals' into master

02312680 Added a few more minor crystal structures.
Fix crash reported when crystal files not present.

Simply disables the entire interface.
Uses qWarning() to spit out a warning to console.
Fixes bug report PR#3530795.

Change-Id: Ifbbf1b6a3c1b99fdfedb9158862d889eebd856af
Prevent a quick double-insert.

With the "grow by fragment" feature, accidentally
double-clicking "insert" could give you much more
than you intended. Adds a 2-second delay to ensure
you actually want to grow the selected insert.

Change-Id: Ib9fb77b067a6470dd7d2672d8ba9e3b7e3738ca4
Fix for crash when using "cut" on a selection.

The code now checks if a unit cell exists
before copying it. Fixes a crash found when
testing.

Change-Id: Id5ac034beca06e2f93a66685be19feb374e55674
Fix residue and atom code assignment.

Any time the selection was updated, residue codes would be killed.
(No need to call Primitive::update())
Also, be conservative about changing elements when copying atoms
for the same reason. Finally, avoid calling OBChainsParser unless
*absolutely* necessary, because of bugs like PR#3102300.
Fully fixes this bug.

Change-Id: If990ce1903d668f596fe67208e34094edb70cfc7
Automated update of translation templates (POT) using latest strings.

Change-Id: Ie559cf8bcd4b9cb57c342d52832a103780778de9
Fix dereference of NULL pointer errors from clang.

Clang static analyzer found a number of logic errors,
most notably some NULL dereference pathways in swig.cpp.
This adds defensive checks which solve the bug.

Change-Id: I3d63efa5083c6404628abae92f3a005447343e60
simple lammps input generator for water

This input generator along with the OpenBabel lmpdat format can be used
to create input files for MD simulations.

The SPC and SPC/E water models are programmed.

J. Phys. Chem. A, 2001, 105 (43), pp 9954–9960
DOI: 10.1021/jp003020w

Change-Id: Icf27536174cfa7a720ec3e625849310e71ff1bfd