]> git.sur5r.net Git - minitube/blobdiff - src/appwidget.cpp
Upload 3.9.3-2 to unstable
[minitube] / src / appwidget.cpp
index 295388cc9c75afed077a1e5463acad100582871a..c9c518152af436f5372b998fb63d43a23bafcfde 100644 (file)
@@ -21,6 +21,9 @@ AppsWidget::AppsWidget(QWidget *parent) : QWidget(parent) {
     const QString ext = "deb";
 #endif
 
+#ifdef APP_MAC
+    setupApp("Sofa", "sofa." + ext);
+#endif
     setupApp("Finetune", "finetune." + ext);
     setupApp("Musictube", "musictube." + ext);
     setupApp("Musique", "musique." + ext);
@@ -39,7 +42,8 @@ void AppsWidget::paintEvent(QPaintEvent *e) {
     style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
 }
 
-AppWidget::AppWidget(const QString &name, const QString &code, QWidget *parent) : QWidget(parent), icon(0), name(name), downloadButton(0) {
+AppWidget::AppWidget(const QString &name, const QString &code, QWidget *parent)
+    : QWidget(parent), name(name), downloadButton(nullptr) {
     const QString unixName = code.left(code.lastIndexOf('.'));
     const QString baseUrl = QLatin1String("https://") + Constants::ORG_DOMAIN;
     const QString filesUrl = baseUrl + QLatin1String("/files/");
@@ -53,7 +57,11 @@ AppWidget::AppWidget(const QString &name, const QString &code, QWidget *parent)
     icon = new QLabel();
     icon->setMinimumHeight(128);
     layout->addWidget(icon);
-    const QString iconUrl = filesUrl + QLatin1String("products/") + unixName + QLatin1String(".png");
+    QString pixelRatioString;
+    if (devicePixelRatioF() > 1.0)
+        pixelRatioString = '@' + QString::number(devicePixelRatio()) + 'x';
+    const QString iconUrl = filesUrl + QLatin1String("products/") + unixName + pixelRatioString +
+                            QLatin1String(".png");
     QObject *reply = Http::instance().get(iconUrl);
     connect(reply, SIGNAL(data(QByteArray)), SLOT(iconDownloaded(QByteArray)));
 
@@ -99,6 +107,7 @@ void AppWidget::mouseReleaseEvent(QMouseEvent *e) {
 void AppWidget::iconDownloaded(const QByteArray &bytes) {
     QPixmap pixmap;
     pixmap.loadFromData(bytes, "PNG");
+    pixmap.setDevicePixelRatio(devicePixelRatioF());
     icon->setPixmap(pixmap);
 }