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() CreateCircleDialog::~CreateCircleDialog()
{ {
} }
void CreateCircleDialog::closeEvent(QCloseEvent *e)
bool CreateCircleDialog::tryClose()
{ {
if(mIdentitiesLoading || mCircleLoading) if(mIdentitiesLoading || mCircleLoading)
{ {
std::cerr << "Close() called. Identities or circle currently loading => not actually closing." << std::endl; std::cerr << "Close() called. Identities or circle currently loading => not actually closing." << std::endl;
mCloseRequested = true; mCloseRequested = true;
e->ignore(); return false;
return;
} }
else else
{ {
std::cerr << "Close() called. Identities not currently loading => closing." << std::endl; 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) void CreateCircleDialog::editExistingId(const RsGxsGroupId &circleId, const bool &clearList /*= true*/,bool readonly)
{ {
/* load this circle */ /* load this circle */

View File

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