Use Qt's native icon theme support rather than our own
authorManuel Nickschas <sputnick@quassel-irc.org>
Sat, 25 Oct 2014 20:03:34 +0000 (22:03 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 25 Oct 2014 21:16:33 +0000 (23:16 +0200)
commit7de4debb5a6744d9f67cb09c5fc0aa136f05be96
tree00f6b788a19153233e7a54cb1c7c24d97315de01
parent6310438a4efce3d2ecbd5faf1d3ceebe0c6524c2
Use Qt's native icon theme support rather than our own

For the longest time, we've had our own icon loader (or used KDE's)
in order to provide rudimentary icon theme support. However, since
2009, Qt has had native support for loading icons from themes. In recent
version (due to platform integration etc.), proper icon theme support
has gotten much more complex too... things like theme inheritance,
proper fallback policies, specialized states and so on have never been
supported by our simple custom icon loader.

This commit switches all icon loading to QIcon::fromTheme().

The downside is that we have little control about Qt's icon loader,
which may cause issues with some of the non-standard icons we ship.
In case of the native Qt icon loader being used, we define fallbacks
that should find the extra icons. If you use Qt5 and have the
KDE Frameworks integration plugin for Qt enabled, these fallbacks won't
work unfortunately. If you see missing icons, you may have to install
Quassel's 'hicolor' icons into /usr/share/icons/hicolor so they get
picked up.

For non-Linux platforms, we recommend using the bundled Oxygen icon
set (this is the default).
41 files changed:
src/qtui/aboutdlg.cpp
src/qtui/bufferwidget.cpp
src/qtui/channellistdlg.cpp
src/qtui/chatitem.cpp
src/qtui/chatmonitorview.cpp
src/qtui/chatscene.cpp
src/qtui/chatviewsearchbar.cpp
src/qtui/coreconfigwizard.cpp
src/qtui/coreconnectdlg.cpp
src/qtui/coreconnectionstatuswidget.cpp
src/qtui/indicatornotificationbackend.cpp
src/qtui/inputwidget.cpp
src/qtui/knotificationbackend.cpp
src/qtui/mainwin.cpp
src/qtui/phononnotificationbackend.cpp
src/qtui/qtuiapplication.cpp
src/qtui/settingsdlg.cpp
src/qtui/settingspagedlg.cpp
src/qtui/settingspages/aliasessettingspage.cpp
src/qtui/settingspages/bufferviewsettingspage.cpp
src/qtui/settingspages/chatmonitorsettingspage.cpp
src/qtui/settingspages/coreaccountsettingspage.cpp
src/qtui/settingspages/identitiessettingspage.cpp
src/qtui/settingspages/identityeditwidget.cpp
src/qtui/settingspages/ignorelistsettingspage.cpp
src/qtui/settingspages/keysequencewidget.cpp
src/qtui/settingspages/networkssettingspage.cpp
src/qtui/settingspages/networkssettingspage.h
src/qtui/simplenetworkeditor.cpp
src/qtui/snorenotificationbackend.cpp
src/qtui/systemtray.cpp
src/qtui/systraynotificationbackend.cpp
src/qtui/taskbarnotificationbackend.cpp
src/qtui/topicwidget.cpp
src/uisupport/clearablelineedit.cpp
src/uisupport/contextmenuactionprovider.cpp
src/uisupport/networkmodelcontroller.cpp
src/uisupport/networkmodelcontroller.h
src/uisupport/toolbaractionprovider.cpp
src/uisupport/uistyle.cpp
src/uisupport/uistyle.h