From 069115ba5fd03798e80166c115c55f8c4b3d17b7 Mon Sep 17 00:00:00 2001
From: Loren Burkholder <computersemiexpert@outlook.com>
Date: Fri, 26 Mar 2021 19:15:22 -0400
Subject: [PATCH] Don't add toggle for jdenticon if the plugin can't be found

---
 src/UserSettingsPage.cpp | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index bfe5232b2..7df9d55d8 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -757,7 +757,6 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
         trayToggle_                     = new Toggle{this};
         startInTrayToggle_              = new Toggle{this};
         avatarCircles_                  = new Toggle{this};
-        useIdenticon_                   = new Toggle{this};
         decryptSidebar_                 = new Toggle(this);
         privacyScreen_                  = new Toggle{this};
         onlyShareKeysWithVerifiedUsers_ = new Toggle(this);
@@ -791,7 +790,6 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
         trayToggle_->setChecked(settings_->tray());
         startInTrayToggle_->setChecked(settings_->startInTray());
         avatarCircles_->setChecked(settings_->avatarCircles());
-        useIdenticon_->setChecked(settings_->useIdenticon());
         decryptSidebar_->setChecked(settings_->decryptSidebar());
         privacyScreen_->setChecked(settings_->privacyScreen());
         onlyShareKeysWithVerifiedUsers_->setChecked(settings_->onlyShareKeysWithVerifiedUsers());
@@ -811,6 +809,11 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
         useStunServer_->setChecked(settings_->useStunServer());
         mobileMode_->setChecked(settings_->mobileMode());
 
+        if (JdenticonProvider::isAvailable()) {
+                useIdenticon_ = new Toggle{this};
+                useIdenticon_->setChecked(settings_->useIdenticon());
+        }
+
         if (!settings_->tray()) {
                 startInTrayToggle_->setState(false);
                 startInTrayToggle_->setDisabled(true);
@@ -1282,9 +1285,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
                 settings_->setAvatarCircles(enabled);
         });
 
-        connect(useIdenticon_, &Toggle::toggled, this, [this](bool enabled) {
-                settings_->setUseIdenticon(enabled);
-        });
+        if (JdenticonProvider::isAvailable())
+                connect(useIdenticon_, &Toggle::toggled, this, [this](bool enabled) {
+                        settings_->setUseIdenticon(enabled);
+                });
 
         connect(markdown_, &Toggle::toggled, this, [this](bool enabled) {
                 settings_->setMarkdown(enabled);
-- 
GitLab