Skip to content

Commit

Permalink
- Use more font-awesome icons - for repeat, random, menu (on windows)
Browse files Browse the repository at this point in the history
- Use SVG for consume
  • Loading branch information
CDrummond committed Jan 19, 2016
1 parent 8a83088 commit ce8f485
Show file tree
Hide file tree
Showing 17 changed files with 69 additions and 262 deletions.
10 changes: 1 addition & 9 deletions cantata.qrc
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file alias="stars.svg">icons/stars.svg</file>

<file alias="repeat16.png">icons/view-media-repeat16.png</file>
<file alias="repeat22.png">icons/view-media-repeat22.png</file>
<file alias="repeat24.png">icons/view-media-repeat24.png</file>
<file alias="repeat32.png">icons/view-media-repeat32.png</file>
<file alias="shuffle16.png">icons/view-media-shuffle16.png</file>
<file alias="shuffle22.png">icons/view-media-shuffle22.png</file>
<file alias="shuffle24.png">icons/view-media-shuffle24.png</file>
<file alias="shuffle32.png">icons/view-media-shuffle32.png</file>
<file alias="consume.svg">icons/consume.svg</file>

<file alias="sidebar-library">icons/sidebar-library.svg</file>
<file alias="sidebar-devices">icons/sidebar-devices.svg</file>
Expand Down
7 changes: 7 additions & 0 deletions icons/consume.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed icons/view-media-repeat16.png
Binary file not shown.
Binary file removed icons/view-media-repeat22.png
Binary file not shown.
Binary file removed icons/view-media-repeat24.png
Binary file not shown.
Binary file removed icons/view-media-repeat32.png
Binary file not shown.
Binary file removed icons/view-media-repeat48.png
Binary file not shown.
Binary file removed icons/view-media-repeat64.png
Binary file not shown.
Binary file removed icons/view-media-shuffle16.png
Binary file not shown.
Binary file removed icons/view-media-shuffle22.png
Binary file not shown.
Binary file removed icons/view-media-shuffle24.png
Binary file not shown.
Binary file removed icons/view-media-shuffle32.png
Binary file not shown.
Binary file removed icons/view-media-shuffle48.png
Binary file not shown.
Binary file removed icons/view-media-shuffle64.png
Binary file not shown.
73 changes: 46 additions & 27 deletions support/monoicon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,40 +64,59 @@ class MonoIconEngine : public QIconEngine
QPainter p(&pix);

if (fileName.isEmpty()) {
// Load fontawesome, if it is not already loaded
if (fontAwesomeFontName.isEmpty()) {
Q_INIT_RESOURCE(fontawesome);
QFile res(":fontawesome-4.3.0.ttf");
res.open(QIODevice::ReadOnly);
QByteArray fontData( res.readAll() );
res.close();

QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(QFontDatabase::addApplicationFontFromData(fontData));
if (!loadedFontFamilies.empty()) {
fontAwesomeFontName= loadedFontFamilies.at(0);
QString fontName;
double scale=0.9;
if (FontAwesome::ex_one==fontAwesomeIcon) {
fontName="serif";
} else {
// Load fontawesome, if it is not already loaded
if (fontAwesomeFontName.isEmpty()) {
Q_INIT_RESOURCE(fontawesome);
QFile res(":fontawesome-4.3.0.ttf");
res.open(QIODevice::ReadOnly);
QByteArray fontData( res.readAll() );
res.close();

QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(QFontDatabase::addApplicationFontFromData(fontData));
if (!loadedFontFamilies.empty()) {
fontAwesomeFontName= loadedFontFamilies.at(0);
}
}
}
double scale=1.0;

switch (fontAwesomeIcon) {
case FontAwesome::lastfmsquare:
case FontAwesome::lastfm:
scale=1.1;
break;
case FontAwesome::list:
if (!Utils::isHighDpi()) {
scale=1.05;

switch (fontAwesomeIcon) {
case FontAwesome::lastfmsquare:
case FontAwesome::lastfm:
scale=1.1;
break;
case FontAwesome::list:
if (!Utils::isHighDpi()) {
scale=1.05;
}
break;
default:
break;
}
default:
scale=0.9;
break;
fontName=fontAwesomeFontName;
}

QFont font(fontAwesomeFontName);
QFont font(fontName);
font.setPixelSize(qRound(rect.height()*scale));
if (FontAwesome::ex_one==fontAwesomeIcon) {
font.setBold(true);
}
p.setFont(font);
p.setPen(col);
p.drawText(QRect(0, 0, rect.width(), rect.height()), QString(QChar(static_cast<int>(fontAwesomeIcon))), QTextOption(Qt::AlignCenter|Qt::AlignVCenter));
p.setRenderHint(QPainter::HighQualityAntialiasing, true);
if (FontAwesome::ex_one==fontAwesomeIcon) {
QString str=QString::number(fontAwesomeIcon);
p.drawText(QRect(0, 0, rect.width(), rect.height()), str, QTextOption(Qt::AlignHCenter|Qt::AlignVCenter));
p.drawText(QRect(1, 0, rect.width(), rect.height()), str, QTextOption(Qt::AlignHCenter|Qt::AlignVCenter));
#ifndef Q_OS_MAC
p.drawText(QRect(-1, 0, rect.width(), rect.height()), str, QTextOption(Qt::AlignHCenter|Qt::AlignVCenter));
#endif
} else {
p.drawText(QRect(0, 0, rect.width(), rect.height()), QString(QChar(static_cast<int>(fontAwesomeIcon))), QTextOption(Qt::AlignCenter|Qt::AlignVCenter));
}
} else {
QSvgRenderer renderer;
QFile f(fileName);
Expand Down
2 changes: 2 additions & 0 deletions support/monoicon.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@
*/
namespace FontAwesome {
enum icon {
ex_one = 0x0001,

adjust = 0xf042,
adn = 0xf170,
aligncenter = 0xf037,
Expand Down
Loading

0 comments on commit ce8f485

Please sign in to comment.