another try to fix that damn bug

This commit is contained in:
csoler 2021-02-18 22:33:19 +01:00
parent 74663509dc
commit e34ed72ff7
2 changed files with 26 additions and 5 deletions

View File

@ -123,22 +123,40 @@ CreateCircleDialog::CreateCircleDialog()
CreateCircleDialog::~CreateCircleDialog()
{
}
void CreateCircleDialog::closeEvent(QCloseEvent *e)
bool CreateCircleDialog::tryClose()
{
if(mIdentitiesLoading || mCircleLoading)
{
std::cerr << "Close() called. Identities or circle currently loading => not actually closing." << std::endl;
mCloseRequested = true;
e->ignore();
return;
return false;
}
else
{
std::cerr << "Close() called. Identities not currently loading => closing." << std::endl;
QDialog::closeEvent(e);
return true;
}
}
void CreateCircleDialog::accept()
{
if(tryClose())
QDialog::accept();
}
void CreateCircleDialog::reject()
{
if(tryClose())
QDialog::reject();
}
void CreateCircleDialog::keyPressEvent(QKeyEvent *e)
{
if(e->key() != Qt::Key_Escape)
QDialog::keyPressEvent(e);
}
void CreateCircleDialog::editExistingId(const RsGxsGroupId &circleId, const bool &clearList /*= true*/,bool readonly)
{
/* load this circle */

View File

@ -62,8 +62,11 @@ private slots:
void MembershipListCustomPopupMenu( QPoint point);
protected:
virtual void closeEvent(QCloseEvent *) override;
virtual void keyPressEvent(QKeyEvent *e) override;
virtual void accept() override;
virtual void reject() override;
bool tryClose();
private:
void updateCircleGUI();