1 /*
2  * AvatarProvider.cpp
3  * Copyright (C) 2017  Belledonne Communications, Grenoble, France
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  *
19  *  Created on: February 2, 2017
20  *      Author: Ronan Abhamon
21  */
22 
23 #include "../../utils/Utils.hpp"
24 #include "../paths/Paths.hpp"
25 
26 #include "AvatarProvider.hpp"
27 
28 // =============================================================================
29 
30 const QString AvatarProvider::PROVIDER_ID = "avatar";
31 
AvatarProvider()32 AvatarProvider::AvatarProvider () : QQuickImageProvider(
33     QQmlImageProviderBase::Image,
34     QQmlImageProviderBase::ForceAsynchronousImageLoading
35   ) {
36   mAvatarsPath = ::Utils::coreStringToAppString(Paths::getAvatarsDirPath());
37 }
38 
requestImage(const QString & id,QSize * size,const QSize &)39 QImage AvatarProvider::requestImage (const QString &id, QSize *size, const QSize &) {
40   QImage image(mAvatarsPath + id);
41   *size = image.size();
42   return image;
43 }
44