Skip to content

Commit

Permalink
v0.2-2
Browse files Browse the repository at this point in the history
Improved using of Nemo Thumbnailer becaouse app refused to go idle in ~1
minute.
  • Loading branch information
bjorkstromm committed Jul 27, 2014
1 parent b127b92 commit c12d0a4
Show file tree
Hide file tree
Showing 14 changed files with 65 additions and 27 deletions.
7 changes: 5 additions & 2 deletions harbour-filters.pro
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ SOURCES += src/harbour-filters.cpp \
src/filters/rgbfilter.cpp \
src/models/filteredcoverimage.cpp \
src/filters/negativefilter.cpp \
src/filters/rgbswapfilter.cpp
src/filters/rgbswapfilter.cpp \
src/3rdparty/nemo-qml-plugin-thumbnailer/src/nemothumbnailitem.cpp

OTHER_FILES += qml/harbour-filters.qml \
qml/cover/CoverPage.qml \
Expand Down Expand Up @@ -68,5 +69,7 @@ HEADERS += \
src/filters/rgbfilter.h \
src/models/filteredcoverimage.h \
src/filters/negativefilter.h \
src/filters/rgbswapfilter.h
src/filters/rgbswapfilter.h \
src/3rdparty/nemo-qml-plugin-thumbnailer/src/nemothumbnailitem.h \
src/3rdparty/nemo-qml-plugin-thumbnailer/src/linkedlist.h

29 changes: 21 additions & 8 deletions qml/cover/CoverPage.qml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import QtQuick 2.0
import Sailfish.Silica 1.0

import harbour.filters 1.0
import harbour.filters.nemoThumbnail 1.0

