Remove 'Auto' cover size setting. Now cover sizes are based upon setting and font size.

This commit is contained in:
craig.p.drummond
2013-02-07 18:47:50 +00:00
committed by craig.p.drummond
parent a54b2fef00
commit 4e48b6b9ff
5 changed files with 21 additions and 35 deletions

View File

@@ -77,6 +77,8 @@
folder. (Only if 'save downloaded covers in music folder' is enabled)
45. Work-around issues with some styles (e.g. QGtkStyle) and a large number of
items in the genre combos.
46. Remove 'Auto' cover size setting. Now cover sizes are based upon setting
and font size.
0.9.2
-----

View File

@@ -37,7 +37,6 @@ static void addImageSizes(QComboBox *box)
box->addItem(i18n("Medium"), MusicLibraryItemAlbum::CoverMedium);
box->addItem(i18n("Large"), MusicLibraryItemAlbum::CoverLarge);
box->addItem(i18n("Extra Large"), MusicLibraryItemAlbum::CoverExtraLarge);
box->addItem(i18n("Automatic"), MusicLibraryItemAlbum::CoverAuto);
}
static void addViewTypes(QComboBox *box, bool iconMode=false, bool groupedTree=false)

View File

@@ -387,12 +387,14 @@ bool Settings::libraryArtistImage()
int Settings::libraryCoverSize()
{
return GET_INT("libraryCoverSize", (int)(MusicLibraryItemAlbum::CoverMedium));
int size=GET_INT("libraryCoverSize", (int)(MusicLibraryItemAlbum::CoverMedium));
return size>MusicLibraryItemAlbum::CoverExtraLarge || size<0 ? MusicLibraryItemAlbum::CoverMedium : size;
}
int Settings::albumsCoverSize()
{
return GET_INT("albumsCoverSize", (int)(MusicLibraryItemAlbum::CoverMedium));
int size=GET_INT("albumsCoverSize", (int)(MusicLibraryItemAlbum::CoverMedium));
return size>MusicLibraryItemAlbum::CoverExtraLarge || size<0 ? MusicLibraryItemAlbum::CoverMedium : size;
}
int Settings::albumSort()

View File

@@ -47,48 +47,32 @@ static QPixmap *theDefaultLargeIcon=0;
static bool useDate=false;
static QSize iconItemSize;
static inline int adjust(int v, int step)
static inline int adjust(int v)
{
return (((int)(v/step))*step)+((v%step) ? step : 0);
if (v>48) {
static const int constStep=4;
return (((int)(v/constStep))*constStep)+((v%constStep) ? constStep : 0);
} else {
return Icon::stdSize(v);
}
}
static int autoListSize=32;
static int autoIconSize=128;
static int setSize(int size, bool iconMode)
{
for (int i=MusicLibraryItemAlbum::CoverSmall; i<=MusicLibraryItemAlbum::CoverAuto; ++i) {
int icnSize=MusicLibraryItemAlbum::iconSize((MusicLibraryItemAlbum::CoverSize)i, iconMode);
if (size<=icnSize) {
size=icnSize;
break;
}
}
if (autoIconSize>MusicLibraryItemAlbum::iconSize(MusicLibraryItemAlbum::CoverExtraLarge, iconMode)) {
size=adjust(size, 4);
}
return size;
}
static int fontHeight=16;
void MusicLibraryItemAlbum::setup()
{
int height=QApplication::fontMetrics().height();
autoListSize=setSize(height*2, false);
autoIconSize=setSize(height*6, true);
fontHeight=QApplication::fontMetrics().height();
}
int MusicLibraryItemAlbum::iconSize(MusicLibraryItemAlbum::CoverSize sz, bool iconMode)
{
switch (sz) {
default:
case CoverNone: return 0;
case CoverSmall: return iconMode ? 76 : 22;
case CoverMedium: return iconMode ? 100 : 32;
case CoverLarge: return iconMode ? 128 : 48;
case CoverExtraLarge: return iconMode ? 160 : 64;
case CoverAuto: return iconMode ? autoIconSize : autoListSize;
case CoverSmall: return adjust((iconMode ? 4.75 : 1.375)*fontHeight);
default:
case CoverMedium: return adjust((iconMode ? 6.25 : 2)*fontHeight);
case CoverLarge: return adjust((iconMode ? 8 : 3)*fontHeight);
case CoverExtraLarge: return adjust((iconMode ? 10 : 4)*fontHeight);
}
}

View File

@@ -45,8 +45,7 @@ public:
CoverSmall = 1,
CoverMedium = 2,
CoverLarge = 3,
CoverExtraLarge = 4,
CoverAuto = 5
CoverExtraLarge = 4
};
static void setup();