diff options
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm index a159682ddb..d8bb72dd45 100644 --- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm +++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -218,6 +218,8 @@ static QString strippedText(QString s) *mCurrentSelection = QT_PREPEND_NAMESPACE(QCFString::toQString)([[mSavePanel URL] path]); if ([mSavePanel respondsToSelector:@selector(close)]) [mSavePanel close]; + if ([mSavePanel isSheet]) + [NSApp endSheet: mSavePanel]; } - (void)showModelessPanel @@ -496,14 +498,18 @@ static QString strippedText(QString s) [mPopUpButton setTarget:self]; [mPopUpButton setAction:@selector(filterChanged:)]; - QStringList *filters = mNameFilterDropDownList; - if (filters->size() > 0){ + if (mNameFilterDropDownList->size() > 0) { + int filterToUse = -1; for (int i=0; i<mNameFilterDropDownList->size(); ++i) { - QString filter = hideDetails ? [self removeExtensions:filters->at(i)] : filters->at(i); + QString currentFilter = mNameFilterDropDownList->at(i); + if (selectedFilter == currentFilter || + (filterToUse == -1 && currentFilter.startsWith(selectedFilter))) + filterToUse = i; + QString filter = hideDetails ? [self removeExtensions:currentFilter] : currentFilter; [mPopUpButton addItemWithTitle:QT_PREPEND_NAMESPACE(QCFString::toNSString)(filter)]; - if (filters->at(i).startsWith(selectedFilter)) - [mPopUpButton selectItemAtIndex:i]; } + if (filterToUse != -1) + [mPopUpButton selectItemAtIndex:filterToUse]; } } |