Scale dialog icons based upon font settings

This commit is contained in:
craig.p.drummond
2013-02-27 19:40:10 +00:00
committed by craig.p.drummond
parent da2c719ebf
commit d5ce1a2cdf
6 changed files with 26 additions and 35 deletions

View File

@@ -28,8 +28,6 @@
#include "icon.h"
#include <QListWidget>
static const int constIconSize=48;
ServerPlaybackSettings::ServerPlaybackSettings(QWidget *p)
: QWidget(p)
{
@@ -45,8 +43,9 @@ ServerPlaybackSettings::ServerPlaybackSettings(QWidget *p)
connect(this, SIGNAL(setReplayGain(const QString &)), MPDConnection::self(), SLOT(setReplayGain(const QString &)));
connect(this, SIGNAL(setCrossFade(int)), MPDConnection::self(), SLOT(setCrossFade(int)));
connect(this, SIGNAL(getReplayGain()), MPDConnection::self(), SLOT(getReplayGain()));
messageIcon->setMinimumSize(constIconSize, constIconSize);
messageIcon->setMaximumSize(constIconSize, constIconSize);
int iconSize=Icon::dlgIconSize();
messageIcon->setMinimumSize(iconSize, iconSize);
messageIcon->setMaximumSize(iconSize, iconSize);
mpdConnectionStateChanged(MPDConnection::self()->isConnected());
#ifndef PHONON_FOUND
streamUrl->setVisible(false);
@@ -115,7 +114,7 @@ void ServerPlaybackSettings::mpdConnectionStateChanged(bool c)
streamUrl->setEnabled(c);
streamUrlLabel->setEnabled(c);
#endif
messageIcon->setPixmap(Icon(c ? "dialog-information" : "dialog-warning").pixmap(constIconSize, constIconSize));
messageIcon->setPixmap(Icon(c ? "dialog-information" : "dialog-warning").pixmap(messageIcon->minimumSize()));
if (c) {
messageLabel->setText(i18n("<i><b>Connected to %1</b><br/>The entries below apply to the currently connected MPD instance.</i>")
.arg(MPDConnection::self()->getDetails().description()));

View File

@@ -42,6 +42,16 @@ int Icon::stdSize(int v)
}
}
int Icon::dlgIconSize()
{
static int size=-1;
if (-1==size) {
size=stdSize(QApplication::fontMetrics().height()*3);
}
return size;
}
void Icon::init(QToolButton *btn, bool setFlat)
{
static int size=-1;

View File

@@ -53,6 +53,7 @@ public:
}
static int stdSize(int s);
static int dlgIconSize();
static void init(QToolButton *btn, bool setFlat=true);
#ifdef ENABLE_KDE_SUPPORT
static Icon getMediaIcon(const QString &name) {

View File

@@ -74,8 +74,6 @@ MessageBox::ButtonCode MessageBox::questionYesNoCancel(QWidget *parent, const QS
}
#endif
static const int constIconSize=48;
void MessageBox::failedList(QWidget *parent, const QString &message, const QStringList &strlist, const QString &title)
{
Dialog *dlg=new Dialog(parent);
@@ -85,9 +83,10 @@ void MessageBox::failedList(QWidget *parent, const QString &message, const QStri
QWidget *wid=new QWidget(dlg);
QGridLayout *lay=new QGridLayout(wid);
QLabel *iconLabel=new QLabel(wid);
iconLabel->setMinimumSize(constIconSize, constIconSize);
iconLabel->setMaximumSize(constIconSize, constIconSize);
iconLabel->setPixmap(Icon("dialog-error").pixmap(constIconSize, constIconSize));
int iconSize=Icon::dlgIconSize();
iconLabel->setMinimumSize(iconSize, iconSize);
iconLabel->setMaximumSize(iconSize, iconSize);
iconLabel->setPixmap(Icon("dialog-error").pixmap(iconSize, iconSize));
lay->addWidget(iconLabel, 0, 0, 1, 1);
lay->addWidget(new QLabel(message, wid), 0, 1, 1, 1);
QListWidget *list=new QListWidget(wid);

View File

@@ -22,11 +22,7 @@
*/
#include "actionlabel.h"
#ifdef ENABLE_KDE_SUPPORT
#include <KDE/KIconLoader>
#else
#include <QIcon>
#endif
#include "icon.h"
#include <QLabel>
#include <QTimer>
#include <QPixmap>
@@ -57,18 +53,15 @@ static QPixmap *theIcons[constNumIcons];
ActionLabel::ActionLabel(QWidget *parent)
: QLabel(parent)
{
static const int constIconSize(64);
int iconSize=Icon::dlgIconSize();
int labelSize=Icon::stdSize((int)((iconSize*1.333333333)+0.5));
setMinimumSize(constIconSize, constIconSize);
setMaximumSize(constIconSize, constIconSize);
setMinimumSize(labelSize, labelSize);
setMaximumSize(labelSize, labelSize);
setAlignment(Qt::AlignCenter);
if(0==theUsageCount++) {
#ifdef ENABLE_KDE_SUPPORT
QImage img(KIconLoader::global()->loadIcon("audio-x-generic", KIconLoader::NoGroup, 48).toImage());
#else
QImage img(QIcon::fromTheme("audio-x-generic").pixmap(48, 48).toImage());
#endif
QImage img(Icon::fromTheme("audio-x-generic").pixmap(iconSize, iconSize).toImage());
double increment=360.0/constNumIcons;
for(int i=0; i<constNumIcons; ++i) {

View File

@@ -50,18 +50,7 @@ void GroupedView::setup()
if (height>17) {
constCoverSize=((int)((height*2)/4))*4;
constIconSize=((int)(height/4))*4;
if (constIconSize<20) {
constIconSize=16;
} else if (constIconSize<28) {
constIconSize=22;
} else if (constIconSize<40) {
constIconSize=32;
} else if (constIconSize<56) {
constIconSize=48;
} else {
constIconSize=64;
}
constIconSize=Icon::stdSize(((int)(height/4))*4);
constBorder=constCoverSize>48 ? 2 : 1;
} else {
constCoverSize=32;