CoverBackground {
SilicaGridView {
Expand All @@ -41,18 +42,30 @@ CoverBackground {
id: galleryModel
}

delegate: Image {
asynchronous: true
// From org.nemomobile.thumbnailer
source: "image://nemoThumbnail/" + url
sourceSize.width: grid.cellWidth
sourceSize.height: grid.cellHeight

width: grid.cellWidth
delegate: Thumbnail {
id: image
source: model.url
height: grid.cellHeight
width: grid.cellWidth
sourceSize.height: grid.cellHeight
sourceSize.width: grid.cellWidth
clip: true
smooth: true

fillMode: Image.PreserveAspectCrop
}
// Image {
// asynchronous: true
// // From org.nemomobile.thumbnailer
// source: "image://nemoThumbnail/" + url
// sourceSize.width: grid.cellWidth
// sourceSize.height: grid.cellHeight

// width: grid.cellWidth
// height: grid.cellHeight

// fillMode: Image.PreserveAspectCrop
// }
}

onStatusChanged: {
Expand Down
21 changes: 19 additions & 2 deletions qml/pages/FirstPage.qml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import QtQuick 2.0
import Sailfish.Silica 1.0

import harbour.filters 1.0
import harbour.filters.nemoThumbnail 1.0

Page {
id: page
Expand Down Expand Up @@ -57,7 +58,23 @@ Page {
id: galleryModel
}

delegate: Image {
delegate: Thumbnail {
id: image
source: model.url
height: grid.cellHeight
width: grid.cellWidth
sourceSize.height: grid.cellHeight
sourceSize.width: grid.cellWidth
clip: true
smooth: true

MouseArea {
anchors.fill: parent
onClicked: pageStack.push(Qt.resolvedUrl("SecondPage.qml"),
{source: url} )
}

} /*Image {
asynchronous: true
// From org.nemomobile.thumbnailer
source: "image://nemoThumbnail/" + url
Expand All @@ -69,7 +86,7 @@ Page {
onClicked: pageStack.push(Qt.resolvedUrl("SecondPage.qml"),
{source: url} )
}
}
}*/
ScrollDecorator {}
}

Expand Down
2 changes: 1 addition & 1 deletion rpm/harbour-filters.spec
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Name: harbour-filters
%{?qtc_builddir:%define _builddir %qtc_builddir}
Summary: Filters
Version: 0.2
Release: 1
Release: 2
Group: Qt/Qt
License: BSD
URL: https://github.com/mholo65/harbour-filters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include "nemothumbnailitem.h"

#include "nemothumbnailprovider.h"
#include "nemovideothumbnailer.h"
//#include "nemovideothumbnailer.h"

#include "linkedlist.h"

Expand Down Expand Up @@ -532,9 +532,7 @@ void NemoThumbnailLoader::run()
lists[request->priority]->append(request);
}
} else {
QImage image = !mimeType.startsWith(QLatin1String("video/"), Qt::CaseInsensitive)
? NemoThumbnailProvider::generateThumbnail(fileName, cacheKey, requestedSize, crop)
: NemoVideoThumbnailer::generateThumbnail(fileName, cacheKey, requestedSize, crop);
QImage image = NemoThumbnailProvider::generateThumbnail(fileName, cacheKey, requestedSize, crop);

locker.relock();
request->loading = false;
Expand Down
2 changes: 1 addition & 1 deletion src/filters/blurfilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ BlurFilter::BlurFilter(QObject *parent) :

QString BlurFilter::name() const
{
return "Blur";
return QLatin1String("Blur");
}

void BlurFilter::applyFilter(const QImage &origin)
Expand Down
2 changes: 1 addition & 1 deletion src/filters/brightnessfilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ BrightnessFilter::BrightnessFilter(QObject *parent) :

QString BrightnessFilter::name() const
{
return "Brightness";
return QLatin1String("Brightness");
}

QList<ImageFilterParameter *> BrightnessFilter::parameterList()
Expand Down
2 changes: 1 addition & 1 deletion src/filters/greyscalefilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ GreyscaleFilter::GreyscaleFilter(QObject *parent) :

QString GreyscaleFilter::name() const
{
return "Greyscale";
return QLatin1String("Greyscale");
}

void GreyscaleFilter::applyFilter(const QImage &origin)
Expand Down
2 changes: 1 addition & 1 deletion src/filters/negativefilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ NegativeFilter::NegativeFilter(QObject *parent) :

QString NegativeFilter::name() const
{
return "Negative";
return QLatin1String("Negative");
}

void NegativeFilter::applyFilter(const QImage &origin)
Expand Down
2 changes: 1 addition & 1 deletion src/filters/rgbfilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ RGBFilter::RGBFilter(QObject *parent) :

QString RGBFilter::name() const
{
return "RGB";
return QLatin1String("RGB");
}

QList<ImageFilterParameter *> RGBFilter::parameterList()
Expand Down
2 changes: 1 addition & 1 deletion src/filters/rgbswapfilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RGBSwapFilter::RGBSwapFilter(QObject *parent) :

QString RGBSwapFilter::name() const
{
return "RGB swap";
return QLatin1String("RGB swap");
}

void RGBSwapFilter::applyFilter(const QImage &origin)
Expand Down
2 changes: 1 addition & 1 deletion src/filters/sepiafilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ SepiaFilter::SepiaFilter(QObject *parent) :

QString SepiaFilter::name() const
{
return "Sepia";
return QLatin1String("Sepia");
}

void SepiaFilter::applyFilter(const QImage &origin)
Expand Down
2 changes: 1 addition & 1 deletion src/filters/sharpenfilter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ SharpenFilter::SharpenFilter(QObject *parent) :

QString SharpenFilter::name() const
{
return "Sharpen";
return QLatin1String("Sharpen");
}

void SharpenFilter::applyFilter(const QImage &origin)
Expand Down
11 changes: 9 additions & 2 deletions src/harbour-filters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,21 +45,28 @@
#include "src/models/filterparameterlistmodel.h"

#include "src/3rdparty/nemo-qml-plugin-thumbnailer/src/nemothumbnailprovider.h"
#include "src/3rdparty/nemo-qml-plugin-thumbnailer/src/nemothumbnailitem.h"

int main(int argc, char *argv[])
{
QScopedPointer<QGuiApplication> app(SailfishApp::application(argc,argv));

qmlRegisterType<GalleryItemModel>("harbour.filters", 1, 0, "GalleryModel");
qmlRegisterType<FilteredImage>("harbour.filters", 1, 0, "FilteredImage");
qmlRegisterType<FilteredCoverImage>("harbour.filters", 1, 0, "FilteredCoverImage");
qmlRegisterType<FilterListModel>("harbour.filters", 1, 0, "FilterListModel");
qmlRegisterType<FilterParameterListModel>("harbour.filters", 1, 0, "FilterParameterListModel");
qmlRegisterType<NemoThumbnailItem>("harbour.filters.nemoThumbnail", 1, 0, "Thumbnail");

QScopedPointer<QGuiApplication> app(SailfishApp::application(argc,argv));
QScopedPointer<QQuickView> view(SailfishApp::createView());

view->engine()->addImageProvider(QLatin1String("nemoThumbnail"), new NemoThumbnailProvider);

if (!NemoThumbnailLoader::instance) {
NemoThumbnailLoader *loader = new NemoThumbnailLoader;
loader->start(QThread::IdlePriority);
qAddPostRoutine(NemoThumbnailLoader::shutdown);
}

view->setSource(SailfishApp::pathTo("qml/harbour-filters.qml"));

view->show();
Expand Down

0 comments on commit c12d0a4

Please sign in to comment.