mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-09-10 12:03:18 +02:00
tooltips: changes on tooltips management
-Tips are no longer deleted -Tips are shown randomly -Custom tooltip and backup tooltip are shown first if needed Gitlab: #846 Change-Id: Icadc1dcef23ff7d5783e840d3d1528d399166e24
This commit is contained in:
parent
d6e7a6b7c0
commit
dbd7aa528e
4 changed files with 9 additions and 34 deletions
|
@ -54,7 +54,6 @@ extern const QString defaultDownloadPath;
|
||||||
X(StartMinimized, false) \
|
X(StartMinimized, false) \
|
||||||
X(ShowChatviewHorizontally, true) \
|
X(ShowChatviewHorizontally, true) \
|
||||||
X(NeverShowMeAgain, false) \
|
X(NeverShowMeAgain, false) \
|
||||||
X(HiddenTips, QStringList()) \
|
|
||||||
X(WindowGeometry, QRectF(qQNaN(), qQNaN(), 0., 0.)) \
|
X(WindowGeometry, QRectF(qQNaN(), qQNaN(), 0., 0.)) \
|
||||||
X(WindowState, QWindow::AutomaticVisibility) \
|
X(WindowState, QWindow::AutomaticVisibility) \
|
||||||
X(LANG, "SYSTEM")
|
X(LANG, "SYSTEM")
|
||||||
|
|
|
@ -187,8 +187,10 @@ Rectangle {
|
||||||
title: Title
|
title: Title
|
||||||
description: Description
|
description: Description
|
||||||
type: Type
|
type: Type
|
||||||
|
property bool hideTipBox: false
|
||||||
|
|
||||||
visible: {
|
visible: {
|
||||||
|
if(hideTipBox) return false
|
||||||
if (type === "backup") {
|
if (type === "backup") {
|
||||||
return LRCInstance.currentAccountType !== Profile.Type.SIP
|
return LRCInstance.currentAccountType !== Profile.Type.SIP
|
||||||
&& CurrentAccount.managerUri.length === 0
|
&& CurrentAccount.managerUri.length === 0
|
||||||
|
@ -198,7 +200,7 @@ Rectangle {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
onIgnoreClicked: TipsModel.remove(TipId)
|
onIgnoreClicked: { hideTipBox = true }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,9 @@
|
||||||
|
|
||||||
#include "tipsmodel.h"
|
#include "tipsmodel.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
#include <random>
|
||||||
|
|
||||||
TipsModel::TipsModel(AppSettingsManager* settingsManager, QObject* parent)
|
TipsModel::TipsModel(AppSettingsManager* settingsManager, QObject* parent)
|
||||||
: QAbstractListModel(parent)
|
: QAbstractListModel(parent)
|
||||||
, settingsManager_(settingsManager)
|
, settingsManager_(settingsManager)
|
||||||
|
@ -100,15 +103,9 @@ TipsModel::TipsModel(AppSettingsManager* settingsManager, QObject* parent)
|
||||||
"backup on another device.")},
|
"backup on another device.")},
|
||||||
{"type", "tip"}});
|
{"type", "tip"}});
|
||||||
|
|
||||||
QStringList hiddenIds = settingsManager_->getValue(Settings::Key::HiddenTips).toStringList();
|
std::random_device rd;
|
||||||
|
std::mt19937 g(rd());
|
||||||
auto it = tips_.begin();
|
std::shuffle(tips_.begin() + 2, tips_.end(), g);
|
||||||
while (it != tips_.end()) {
|
|
||||||
if (hiddenIds.contains((*it)["id"]))
|
|
||||||
it = tips_.erase(it);
|
|
||||||
else
|
|
||||||
it++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -150,24 +147,3 @@ TipsModel::roleNames() const
|
||||||
#undef X
|
#undef X
|
||||||
return roles;
|
return roles;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
TipsModel::remove(QVariant id)
|
|
||||||
{
|
|
||||||
auto index = 0;
|
|
||||||
auto it = tips_.begin();
|
|
||||||
while (it != tips_.end()) {
|
|
||||||
if ((*it)["id"] == id.toString()) {
|
|
||||||
beginRemoveRows(QModelIndex(), index, index);
|
|
||||||
QStringList hiddenIds = settingsManager_->getValue(Settings::Key::HiddenTips)
|
|
||||||
.toStringList();
|
|
||||||
hiddenIds.append(id.toString());
|
|
||||||
settingsManager_->setValue(Settings::Key::HiddenTips, hiddenIds);
|
|
||||||
tips_.erase(it);
|
|
||||||
endRemoveRows();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
index++;
|
|
||||||
it++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -52,8 +52,6 @@ public:
|
||||||
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
|
QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
|
||||||
QHash<int, QByteArray> roleNames() const override;
|
QHash<int, QByteArray> roleNames() const override;
|
||||||
|
|
||||||
Q_INVOKABLE void remove(QVariant id);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VectorMapStringString tips_;
|
VectorMapStringString tips_;
|
||||||
AppSettingsManager* settingsManager_;
|
AppSettingsManager* settingsManager_;
|
||||||
|
|
Loading…
Add table
Reference in a new issue