diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,7 +59,6 @@ add_definitions(-DQT_NO_FOREACH) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) add_subdirectory (src) -add_subdirectory (pixmaps) if (ENABLE_EXAMPLES) add_subdirectory(examples) endif() diff --git a/pixmaps/CMakeLists.txt b/pixmaps/CMakeLists.txt deleted file mode 100644 --- a/pixmaps/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -INSTALL (FILES dummy_avatar.png DESTINATION ${KDE_INSTALL_DATADIR_KF5}/kpeople/) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,6 +21,7 @@ personpluginmanager.cpp personmanager.cpp personssortfilterproxymodel.cpp + resources.qrc ) add_library(KF5::People ALIAS KF5People) diff --git a/src/global.h b/src/global.h --- a/src/global.h +++ b/src/global.h @@ -63,4 +63,6 @@ } +void initResources(); + #endif // GLOBAL_H diff --git a/src/global.cpp b/src/global.cpp --- a/src/global.cpp +++ b/src/global.cpp @@ -92,3 +92,8 @@ return 7; } + +void initResources() +{ + Q_INIT_RESOURCE(resources); +} diff --git a/src/persondata.cpp b/src/persondata.cpp --- a/src/persondata.cpp +++ b/src/persondata.cpp @@ -147,7 +147,7 @@ } if (avatar.isNull()) { - static QString defaultAvatar = QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kf5/kpeople/dummy_avatar.png")); + static QString defaultAvatar = QStringLiteral(":/org.kde.kpeople/pixmaps/dummy_avatar.png"); avatar = QPixmap(defaultAvatar); } return avatar; diff --git a/src/personsmodel.cpp b/src/personsmodel.cpp --- a/src/personsmodel.cpp +++ b/src/personsmodel.cpp @@ -40,7 +40,6 @@ public: PersonsModelPrivate(PersonsModel *q) : q(q) - , genericAvatarImagePath(QStandardPaths::locate(QStandardPaths::QStandardPaths::GenericDataLocation, QStringLiteral("kf5/kpeople/dummy_avatar.png"))) , initialFetchesDoneCount(0) , isInitialized(false) , hasError(false) @@ -57,7 +56,6 @@ //a list so we have an order in the model QVector metacontacts; - QString genericAvatarImagePath; QVector m_sourceMonitors; int initialFetchesDoneCount; @@ -110,6 +108,8 @@ connect(PersonManager::instance(), &PersonManager::contactAddedToPerson, d, &PersonsModelPrivate::onAddContactToPerson); connect(PersonManager::instance(), &PersonManager::contactRemovedFromPerson, d, &PersonsModelPrivate::onRemoveContactsFromPerson); + + initResources(); } PersonsModel::~PersonsModel() @@ -178,7 +178,7 @@ // If none of the above were valid images, // return the generic one - return QPixmap(genericAvatarImagePath); + return QPixmap(QStringLiteral(":/org.kde.kpeople/pixmaps/dummy_avatar.png")); } case PersonsModel::PersonUriRole: return personUri; diff --git a/pixmaps/dummy_avatar.png b/src/pixmaps/dummy_avatar.png rename from pixmaps/dummy_avatar.png rename to src/pixmaps/dummy_avatar.png diff --git a/src/resources.qrc b/src/resources.qrc new file mode 100644 --- /dev/null +++ b/src/resources.qrc @@ -0,0 +1,6 @@ + + + pixmaps/dummy_avatar.png + + +