summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-08-20 13:11:53 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-08-20 13:11:53 (GMT)
commit7c58dbc021e71be80aab66d568d7e4cf4f4ca870 (patch)
tree874706f43bdd6e1f7981ac52656127aa9615dcb6 /src/gui
parent5b1d33a8e53d74098b6a42775e39cd61cb8001c5 (diff)
parent8aa4ae683c24f46859a0e016809c2de49aead56f (diff)
downloadQt-7c58dbc021e71be80aab66d568d7e4cf4f4ca870.zip
Qt-7c58dbc021e71be80aab66d568d7e4cf4f4ca870.tar.gz
Qt-7c58dbc021e71be80aab66d568d7e4cf4f4ca870.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Doc: Changes to the index page and second level pages linking to the index page. Use Ctrl rather than Alt for switching tabs in the demo browser Doc: fixing creator bugs, removing menus and textbox in the header Update Japanese translations Ukrainian translation updated qtconfig and qvfb internationalization fixes add full width characters to ending() in linguist QFileDialog::HideNameFilterDetails breaks Cocoa QFileDIalog filter qdoc: Changed id attribute to be a UUID. just build connman and networkmanager plugins on linux
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/dialogs/qfiledialog_mac.mm25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/gui/dialogs/qfiledialog_mac.mm b/src/gui/dialogs/qfiledialog_mac.mm
index 64fc0ee..87850a7 100644
--- a/src/gui/dialogs/qfiledialog_mac.mm
+++ b/src/gui/dialogs/qfiledialog_mac.mm
@@ -119,6 +119,7 @@ QT_USE_NAMESPACE
- (QString)removeExtensions:(const QString &)filter;
- (void)createTextField;
- (void)createPopUpButton:(const QString &)selectedFilter hideDetails:(BOOL)hideDetails;
+- (QStringList)findStrippedFilterWithVisualFilterName:(QString)name;
- (void)createAccessory;
@end
@@ -127,8 +128,6 @@ QT_USE_NAMESPACE
- (id)initWithAcceptMode:(QT_PREPEND_NAMESPACE(QFileDialog::AcceptMode))acceptMode
title:(const QString &)title
- nameFilters:(const QStringList &)nameFilters
- selectedNameFilter:(const QString &)selectedNameFilter
hideNameFilterDetails:(bool)hideNameFilterDetails
qDirFilter:(QT_PREPEND_NAMESPACE(QDir::Filters))qDirFilter
fileOptions:(QT_PREPEND_NAMESPACE(QFileDialog::Options))fileOptions
@@ -158,8 +157,10 @@ QT_USE_NAMESPACE
mPriv = priv;
mLastFilterCheckPath = new QString;
mQDirFilterEntryList = new QStringList;
- mNameFilterDropDownList = new QStringList(nameFilters);
- mSelectedNameFilter = new QStringList(qt_clean_filter_list(selectedNameFilter));
+ mNameFilterDropDownList = new QStringList(priv->nameFilters);
+ QString selectedVisualNameFilter = priv->qFileDialogUi->fileTypeCombo->currentText();
+ mSelectedNameFilter = new QStringList([self findStrippedFilterWithVisualFilterName:selectedVisualNameFilter]);
+
QFileInfo sel(selectFile);
if (sel.isDir()){
mCurrentDir = [qt_mac_QStringToNSString(sel.absoluteFilePath()) retain];
@@ -168,8 +169,9 @@ QT_USE_NAMESPACE
mCurrentDir = [qt_mac_QStringToNSString(sel.absolutePath()) retain];
mCurrentSelection = new QString(sel.absoluteFilePath());
}
+
[mSavePanel setTitle:qt_mac_QStringToNSString(title)];
- [self createPopUpButton:selectedNameFilter hideDetails:hideNameFilterDetails];
+ [self createPopUpButton:selectedVisualNameFilter hideDetails:hideNameFilterDetails];
[self createTextField];
[self createAccessory];
[mSavePanel setAccessoryView:mNameFilterDropDownList->size() > 1 ? mAccessoryView : nil];
@@ -350,7 +352,7 @@ QT_USE_NAMESPACE
// This mDelegate function is called when the _name_ filter changes.
Q_UNUSED(sender);
QString selection = mNameFilterDropDownList->value([mPopUpButton indexOfSelectedItem]);
- *mSelectedNameFilter = QT_PREPEND_NAMESPACE(qt_clean_filter_list)(selection);
+ *mSelectedNameFilter = [self findStrippedFilterWithVisualFilterName:selection];
[mSavePanel validateVisibleColumns];
[self updateProperties];
if (mPriv)
@@ -499,6 +501,15 @@ QT_USE_NAMESPACE
}
}
+- (QStringList) findStrippedFilterWithVisualFilterName:(QString)name
+{
+ for (int i=0; i<mNameFilterDropDownList->size(); ++i) {
+ if (mNameFilterDropDownList->at(i).startsWith(name))
+ return qt_clean_filter_list(mNameFilterDropDownList->at(i));
+ }
+ return QStringList();
+}
+
- (void)createAccessory
{
NSRect accessoryRect = { { 0.0, 0.0 }, { 450.0, 33.0 } };
@@ -1039,8 +1050,6 @@ void QFileDialogPrivate::createNSOpenSavePanelDelegate()
QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) *delegate = [[QT_MANGLE_NAMESPACE(QNSOpenSavePanelDelegate) alloc]
initWithAcceptMode:acceptMode
title:q->windowTitle()
- nameFilters:q->nameFilters()
- selectedNameFilter:q->selectedNameFilter()
hideNameFilterDetails:q->testOption(QFileDialog::HideNameFilterDetails)
qDirFilter:model->filter()
fileOptions:opts