diff --git a/cantata.qrc b/cantata.qrc
index 9b0a450b3d..3a5c379c0d 100644
--- a/cantata.qrc
+++ b/cantata.qrc
@@ -3,10 +3,6 @@
icons/stars.svg
icons/consume.svg
-icons/mpd.svg
-icons/home.svg
-icons/hdd.svg
-
icons/sidebar-library.svg
icons/sidebar-devices.svg
icons/sidebar-folders.svg
@@ -16,28 +12,20 @@
icons/sidebar-playqueue.svg
icons/sidebar-search.svg
-online/icons/soundcloud.svg
-online/icons/jamendo.svg
-online/icons/magnatune.svg
-online/icons/podcasts.svg
+online/icons/magnatune.svg
online/icons/bbc.svg
online/icons/cbc.svg
-streams/icons/favourites.svg
-streams/icons/icecast.svg
-streams/icons/shoutcast.svg
-streams/icons/tunein.svg
-streams/icons/dirble.svg
+streams/icons/shoutcast.svg
+streams/icons/tunein.svg
+streams/icons/dirble.svg
icons/media-optical.svg
icons/media-optical32.svg
icons/view-media-album.svg
icons/view-media-artist.svg
icons/view-media-genre.svg
-icons/dice.svg
-icons/playlist.svg
icons/radio.svg
-icons/gradcap.svg
online/podcast_directories.xml
context/lyrics_providers.xml
diff --git a/devices/audiocddevice.cpp b/devices/audiocddevice.cpp
index df2ad23b9c..6740f41cc6 100644
--- a/devices/audiocddevice.cpp
+++ b/devices/audiocddevice.cpp
@@ -89,10 +89,7 @@ AudioCdDevice::AudioCdDevice(MusicLibraryModel *m, Solid::Device &dev)
, lookupInProcess(false)
, autoPlay(false)
{
- icn=Icon("media-optical");
- if (icn.isNull()) {
- icn=Icons::self()->albumMonoIcon;
- }
+ icn=Icons::self()->albumMonoIcon;
drive=dev.parent().as();
Solid::Block *block=dev.as();
if (block) {
diff --git a/devices/device.cpp b/devices/device.cpp
index 063814606d..bd78f62d80 100644
--- a/devices/device.cpp
+++ b/devices/device.cpp
@@ -47,6 +47,7 @@
#include "models/musiclibraryitemalbum.h"
#include "models/musiclibraryitemsong.h"
#include "models/musiclibrarymodel.h"
+#include "widgets/icons.h"
#include "solid-lite/portablemediaplayer.h"
#include "solid-lite/storageaccess.h"
#include "solid-lite/storagedrive.h"
@@ -311,7 +312,7 @@ Device::Device(MusicLibraryModel *m, Solid::Device &dev, bool albumArtistSupport
, transcoding(false)
{
m_model=m;
- icn=Icon(solidDev.isValid() ? solidDev.icon() : QLatin1String("inode-directory"));
+ icn=Icons::self()->folderListIcon;
m_itemData[0]=m_itemData[0].toUpper();
}
diff --git a/devices/mtpdevice.cpp b/devices/mtpdevice.cpp
index 2077bd23a8..ee4abdac18 100644
--- a/devices/mtpdevice.cpp
+++ b/devices/mtpdevice.cpp
@@ -1212,10 +1212,7 @@ MtpDevice::MtpDevice(MusicLibraryModel *m, Solid::Device &dev, unsigned int busN
DBUG << "setName" << opts.name;
setData(opts.name);
}
- icn=Icon("multimedia-player");
- if (icn.isNull()) {
- icn=MonoIcon::icon(FontAwesome::mobilephone, Utils::clampColor(qApp->palette().text().color()));
- }
+ icn=MonoIcon::icon(FontAwesome::mobilephone, Utils::monoIconColor());
}
MtpDevice::~MtpDevice()
diff --git a/devices/remotefsdevice.cpp b/devices/remotefsdevice.cpp
index 2b8a68b575..9abf6fa136 100644
--- a/devices/remotefsdevice.cpp
+++ b/devices/remotefsdevice.cpp
@@ -216,18 +216,11 @@ RemoteFsDevice::RemoteFsDevice(MusicLibraryModel *m, const DeviceOptions &option
// details.path=Utils::fixPath(details.path);
load();
mount();
- icn=details.isLocalFile()
- ? Icon("inode-directory")
- : constSshfsProtocol==details.url.scheme()
- ? Icon(QStringList() << "folder-network" << "utilities-terminal")
- : Icon(QStringList() << "folder-samba" << "network-server");
- if (icn.isNull()) {
- icn=MonoIcon::icon(details.isLocalFile()
- ? FontAwesome::foldero
- : constSshfsProtocol==details.url.scheme()
- ? FontAwesome::linux_os
- : FontAwesome::windows, Utils::clampColor(qApp->palette().text().color()));
- }
+ icn=MonoIcon::icon(details.isLocalFile()
+ ? FontAwesome::foldero
+ : constSshfsProtocol==details.url.scheme()
+ ? FontAwesome::linux_os
+ : FontAwesome::windows, Utils::monoIconColor());
}
RemoteFsDevice::RemoteFsDevice(MusicLibraryModel *m, const Details &d)
@@ -241,7 +234,11 @@ RemoteFsDevice::RemoteFsDevice(MusicLibraryModel *m, const Details &d)
{
// details.path=Utils::fixPath(details.path);
setup();
- icn=Icon(details.isLocalFile() ? "inode-directory" : (constSshfsProtocol==details.url.scheme() ? "utilities-terminal" : "network-server"));
+ icn=MonoIcon::icon(details.isLocalFile()
+ ? FontAwesome::foldero
+ : constSshfsProtocol==details.url.scheme()
+ ? FontAwesome::linux_os
+ : FontAwesome::windows, Utils::monoIconColor());
}
RemoteFsDevice::~RemoteFsDevice() {
diff --git a/devices/umsdevice.cpp b/devices/umsdevice.cpp
index c3d6ccea17..b2cc809d37 100644
--- a/devices/umsdevice.cpp
+++ b/devices/umsdevice.cpp
@@ -57,11 +57,7 @@ UmsDevice::UmsDevice(MusicLibraryModel *m, Solid::Device &dev)
defaultName=data()+details;
setData(defaultName);
setup();
- icn=Icon(QStringList() << "drive-removable-media-usb-pendrive" << "drive-removable-media-usb"
- << "multimedia-player");
- if (icn.isNull()) {
- icn=MonoIcon::icon(FontAwesome::usb, Utils::clampColor(qApp->palette().text().color()));
- }
+ icn=MonoIcon::icon(FontAwesome::usb, Utils::monoIconColor());
}
UmsDevice::~UmsDevice()
diff --git a/gui/localfolderpage.cpp b/gui/localfolderpage.cpp
index 2555c5b6ce..a49bf3e8bf 100644
--- a/gui/localfolderpage.cpp
+++ b/gui/localfolderpage.cpp
@@ -28,6 +28,7 @@
#include "widgets/menubutton.h"
#include "support/monoicon.h"
#include "support/configuration.h"
+#include "support/utils.h"
#ifdef TAGLIB_FOUND
#include "tags/tags.h"
#endif
@@ -37,10 +38,11 @@ LocalFolderBrowsePage::LocalFolderBrowsePage(bool isHome, QWidget *p)
: SinglePageWidget(p)
, isHomeFolder(isHome)
{
- model = isHome ? new LocalBrowseModel(QLatin1String("localbrowsehome"), tr("Home"), tr("Browse files in your home folder"), ":home.svg", this)
- : new LocalBrowseModel(QLatin1String("localbrowseroot"), tr("Root"), tr("Browse files on your computer"), ":hdd.svg", this);
+ QColor col = Utils::monoIconColor();
+ model = isHome ? new LocalBrowseModel(QLatin1String("localbrowsehome"), tr("Home"), tr("Browse files in your home folder"), MonoIcon::icon(FontAwesome::home, col), this)
+ : new LocalBrowseModel(QLatin1String("localbrowseroot"), tr("Root"), tr("Browse files on your computer"), MonoIcon::icon(FontAwesome::hddo, col), this);
proxy = new FileSystemProxyModel(model);
- browseAction = new Action(MonoIcon::icon(FontAwesome::folderopen, Utils::monoIconColor()), tr("Open In File Manager"), this);
+ browseAction = new Action(MonoIcon::icon(FontAwesome::folderopen, col), tr("Open In File Manager"), this);
connect(view, SIGNAL(itemsSelected(bool)), this, SLOT(controlActions()));
connect(view, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(itemDoubleClicked(const QModelIndex &)));
connect(view, SIGNAL(headerClicked(int)), SLOT(headerClicked(int)));
diff --git a/icons/dice.svg b/icons/dice.svg
deleted file mode 100644
index 67ed9ec432..0000000000
--- a/icons/dice.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/icons/gradcap.svg b/icons/gradcap.svg
deleted file mode 100644
index 325e1ec66b..0000000000
--- a/icons/gradcap.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
diff --git a/icons/hdd.svg b/icons/hdd.svg
deleted file mode 100644
index 402f3dc391..0000000000
--- a/icons/hdd.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
diff --git a/icons/home.svg b/icons/home.svg
deleted file mode 100644
index 8efdc5f796..0000000000
--- a/icons/home.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
diff --git a/icons/mpd.svg b/icons/mpd.svg
deleted file mode 100644
index f5d64887a8..0000000000
--- a/icons/mpd.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
diff --git a/icons/playlist.svg b/icons/playlist.svg
deleted file mode 100644
index af480cab9d..0000000000
--- a/icons/playlist.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/icons/radio.svg b/icons/radio.svg
index 9e5e4d61ca..774fdbcbcb 100644
--- a/icons/radio.svg
+++ b/icons/radio.svg
@@ -1,5 +1,5 @@
diff --git a/models/browsemodel.cpp b/models/browsemodel.cpp
index ab0b0c7c5f..694c2c7fa0 100644
--- a/models/browsemodel.cpp
+++ b/models/browsemodel.cpp
@@ -28,6 +28,8 @@
#include "gui/settings.h"
#include "mpd-interface/mpdconnection.h"
#include "mpd-interface/mpdstats.h"
+#include "support/monoicon.h"
+#include "support/utils.h"
#include
void BrowseModel::FolderItem::add(Item *i)
@@ -59,7 +61,7 @@ BrowseModel::BrowseModel(QObject *p)
, enabled(false)
, dbVersion(0)
{
- icn.addFile(":mpd.svg");
+ icn=MonoIcon::icon(FontAwesome::server, Utils::monoIconColor());
connect(this, SIGNAL(listFolder(QString)), MPDConnection::self(), SLOT(listFolder(QString)));
folderIndex.insert(root->getPath(), root);
}
diff --git a/models/localbrowsemodel.cpp b/models/localbrowsemodel.cpp
index acf5e8b8ec..f1e72599b0 100644
--- a/models/localbrowsemodel.cpp
+++ b/models/localbrowsemodel.cpp
@@ -63,13 +63,13 @@ bool FileSystemProxyModel::lessThan(const QModelIndex &left, const QModelIndex &
return l.fileName().toLower().localeAwareCompare(r.fileName().toLower())<0;
}
-LocalBrowseModel::LocalBrowseModel(const QString &name, const QString &title, const QString &descr, const QString &icon, QObject *p)
+LocalBrowseModel::LocalBrowseModel(const QString &name, const QString &title, const QString &descr, const QIcon &icon, QObject *p)
: QFileSystemModel(p)
, pathName(name)
, pathTitle(title)
, pathDescr(descr)
+ , icn(icon)
{
- icn.addFile(icon);
setFilter(QDir::Files|QDir::Dirs|QDir::NoDotAndDotDot|QDir::Drives);
}
diff --git a/models/localbrowsemodel.h b/models/localbrowsemodel.h
index 2bc6c7c534..5b71fd9b5b 100644
--- a/models/localbrowsemodel.h
+++ b/models/localbrowsemodel.h
@@ -33,7 +33,7 @@ class LocalBrowseModel : public QFileSystemModel
Q_OBJECT
public:
- LocalBrowseModel(const QString &name, const QString &title, const QString &descr, const QString &icon, QObject *p);
+ LocalBrowseModel(const QString &name, const QString &title, const QString &descr, const QIcon &icon, QObject *p);
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
diff --git a/models/playlistsmodel.cpp b/models/playlistsmodel.cpp
index 7e611d30cf..7bcfe11bb1 100644
--- a/models/playlistsmodel.cpp
+++ b/models/playlistsmodel.cpp
@@ -74,7 +74,7 @@ PlaylistsModel::PlaylistsModel(QObject *parent)
, itemMenu(nullptr)
, dropAdjust(0)
{
- icn.addFile(":playlist.svg");
+ icn=Icons::self()->playlistListIcon;
connect(MPDConnection::self(), SIGNAL(stateChanged(bool)), SLOT(mpdConnectionStateChanged(bool)));
connect(MPDConnection::self(), SIGNAL(playlistsRetrieved(const QList &)), this, SLOT(setPlaylists(const QList &)));
connect(MPDConnection::self(), SIGNAL(playlistInfoRetrieved(const QString &, const QList &)), this, SLOT(playlistInfoRetrieved(const QString &, const QList &)));
@@ -345,7 +345,7 @@ QVariant PlaylistsModel::data(const QModelIndex &index, int role) const
? pl->visibleName()
: pl->visibleName()+"\n"+tr("%n Tracks (%1)", "", pl->songs.count()).arg(Utils::formatTime(pl->totalTime()));
case Qt::DecorationRole:
- return multiCol ? QVariant() : (pl->isSmartPlaylist ? Icons::self()->dynamicListIcon : Icons::self()->playlistListIcon);
+ return multiCol ? QVariant() : (pl->isSmartPlaylist ? Icons::self()->smartPlaylistIcon : Icons::self()->playlistListIcon);
case Cantata::Role_SubText:
if (!pl->loaded) {
pl->loaded=true;
diff --git a/models/streamsearchmodel.cpp b/models/streamsearchmodel.cpp
index 1d388904d7..247c330eb1 100644
--- a/models/streamsearchmodel.cpp
+++ b/models/streamsearchmodel.cpp
@@ -28,6 +28,8 @@
#include "network/networkaccessmanager.h"
#include "gui/stdactions.h"
#include "gui/settings.h"
+#include "support/monoicon.h"
+#include "support/utils.h"
#include
#include
#include
@@ -36,21 +38,15 @@
#include
#include
-static QIcon getIcon(const QString &name)
-{
- QIcon icon;
- icon.addFile(":"+name);
- return icon.isNull() ? Icons::self()->streamCategoryIcon : icon;
-}
-
StreamSearchModel::StreamSearchModel(QObject *parent)
: ActionModel(parent)
, root(new StreamsModel::CategoryItem(QString(), "root"))
{
// ORDER *MUST* MATCH Category ENUM!!!!!
- root->children.append(new StreamsModel::CategoryItem("http://opml.radiotime.com/Search.ashx", tr("TuneIn"), root, getIcon("tunein")));
- root->children.append(new StreamsModel::CategoryItem(QLatin1String("http://")+StreamsModel::constShoutCastHost+QLatin1String("/legacy/genrelist"), tr("ShoutCast"), root, getIcon("shoutcast")));
- root->children.append(new StreamsModel::CategoryItem(QLatin1String("http://")+StreamsModel::constDirbleHost+QLatin1String("/v2/search/"), tr("Dirble"), root, getIcon("dirble")));
+ root->children.append(new StreamsModel::CategoryItem("http://opml.radiotime.com/Search.ashx", tr("TuneIn"), root, MonoIcon::icon(":tunein.svg", Utils::monoIconColor())));
+ root->children.append(new StreamsModel::CategoryItem(QLatin1String("http://")+StreamsModel::constShoutCastHost+QLatin1String("/legacy/genrelist"), tr("ShoutCast"), root, MonoIcon::icon(":shoutcast.svg", Utils::monoIconColor())));
+ root->children.append(new StreamsModel::CategoryItem(QLatin1String("http://")+StreamsModel::constDirbleHost+QLatin1String("/v2/search/"), tr("Dirble"), root, MonoIcon::icon(":dirble.svg", Utils::monoIconColor())));
+ icon = MonoIcon::icon(FontAwesome::search, Utils::monoIconColor());
}
StreamSearchModel::~StreamSearchModel()
@@ -112,7 +108,7 @@ QVariant StreamSearchModel::data(const QModelIndex &index, int role) const
case Cantata::Role_SubText:
return tr("Search for radio streams");
case Qt::DecorationRole:
- return Icon("edit-find");
+ return icon;
}
return QVariant();
}
diff --git a/models/streamsearchmodel.h b/models/streamsearchmodel.h
index 7b2d168bd5..a45e3d7222 100644
--- a/models/streamsearchmodel.h
+++ b/models/streamsearchmodel.h
@@ -87,6 +87,7 @@ private Q_SLOTS:
QMap jobs;
StreamsModel::CategoryItem *root;
QString currentSearch;
+ QIcon icon;
};
#endif
diff --git a/models/streamsmodel.cpp b/models/streamsmodel.cpp
index 9c0c19acfc..15978afa88 100644
--- a/models/streamsmodel.cpp
+++ b/models/streamsmodel.cpp
@@ -27,6 +27,7 @@
#include "widgets/icons.h"
#include "network/networkaccessmanager.h"
#include "support/utils.h"
+#include "support/monoicon.h"
#include "gui/settings.h"
#include "playqueuemodel.h"
#include "roles.h"
@@ -35,7 +36,6 @@
#include "support/actioncollection.h"
#include "digitallyimported.h"
#include "qtiocompressor/qtiocompressor.h"
-#include "support/utils.h"
#include "config.h"
#include "support/globalstatic.h"
#include
@@ -88,13 +88,6 @@ static QString constDirbleUrl=QLatin1String("http://")+StreamsModel::constDirble
static const QLatin1String constBookmarksDir=QLatin1String("bookmarks");
-static QIcon getIcon(const QString &name)
-{
- QIcon icon;
- icon.addFile(":"+name);
- return icon.isNull() ? Icons::self()->streamCategoryIcon : icon;
-}
-
static Icon getExternalIcon(const QString &path, QStringList files=QStringList() << StreamsModel::constSvgIcon << StreamsModel::constPngIcon)
{
for (const QString &file: files) {
@@ -498,18 +491,19 @@ StreamsModel::StreamsModel(QObject *parent)
: ActionModel(parent)
, root(new CategoryItem(QString(), "root"))
{
- icn.addFile(":radio.svg");
- tuneIn=new CategoryItem(constRadioTimeUrl+QLatin1String("?locale=")+QLocale::system().name(), tr("TuneIn"), root, getIcon("tunein"), QString(), "tunein");
+ QColor col = Utils::monoIconColor();
+ icn=MonoIcon::icon(":radio.svg", col);
+ tuneIn=new CategoryItem(constRadioTimeUrl+QLatin1String("?locale=")+QLocale::system().name(), tr("TuneIn"), root, MonoIcon::icon(":tunein.svg", col), QString(), "tunein");
tuneIn->supportsBookmarks=true;
root->children.append(tuneIn);
- root->children.append(new IceCastCategoryItem(constIceCastUrl, tr("IceCast"), root, getIcon("icecast"), "icecast"));
- shoutCast=new ShoutCastCategoryItem(constShoutCastUrl, tr("ShoutCast"), root, getIcon("shoutcast"));
+ root->children.append(new IceCastCategoryItem(constIceCastUrl, tr("IceCast"), root, MonoIcon::icon(FontAwesome::cube, col), "icecast"));
+ shoutCast=new ShoutCastCategoryItem(constShoutCastUrl, tr("ShoutCast"), root, MonoIcon::icon(":shoutcast.svg", col));
shoutCast->configName="shoutcast";
root->children.append(shoutCast);
- dirble=new DirbleCategoryItem(constDirbleUrl, tr("Dirble"), root, getIcon("dirble"));
+ dirble=new DirbleCategoryItem(constDirbleUrl, tr("Dirble"), root, MonoIcon::icon(":dirble.svg", col));
dirble->configName="dirble";
root->children.append(dirble);
- favourites=new FavouritesCategoryItem(constFavouritesUrl, tr("Favorites"), root, getIcon("favourites"));
+ favourites=new FavouritesCategoryItem(constFavouritesUrl, tr("Favorites"), root, MonoIcon::icon(FontAwesome::heart, MonoIcon::constRed));
root->children.append(favourites);
loadInstalledProviders();
addBookmarkAction = new Action(Icons::self()->addBookmarkIcon, tr("Bookmark Category"), this);
diff --git a/online/icons/jamendo.svg b/online/icons/jamendo.svg
deleted file mode 100644
index d2dca646bf..0000000000
--- a/online/icons/jamendo.svg
+++ /dev/null
@@ -1,29 +0,0 @@
-
diff --git a/online/icons/magnatune.svg b/online/icons/magnatune.svg
index 5014d3abf1..516ad6c988 100644
--- a/online/icons/magnatune.svg
+++ b/online/icons/magnatune.svg
@@ -1,5 +1,5 @@