Hotfix/2657 prevent share overwrite (#2746)

* Fix problem with export from newly saved database

Newly created/saved databases (or used with DatabaseWidget::saveAs)
were not exported/imported correctly.
Fixed the problem by reinitializing the ShareObserver on
DatabaseWidget::saveAs.

* Introduce warnings and prevent conflicting shares

Introduced several warnings and errors to indicate improper settings.
Prevent export when a path is used multiple times (only the file path is
checked - may ignore multiple similar ways to reference a share).

* Improve KeeShare integration in DatabaseWidget

Moved initial KeeShare association to constructor.
Introduced Q_UNUSED to indicate need for assignment statement.
This commit is contained in:
ckieschnick
2019-03-16 03:39:46 +01:00
committed by Jonathan White
parent ebb87e6379
commit 11ecaf4fa4
8 changed files with 109 additions and 19 deletions

View File

@@ -36,9 +36,9 @@ public:
{
}
void set(Group* temporaryGroup) const
void set(Group* temporaryGroup, QSharedPointer<Database> database) const
{
editPage->set(widget, temporaryGroup);
editPage->set(widget, temporaryGroup, database);
}
void assign() const
@@ -133,7 +133,7 @@ void EditGroupWidget::loadGroup(Group* group, bool create, const QSharedPointer<
m_editWidgetProperties->setCustomData(m_temporaryGroup->customData());
for (const ExtraPage& page : asConst(m_extraPages)) {
page.set(m_temporaryGroup.data());
page.set(m_temporaryGroup.data(), m_db);
}
setCurrentPage(0);