Enhancement: Centralised control of Mudlet version.

Setting the (pre-existing) VERSION qmake variable to a 1.2.3
(major.minor.revision) form and the BUILD variable to nothing (for a
release build) or some non-empty string (possibly with a leading '-'
to act as a separator) creates version information that is uniformly
presented in several places.  This includes on the splash screen, in the
"About Mudlet" dialog, in some communications with the MUD server, and
additionally now within the Lua system for script writers.

In addition I have updated and tidied some detail of, and added myself to
the listed Mudlet contributors in, the "About Mudlet" dialog.

In reviewing the other tab of the "About" dialog that gives a reference to
the Licensing terms it became clear that its claim that Mudlet was
Licensed to GPL version 3 or greater was inconsistent with the text header
of most of the source files which explicitly state version 2 or greater.
To rationalise this I changed the dialog to also say version 2 or later and
then provide the full and exact text of the "current" version 3.  I also
changed that tab's type so that the hyperlinks are now functional.

Whilst paying attention to the GPL text it became clear that some tweaks
to the application start up process was needed to bring Mudlet's behaviour
to that which users of GPL software expect.  This includes responding to
the standard "h / help" and "v / version" arguments when Mudlet is started
from a command line and displaying some specific pieces of text during
normal start-up.  To placate a user that does not wish to be bothered with
the slightly longer splash-screen display process Mudlet now also accepts a
"q / quiet" argument to hide it altogether, or, as is standard for
QtSplashScreen they can also click on it to achieve a similar result.  To
cover the hiatus during start-up the cursor will now change to the OS
standard "Wait" one until the main event loop starts.

THE CORRECTION IN LICENCE TEXT NEEDS TO BE CHECKED BY HEIKO AS IT IS DONE
IN HIS NAME. 8-)

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Merge Prep: Update README & add merge guidance comment to src.pro

As the changes to the project file won't auto-merge I have tested
what needs to be done with meld or kdiff3 to combine the two specified
branches in the proposed order and provided guidance as a (deleted after
performing) comment at the top of the file.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
BugFix: replace global gSysMessage with per Host message stack

The prior system of pushing Error/OK type messages into a global
gSysMessage QStringList where the messages came from cTelnet and
TLuaInterpreter classes as they and the profile were initialised was flawed
because the profile from which they came was not recorded and messages
from one profile leaked into the start up messages of a second, later
profile connection.

This commit uses a QStringList in the cTelnet class which receives messages
via the postMessage(QString) method which has been made public where it was
previously private.  As the destination is the TConsole class which has not
being instantiated at the point that the first messages are created the
postMessage() method stores the messages it receives until one is received
where the TConsole class DOES exist at which time it displays in order all
the stored messages.

The message format that this method processes, with a first line of the
form ".*[.*tag.*].*- +message" tags which correspond to "ERROR","OK",
"INFO","WARN","ALERT" in a case insensitive form are specially coloured.
The tag are converted to all upper case.  If the message has additional
lines they are indented to the same position as the first non-space
character after the hyphen delimiter in the first line, this and at least
one following space must be present (as well as the '[' and ']'
characters).

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
BugFix: correct indexing into Lua state when retrieving Error messages

When multiple errors were encountered during the start up of the lua
subsystem use of a positive (absolute?) index caused only the first error
message to be retrieved, changing to the negative (relative) reference
allows all of them to be collected.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
BugFix: correct indexing into Lua state when retrieving Error messages

When multiple errors were encountered during the start up of the lua
subsystem use of a positive (absolute?) index caused only the first error
message to be retrieved, changing to the negative (relative) reference
allows all of them to be collected.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Mute warnings: Comment out unused vars, delete unneeded comment, fix var

Tidying up some compiler warnings.  Fix a signed/unsigned comparision clash
Also changed "build" project variable to reflect git branch name.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Tweak: Remove redundant debug mode compiler flag, de-optimise debug compile

The GCC debug compiler flag is set auto-magically by Qt and may not be
compatible with other compilers - so let Qt handle insertion of the correct
options for debug compilation.

To aid debugging it is probably a good idea to turn off all optimisation.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Revise: Splash-screen code now takes long ver. text, copied to About dialog

The previous code to draw copyright and version text onto the Splash screen
image truncated version texts that were over long (as might be the case for
where the qmake project file BUILD variable was set to a long, multiple
word one).  This revision shrinks the font size used for the version text
until it can be drawn on one line.

For uniformity and for the same reason, the same code is also copied across
to where the same image is used on the About Mudlet dialogue.

This commit was Cherry-picked from a number of pending revisions but is
believed to completely described the required changes.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Update Document: README updated to cover other branches
Merge branch 'mudletDev_versionData' of https://github.com/SlySven/Mudlet2 into SlySven-mudletDev_versionData
Merge branch 'SlySven-mudletDev_versionData' into mudletDev

Conflicts:
	src/mudlet_alpha.qrc
	src/src.pro
removed extra TARGET in src.pro and fixed build variable
Merge branch 'mudletDev_fixGSysMessage' of https://github.com/SlySven/Mudlet2 into SlySven-mudletDev_fixGSysMessage

Conflicts:
	src/TLuaInterpreter.cpp
Tweak: missing file to project file, omit 2 connects with missing slots

A Ui file custom_lines_properties.ui got missed out of project file,
though application worked without the mention as it is carried inside
the resource file.  Also added a couple of blank lines and set project
build variable to something appropriate *for me*.

Two connect() usages in the dlgProfilePreferences.cpp file refer to SLOTs
that have NEVER existed in either the header file (as a declaration) or
in the source file (as a definition).  The lines concerned date back many
years and the possible functionality of one of them might be a subset of
a Lua command.  Without the implementation of the SLOTs all that happens
is a few lines of warning messages each time the Profile Preferences
dialog is called up.

Signed-off-by: Stephen Lyons <slysven@virginmedia.com>