aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/dialogs/qquickabstractfiledialog.cpp
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2013-02-28 17:57:38 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-15 21:04:55 +0100
commit9146d36552c2eb99166b773bb027d34c671d66e5 (patch)
treeb095a2f11af56da41ec80ea066f2aaea5b358725 /src/imports/dialogs/qquickabstractfiledialog.cpp
parent789e6eb98376c6a235c1a32d009a9b13dd97d93c (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.cpp58
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