*/
#include "account.h"
+#include "accessmanager.h"
#include "accountfwd.h"
+#include "capabilities.h"
#include "clientsideencryptionjobs.h"
-#include "cookiejar.h"
-#include "networkjobs.h"
#include "configfile.h"
-#include "accessmanager.h"
+#include "cookiejar.h"
#include "creds/abstractcredentials.h"
-#include "capabilities.h"
-#include "theme.h"
+#include "networkjobs.h"
#include "pushnotifications.h"
#include "version.h"
return name;
}
+QColor Account::serverColor() const
+{
+ return _serverColor;
+}
+
QColor Account::headerColor() const
{
- const auto serverColor = capabilities().serverColor();
- return serverColor.isValid() ? serverColor : Theme::defaultColor();
+ return serverColor();
}
QColor Account::headerTextColor() const
{
- const auto headerTextColor = capabilities().serverTextColor();
- return headerTextColor.isValid() ? headerTextColor : QColor(255,255,255);
+ return _serverTextColor;
}
QColor Account::accentColor() const
{
- // This will need adjusting when dark theme is a thing
- auto serverColor = capabilities().serverColor();
-
- if(!serverColor.isValid()) {
- serverColor = Theme::defaultColor();
- }
+ const auto accentColor = serverColor();
+ constexpr auto effectMultiplier = 8;
- const auto effectMultiplier = 8;
- auto darknessAdjustment = static_cast<int>((1 - Theme::getColorDarkness(serverColor)) * effectMultiplier);
+ auto darknessAdjustment = static_cast<int>((1 - Theme::getColorDarkness(accentColor)) * effectMultiplier);
darknessAdjustment *= darknessAdjustment; // Square the value to pronounce the darkness more in lighter colours
const auto baseAdjustment = 125;
- const auto adjusted = Theme::isDarkColor(serverColor) ? serverColor : serverColor.darker(baseAdjustment + darknessAdjustment);
+ const auto adjusted = Theme::isDarkColor(accentColor) ? accentColor : accentColor.darker(baseAdjustment + darknessAdjustment);
return adjusted;
}
void Account::setCapabilities(const QVariantMap &caps)
{
_capabilities = Capabilities(caps);
+ _serverColor = _capabilities.serverColor();
+ _serverTextColor = _capabilities.serverTextColor();
emit capabilitiesChanged();
#include <QPixmap>
#endif
-#include "common/utility.h"
-#include <memory>
#include "capabilities.h"
#include "clientsideencryption.h"
+#include "common/utility.h"
#include "syncfileitem.h"
+#include "theme.h"
+#include <memory>
class QSettings;
class QNetworkReply;
Account(QObject *parent = nullptr);
void setSharedThis(AccountPtr sharedThis);
- static QString davPathBase();
+ [[nodiscard]] static QString davPathBase();
+ [[nodiscard]] QColor serverColor() const;
bool _trustCertificates = false;
QSslConfiguration _sslConfiguration;
Capabilities _capabilities;
QString _serverVersion;
+ QColor _serverColor = Theme::defaultColor();
+ QColor _serverTextColor = QColor(255, 255, 255);
bool _skipE2eeMetadataChecksumValidation = false;
QScopedPointer<AbstractSslErrorHandler> _sslErrorHandler;
QSharedPointer<QNetworkAccessManager> _am;