Refactoring: that function should not be publicly accessible
Ubuntu: Lazy load Settings tabs

Only create the settings tabs when we need them

REVIEW: 117817
Prevent duplicate signals on model recreation

This is directly related to commit e9619f03311aa71f16bfad41e97011757e327727
which changed the lifetime of ImapAccess. Previously, it used to be recreated
whenever the IMAP Model got recreated, but that commit changed ImapAccess to be
created exactly once (and in future, once for every IMAP account).

The rest of the signals appear to be fine; they do not connect ImapAccess, but
instead work on various models which are published by ImapAccess. In future when
ImapAccess changes to emit signals when the models actually change (and not when
e.g. an unrelated piece of settings like the human readable name, or the SMTP
prefs or something else change), the reconnecting of signals should happen at
that level.

This double-emitting led to a bug when a new account was added the first time,
and some SSL errors were shown. By mistake, two dialogs would pop up, and if a
wrong password was entered, the Q_ASSERT on OpenConnectionTask.cpp, line 493 was
hit.
SVN_SILENT made messages (.desktop file)
SVN_SILENT made messages (.desktop file)
Ubuntu: Password dialog fix Cancel button not loading settings tabs

REVIEW: 117912
Ubuntu: Fix cmake to copy qml files pre-build

REVIEW: 117896
BUG: 333075
Ubuntu: Fix the ImapSettings flickable

This fixes the view was not scrolling when OSK is visible.

REVIEW: 117924
GUI: make sure the composer always has a window title

Simply opening the composer as a new fresh mail, without replying to an existing
subject, would leave the window title uninitialized, which means that the user
would get an ugly "trojita" instead of a nice, localized "Compose mail".
Ubuntu messageListPage delete message

BUG: 333212
REVIEW: 117514
Get rid of the duplicated FLagsOperation

The QML is rather hostile towards working with enums which come from the C++
code *and* are not already wrapped in a QObject-deriving class. Instead of
duplicating the existing FlagsOperation enum partially, it seems that it is
cleaner to give up on the API design principles which ask for using enums
instead of plain bools for readability, and use a simple bool in this case.
Merge branch 'ubuntu-delete-message'
No need for "explicit" in this ctor anymore
IMAP: relax quoted-string parsing to allow for Groupwise's escaped parentheses

As per the bugreport, Groupwise does not conform to RFC3501 and sends
parentheses ("(" and ")") as escaped characters within the quoted strings. The
RFC 3501 is pretty clear in only allowing escaped quotes and backslashes.

This change let's Trojita process these broken responses. It is a tough call to
tell what to do, but interpretting these by ignoring the backslashes is probably
the lesser of the two evils.

BUG: 334456
REVIEW: 118033
IMAP: Accept Exchange's botched body-fld-dsp

According to a report by Martin Steigerwald <ms@teamix.de>, Exchange sends a
body-fld-dsp which contains complete crap.

CCBUG: 334056
REVIEW: 118035
packaging: sync with OBS for the qtkeychain plugin
Ubuntu: toolbar option to change network policy

Implements offline, expensive and online options

languagechooser.svg is part of the Ubuntu-mobile-icons package
available from http://packages.ubuntu.com/trusty/all/ubuntu-mobile-icons
and is available under the CC-BY-SA 3.0. Copyright by 2004-2012,
Canonical Ltd.

REVIEW: 117910

Removed Q_INVOKABLE from NetworkWatcher slots.

Created a simple JS variable to act like an enum when switching and selecting
network connection states
Add AppStream metadata file for Trojita GUI
Import from OBS

This is needed to handle the newly added AppData file.
IMAP: fix FETCH FLAGS processing

It turned out that the check which the code was following was actually a pretty
dumb one -- if spectacularly failed to handle the case where the new flags of a
message were an empty set. This means that the message *is* unread (it has no
\Seen flag), and hence should be counted as a new one.

On most IMAP servers (but not on GMail), this would be very often masked because
the server would send back the \Recent flag most of the time (unless our session
lost the race). GMail, however, doesn't set \Recent on any message, and
therefore it was an excellent candidate for hitting this bug.

It seems that this has been broken for quite a long time:

    commit 74b222e5c7385b04ccc0aeddbf0d174d6c6462d6
    Author: Jan Kundrát <jkt@flaska.net>
    Date:   Wed Mar 21 14:02:20 2012 +0100

    IMAP: do not recalculate various message counts when the flags haven't changed

Many thanks to James Harkins <jamshark70@gmail.com> for reporting this bug and
providing enough details in order to find the root cause.

v2: Add an explicit check for the correctness of the recalculated number of
unread messages in some corner cases, like when a new arrival gets immediately
expunged. Also work with messages where some of them are read and some unread in
order to avoid testing "just" for the case of zero unread messages.

BUG: 334576
REVIEW: 118075