43 Q_INTERFACES(QQmlParserStatus)
44 Q_PROPERTY(QQmlListProperty<QObject> data READ data FINAL)
45 Q_PROPERTY(QWindow *parentWindow READ parentWindow WRITE setParentWindow NOTIFY parentWindowChanged RESET resetParentWindow FINAL)
46 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged FINAL)
47 Q_PROPERTY(Qt::WindowFlags flags READ flags WRITE setFlags NOTIFY flagsChanged FINAL)
48 Q_PROPERTY(Qt::WindowModality modality READ modality WRITE setModality NOTIFY modalityChanged FINAL)
49 Q_PROPERTY(QQuickPopup::PopupType popupType READ popupType WRITE setPopupType RESET resetPopupType NOTIFY popupTypeChanged FINAL REVISION(6, 10))
50 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged FINAL)
51 Q_PROPERTY(
int result READ result WRITE setResult NOTIFY resultChanged FINAL)
52 Q_CLASSINFO(
"DefaultProperty",
"data")
53 Q_MOC_INCLUDE(<QtGui/qwindow.h>)
55 QML_ADDED_IN_VERSION(6, 2)
58 explicit QQuickAbstractDialog(QQuickDialogType type, QObject *parent =
nullptr);
59 ~QQuickAbstractDialog();
61 QPlatformDialogHelper *handle()
const;
63 QQmlListProperty<QObject> data();
65 QWindow *parentWindow()
const;
66 void setParentWindow(QWindow *window);
67 void resetParentWindow();
69 QString title()
const;
70 void setTitle(
const QString &title);
72 Qt::WindowFlags flags()
const;
73 void setFlags(Qt::WindowFlags flags);
75 Qt::WindowModality modality()
const;
76 void setModality(Qt::WindowModality modality);
78 bool isVisible()
const;
79 void setVisible(
bool visible);
81 enum StandardCode { Rejected, Accepted };
85 void setResult(
int result);
87 QQuickPopup::PopupType popupType()
const;
88 void setPopupType(QQuickPopup::PopupType popupType);
89 void resetPopupType();
94 virtual void accept();
95 virtual void reject();
96 virtual void done(
int result);
101 void parentWindowChanged();
104 void modalityChanged();
105 void visibleChanged();
106 void resultChanged();
107 Q_REVISION(6, 10)
void popupTypeChanged();
110 void classBegin() override;
111 void componentComplete() override;
113 enum class CreateOptions { TryAllDialogTypes = 0, DontTryNativeDialog = 1 };
114 bool create(CreateOptions = CreateOptions::TryAllDialogTypes);
117 virtual bool useNativeDialog()
const;
118 virtual void onCreate(QPlatformDialogHelper *dialog);
119 virtual void onShow(QPlatformDialogHelper *dialog);
120 virtual void onHide(QPlatformDialogHelper *dialog);
121 virtual int dialogCode()
const;
123 QQuickItem *findParentItem()
const;
124 QWindow *windowForOpen()
const;
125 void deferredOpen(QWindow *window);
127 int m_result = Rejected;
128 QWindow *m_parentWindow =
nullptr;
130 Qt::WindowFlags m_flags = Qt::Dialog;
131 Qt::WindowModality m_modality = Qt::WindowModal;
132 QQuickDialogType m_type = QQuickDialogType::FileDialog;
133 QList<QObject *> m_data;
134 std::unique_ptr<QPlatformDialogHelper> m_handle;
135 QQuickPopup::PopupType m_popupType = QQuickPopup::Window;
136 bool m_visibleRequested =
false;
137 bool m_visible =
false;
138 bool m_complete =
false;
139 bool m_parentWindowExplicitlySet =
false;
140 bool m_firstShow =
true;