diff options
author | Rohan McGovern <rohan.mcgovern@nokia.com> | 2009-08-06 03:55:27 (GMT) |
---|---|---|
committer | Rohan McGovern <rohan.mcgovern@nokia.com> | 2009-08-06 03:55:27 (GMT) |
commit | 06d57fc65c47d12047e985202ae1e394c48f78ca (patch) | |
tree | a897a8f91ad5e919e7cc66671b60d83248c96e72 /src | |
parent | 31fa1d0f6144e7e92748b33f8633eeb2f52483a1 (diff) | |
parent | 56b349951a70f3ab95e334e41e37f017e91cf481 (diff) | |
download | Qt-06d57fc65c47d12047e985202ae1e394c48f78ca.zip Qt-06d57fc65c47d12047e985202ae1e394c48f78ca.tar.gz Qt-06d57fc65c47d12047e985202ae1e394c48f78ca.tar.bz2 |
Merge commit 'origin/4.5'
Conflicts:
src/gui/dialogs/qfiledialog.cpp
src/gui/dialogs/qfiledialog_win.cpp
tests/auto/qicoimageformat/tst_qicoimageformat.cpp
tests/auto/qscriptqobject/qscriptqobject.pro
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/dialogs/qfiledialog_win.cpp | 21 | ||||
-rw-r--r-- | src/gui/itemviews/qabstractitemview.cpp | 7 | ||||
-rw-r--r-- | src/gui/kernel/qwidget_mac.mm | 6 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkheader.cpp | 3 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkreply_p.h | 1 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkrequest.cpp | 4 | ||||
-rw-r--r-- | src/qt3support/network/q3http.cpp | 2 | ||||
-rw-r--r-- | src/qt3support/network/q3http.h | 5 | ||||
-rw-r--r-- | src/qt3support/network/q3network.cpp | 2 |
9 files changed, 40 insertions, 11 deletions
diff --git a/src/gui/dialogs/qfiledialog_win.cpp b/src/gui/dialogs/qfiledialog_win.cpp index 02469b2..5fd341a 100644 --- a/src/gui/dialogs/qfiledialog_win.cpp +++ b/src/gui/dialogs/qfiledialog_win.cpp @@ -175,15 +175,22 @@ static QStringList qt_win_make_filters_list(const QString &filter) } // Makes a NUL-oriented Windows filter from a Qt filter. -static QString qt_win_filter(const QString &filter) +static QString qt_win_filter(const QString &filter, bool hideFiltersDetails) { QStringList filterLst = qt_win_make_filters_list(filter); QStringList::Iterator it = filterLst.begin(); QString winfilters; + QRegExp r(QString::fromLatin1(qt_file_dialog_filter_reg_exp)); for (; it != filterLst.end(); ++it) { QString subfilter = *it; if (!subfilter.isEmpty()) { - winfilters += subfilter; + if (hideFiltersDetails) { + int index = r.indexIn(subfilter); + if (index >= 0) + winfilters += r.cap(1); + } else { + winfilters += subfilter; + } winfilters += QChar(); winfilters += qt_win_extract_filter(subfilter); winfilters += QChar(); @@ -297,9 +304,10 @@ QString qt_win_get_open_file_name(const QFileDialogArgs &args, modal_widget.setParent(args.parent, Qt::Window); QApplicationPrivate::enterModal(&modal_widget); + bool hideFiltersDetails = args.options & QFileDialog::HideNameFilterDetails; OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection, args.directory, args.caption, - qt_win_filter(args.filter), + qt_win_filter(args.filter, hideFiltersDetails), QFileDialog::ExistingFile, args.options); if (idx) @@ -356,7 +364,7 @@ QString qt_win_get_save_file_name(const QFileDialogArgs &args, modal_widget.setAttribute(Qt::WA_NoChildEventsForParent, true); modal_widget.setParent(args.parent, Qt::Window); QApplicationPrivate::enterModal(&modal_widget); - + bool hideFiltersDetails = args.options & QFileDialog::HideNameFilterDetails; // This block is used below for the lpstrDefExt member. // Note that the current MSDN docs document this member wrong. // It should rather be documented as "the default extension if no extension was given and if the @@ -376,7 +384,7 @@ QString qt_win_get_save_file_name(const QFileDialogArgs &args, OPENFILENAME *ofn = qt_win_make_OFN(args.parent, args.selection, args.directory, args.caption, - qt_win_filter(args.filter), + qt_win_filter(args.filter, hideFiltersDetails), QFileDialog::AnyFile, args.options); @@ -642,9 +650,10 @@ QStringList qt_win_get_open_file_names(const QFileDialogArgs &args, modal_widget.setParent(args.parent, Qt::Window); QApplicationPrivate::enterModal(&modal_widget); + bool hideFiltersDetails = args.options & QFileDialog::HideNameFilterDetails; OPENFILENAME* ofn = qt_win_make_OFN(args.parent, args.selection, args.directory, args.caption, - qt_win_filter(args.filter), + qt_win_filter(args.filter, hideFiltersDetails), QFileDialog::ExistingFiles, args.options); if (idx) diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp index 94569ec..ed2b3c5 100644 --- a/src/gui/itemviews/qabstractitemview.cpp +++ b/src/gui/itemviews/qabstractitemview.cpp @@ -2676,6 +2676,7 @@ void QAbstractItemView::keyboardSearch(const QString &search) QModelIndex current = start; QModelIndexList match; QModelIndex firstMatch; + QModelIndex startMatch; QModelIndexList previous; do { match = d->model->match(current, Qt::DisplayRole, searchString); @@ -2692,6 +2693,12 @@ void QAbstractItemView::keyboardSearch(const QString &search) if (row >= d->model->rowCount(firstMatch.parent())) row = 0; current = firstMatch.sibling(row, firstMatch.column()); + + //avoid infinite loop if all the matching items are disabled. + if (!startMatch.isValid()) + startMatch = firstMatch; + else if (startMatch == firstMatch) + break; } } while (current != start && firstMatch.isValid()); } diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index 78df09d..6851e25 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -3176,6 +3176,12 @@ void QWidgetPrivate::show_sys() #ifndef QT_MAC_USE_COCOA SizeWindow(window, q->width(), q->height(), true); #endif + +#ifdef QT_MAC_USE_COCOA + // Make sure that we end up sending a repaint event to + // the widget if the window has been visible one before: + [qt_mac_get_contentview_for(window) setNeedsDisplay:YES]; +#endif if(qt_mac_is_macsheet(q)) { qt_event_request_showsheet(q); } else if(qt_mac_is_macdrawer(q)) { diff --git a/src/network/access/qhttpnetworkheader.cpp b/src/network/access/qhttpnetworkheader.cpp index 5af9764..88cc484 100644 --- a/src/network/access/qhttpnetworkheader.cpp +++ b/src/network/access/qhttpnetworkheader.cpp @@ -41,6 +41,7 @@ #include "qhttpnetworkheader_p.h" +#ifndef QT_NO_HTTP QT_BEGIN_NAMESPACE @@ -121,3 +122,5 @@ bool QHttpNetworkHeaderPrivate::operator==(const QHttpNetworkHeaderPrivate &othe QT_END_NAMESPACE + +#endif diff --git a/src/network/access/qhttpnetworkreply_p.h b/src/network/access/qhttpnetworkreply_p.h index fe49799..819aeb5 100644 --- a/src/network/access/qhttpnetworkreply_p.h +++ b/src/network/access/qhttpnetworkreply_p.h @@ -52,6 +52,7 @@ // // We mean it. // +#include <qplatformdefs.h> #ifndef QT_NO_HTTP #ifndef QT_NO_COMPRESS diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp index 0f330af..b1db0b7 100644 --- a/src/network/access/qhttpnetworkrequest.cpp +++ b/src/network/access/qhttpnetworkrequest.cpp @@ -42,6 +42,8 @@ #include "qhttpnetworkrequest_p.h" #include "private/qnoncontiguousbytedevice_p.h" +#ifndef QT_NO_HTTP + QT_BEGIN_NAMESPACE QHttpNetworkRequestPrivate::QHttpNetworkRequestPrivate(QHttpNetworkRequest::Operation op, @@ -260,3 +262,5 @@ int QHttpNetworkRequest::minorVersion() const QT_END_NAMESPACE +#endif + diff --git a/src/qt3support/network/q3http.cpp b/src/qt3support/network/q3http.cpp index dba4e88..9b5c33f 100644 --- a/src/qt3support/network/q3http.cpp +++ b/src/qt3support/network/q3http.cpp @@ -42,7 +42,7 @@ #include <qplatformdefs.h> #include "q3http.h" -#ifndef QT_NO_NETWORKPROTOCOL_HTTP +#ifndef QT_NO_HTTP #include "q3socket.h" #include "qtextstream.h" diff --git a/src/qt3support/network/q3http.h b/src/qt3support/network/q3http.h index 93ab00e..5311764 100644 --- a/src/qt3support/network/q3http.h +++ b/src/qt3support/network/q3http.h @@ -52,8 +52,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_MODULE(Qt3Support) - -#ifndef QT_NO_NETWORKPROTOCOL_HTTP +#ifndef QT_NO_HTTP class Q3Socket; class QTimerEvent; @@ -269,7 +268,7 @@ private: friend class Q3HttpPGHRequest; }; -#endif // QT_NO_NETWORKPROTOCOL_HTTP +#endif // QT_NO_HTTP QT_END_NAMESPACE diff --git a/src/qt3support/network/q3network.cpp b/src/qt3support/network/q3network.cpp index 3a6a6f0..1f918d1 100644 --- a/src/qt3support/network/q3network.cpp +++ b/src/qt3support/network/q3network.cpp @@ -63,7 +63,7 @@ void q3InitNetworkProtocols() #ifndef QT_NO_NETWORKPROTOCOL_FTP Q3NetworkProtocol::registerNetworkProtocol( QLatin1String("ftp"), new Q3NetworkProtocolFactory< Q3Ftp > ); #endif -#ifndef QT_NO_NETWORKPROTOCOL_HTTP +#ifndef QT_NO_HTTP Q3NetworkProtocol::registerNetworkProtocol( QLatin1String("http"), new Q3NetworkProtocolFactory< Q3Http > ); #endif } |