summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.h3
-rw-r--r--src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm18
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.h4
-rw-r--r--src/plugins/platforms/cocoa/qcocoatheme.mm17
4 files changed, 13 insertions, 29 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h
index 2589e13d84..dc0c8b8f66 100644
--- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h
+++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.h
@@ -53,7 +53,7 @@ class QFileDialogPrivate;
class QCocoaFileDialogHelper : public QPlatformFileDialogHelper
{
public:
- QCocoaFileDialogHelper(QFileDialog *dialog);
+ QCocoaFileDialogHelper();
virtual ~QCocoaFileDialogHelper();
void platformNativeDialogModalHelp();
@@ -84,7 +84,6 @@ public:
void QNSOpenSavePanelDelegate_filterSelected(int menuIndex);
private:
- QFileDialog *qtFileDialog;
void *mDelegate;
};
diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
index a8944d3bbd..f7018ecae3 100644
--- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
+++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
@@ -92,7 +92,6 @@ typedef QSharedPointer<QFileDialogOptions> SharedPointerFileDialogOptions;
NSView *mAccessoryView;
NSPopUpButton *mPopUpButton;
NSTextField *mTextField;
- QFileDialog *mFileDialog;
QCocoaFileDialogHelper *mHelper;
NSString *mCurrentDir;
@@ -126,12 +125,10 @@ typedef QSharedPointer<QFileDialogOptions> SharedPointerFileDialogOptions;
- (id)initWithAcceptMode:
(const QString &)selectFile
- fileDialog:(QFileDialog *)fileDialog
options:(SharedPointerFileDialogOptions)options
helper:(QCocoaFileDialogHelper *)helper
{
self = [super init];
- mFileDialog = fileDialog;
mOptions = options;
if (mOptions->acceptMode() == QT_PREPEND_NAMESPACE(QFileDialogOptions::AcceptOpen)){
mOpenPanel = [NSOpenPanel openPanel];
@@ -149,7 +146,7 @@ typedef QSharedPointer<QFileDialogOptions> SharedPointerFileDialogOptions;
mLastFilterCheckPath = new QString;
mQDirFilterEntryList = new QStringList;
mNameFilterDropDownList = new QStringList(mOptions->nameFilters());
- QString selectedVisualNameFilter = mFileDialog->selectedNameFilter();
+ QString selectedVisualNameFilter = mOptions->initiallySelectedNameFilter();
mSelectedNameFilter = new QStringList([self findStrippedFilterWithVisualFilterName:selectedVisualNameFilter]);
QFileInfo sel(selectFile);
@@ -518,8 +515,8 @@ static bool qt_mac_is_macsheet(const QWidget *w)
return w->parentWidget() && (modality == Qt::WindowModal || w->windowType() == Qt::Sheet);
}
-QCocoaFileDialogHelper::QCocoaFileDialogHelper(QFileDialog *dialog) :
- qtFileDialog(dialog), mDelegate(0)
+QCocoaFileDialogHelper::QCocoaFileDialogHelper()
+ :mDelegate(0)
{
}
@@ -624,16 +621,12 @@ void QCocoaFileDialogHelper::deleteNativeDialog_sys()
void QCocoaFileDialogHelper::hide_sys()
{
- if (!qtFileDialog->isHidden())
- hideCocoaFilePanel();
+ hideCocoaFilePanel();
}
bool QCocoaFileDialogHelper::show_sys(ShowFlags /* flags */, Qt::WindowFlags windowFlags, QWindow *parent)
{
// Q_Q(QFileDialog);
- if (!qtFileDialog->isHidden())
- return false;
-
if (windowFlags & Qt::WindowStaysOnTopHint) {
// The native file dialog tries all it can to stay
// on the NSModalPanel level. And it might also show
@@ -657,7 +650,6 @@ void QCocoaFileDialogHelper::createNSOpenSavePanelDelegate()
QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) alloc]
initWithAcceptMode:
selection
- fileDialog:qtFileDialog
options:opts
helper:this];
@@ -669,7 +661,7 @@ bool QCocoaFileDialogHelper::showCocoaFilePanel(QWindow *parent)
// Q_Q(QFileDialog);
createNSOpenSavePanelDelegate();
QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = static_cast<QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *>(mDelegate);
- if (qt_mac_is_macsheet(qtFileDialog))
+ if (0 /*qt_mac_is_macsheet(qtFileDialog)*/) // ### sheet support.
[delegate showWindowModalSheet:parent];
else
[delegate showModelessPanel];
diff --git a/src/plugins/platforms/cocoa/qcocoatheme.h b/src/plugins/platforms/cocoa/qcocoatheme.h
index 7de6790617..e89bb44a11 100644
--- a/src/plugins/platforms/cocoa/qcocoatheme.h
+++ b/src/plugins/platforms/cocoa/qcocoatheme.h
@@ -57,8 +57,8 @@ public:
QPlatformMenu *createPlatformMenu(QMenu *menu = 0) const;
QPlatformMenuBar *createPlatformMenuBar(QMenuBar *menuBar = 0) const;
- bool usePlatformNativeDialog(const QDialog *dialog = 0) const;
- QPlatformDialogHelper *createPlatformDialogHelper(QDialog *dialog = 0) const;
+ bool usePlatformNativeDialog(DialogType dialogType) const;
+ QPlatformDialogHelper *createPlatformDialogHelper(DialogType dialogType) const;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/cocoa/qcocoatheme.mm b/src/plugins/platforms/cocoa/qcocoatheme.mm
index 326d9988c3..2e5d976ec2 100644
--- a/src/plugins/platforms/cocoa/qcocoatheme.mm
+++ b/src/plugins/platforms/cocoa/qcocoatheme.mm
@@ -68,24 +68,17 @@ QPlatformMenuBar *QCocoaTheme::createPlatformMenuBar(QMenuBar *menuBar) const
}
-bool QCocoaTheme::usePlatformNativeDialog(const QDialog *dialog) const
+bool QCocoaTheme::usePlatformNativeDialog(DialogType dialogType) const
{
- Q_UNUSED(dialog);
- return true;
-#if 0
- QFileDialog *fileDialog = qobject_cast<QFileDialog*>(dialog);
- if (fileDialog) {
+ if (dialogType == QPlatformTheme::FileDialog)
return true;
- }
return false;
-#endif
}
-QPlatformDialogHelper * QCocoaTheme::createPlatformDialogHelper(QDialog *dialog) const
+QPlatformDialogHelper * QCocoaTheme::createPlatformDialogHelper(DialogType dialogType) const
{
- QFileDialog *fileDialog = qobject_cast<QFileDialog*>(dialog);
- if (fileDialog) {
- return new QCocoaFileDialogHelper(fileDialog);
+ if (dialogType == QPlatformTheme::FileDialog) {
+ return new QCocoaFileDialogHelper();
}
return 0;
}