diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-14 03:26:46 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-14 03:26:46 +0100 |
| commit | f40514fe681f5163deb5f579140ef4f7ac77f5a8 (patch) | |
| tree | c3edddde3cbc98a797d5a1a7b745c2c5d3b99eba /app/pebbleappiconprovider.cpp | |
| parent | df30ca18eebd2dfec03c589b607d45a5891cf2b2 (diff) | |
add icons to the slots managament UI
Diffstat (limited to 'app/pebbleappiconprovider.cpp')
| -rw-r--r-- | app/pebbleappiconprovider.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/pebbleappiconprovider.cpp b/app/pebbleappiconprovider.cpp new file mode 100644 index 0000000..0e694ff --- /dev/null +++ b/app/pebbleappiconprovider.cpp @@ -0,0 +1,28 @@ +#include <QDebug> +#include <QUrl> +#include "pebbleappiconprovider.h" + +PebbleAppIconProvider::PebbleAppIconProvider(PebbledInterface *interface) + : QQuickImageProvider(QQmlImageProviderBase::Image), pebbled(interface) +{ +} + +QImage PebbleAppIconProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize) +{ + QUuid uuid(QUrl::fromPercentEncoding(id.toLatin1())); + QImage img = pebbled->menuIconForApp(uuid); + + if (requestedSize.width() > 0 && requestedSize.height() > 0) { + img = img.scaled(requestedSize, Qt::KeepAspectRatio); + } else if (requestedSize.width() > 0) { + img = img.scaledToWidth(requestedSize.width()); + } else if (requestedSize.height() > 0) { + img = img.scaledToHeight(requestedSize.height()); + } + + if (size) { + *size = img.size(); + } + + return img; +} |
