From: Claudio Cambra Date: Sat, 1 Oct 2022 08:26:06 +0000 (+0200) Subject: Refactor generation of dialogs, remove need for QSharedPointer and reduce use of... X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~11^2~169^2~19 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=685a0362fca890507bd69bfa896b6adc12f6f673;p=nextcloud-desktop.git Refactor generation of dialogs, remove need for QSharedPointer and reduce use of pointers Signed-off-by: Claudio Cambra --- diff --git a/src/gui/systray.cpp b/src/gui/systray.cpp index d3cb9a22c..38ef32dbf 100644 --- a/src/gui/systray.cpp +++ b/src/gui/systray.cpp @@ -291,13 +291,13 @@ bool Systray::raiseDialogs() return false; } - QVector> liveDialogs; + QVector liveDialogs; - for(const auto &dialog : _dialogs) { - if(dialog.isNull()) { + for(const auto dialog : _dialogs) { + if(!dialog) { continue; } else if(!dialog->isVisible()) { - destroyDialog(dialog.data()); + destroyDialog(dialog); continue; } @@ -334,13 +334,13 @@ void Systray::createFileDetailsDialog(const QString &localPath) {"localPath", localPath}, }; - const auto fileDetailsDialog = new QQmlComponent(_trayEngine, QStringLiteral("qrc:/qml/src/gui/filedetails/FileDetailsWindow.qml")); + QQmlComponent fileDetailsDialog(_trayEngine, QStringLiteral("qrc:/qml/src/gui/filedetails/FileDetailsWindow.qml")); - if (fileDetailsDialog && !fileDetailsDialog->isError()) { - const auto createdDialog = fileDetailsDialog->createWithInitialProperties(initialProperties); - const QSharedPointer dialog(qobject_cast(createdDialog)); + if (!fileDetailsDialog.isError()) { + const auto createdDialog = fileDetailsDialog.createWithInitialProperties(initialProperties); + const auto dialog = qobject_cast(createdDialog); - if(dialog.isNull()) { + if(!dialog) { qCWarning(lcSystray) << "File details dialog window resulted in creation of object that was not a window!"; return; } @@ -351,10 +351,8 @@ void Systray::createFileDetailsDialog(const QString &localPath) dialog->raise(); dialog->requestActivate(); - } else if (fileDetailsDialog) { - qCWarning(lcSystray) << fileDetailsDialog->errorString(); } else { - qCWarning(lcSystray) << "Unable to open share dialog for unknown reasons..."; + qCWarning(lcSystray) << fileDetailsDialog.errorString(); } } diff --git a/src/gui/systray.h b/src/gui/systray.h index 3578a977f..7522d9177 100644 --- a/src/gui/systray.h +++ b/src/gui/systray.h @@ -173,7 +173,7 @@ private: QSet _callsAlreadyNotified; QPointer _editFileLocallyLoadingDialog; - QVector> _dialogs; + QVector _dialogs; }; } // namespace OCC