Add initial support for QtIndenticon
Add initial loading of qt jdenticon plugin: https://github.com/redsky17/qt-jdenticon Currently, the library's functionality has not been integrated into the rest of nheko. Next step is to add a configuration item in the User Settings and use the plugin to generate avatars for users without their own picture. These avatars should be cached in the Cache object.
This commit is contained in:
parent
22a08ba6a4
commit
6c31f5fe7a
4 changed files with 55 additions and 0 deletions
|
|
@ -19,6 +19,7 @@
|
|||
#include <QLayout>
|
||||
#include <QSettings>
|
||||
#include <QShortcut>
|
||||
#include <QPluginLoader>
|
||||
|
||||
#include <mtx/requests.hpp>
|
||||
|
||||
|
|
@ -166,6 +167,10 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
|
||||
showChatPage();
|
||||
}
|
||||
|
||||
if (loadJdenticonPlugin()) {
|
||||
nhlog::ui()->info("loaded jdenticon.");
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -479,3 +484,27 @@ MainWindow::showDialog(QWidget *dialog)
|
|||
dialog->raise();
|
||||
dialog->show();
|
||||
}
|
||||
|
||||
bool
|
||||
MainWindow::loadJdenticonPlugin()
|
||||
{
|
||||
QDir pluginsDir(qApp->applicationDirPath());
|
||||
|
||||
bool plugins = pluginsDir.cd("plugins");
|
||||
if (plugins) {
|
||||
foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
|
||||
QPluginLoader pluginLoader(pluginsDir.absoluteFilePath(fileName));
|
||||
QObject *plugin = pluginLoader.instance();
|
||||
if (plugin) {
|
||||
jdenticonInteface_ = qobject_cast<JdenticonInterface *>(plugin);
|
||||
if (jdenticonInteface_) {
|
||||
nhlog::ui()->info("Found jdenticon plugin.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nhlog::ui()->info("jdenticon plugin not found.");
|
||||
return false;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue