diff --git a/3rdparty/fancytabwidget/stylehelper.cpp b/3rdparty/fancytabwidget/stylehelper.cpp deleted file mode 100644 index d6a5d5464..000000000 --- a/3rdparty/fancytabwidget/stylehelper.cpp +++ /dev/null @@ -1,485 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** Commercial Usage -** -** Licensees holding valid Qt Commercial licenses may use this file in -** accordance with the Qt Commercial License Agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Nokia. -** -** GNU Lesser General Public License Usage -** -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** If you are unsure which license is appropriate for your use, please -** contact the sales department at http://qt.nokia.com/contact. -** -**************************************************************************/ - -#include "stylehelper.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -// Clamps float color values within (0, 255) -static int clamp(float x) -{ - const int val = x > 255 ? 255 : static_cast(x); - return val < 0 ? 0 : val; -} - -// Clamps float color values within (0, 255) -/* -static int range(float x, int min, int max) -{ - int val = x > max ? max : x; - return val < min ? min : val; -} -*/ - -namespace Utils { - -QColor StyleHelper::mergedColors(const QColor &colorA, const QColor &colorB, int factor) -{ - const int maxFactor = 100; - QColor tmp = colorA; - tmp.setRed((tmp.red() * factor) / maxFactor + (colorB.red() * (maxFactor - factor)) / maxFactor); - tmp.setGreen((tmp.green() * factor) / maxFactor + (colorB.green() * (maxFactor - factor)) / maxFactor); - tmp.setBlue((tmp.blue() * factor) / maxFactor + (colorB.blue() * (maxFactor - factor)) / maxFactor); - return tmp; -} - -qreal StyleHelper::sidebarFontSize() -{ -#if defined(Q_WS_MAC) - return 10; -#else - return 7.5; -#endif -} - -QPalette StyleHelper::sidebarFontPalette(const QPalette &original) -{ - QPalette palette = original; - palette.setColor(QPalette::Active, QPalette::Text, panelTextColor()); - palette.setColor(QPalette::Active, QPalette::WindowText, panelTextColor()); - palette.setColor(QPalette::Inactive, QPalette::Text, panelTextColor().darker()); - palette.setColor(QPalette::Inactive, QPalette::WindowText, panelTextColor().darker()); - return palette; -} - -QColor StyleHelper::panelTextColor(bool lightColored) -{ - //qApp->palette().highlightedText().color(); - if (!lightColored) - return Qt::white; - else - return Qt::black; -} - -// Invalid by default, setBaseColor needs to be called at least once -QColor StyleHelper::m_baseColor; -QColor StyleHelper::m_requestedBaseColor; - -QColor StyleHelper::baseColor(bool lightColored) -{ - if (!lightColored) - return m_baseColor; - else - return m_baseColor.lighter(230); -} - -QColor StyleHelper::highlightColor(bool lightColored) -{ - QColor result = baseColor(lightColored); - if (!lightColored) - result.setHsv(result.hue(), - clamp(result.saturation()), - clamp(result.value() * 1.16)); - else - result.setHsv(result.hue(), - clamp(result.saturation()), - clamp(result.value() * 1.06)); - return result; -} - -QColor StyleHelper::shadowColor(bool lightColored) -{ - QColor result = baseColor(lightColored); - result.setHsv(result.hue(), - clamp(result.saturation() * 1.1), - clamp(result.value() * 0.70)); - return result; -} - -QColor StyleHelper::borderColor(bool lightColored) -{ - QColor result = baseColor(lightColored); - result.setHsv(result.hue(), - result.saturation(), - result.value() / 2); - return result; -} - -// We try to ensure that the actual color used are within -// reasonalbe bounds while generating the actual baseColor -// from the users request. -void StyleHelper::setBaseColor(const QColor &newcolor) -{ - m_requestedBaseColor = newcolor; - - QColor color; - color.setHsv(newcolor.hue(), - newcolor.saturation() * 0.7, - 64 + newcolor.value() / 3); - - if (color.isValid() && color != m_baseColor) { - m_baseColor = color; - foreach (QWidget *w, QApplication::topLevelWidgets()) - w->update(); - } -} - -static void verticalGradientHelper(QPainter *p, const QRect &spanRect, const QRect &rect, bool lightColored) -{ - QColor highlight = StyleHelper::highlightColor(lightColored); - QColor shadow = StyleHelper::shadowColor(lightColored); - QLinearGradient grad(spanRect.topRight(), spanRect.topLeft()); - grad.setColorAt(0, highlight.lighter(117)); - grad.setColorAt(1, shadow.darker(109)); - p->fillRect(rect, grad); - - QColor light(255, 255, 255, 80); - p->setPen(light); - p->drawLine(rect.topRight() - QPoint(1, 0), rect.bottomRight() - QPoint(1, 0)); - QColor dark(0, 0, 0, 90); - p->setPen(dark); - p->drawLine(rect.topLeft(), rect.bottomLeft()); -} - -void StyleHelper::verticalGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect, bool lightColored) -{ - if (StyleHelper::usePixmapCache()) { - QString key; - QColor keyColor = baseColor(lightColored); - key.sprintf("mh_vertical %d %d %d %d %d", - spanRect.width(), spanRect.height(), clipRect.width(), - clipRect.height(), keyColor.rgb());; - - QPixmap pixmap; - if (!QPixmapCache::find(key, pixmap)) { - pixmap = QPixmap(clipRect.size()); - QPainter p(&pixmap); - QRect rect(0, 0, clipRect.width(), clipRect.height()); - verticalGradientHelper(&p, spanRect, rect, lightColored); - p.end(); - QPixmapCache::insert(key, pixmap); - } - - painter->drawPixmap(clipRect.topLeft(), pixmap); - } else { - verticalGradientHelper(painter, spanRect, clipRect, lightColored); - } -} - -static void horizontalGradientHelper(QPainter *p, const QRect &spanRect, const -QRect &rect, bool lightColored) -{ - if (lightColored) { - QLinearGradient shadowGradient(rect.topLeft(), rect.bottomLeft()); - shadowGradient.setColorAt(0, 0xf0f0f0); - shadowGradient.setColorAt(1, 0xcfcfcf); - p->fillRect(rect, shadowGradient); - return; - } - - QColor base = StyleHelper::baseColor(lightColored); - QColor highlight = StyleHelper::highlightColor(lightColored); - QColor shadow = StyleHelper::shadowColor(lightColored); - QLinearGradient grad(rect.topLeft(), rect.bottomLeft()); - grad.setColorAt(0, highlight.lighter(120)); - if (rect.height() == StyleHelper::navigationWidgetHeight()) { - grad.setColorAt(0.4, highlight); - grad.setColorAt(0.401, base); - } - grad.setColorAt(1, shadow); - p->fillRect(rect, grad); - - QLinearGradient shadowGradient(spanRect.topLeft(), spanRect.topRight()); - shadowGradient.setColorAt(0, QColor(0, 0, 0, 30)); - QColor lighterHighlight; - if (!lightColored) - lighterHighlight = highlight.lighter(130); - else - lighterHighlight = highlight.lighter(90); - lighterHighlight.setAlpha(100); - shadowGradient.setColorAt(0.7, lighterHighlight); - shadowGradient.setColorAt(1, QColor(0, 0, 0, 40)); - p->fillRect(rect, shadowGradient); -} - -void StyleHelper::horizontalGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect, bool lightColored) -{ - if (StyleHelper::usePixmapCache()) { - QString key; - QColor keyColor = baseColor(lightColored); - key.sprintf("mh_horizontal %d %d %d %d %d %d", - spanRect.width(), spanRect.height(), clipRect.width(), - clipRect.height(), keyColor.rgb(), spanRect.x()); - - QPixmap pixmap; - if (!QPixmapCache::find(key, pixmap)) { - pixmap = QPixmap(clipRect.size()); - QPainter p(&pixmap); - QRect rect = QRect(0, 0, clipRect.width(), clipRect.height()); - horizontalGradientHelper(&p, spanRect, rect, lightColored); - p.end(); - QPixmapCache::insert(key, pixmap); - } - - painter->drawPixmap(clipRect.topLeft(), pixmap); - - } else { - horizontalGradientHelper(painter, spanRect, clipRect, lightColored); - } -} - -static void menuGradientHelper(QPainter *p, const QRect &spanRect, const QRect &rect) -{ - QLinearGradient grad(spanRect.topLeft(), spanRect.bottomLeft()); - QColor menuColor = StyleHelper::mergedColors(StyleHelper::baseColor(), QColor(244, 244, 244), 25); - grad.setColorAt(0, menuColor.lighter(112)); - grad.setColorAt(1, menuColor); - p->fillRect(rect, grad); -} - -void StyleHelper::drawArrow(QStyle::PrimitiveElement element, QPainter *painter, const QStyleOption *option) -{ - // From windowsstyle but modified to enable AA - if (option->rect.width() <= 1 || option->rect.height() <= 1) - return; - - QRect r = option->rect; - int size = qMin(r.height(), r.width()); - QPixmap pixmap; - QString pixmapName; - pixmapName.sprintf("arrow-%s-%d-%d-%d-%lld", - "$qt_ia", - uint(option->state), element, - size, option->palette.cacheKey()); - if (!QPixmapCache::find(pixmapName, pixmap)) { - int border = size/5; - int sqsize = 2*(size/2); - QImage image(sqsize, sqsize, QImage::Format_ARGB32); - image.fill(Qt::transparent); - QPainter imagePainter(&image); - imagePainter.setRenderHint(QPainter::Antialiasing, true); - imagePainter.translate(0.5, 0.5); - QPolygon a; - switch (element) { - case QStyle::PE_IndicatorArrowUp: - a.setPoints(3, border, sqsize/2, sqsize/2, border, sqsize - border, sqsize/2); - break; - case QStyle::PE_IndicatorArrowDown: - a.setPoints(3, border, sqsize/2, sqsize/2, sqsize - border, sqsize - border, sqsize/2); - break; - case QStyle::PE_IndicatorArrowRight: - a.setPoints(3, sqsize - border, sqsize/2, sqsize/2, border, sqsize/2, sqsize - border); - break; - case QStyle::PE_IndicatorArrowLeft: - a.setPoints(3, border, sqsize/2, sqsize/2, border, sqsize/2, sqsize - border); - break; - default: - break; - } - - int bsx = 0; - int bsy = 0; - - if (option->state & QStyle::State_Sunken) { - bsx = qApp->style()->pixelMetric(QStyle::PM_ButtonShiftHorizontal); - bsy = qApp->style()->pixelMetric(QStyle::PM_ButtonShiftVertical); - } - - QRect bounds = a.boundingRect(); - int sx = sqsize / 2 - bounds.center().x() - 1; - int sy = sqsize / 2 - bounds.center().y() - 1; - imagePainter.translate(sx + bsx, sy + bsy); - - if (!(option->state & QStyle::State_Enabled)) { - QColor foreGround(150, 150, 150, 150); - imagePainter.setBrush(option->palette.mid().color()); - imagePainter.setPen(option->palette.mid().color()); - } else { - QColor shadow(0, 0, 0, 100); - imagePainter.translate(0, 1); - imagePainter.setPen(shadow); - imagePainter.setBrush(shadow); - QColor foreGround(255, 255, 255, 210); - imagePainter.drawPolygon(a); - imagePainter.translate(0, -1); - imagePainter.setPen(foreGround); - imagePainter.setBrush(foreGround); - } - imagePainter.drawPolygon(a); - imagePainter.end(); - pixmap = QPixmap::fromImage(image); - QPixmapCache::insert(pixmapName, pixmap); - } - int xOffset = r.x() + (r.width() - size)/2; - int yOffset = r.y() + (r.height() - size)/2; - painter->drawPixmap(xOffset, yOffset, pixmap); -} - -void StyleHelper::menuGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect) -{ - if (StyleHelper::usePixmapCache()) { - QString key; - key.sprintf("mh_menu %d %d %d %d %d", - spanRect.width(), spanRect.height(), clipRect.width(), - clipRect.height(), StyleHelper::baseColor().rgb()); - - QPixmap pixmap; - if (!QPixmapCache::find(key, pixmap)) { - pixmap = QPixmap(clipRect.size()); - QPainter p(&pixmap); - QRect rect = QRect(0, 0, clipRect.width(), clipRect.height()); - menuGradientHelper(&p, spanRect, rect); - p.end(); - QPixmapCache::insert(key, pixmap); - } - - painter->drawPixmap(clipRect.topLeft(), pixmap); - } else { - menuGradientHelper(painter, spanRect, clipRect); - } -} - -// Draws a cached pixmap with shadow -void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, - QPainter *p, QIcon::Mode iconMode, int radius, const QColor &color, const QPoint &offset) -{ - QPixmap cache; - QString pixmapName = QString("icon %0 %1 %2").arg(icon.cacheKey()).arg(iconMode).arg(rect.height()); - - if (!QPixmapCache::find(pixmapName, cache)) { - QPixmap px = icon.pixmap(rect.size()); - cache = QPixmap(px.size() + QSize(radius * 2, radius * 2)); - cache.fill(Qt::transparent); - - QPainter cachePainter(&cache); - if (iconMode == QIcon::Disabled) { - QImage im = px.toImage().convertToFormat(QImage::Format_ARGB32); - for (int y=0; ydrawPixmap(targetRect.topLeft() - offset, cache); -} - -// Draws a CSS-like border image where the defined borders are not stretched -void StyleHelper::drawCornerImage(const QImage &img, QPainter *painter, QRect rect, - int left, int top, int right, int bottom) -{ - QSize size = img.size(); - if (top > 0) { //top - painter->drawImage(QRect(rect.left() + left, rect.top(), rect.width() -right - left, top), img, - QRect(left, 0, size.width() -right - left, top)); - if (left > 0) //top-left - painter->drawImage(QRect(rect.left(), rect.top(), left, top), img, - QRect(0, 0, left, top)); - if (right > 0) //top-right - painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top(), right, top), img, - QRect(size.width() - right, 0, right, top)); - } - //left - if (left > 0) - painter->drawImage(QRect(rect.left(), rect.top()+top, left, rect.height() - top - bottom), img, - QRect(0, top, left, size.height() - bottom - top)); - //center - painter->drawImage(QRect(rect.left() + left, rect.top()+top, rect.width() -right - left, - rect.height() - bottom - top), img, - QRect(left, top, size.width() -right -left, - size.height() - bottom - top)); - if (right > 0) //right - painter->drawImage(QRect(rect.left() +rect.width() - right, rect.top()+top, right, rect.height() - top - bottom), img, - QRect(size.width() - right, top, right, size.height() - bottom - top)); - if (bottom > 0) { //bottom - painter->drawImage(QRect(rect.left() +left, rect.top() + rect.height() - bottom, - rect.width() - right - left, bottom), img, - QRect(left, size.height() - bottom, - size.width() - right - left, bottom)); - if (left > 0) //bottom-left - painter->drawImage(QRect(rect.left(), rect.top() + rect.height() - bottom, left, bottom), img, - QRect(0, size.height() - bottom, left, bottom)); - if (right > 0) //bottom-right - painter->drawImage(QRect(rect.left() + rect.width() - right, rect.top() + rect.height() - bottom, right, bottom), img, - QRect(size.width() - right, size.height() - bottom, right, bottom)); - } -} - -} // namespace Utils diff --git a/CMakeLists.txt b/CMakeLists.txt index 66fa16d40..e0c10bca9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -92,7 +92,6 @@ include_directories(${GLIB_INCLUDE_DIRS}) include_directories(${GLIBCONFIG_INCLUDE_DIRS}) include_directories(${LIBXML_INCLUDE_DIRS}) include_directories(${LASTFM_INCLUDE_DIRS}) -include_directories("3rdparty/fancytabwidget") include_directories("3rdparty/qsqlite") include_directories("3rdparty/universalchardet") @@ -216,7 +215,6 @@ if (WIN32) add_subdirectory(3rdparty/qtwin) endif (WIN32) add_subdirectory(3rdparty/universalchardet) -add_subdirectory(3rdparty/fancytabwidget) add_subdirectory(3rdparty/libechonest) add_subdirectory(tests) add_subdirectory(dist) diff --git a/debian/copyright b/debian/copyright index 265d3ee1c..2549af468 100644 --- a/debian/copyright +++ b/debian/copyright @@ -34,6 +34,11 @@ Copyright: 2003, Mark Kretschmann 2005, Gábor Lehel License: GPL-2+ +Files: src/widgets/fancytabwidget.* + src/widgets/stylehelper.* +Copyright: 2010, Nokia Corporation +License: Qt Commercial or LGPL-2.1 + Files: src/analyzers/analyzerbase.* src/analyzers/blockanalyzer.* src/analyzers/baranalyzer.* diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bc10b1639..c32dd7843 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -165,6 +165,7 @@ set(SOURCES widgets/elidedlabel.cpp widgets/equalizerslider.cpp widgets/errordialog.cpp + widgets/fancytabwidget.cpp widgets/fileview.cpp widgets/fileviewlist.cpp widgets/freespacebar.cpp @@ -181,6 +182,7 @@ set(SOURCES widgets/spinbox.cpp widgets/stickyslider.cpp widgets/stretchheaderview.cpp + widgets/stylehelper.cpp widgets/trackslider.cpp widgets/tracksliderslider.cpp widgets/widgetfadehelper.cpp @@ -304,6 +306,7 @@ set(HEADERS widgets/elidedlabel.h widgets/equalizerslider.h widgets/errordialog.h + widgets/fancytabwidget.h widgets/fileview.h widgets/fileviewlist.h widgets/freespacebar.h @@ -701,7 +704,6 @@ add_dependencies(clementine_lib pot) target_link_libraries(clementine_lib chardet - fancytabwidget echonest ${GOBJECT_LIBRARIES} ${GLIB_LIBRARIES} diff --git a/src/translations/ar.po b/src/translations/ar.po index 906d6c293..4ba09b286 100644 --- a/src/translations/ar.po +++ b/src/translations/ar.po @@ -924,6 +924,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1001,6 +1004,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1680,6 +1686,9 @@ msgstr "تجاهل اللاحق في قائمة التشغيل" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1745,6 +1754,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/bg.po b/src/translations/bg.po index aedbde0a6..66fc32950 100644 --- a/src/translations/bg.po +++ b/src/translations/bg.po @@ -925,6 +925,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1002,6 +1005,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1681,6 +1687,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1746,6 +1755,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/ca.po b/src/translations/ca.po index ac6ddb400..a5a6f9b7b 100644 --- a/src/translations/ca.po +++ b/src/translations/ca.po @@ -949,6 +949,9 @@ msgstr "No tinc cap compte a Magnatune" msgid "Icon" msgstr "Icona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1027,6 +1030,9 @@ msgstr "Gran Saló" msgid "Large album cover" msgstr "Caràtula gran de l'àlbum" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1710,6 +1716,9 @@ msgstr "Salta endavant en la llista de reproducció" msgid "Small album cover" msgstr "Caràtula petita" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Suau" @@ -1775,6 +1784,9 @@ msgstr "" msgid "Supported formats" msgstr "Formats suportats" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Etiqueta" diff --git a/src/translations/cs.po b/src/translations/cs.po index 71f9605b9..5ae348bb3 100644 --- a/src/translations/cs.po +++ b/src/translations/cs.po @@ -928,6 +928,9 @@ msgstr "Nemám u Magnatune účet" msgid "Icon" msgstr "Ikona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1006,6 +1009,9 @@ msgstr "Velký sál" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1685,6 +1691,9 @@ msgstr "Přeskočit dopředu v seznamu skladeb" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Měkké" @@ -1750,6 +1759,9 @@ msgstr "" msgid "Supported formats" msgstr "Podporované formáty" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Značka" diff --git a/src/translations/da.po b/src/translations/da.po index 1f9e997d1..3f5b2ccc0 100644 --- a/src/translations/da.po +++ b/src/translations/da.po @@ -928,6 +928,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1007,6 +1010,9 @@ msgstr "Stor sal" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1688,6 +1694,9 @@ msgstr "Skip fremad i spillelisten" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1753,6 +1762,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Mærke" diff --git a/src/translations/de.po b/src/translations/de.po index 952149f03..97052ec2a 100644 --- a/src/translations/de.po +++ b/src/translations/de.po @@ -948,6 +948,9 @@ msgstr "Ich habe kein Magnatune-Konto" msgid "Icon" msgstr "Symbol" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1028,6 +1031,9 @@ msgstr "Großer Raum" msgid "Large album cover" msgstr "Großes Albumcover" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1711,6 +1717,9 @@ msgstr "Nächstes Stück in der Wiedergabeliste" msgid "Small album cover" msgstr "Kleines Albumcover" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1776,6 +1785,9 @@ msgstr "Sehr hoch (60 fps)" msgid "Supported formats" msgstr "Unterstützte Formate" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Stichwort" diff --git a/src/translations/el.po b/src/translations/el.po index d7e263688..dde100ff7 100644 --- a/src/translations/el.po +++ b/src/translations/el.po @@ -953,6 +953,9 @@ msgstr "Δεν έχω λογαριασμό Magnatune" msgid "Icon" msgstr "Εικονίδιο" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1033,6 +1036,9 @@ msgstr "Μεγάλη αίθουσα" msgid "Large album cover" msgstr "Μεγάλο εξώφυλλο άλμπουμ" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1714,6 +1720,9 @@ msgstr "Παράλειψη προς τα μπροστά στη λίστα" msgid "Small album cover" msgstr "Μικρό εξώφυλλο άλμπουμ" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Απαλή" @@ -1779,6 +1788,9 @@ msgstr "Υπέρ υψηλά (60 fps)" msgid "Supported formats" msgstr "Υποστηριζόμενες μορφές" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Ετικέτα" diff --git a/src/translations/en_CA.po b/src/translations/en_CA.po index 854a25e2a..8bcff947a 100644 --- a/src/translations/en_CA.po +++ b/src/translations/en_CA.po @@ -927,6 +927,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1005,6 +1008,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1685,6 +1691,9 @@ msgstr "Skip forwards in playlist" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1750,6 +1759,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/en_GB.po b/src/translations/en_GB.po index dccaa9315..f7e986653 100644 --- a/src/translations/en_GB.po +++ b/src/translations/en_GB.po @@ -925,6 +925,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1003,6 +1006,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1682,6 +1688,9 @@ msgstr "Skip forwards in playlist" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1747,6 +1756,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/es.po b/src/translations/es.po index 4cab720b3..44088a391 100644 --- a/src/translations/es.po +++ b/src/translations/es.po @@ -951,6 +951,9 @@ msgstr "No tengo una cuenta en Magnatune" msgid "Icon" msgstr "Ícono" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1032,6 +1035,9 @@ msgstr "Salón grande" msgid "Large album cover" msgstr "Caratula grande del álbum" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1715,6 +1721,9 @@ msgstr "Saltar hacia adelante en la lista de reproducción" msgid "Small album cover" msgstr "Caratula de álbum pequeña" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1780,6 +1789,9 @@ msgstr "Super alta (60 fps)" msgid "Supported formats" msgstr "Formatos soportados" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Etiqueta" diff --git a/src/translations/fi.po b/src/translations/fi.po index 02a0efaa2..177f3f9de 100644 --- a/src/translations/fi.po +++ b/src/translations/fi.po @@ -925,6 +925,9 @@ msgstr "Minulla ei ole Magnatune-tunnusta" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1003,6 +1006,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1683,6 +1689,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1748,6 +1757,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tunniste" diff --git a/src/translations/fr.po b/src/translations/fr.po index 92c029974..8a5aa3450 100644 --- a/src/translations/fr.po +++ b/src/translations/fr.po @@ -956,6 +956,9 @@ msgstr "Je ne possède pas de compte Magnatune" msgid "Icon" msgstr "Icône" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1034,6 +1037,9 @@ msgstr "Large Salle" msgid "Large album cover" msgstr "Grande jaquette d'album" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1719,6 +1725,9 @@ msgstr "Lire la piste suivante" msgid "Small album cover" msgstr "Petite jaquette d'album" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1784,6 +1793,9 @@ msgstr "Très haute (60 fps)" msgid "Supported formats" msgstr "Formats supportés" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/gl.po b/src/translations/gl.po index d551c11d1..460358d9f 100644 --- a/src/translations/gl.po +++ b/src/translations/gl.po @@ -929,6 +929,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1007,6 +1010,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1687,6 +1693,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1752,6 +1761,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/hu.po b/src/translations/hu.po index 2bc4bbcd5..928eac536 100644 --- a/src/translations/hu.po +++ b/src/translations/hu.po @@ -946,6 +946,9 @@ msgstr "Nincs Magnatune fiókom" msgid "Icon" msgstr "Ikon" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1026,6 +1029,9 @@ msgstr "Nagy terem" msgid "Large album cover" msgstr "Nagy albumborító" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1709,6 +1715,9 @@ msgstr "Léptetés előre a lejátszási listában" msgid "Small album cover" msgstr "Kis albumborító" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Lágy" @@ -1774,6 +1783,9 @@ msgstr "Nagyon gyors (60 fps)" msgid "Supported formats" msgstr "Támogatott formátumok" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Címke" diff --git a/src/translations/it.po b/src/translations/it.po index e6edd293d..a59b54232 100644 --- a/src/translations/it.po +++ b/src/translations/it.po @@ -954,6 +954,9 @@ msgstr "Non ho un account Magnatune" msgid "Icon" msgstr "Icona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1035,6 +1038,9 @@ msgstr "Sala grande" msgid "Large album cover" msgstr "Copertina grande" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1719,6 +1725,9 @@ msgstr "Salta in avanti nella scaletta" msgid "Small album cover" msgstr "Copertine piccole" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Leggere" @@ -1784,6 +1793,9 @@ msgstr "Altissima (60 fps)" msgid "Supported formats" msgstr "Formati supportati" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/kk.po b/src/translations/kk.po index 88fa7aece..6a0a0de78 100644 --- a/src/translations/kk.po +++ b/src/translations/kk.po @@ -924,6 +924,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1003,6 +1006,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1682,6 +1688,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1747,6 +1756,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/lt.po b/src/translations/lt.po index 41a9d2fbb..f0f3eef3d 100644 --- a/src/translations/lt.po +++ b/src/translations/lt.po @@ -925,6 +925,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1002,6 +1005,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1681,6 +1687,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1746,6 +1755,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/nb.po b/src/translations/nb.po index 1e15b8436..4cf33afe5 100644 --- a/src/translations/nb.po +++ b/src/translations/nb.po @@ -926,6 +926,9 @@ msgstr "" msgid "Icon" msgstr "Ikon" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1005,6 +1008,9 @@ msgstr "Storsal" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1684,6 +1690,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Myk" @@ -1749,6 +1758,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Merkelapp" diff --git a/src/translations/nl.po b/src/translations/nl.po index 44c51eebb..03bad8c18 100644 --- a/src/translations/nl.po +++ b/src/translations/nl.po @@ -949,6 +949,9 @@ msgstr "Ik heb geen Magnatune-account" msgid "Icon" msgstr "Pictogram" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1030,6 +1033,9 @@ msgstr "Grote hal" msgid "Large album cover" msgstr "Grote albumhoes" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1714,6 +1720,9 @@ msgstr "Vooruit in afspeellijst" msgid "Small album cover" msgstr "Kleine albumhoes" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Zacht" @@ -1779,6 +1788,9 @@ msgstr "Super hoog (60 fps)" msgid "Supported formats" msgstr "Ondersteunde formaten" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/oc.po b/src/translations/oc.po index 5d8f0e31c..5ed030e55 100644 --- a/src/translations/oc.po +++ b/src/translations/oc.po @@ -924,6 +924,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1001,6 +1004,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1680,6 +1686,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1745,6 +1754,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Etiqueta" diff --git a/src/translations/pl.po b/src/translations/pl.po index 657f859fc..8966d936b 100644 --- a/src/translations/pl.po +++ b/src/translations/pl.po @@ -947,6 +947,9 @@ msgstr "Nie posiadam konta w Magnatune" msgid "Icon" msgstr "Ikona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1027,6 +1030,9 @@ msgstr "Duża hala" msgid "Large album cover" msgstr "Duża okładka albumu" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1710,6 +1716,9 @@ msgstr "Przeskocz w przód w liście odtwarzania" msgid "Small album cover" msgstr "Mała okładka albumu" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Miękki" @@ -1775,6 +1784,9 @@ msgstr "Bardzo wyska jakość (60 fps)" msgid "Supported formats" msgstr "Obsługiwane formaty" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Znacznik" diff --git a/src/translations/pt.po b/src/translations/pt.po index bb80c7a84..2a1732adb 100644 --- a/src/translations/pt.po +++ b/src/translations/pt.po @@ -947,6 +947,9 @@ msgstr "Não tenho uma conta Magnatune" msgid "Icon" msgstr "Ícone" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1027,6 +1030,9 @@ msgstr "Sala ampla" msgid "Large album cover" msgstr "Capa de álbum grande" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1711,6 +1717,9 @@ msgstr "Avançar na lista de reprodução" msgid "Small album cover" msgstr "Capa de álbum pequena" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Suave" @@ -1776,6 +1785,9 @@ msgstr "Elevada (60 fps)" msgid "Supported formats" msgstr "Formatos suportados" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Etiqueta" diff --git a/src/translations/pt_BR.po b/src/translations/pt_BR.po index 11676ac37..92f7eee0b 100644 --- a/src/translations/pt_BR.po +++ b/src/translations/pt_BR.po @@ -938,6 +938,9 @@ msgstr "Eu não tenho uma conta no Magnatune" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1016,6 +1019,9 @@ msgstr "Grande Salão" msgid "Large album cover" msgstr "Capa grande de álbum" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1699,6 +1705,9 @@ msgstr "Pular para a próxima música da lista" msgid "Small album cover" msgstr "Capa pequena de álbum" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Suave" @@ -1764,6 +1773,9 @@ msgstr "Super alto (60 fps)" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Marcador" diff --git a/src/translations/ro.po b/src/translations/ro.po index b2fed7dc9..10baa02a0 100644 --- a/src/translations/ro.po +++ b/src/translations/ro.po @@ -924,6 +924,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1002,6 +1005,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1681,6 +1687,9 @@ msgstr "Sare în listă înainte" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1746,6 +1755,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/ru.po b/src/translations/ru.po index 57117afda..00dcf15ff 100644 --- a/src/translations/ru.po +++ b/src/translations/ru.po @@ -940,6 +940,9 @@ msgstr "У меня нет учётной записи Magnatune" msgid "Icon" msgstr "Значок" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1021,6 +1024,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "Большая обложка альбома" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1703,6 +1709,9 @@ msgstr "Переместить вперед в списке воспроизве msgid "Small album cover" msgstr "Маленькая обложка альбома" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1768,6 +1777,9 @@ msgstr "Очень высокая (60 fps)" msgid "Supported formats" msgstr "Поддерживаемые форматы" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Тег" diff --git a/src/translations/sk.po b/src/translations/sk.po index b2864ef91..920458702 100644 --- a/src/translations/sk.po +++ b/src/translations/sk.po @@ -944,6 +944,9 @@ msgstr "Nemám Magnatune účet" msgid "Icon" msgstr "Ikona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1024,6 +1027,9 @@ msgstr "Large Hall" msgid "Large album cover" msgstr "Veľký obal albumu" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1704,6 +1710,9 @@ msgstr "Preskočiť dopredu v playliste" msgid "Small album cover" msgstr "Malý obal albumu" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1769,6 +1778,9 @@ msgstr "Super vysoký (60 fps)" msgid "Supported formats" msgstr "Podporované formáty" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tag" diff --git a/src/translations/sl.po b/src/translations/sl.po index c11f76cb9..2dc2f1a02 100644 --- a/src/translations/sl.po +++ b/src/translations/sl.po @@ -943,6 +943,9 @@ msgstr "Nimam računa Magnatune" msgid "Icon" msgstr "Ikona" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1023,6 +1026,9 @@ msgstr "Velika dvorana" msgid "Large album cover" msgstr "Velik ovitek albuma" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1704,6 +1710,9 @@ msgstr "Skoči naprej po seznamu predvajanja" msgid "Small album cover" msgstr "Majhen ovitek albuma" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1769,6 +1778,9 @@ msgstr "Zelo visoka (60fps)" msgid "Supported formats" msgstr "Podprte vrste" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Oznaka" diff --git a/src/translations/sr.po b/src/translations/sr.po index 2eea65722..bf6945c0f 100644 --- a/src/translations/sr.po +++ b/src/translations/sr.po @@ -928,6 +928,9 @@ msgstr "Немам налог на Мегатјуну" msgid "Icon" msgstr "Икона" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1006,6 +1009,9 @@ msgstr "Велика дворана" msgid "Large album cover" msgstr "Велики омот албума" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "ЛастФМ" @@ -1686,6 +1692,9 @@ msgstr "Прескочи унапред у листи нумера" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1751,6 +1760,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Ознака" diff --git a/src/translations/sv.po b/src/translations/sv.po index 2dc483e0b..5052d2e8c 100644 --- a/src/translations/sv.po +++ b/src/translations/sv.po @@ -933,6 +933,9 @@ msgstr "Jag har inte ett Magnatune-konto" msgid "Icon" msgstr "Ikon" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1011,6 +1014,9 @@ msgstr "Stort rum" msgid "Large album cover" msgstr "Stor omslagsbild" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1690,6 +1696,9 @@ msgstr "Gå framåt i spellista" msgid "Small album cover" msgstr "Liten omslagsbild" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Soft" @@ -1755,6 +1764,9 @@ msgstr "Super hög (60 fps)" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Tagg" diff --git a/src/translations/tr.po b/src/translations/tr.po index 66e19efba..bf00b1adc 100644 --- a/src/translations/tr.po +++ b/src/translations/tr.po @@ -943,6 +943,9 @@ msgstr "Magnatune hesabım yok" msgid "Icon" msgstr "Simge" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1024,6 +1027,9 @@ msgstr "Geniş Salon" msgid "Large album cover" msgstr "Geniş albüm kapağı" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1707,6 +1713,9 @@ msgstr "Parça listesinde ileri git" msgid "Small album cover" msgstr "Küçük albüm kapağı" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Hafif" @@ -1772,6 +1781,9 @@ msgstr "Süper yüksek (60 fps)" msgid "Supported formats" msgstr "Desteklenen biçimler" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Etiket" diff --git a/src/translations/translations.pot b/src/translations/translations.pot index 70f3b9ff1..a7dd3310f 100644 --- a/src/translations/translations.pot +++ b/src/translations/translations.pot @@ -915,6 +915,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -992,6 +995,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1671,6 +1677,9 @@ msgstr "" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1736,6 +1745,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/uk.po b/src/translations/uk.po index b8d62c1a4..bc69573d8 100644 --- a/src/translations/uk.po +++ b/src/translations/uk.po @@ -942,6 +942,9 @@ msgstr "У мене немає облікового запису на Magnatune" msgid "Icon" msgstr "Значок" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1023,6 +1026,9 @@ msgstr "Велика зала" msgid "Large album cover" msgstr "Велика обкладинка альбому" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1704,6 +1710,9 @@ msgstr "Перейти до наступної пісні у списку від msgid "Small album cover" msgstr "Маленька обкладинка альбому" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "Легка" @@ -1769,6 +1778,9 @@ msgstr "Дуже висока (60 к/с)" msgid "Supported formats" msgstr "Підтримувані формати" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "Позначка" diff --git a/src/translations/zh_CN.po b/src/translations/zh_CN.po index 10b6f73d8..58d4ae59a 100644 --- a/src/translations/zh_CN.po +++ b/src/translations/zh_CN.po @@ -924,6 +924,9 @@ msgstr "" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1001,6 +1004,9 @@ msgstr "" msgid "Large album cover" msgstr "" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "" @@ -1680,6 +1686,9 @@ msgstr "在播放列表中前进" msgid "Small album cover" msgstr "" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1745,6 +1754,9 @@ msgstr "" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "" diff --git a/src/translations/zh_TW.po b/src/translations/zh_TW.po index f3f30f5da..4ccdab4a0 100644 --- a/src/translations/zh_TW.po +++ b/src/translations/zh_TW.po @@ -929,6 +929,9 @@ msgstr "我沒有 Magnatune 帳號" msgid "Icon" msgstr "" +msgid "Icons on top" +msgstr "" + msgid "" "If you continue, this device will work slowly and songs copied to it may not " "work." @@ -1007,6 +1010,9 @@ msgstr "大館" msgid "Large album cover" msgstr "大專輯封面" +msgid "Large sidebar" +msgstr "" + msgid "Last.fm" msgstr "Last.fm" @@ -1686,6 +1692,9 @@ msgstr "跳至播放清單最後頭" msgid "Small album cover" msgstr "小專輯封面" +msgid "Small sidebar" +msgstr "" + msgid "Soft" msgstr "" @@ -1751,6 +1760,9 @@ msgstr "超高 (60 fps)" msgid "Supported formats" msgstr "" +msgid "Tabs on top" +msgstr "" + msgid "Tag" msgstr "標記" diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 0ec8aadd9..baf9357a9 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -15,7 +15,6 @@ */ #include "mainwindow.h" -#include "stylehelper.h" #include "ui_mainwindow.h" #include "core/commandlineoptions.h" #include "core/database.h" @@ -75,6 +74,7 @@ #include "widgets/fileview.h" #include "widgets/multiloadingindicator.h" #include "widgets/osd.h" +#include "widgets/stylehelper.h" #include "widgets/trackslider.h" #ifdef ENABLE_WIIMOTEDEV diff --git a/src/ui/mainwindow.ui b/src/ui/mainwindow.ui index a6de4ca89..9f0830b73 100644 --- a/src/ui/mainwindow.ui +++ b/src/ui/mainwindow.ui @@ -775,7 +775,7 @@ FancyTabWidget QWidget -
fancytabwidget.h
+
widgets/fancytabwidget.h
0
diff --git a/3rdparty/fancytabwidget/fancytabwidget.cpp b/src/widgets/fancytabwidget.cpp similarity index 100% rename from 3rdparty/fancytabwidget/fancytabwidget.cpp rename to src/widgets/fancytabwidget.cpp diff --git a/3rdparty/fancytabwidget/fancytabwidget.h b/src/widgets/fancytabwidget.h similarity index 100% rename from 3rdparty/fancytabwidget/fancytabwidget.h rename to src/widgets/fancytabwidget.h diff --git a/src/widgets/stylehelper.cpp b/src/widgets/stylehelper.cpp new file mode 100644 index 000000000..84035f4cd --- /dev/null +++ b/src/widgets/stylehelper.cpp @@ -0,0 +1,241 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** +**************************************************************************/ + +#include "stylehelper.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +// Clamps float color values within (0, 255) +static int clamp(float x) +{ + const int val = x > 255 ? 255 : static_cast(x); + return val < 0 ? 0 : val; +} + +namespace Utils { + +qreal StyleHelper::sidebarFontSize() +{ +#if defined(Q_WS_MAC) + return 10; +#else + return 7.5; +#endif +} + +QColor StyleHelper::panelTextColor(bool lightColored) +{ + if (!lightColored) + return Qt::white; + else + return Qt::black; +} + +// Invalid by default, setBaseColor needs to be called at least once +QColor StyleHelper::m_baseColor; +QColor StyleHelper::m_requestedBaseColor; + +QColor StyleHelper::baseColor(bool lightColored) +{ + if (!lightColored) + return m_baseColor; + else + return m_baseColor.lighter(230); +} + +QColor StyleHelper::highlightColor(bool lightColored) +{ + QColor result = baseColor(lightColored); + if (!lightColored) + result.setHsv(result.hue(), + clamp(result.saturation()), + clamp(result.value() * 1.16)); + else + result.setHsv(result.hue(), + clamp(result.saturation()), + clamp(result.value() * 1.06)); + return result; +} + +QColor StyleHelper::shadowColor(bool lightColored) +{ + QColor result = baseColor(lightColored); + result.setHsv(result.hue(), + clamp(result.saturation() * 1.1), + clamp(result.value() * 0.70)); + return result; +} + +QColor StyleHelper::borderColor(bool lightColored) +{ + QColor result = baseColor(lightColored); + result.setHsv(result.hue(), + result.saturation(), + result.value() / 2); + return result; +} + +// We try to ensure that the actual color used are within +// reasonalbe bounds while generating the actual baseColor +// from the users request. +void StyleHelper::setBaseColor(const QColor &newcolor) +{ + m_requestedBaseColor = newcolor; + + QColor color; + color.setHsv(newcolor.hue(), + newcolor.saturation() * 0.7, + 64 + newcolor.value() / 3); + + if (color.isValid() && color != m_baseColor) { + m_baseColor = color; + foreach (QWidget *w, QApplication::topLevelWidgets()) + w->update(); + } +} + +static void verticalGradientHelper(QPainter *p, const QRect &spanRect, const QRect &rect, bool lightColored) +{ + QColor highlight = StyleHelper::highlightColor(lightColored); + QColor shadow = StyleHelper::shadowColor(lightColored); + QLinearGradient grad(spanRect.topRight(), spanRect.topLeft()); + grad.setColorAt(0, highlight.lighter(117)); + grad.setColorAt(1, shadow.darker(109)); + p->fillRect(rect, grad); + + QColor light(255, 255, 255, 80); + p->setPen(light); + p->drawLine(rect.topRight() - QPoint(1, 0), rect.bottomRight() - QPoint(1, 0)); + QColor dark(0, 0, 0, 90); + p->setPen(dark); + p->drawLine(rect.topLeft(), rect.bottomLeft()); +} + +void StyleHelper::verticalGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect, bool lightColored) +{ + if (StyleHelper::usePixmapCache()) { + QString key; + QColor keyColor = baseColor(lightColored); + key.sprintf("mh_vertical %d %d %d %d %d", + spanRect.width(), spanRect.height(), clipRect.width(), + clipRect.height(), keyColor.rgb());; + + QPixmap pixmap; + if (!QPixmapCache::find(key, pixmap)) { + pixmap = QPixmap(clipRect.size()); + QPainter p(&pixmap); + QRect rect(0, 0, clipRect.width(), clipRect.height()); + verticalGradientHelper(&p, spanRect, rect, lightColored); + p.end(); + QPixmapCache::insert(key, pixmap); + } + + painter->drawPixmap(clipRect.topLeft(), pixmap); + } else { + verticalGradientHelper(painter, spanRect, clipRect, lightColored); + } +} + +// Draws a cached pixmap with shadow +void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect, + QPainter *p, QIcon::Mode iconMode, int radius, const QColor &color, const QPoint &offset) +{ + QPixmap cache; + QString pixmapName = QString("icon %0 %1 %2").arg(icon.cacheKey()).arg(iconMode).arg(rect.height()); + + if (!QPixmapCache::find(pixmapName, cache)) { + QPixmap px = icon.pixmap(rect.size()); + cache = QPixmap(px.size() + QSize(radius * 2, radius * 2)); + cache.fill(Qt::transparent); + + QPainter cachePainter(&cache); + if (iconMode == QIcon::Disabled) { + QImage im = px.toImage().convertToFormat(QImage::Format_ARGB32); + for (int y=0; ydrawPixmap(targetRect.topLeft() - offset, cache); +} + +} // namespace Utils diff --git a/3rdparty/fancytabwidget/stylehelper.h b/src/widgets/stylehelper.h similarity index 79% rename from 3rdparty/fancytabwidget/stylehelper.h rename to src/widgets/stylehelper.h index 9bdce5c37..b8a24fb38 100644 --- a/3rdparty/fancytabwidget/stylehelper.h +++ b/src/widgets/stylehelper.h @@ -51,9 +51,7 @@ public: static const unsigned int DEFAULT_BASE_COLOR = 0x666666; // Height of the project explorer navigation bar - static int navigationWidgetHeight() { return 24; } static qreal sidebarFontSize(); - static QPalette sidebarFontPalette(const QPalette &original); // This is our color table, all colors derive from baseColor static QColor requestedBaseColor() { return m_requestedBaseColor; } @@ -62,8 +60,6 @@ public: static QColor highlightColor(bool lightColored = false); static QColor shadowColor(bool lightColored = false); static QColor borderColor(bool lightColored = false); - static QColor buttonTextColor() { return QColor(0x4c4c4c); } - static QColor mergedColors(const QColor &colorA, const QColor &colorB, int factor = 50); static QColor sidebarHighlight() { return QColor(255, 255, 255, 40); } static QColor sidebarShadow() { return QColor(0, 0, 0, 40); } @@ -71,20 +67,13 @@ public: // Sets the base color and makes sure all top level widgets are updated static void setBaseColor(const QColor &color); - // Draws a shaded anti-aliased arrow - static void drawArrow(QStyle::PrimitiveElement element, QPainter *painter, const QStyleOption *option); - // Gradients used for panels - static void horizontalGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect, bool lightColored = false); static void verticalGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect, bool lightColored = false); - static void menuGradient(QPainter *painter, const QRect &spanRect, const QRect &clipRect); static bool usePixmapCache() { return true; } static void drawIconWithShadow(const QIcon &icon, const QRect &rect, QPainter *p, QIcon::Mode iconMode, int radius = 3, const QColor &color = QColor(0, 0, 0, 130), const QPoint &offset = QPoint(1, -2)); - static void drawCornerImage(const QImage &img, QPainter *painter, QRect rect, - int left = 0, int top = 0, int right = 0, int bottom = 0); private: static QColor m_baseColor;