Besides being a reasonable thing, this helps working around a problem
where the first article of a feed would always be marked as read even
when the user opened another item (because currentIndex is always
changed to 0 as soon as the model is ready).
When a long press gesture is detected, popup a context menu.
If the underlying item is an image, use the DownloadManager to download
it and transfer to another app.
Clearing the model while it's being used in the ListView produces a
crash with Qt 5.4.1. Valgrind logs:
==13926== Invalid read of size 8
==13926== at 0x4FD95BF: QQuickWindowPrivate::polishItems() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FA6EF2: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FA7978: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x5E86AF4: QCoreApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5E86C2A: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5EDEAE4: QTimerInfoList::activateTimers() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5EDEF60: timerSourceDispatch(_GSource*, int (*)(void*), void*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x841FC3C: g_main_context_dispatch (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4392.0)
==13926== by 0x841FF1F: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4392.0)
==13926== by 0x841FFCB: g_main_context_iteration (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4392.0)
==13926== by 0x5EDFC56: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5E843E1: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== Address 0x210d8e50 is 0 bytes inside a block of size 32 free'd
==13926== at 0x4C2D2E0: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13926== by 0x5EB618B: QObjectPrivate::deleteChildren() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5EC07F2: QObject::~QObject() (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x4FCD865: QQuickItem::~QQuickItem() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FE77C5: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x505FC02: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x50B55C8: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FD95C7: QQuickWindowPrivate::polishItems() (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FA6EF2: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x4FA7978: ??? (in /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5.4.1)
==13926== by 0x5E86AF4: QCoreApplication::notify(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
==13926== by 0x5E86C2A: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.4.1)
Use the correct variable for determining the architecture, and disable
updating of translations when cross-compiling (since lupdate is not
present in the chroot).