mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-02-17 21:04:19 -05:00
Display expired entries and groups struck out.
This commit is contained in:
parent
e5062cb745
commit
ce268260b1
@ -60,6 +60,11 @@ int DatabaseIcons::iconCount()
|
||||
return 69;
|
||||
}
|
||||
|
||||
int DatabaseIcons::expiredIconIndex()
|
||||
{
|
||||
return 45;
|
||||
}
|
||||
|
||||
DatabaseIcons::DatabaseIcons()
|
||||
{
|
||||
m_indexToName.reserve(iconCount());
|
||||
|
@ -29,6 +29,7 @@ public:
|
||||
QImage icon(int index);
|
||||
QPixmap iconPixmap(int index);
|
||||
int iconCount();
|
||||
int expiredIconIndex();
|
||||
|
||||
private:
|
||||
DatabaseIcons();
|
||||
|
@ -196,6 +196,11 @@ QString Entry::notes() const
|
||||
return m_attributes->value("Notes");
|
||||
}
|
||||
|
||||
bool Entry::isExpired() const
|
||||
{
|
||||
return m_data.timeInfo.expires() && m_data.timeInfo.expiryTime() < Tools::currentDateTimeUtc();
|
||||
}
|
||||
|
||||
EntryAttributes* Entry::attributes()
|
||||
{
|
||||
return m_attributes;
|
||||
|
@ -84,6 +84,7 @@ public:
|
||||
QString username() const;
|
||||
QString password() const;
|
||||
QString notes() const;
|
||||
bool isExpired() const;
|
||||
EntryAttributes* attributes();
|
||||
const EntryAttributes* attributes() const;
|
||||
EntryAttachments* attachments();
|
||||
|
@ -164,6 +164,11 @@ Entry* Group::lastTopVisibleEntry() const
|
||||
return m_lastTopVisibleEntry;
|
||||
}
|
||||
|
||||
bool Group::isExpired() const
|
||||
{
|
||||
return m_timeInfo.expires() && m_timeInfo.expiryTime() < Tools::currentDateTimeUtc();
|
||||
}
|
||||
|
||||
void Group::setUuid(const Uuid& uuid)
|
||||
{
|
||||
set(m_uuid, uuid);
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
Group::TriState autoTypeEnabled() const;
|
||||
Group::TriState searchingEnabled() const;
|
||||
Entry* lastTopVisibleEntry() const;
|
||||
bool isExpired() const;
|
||||
|
||||
static const int DefaultIconNumber;
|
||||
|
||||
|
@ -18,7 +18,9 @@
|
||||
#include "EntryModel.h"
|
||||
|
||||
#include <QtCore/QMimeData>
|
||||
#include <QtGui/QFont>
|
||||
|
||||
#include "core/DatabaseIcons.h"
|
||||
#include "core/Entry.h"
|
||||
#include "core/Group.h"
|
||||
|
||||
@ -131,9 +133,21 @@ QVariant EntryModel::data(const QModelIndex& index, int role) const
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
return entry->iconPixmap();
|
||||
if (entry->isExpired()) {
|
||||
return databaseIcons()->iconPixmap(databaseIcons()->expiredIconIndex());
|
||||
}
|
||||
else {
|
||||
return entry->iconPixmap();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (role == Qt::FontRole) {
|
||||
QFont font;
|
||||
if (entry->isExpired()) {
|
||||
font.setStrikeOut(true);
|
||||
}
|
||||
return font;
|
||||
}
|
||||
|
||||
return QVariant();
|
||||
}
|
||||
|
@ -18,8 +18,10 @@
|
||||
#include "GroupModel.h"
|
||||
|
||||
#include <QtCore/QMimeData>
|
||||
#include <QtGui/QFont>
|
||||
|
||||
#include "core/Database.h"
|
||||
#include "core/DatabaseIcons.h"
|
||||
#include "core/Group.h"
|
||||
#include "core/Tools.h"
|
||||
|
||||
@ -114,7 +116,19 @@ QVariant GroupModel::data(const QModelIndex& index, int role) const
|
||||
return group->name();
|
||||
}
|
||||
else if (role == Qt::DecorationRole) {
|
||||
return group->iconPixmap();
|
||||
if (group->isExpired()) {
|
||||
return databaseIcons()->iconPixmap(databaseIcons()->expiredIconIndex());
|
||||
}
|
||||
else {
|
||||
return group->iconPixmap();
|
||||
}
|
||||
}
|
||||
else if (role == Qt::FontRole) {
|
||||
QFont font;
|
||||
if (group->isExpired()) {
|
||||
font.setStrikeOut(true);
|
||||
}
|
||||
return font;
|
||||
}
|
||||
else {
|
||||
return QVariant();
|
||||
|
Loading…
x
Reference in New Issue
Block a user