diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4ff9ebcf7..50d6b9de3 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -50,6 +50,7 @@ list(APPEND LIBS "${CMAKE_SOURCE_DIR}/../OUTPUT/desktop/lib64/libbelcard.so") set(SOURCES src/app/App.cpp + src/app/AvatarProvider.cpp src/app/Database.cpp src/app/DefaultTranslator.cpp src/app/Logger.cpp @@ -70,6 +71,7 @@ set(SOURCES set(HEADERS src/app/App.hpp + src/app/AvatarProvider.hpp src/app/Database.hpp src/app/DefaultTranslator.hpp src/app/Logger.hpp diff --git a/tests/src/app/AvatarProvider.cpp b/tests/src/app/AvatarProvider.cpp new file mode 100644 index 000000000..2a083e7fb --- /dev/null +++ b/tests/src/app/AvatarProvider.cpp @@ -0,0 +1,22 @@ +#include "Database.hpp" +#include "../utils.hpp" + +#include "AvatarProvider.hpp" + +// =================================================================== + +AvatarProvider::AvatarProvider () : + QQuickImageProvider( + QQmlImageProviderBase::Image, + QQmlImageProviderBase::ForceAsynchronousImageLoading + ) { + m_avatars_path = Utils::linphoneStringToQString(Database::getAvatarsPath()); +} + +QImage AvatarProvider::requestImage ( + const QString &id, + QSize *size, + const QSize &requested_size +) { + // TODO: use a shared image from contact. +} diff --git a/tests/src/app/AvatarProvider.hpp b/tests/src/app/AvatarProvider.hpp new file mode 100644 index 000000000..c27840363 --- /dev/null +++ b/tests/src/app/AvatarProvider.hpp @@ -0,0 +1,23 @@ +#ifndef AVATAR_PROVIDER_H_ +#define AVATAR_PROVIDER_H_ + +#include + +// =================================================================== + +class AvatarProvider : public QQuickImageProvider { +public: + AvatarProvider (); + ~AvatarProvider () = default; + + QImage requestImage ( + const QString &id, + QSize *size, + const QSize &requested_size + ) override; + +private: + QString m_avatars_path; +}; + +#endif // AVATAR_PROVIDER_H_