Add signal for changes in Group.
This commit is contained in:
@@ -33,6 +33,11 @@ Group* Database::rootGroup()
|
||||
return m_rootGroup;
|
||||
}
|
||||
|
||||
const Group* Database::rootGroup() const
|
||||
{
|
||||
return m_rootGroup;
|
||||
}
|
||||
|
||||
void Database::setRootGroup(Group* group)
|
||||
{
|
||||
Q_ASSERT(group == 0 || group->database() == this);
|
||||
|
||||
@@ -34,6 +34,7 @@ class Database : public QObject
|
||||
public:
|
||||
Database();
|
||||
Group* rootGroup();
|
||||
const Group* rootGroup() const;
|
||||
void setRootGroup(Group* group);
|
||||
Metadata* metadata();
|
||||
static QImage icon(int number);
|
||||
@@ -41,6 +42,9 @@ public:
|
||||
Entry* resolveEntry(const Uuid& uuid);
|
||||
Group* resolveGroup(const Uuid& uuid);
|
||||
|
||||
Q_SIGNALS:
|
||||
void groupChanged(const Group* group);
|
||||
|
||||
private:
|
||||
Entry* recFindEntry(const Uuid& uuid, Group* group);
|
||||
Group* recFindGroup(const Uuid& uuid, Group* group);
|
||||
|
||||
@@ -79,6 +79,8 @@ void Group::setUuid(const Uuid& uuid)
|
||||
void Group::setName(const QString& name)
|
||||
{
|
||||
m_name = name;
|
||||
|
||||
Q_EMIT groupChanged(this);
|
||||
}
|
||||
|
||||
void Group::setNotes(const QString& notes)
|
||||
@@ -92,6 +94,8 @@ void Group::setIcon(int iconNumber)
|
||||
|
||||
m_iconNumber = iconNumber;
|
||||
m_customIcon = Uuid();
|
||||
|
||||
Q_EMIT groupChanged(this);
|
||||
}
|
||||
|
||||
void Group::setIcon(const Uuid& uuid)
|
||||
@@ -100,6 +104,8 @@ void Group::setIcon(const Uuid& uuid)
|
||||
|
||||
m_iconNumber = 0;
|
||||
m_customIcon = uuid;
|
||||
|
||||
Q_EMIT groupChanged(this);
|
||||
}
|
||||
|
||||
void Group::setTimeInfo(const TimeInfo& timeInfo)
|
||||
@@ -135,6 +141,7 @@ void Group::setParent(Group* parent)
|
||||
m_parent->m_children.removeAll(this);
|
||||
}
|
||||
else if (m_db) {
|
||||
// parent was a Database
|
||||
m_db->setRootGroup(0);
|
||||
}
|
||||
|
||||
@@ -173,6 +180,11 @@ const Database* Group::database() const
|
||||
return m_db;
|
||||
}
|
||||
|
||||
QList<Group*> Group::children()
|
||||
{
|
||||
return m_children;
|
||||
}
|
||||
|
||||
QList<const Group*> Group::children() const
|
||||
{
|
||||
QList<const Group*> constChildren;
|
||||
@@ -183,9 +195,9 @@ QList<const Group*> Group::children() const
|
||||
return constChildren;
|
||||
}
|
||||
|
||||
QList<Group*> Group::children()
|
||||
QList<Entry*> Group::entries()
|
||||
{
|
||||
return m_children;
|
||||
return m_entries;
|
||||
}
|
||||
|
||||
QList<const Entry*> Group::entries() const
|
||||
@@ -198,11 +210,6 @@ QList<const Entry*> Group::entries() const
|
||||
return constEntries;
|
||||
}
|
||||
|
||||
QList<Entry*> Group::entries()
|
||||
{
|
||||
return m_entries;
|
||||
}
|
||||
|
||||
void Group::addEntry(Entry *entry)
|
||||
{
|
||||
Q_ASSERT(entry != 0);
|
||||
@@ -217,6 +224,9 @@ void Group::removeEntry(Entry* entry)
|
||||
|
||||
void Group::recSetDatabase(Database* db)
|
||||
{
|
||||
disconnect(SIGNAL(groupChanged(const Group*)), m_db);
|
||||
connect(this, SIGNAL(groupChanged(const Group*)), db, SIGNAL(groupChanged(const Group*)));
|
||||
|
||||
m_db = db;
|
||||
|
||||
Q_FOREACH (Group* group, m_children) {
|
||||
|
||||
@@ -56,13 +56,16 @@ public:
|
||||
void setParent(Database* db);
|
||||
|
||||
const Database* database() const;
|
||||
QList<const Group*> children() const;
|
||||
QList<Group*> children();
|
||||
QList<const Entry*> entries() const;
|
||||
QList<const Group*> children() const;
|
||||
QList<Entry*> entries();
|
||||
QList<const Entry*> entries() const;
|
||||
void addEntry(Entry* entry);
|
||||
void removeEntry(Entry* entry);
|
||||
|
||||
Q_SIGNALS:
|
||||
void groupChanged(const Group* group);
|
||||
|
||||
private:
|
||||
void recSetDatabase(Database* db);
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ Uuid::Uuid(const QByteArray& data)
|
||||
Uuid Uuid::random() {
|
||||
QByteArray randomAray;
|
||||
// TODO fill with random data
|
||||
randomAray.fill(1, 16);
|
||||
return Uuid(randomAray);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user