diff options
author | Shawn Rutledge <shawn.rutledge@digia.com> | 2013-02-28 17:57:38 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-15 21:04:55 +0100 |
commit | 9146d36552c2eb99166b773bb027d34c671d66e5 (patch) | |
tree | b095a2f11af56da41ec80ea066f2aaea5b358725 /src/imports/dialogs/qquickabstractfiledialog.cpp | |
parent | 789e6eb98376c6a235c1a32d009a9b13dd97d93c (diff) |
Create common base class for declarative dialogs
QQuickAbstractFileDialog inherits QQuickAbstractDialog, and so can
the future platform dialog types. Also some header comment corrections.
Change-Id: I86bc6d975223979c19d94a3fd70e4b5130b73f47
Reviewed-by: Liang Qi <liang.qi@digia.com>
Diffstat (limited to 'src/imports/dialogs/qquickabstractfiledialog.cpp')
-rw-r--r-- | src/imports/dialogs/qquickabstractfiledialog.cpp | 58 |
1 files changed, 10 insertions, 48 deletions
diff --git a/src/imports/dialogs/qquickabstractfiledialog.cpp b/src/imports/dialogs/qquickabstractfiledialog.cpp index 905cb5d030..32442de41f 100644 --- a/src/imports/dialogs/qquickabstractfiledialog.cpp +++ b/src/imports/dialogs/qquickabstractfiledialog.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** -** This file is part of the QtQml module of the Qt Toolkit. +** This file is part of the QtQuick.Dialogs module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -49,16 +49,14 @@ QT_BEGIN_NAMESPACE QQuickAbstractFileDialog::QQuickAbstractFileDialog(QObject *parent) - : QObject(parent) + : QQuickAbstractDialog(parent) , m_dlgHelper(0) - , m_parentWindow(0) , m_options(QSharedPointer<QFileDialogOptions>(new QFileDialogOptions())) - , m_visible(false) - , m_modality(Qt::WindowModal) , m_selectExisting(true) , m_selectMultiple(false) , m_selectFolder(false) { + connect(this, SIGNAL(accepted()), this, SIGNAL(selectionAccepted())); } QQuickAbstractFileDialog::~QQuickAbstractFileDialog() @@ -67,27 +65,17 @@ QQuickAbstractFileDialog::~QQuickAbstractFileDialog() void QQuickAbstractFileDialog::setVisible(bool v) { - if (m_visible == v) return; - m_visible = v; - if (helper()) { - if (v) { - helper()->setOptions(m_options); - helper()->setFilter(); - m_visible = helper()->show(Qt::Dialog, m_modality, parentWindow()); - emit filterSelected(); - } else { - helper()->hide(); - } + if (helper() && v) { + m_dlgHelper->setOptions(m_options); + m_dlgHelper->setFilter(); + emit filterSelected(); } - - emit visibilityChanged(); + QQuickAbstractDialog::setVisible(v); } -void QQuickAbstractFileDialog::setModality(Qt::WindowModality m) +QString QQuickAbstractFileDialog::title() const { - if (m_modality == m) return; - m_modality = m; - emit modalityChanged(); + return m_options->windowTitle(); } void QQuickAbstractFileDialog::setTitle(QString t) @@ -177,24 +165,6 @@ QList<QUrl> QQuickAbstractFileDialog::fileUrls() return ret; } -void QQuickAbstractFileDialog::accept() -{ - setVisible(false); - emit accepted(); -} - -void QQuickAbstractFileDialog::reject() -{ - setVisible(false); - emit rejected(); -} - -void QQuickAbstractFileDialog::visibleChanged(bool v) -{ - m_visible = v; - emit visibilityChanged(); -} - void QQuickAbstractFileDialog::updateModes() { // The 4 possible modes are AnyFile, ExistingFile, Directory, ExistingFiles @@ -222,12 +192,4 @@ void QQuickAbstractFileDialog::updateModes() emit fileModeChanged(); } -QQuickWindow *QQuickAbstractFileDialog::parentWindow() -{ - QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent()); - if (parentItem) - m_parentWindow = parentItem->window(); - return m_parentWindow; -} - QT_END_NAMESPACE |