minexpert: create a new statistics main menu to compute the statistics on the
whole data set or on only the first spectrum. That should be useful when
scrutinizing the m/z integration parameters.

minexpert: Copy the integration history to the clipboard. Use that history to "replay"
integrations.

gpl stuff in resources.

minexpert: allow charge state envelope-based deconvolution with other ionization
agents than proton in positive ionization mode.

minexpert: compute averagine-based isotopic cluster and match to the trace at given position.

whole project: Explore the potential benefits of using QStringLiteral(str) in all the xml
code, in particular for functions that take a QString as parameter but that are
fed with "a string". Look at the documentation for this.

massXpert: implement the possibility to have float values for the atom count in formulae.

massXpert: in the calculator, rewrite the isotopic pattern calculator and the spectrum generator.

whole project: in-class member initializers.

							 initializer list for constructors.

							 override qualifier for the virtual functions in derived classes.

							 rewrite all the classes such that private/public are properly
designed. Inline all getters and setters. See
https://isocpp.org/wiki/faq/inline-functions for details. Namely, use the
inline as the first keyword of function definition in the class file. Do not
define functions in the class block, only outside of the class declaration, as
if it were the cpp file, but with the inline keyword: inline void
Foo::method(){...}.

						  All destructors should be virtual if the class will be derived and has at least
one virtual function.

libmass: PeakCentroid and MassPeak should be derived classes


Should be possible to paste in to m/z,z pair lists without drag and
   dropping.

Should be possible to remove selected items from a m/z,z pair list

It should be possible to define the formula of a monomer on the basis
   of distinct groups (subformulas) which bear a name so that they can
   be referred to by name when defining fragmentation patterns. This
   would give enormous flexibility to define real patterns amongst
   monomers that fragment, like for example saying loose the side
   chain, or proton loss in ribose, or oxidation in ring...

Upon fragmentation, the ionization rule should be re-read from the
   XpertEdit window so that ionizations might change live. For
   example, switch from negative to positive mode in mass spec of
   oligonucleotides.

Fragmentation framework needs rework to include the case of negative
   peptide fragmentation where b ions correspond to the loss of CO_2
   until the very last monomer, which is not currently possible with
   the present for loop.

The definition of the fragmentation pattern might need some variable
   like "add the ionization rule".

for ( int i = 0, c = l.size(); i < c; ++i ) to optimize lists ?

Preset mass data when calling m/z ratio calculator from a sequence
   editor window.

Arbitrary mass search should take into account the cross-links.

When showing monomeric compositions, allow highlighting all the selected monomers into the sequence editor window.
Depending on the context, the return key should either send Find or Next in the Find sequence window.
Concept of flying modification, that would automagically apply to any oligomer hovered-on with the mouse after a 300ms delay.
