Commit Graph

6919 Commits

Author SHA1 Message Date
Kent Hansen
b39c1a32b5 Port QtConcurrent to QMetaMethod-based connectNotify()
The const char *-based API is deprecated and will be removed in Qt5.

Change-Id: Ica5b2c5020adf972db5005be8c062ddcdae8c0b4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-01 01:18:03 +02:00
Kent Hansen
243ea09e4c Add QMetaMethod-based QObject::connect/disconnectNotify() API
This API will fully replace the const char *-based connectNotify()
and disconnectNotify() in Qt5; the old functions will be REMOVED
before Qt 5.0 final.

The new implementation fixes the long-standing issue of
connectNotify() not being called when using the (internal)
index-based QMetaObject::connect() (e.g., from QML).

As with the old API, there are still two "unintuitive" behaviors
concerning disconnectNotify():
- disconnectNotify() is not called when the signal is disconnected
  using the QObject::disconnect(QMetaObject::Connection) overload.
- disconnectNotify() is not called when a receiver is destroyed
  (i.e., when a connection is implicitly removed).

The old versions of connectNotify() and disconnectNotify() are kept
for now, and they are still called. They will be removed once known
existing reimplementations (e.g., QtNetwork, QtDBus) have been
ported to the new API.

Change-Id: I8b4f007f3c6d89199c1ba04a3e23c8ca314e0896
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-05-01 01:18:03 +02:00
Olivier Goffart
67245d1708 Fix compiler warning in qdrawhelper.cpp
warning: always_inline function might not be inlinable [-Wattributes]

Those function are only used in array of function pointers. They
cannot be inlined.

Change-Id: I82b10d82ac8915129dc8921b1a74d42d8547bc40
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-05-01 01:18:03 +02:00
Bradley T. Hughes
b46189c3c3 Support all modality types in QPlatformDialogHelper
Modality is not a boolean property in Qt. There are 2 types: window
modality and application modality. Native dialogs can support both of
these types as well (e.g. on Cocoa, a window modal file dialog should be
displayed as a Sheet). Remove the QPlatformDialogHelper::ShowFlags enum
and instead pass a Qt::WindowModality parameter to
QPlatformDialogHelper::show_sys().

The Windows implementation has been updated to check for
Qt::ApplicationModal instead of the ShowModal flag (since only
Qt::ApplicationModal dialogs are blocking).

The Cocoa implementation has been updated to only use non-modal and
application modal native color and font dialogs (which restores Qt 4
behavior). These are shared Cocoa panels that cannot be shown as sheets,
however. If the programmer asks for window modal color/font dialogs, we
use the Qt versions, not the native ones. The file dialog can be shown
either as a Sheet (but we need to pass an NSWindow parent for it to work
properly) or as an application modal dialog.

This change has been tested on Mac OS X with
tests/manual/windowmodality.

Change-Id: I9064987433895c55f68aac979ef8e8207fb24bbe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-04-30 14:01:22 +02:00
Morten Johan Sorvig
842a0b094b Make QGtkStyle work on Qt 5.
Mostly straightforward porting: Add configure test from Qt 4. Add X11
include to qgtkstyle_p.cpp. Use renamed QGuiApplicationPrivate::showModalWindow.

Change-Id: I83020e13ec00b49f3fe346814f881bce19a6f602
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 14:01:22 +02:00
Morten Johan Sorvig
4e59daf34f Cocoa: Fix beep-on-show for Creator menus.
Maintain a current window state variable in QCocoaWindnow
and use it when setting the new window state on the
NSWindow.

The NSWindow state accessors can apparently not be
trusted, in particular isZoomed always returns true
for the Creator popup menu.

Change-Id: I78f13de251f3730752813bba17459011f8558aee
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-30 14:01:22 +02:00
Lars Knoll
b7cd964761 Remove unused code
Change-Id: I185db2361990dd1d503488a364826738270388b5
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-04-30 14:01:22 +02:00
Jonathan Liu
7bd1f36d37 Disable force_align_arg_pointer function attribute with MinGW-w64
The force_align_arg_pointer function attribute is not necessary for
MinGW-w64 to align stack for SSE and generates a compiler warning as
it is ignored. Do not use force_align_arg_pointer with MinGW-w64 to
silence the warning.

Change-Id: I58a754dc3ec01b36a1d3c9490f45ccf0824468ba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 14:01:22 +02:00
Miikka Heikkinen
e1e9295926 Fix the tst_QOpenGL::sharedResourceCleanup() test case in Windows
QWindowsGLContext was returning always false for isSharing() query,
as it was falling back to default implementation.

Task-number: QTBUG-24192
Change-Id: I884d559d69545ef85a0d07d7287bc50ce459c1bd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 14:01:22 +02:00
Kevin Krammer
fa94f01489 Use BPS based event dispatcher
Create a QPA specific subclass of the blackberry event dispatcher
(basically the BPS equivalent to the QUnixEventDispatcherQPA created
by createUnixEventDispatcher()).

Create an event dispatcher event filter that will receive all BPS events
and then either handle them itself or delegate to event subtype
specific handlers.

Change-Id: I112e0274156727d3aa9e5693b59d041c65be4daf
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2012-04-30 14:01:22 +02:00
Miikka Heikkinen
891345072e Remove declaration of QWindowsFontEngine::createEngine()
There is no implementation for this function so might as well remove
the declaration. The function is actually implemented by
QWindowsFontDatabase class, where it is also properly declared.

Change-Id: I8f5c050fa3f3c48b07e10f205eb0f7b16e12b737
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 11:37:36 +02:00
Miikka Heikkinen
7dbd397e40 Removed insignification from QBackingStore test
The test is passing in CI for both Mac and Windows, so removed the
insignification from it.

Task-number: QTBUG-24885
Change-Id: Ida39d98b72e49fc82358d016b8de725bbfc5d6de
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-30 11:37:36 +02:00
Laszlo Agocs
9d6f208704 Remove unused private and protected members from QClipboard
Change-Id: I1d5ce0db4a9a6582629e2c0b74e9ab998b405788
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-04-30 11:37:36 +02:00
stockton
0ea3a1a9ad Fix Qt::MouseButton Documentation for Qt::ExtraButton24,
Documentation for the 'more mouse buttons' feature has a Typo on
Qt::ExtraButton24 (is shown as "Qt::ExtraButton44", no value.)
Also, the order of BackButton/Xbutton1/ExtraButton1 causes the
'BackButton' value to be a forward reference to XButton1, which
makes it awkward and hard to understand. Same with ForwardButton/
XButton2/ExtraButton2.

Task-number: QTBUG-25529

Change-Id: I04b76d91d7a2155c1917a809a51700059320f510
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-30 09:17:13 +02:00
Jason McDonald
897586f025 Remove insignification of lancelot test on Mac OS X.
This test has been passing consistently since the previous crash was
skipped in commit 6dbd00b120.

Task-number: QTBUG-22792
Change-Id: I41ac001a3b9e16cde4d674dc9f34ab2dffb848cd
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-30 03:29:52 +02:00
Jason McDonald
56f0c67dc1 Remove insignficiation from qgraphicsscene test on Windows.
This test has been passing consistently since it started running in CI.

Task-number: QTBUG-24295
Change-Id: If2a163607ae72cae9e28619dd5de1b333aea4ed9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-04-30 03:29:52 +02:00
Jason McDonald
151ec76614 Remove insignification from qsslsocket_onDemandCertificates_* tests
These tests have been passing consistently since they started running
on Windows in CI.

Change-Id: I4505497afc477a7f4fbda0acc29987d0d0cf220a
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-30 01:08:09 +02:00
Jason McDonald
fba7cd70b4 Remove insignification from qtcpserver test on Mac OS X.
This test has been passing consistently since starting to run in CI.

Task-number: QTBUG-25445
Change-Id: Id024921b18ea4ef94ad2f47d9db2ccda3212eaaa
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-30 01:08:01 +02:00
Jason McDonald
3019c9da1a Remove insignification of qsslsocket test on Windows and Mac.
The test has a single stable failure on both of these platforms. Mark
the failure with QEXPECT_FAIL (that was already the case on Ubuntu
11.10) and re-enable the test.

Note also the elimination of duplicate bug numbers.

Task-number: QTBUG-24234
Change-Id: Ica11e7d1f3cd9487647127984fef7c75e0e764fe
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-04-30 01:07:50 +02:00
Jonathan Liu
7b87469bc5 Fix MinGW-w64 compilation
Use qintptr and quintptr for exchanging data with registers for cpuid
as the size of long does not match the size of the register on Win64
which uses the LLP64 data model.

Change-Id: I23b8c8e0977166f7e62795c16e9080e44d9f25f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-30 01:06:47 +02:00
Stephen Kelly
e72a425e13 If a dependency was not found, and we were not called with REQUIRED, we are not found.
This only works with CMake 2.8.8, but it is no harm to earlier versions.

Change-Id: I62c220e4b24f951e83c23eb57d5f833de4d181c5
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 20:28:00 +02:00
Stephen Kelly
05dddb265c Properly quote the dependencies string.
Change-Id: I319b04cdb21860652658ee8d3e577d41a913ed5a
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 20:27:39 +02:00
Lars Knoll
03da3d7f5c Get rid of most warnings related to QInputMethod
Change-Id: Id0b1235a5dc209c5c06e0a64613364c89e733005
Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
2012-04-29 14:05:39 +02:00
Stephen Kelly
6e8d306ca7 Make sure different modules do not overwrite each others dependencies.
Change-Id: I30ca05d3c692a707cfe829ad5fee099549bab540
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 14:05:39 +02:00
Stephen Kelly
7fc8edf069 Forward the REQUIRED and QUIET arguments when finding dependencies.
Change-Id: I5d7c26f12a296ac3527575149978b18c5e9a4a67
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 14:05:39 +02:00
Stephen Kelly
eddb8bc3e5 Simplify the cmake version check.
Change-Id: Ifdd89397f88b090a6b43d40636dbeac029faaed8
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 14:05:39 +02:00
Stephen Kelly
4490681459 Add some more useful output when about the cmake version
Change-Id: I58efa1f295dbc652b1882937ca27ea52d9f4a923
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-04-29 11:48:02 +02:00
Thiago Macieira
75a0c7f9b5 [SIC] Make non-const the QRegExp methods that modify the internals
These methods modify QRegExp internals and should not have been
const. It's actually dangerous to have them const, since users may
think it's safe to use the matching method in a thread-safe manner.

Task-number: QTBUG-25064
Change-Id: Ia370eb42fd0407a94924f420297c5e83d3908214
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-28 19:42:51 +02:00
Casper van Donderen
00b961c37f Doc: Fix most qdoc errors in QtSql.
- Move 2 images from qtdoc.
- Add "make docs" command for qtsql
- Fix qdoc command usage errors.

Change-Id: Id2f0548d09ed8f77b2317863d443c19d1cccdd83
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-28 13:53:46 +02:00
Martin Smith
82fa92b23c qdoc: Further changes to the QML specialization
The <qmlPropertyGroup> tag now has an id attribute
of the form "id-qml-propertygroup-xxx" where the
xxx is the property name. //This should be unique
within the document.

Change-Id: I20b30266dbe92b85b60400de30ebf9b1f1e292ea
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-28 13:53:37 +02:00
Lars Knoll
600e193bbc Don't generate compiler warnings for using deprecated methods
We need to construct QImageTextKeyLang objects for the deprecated
method in QImage. That's impossible to do if we don't have a
constructor for the class that's non deprecated. So add a private
constructor and make QImage a fried of the class so it can use
that constructor.

Change-Id: I6359e9943fe031ed3dca85479ee9ec47ceaf776b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-28 01:16:20 +02:00
Lars Knoll
9d1f1b0901 Get rid of some deprecation warnings
Change-Id: I05e6f9479789652cc1536cb5bced2bc8fa664c84
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-04-28 01:16:20 +02:00
Thiago Macieira
1fc28ff56c Re-enable casting to and from "ASCII" on tst_qstring.cpp
Turns out that we've had some old unit tests commented out that did not
compile. QString does not have a std::string constructor nor overloads
to many other methods. And std::string does not cast to char* on its
own. So these tests need to be removed.

Change-Id: I22df66fc3ccc68bc2840f2d83747234418e480f5
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-28 01:16:20 +02:00
Thiago Macieira
da2c170aa2 Don't use the QRegExp methods that modify the object [QtCore]
QRegExp matching methods modify the object, which we don't want to. In
particular, when we receive a QRegExp from the user or we store in a
context that might require thread-safety, make sure we make a copy
before using it.

QRegularExpression has no such shortcoming.

Task-number: QTBUG-25064
Change-Id: Icf22986cd5f6fd086518c78a7d56e6cadfe9f5f6
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:54 +02:00
Thiago Macieira
d78d5ddf2a Wrap the non-ASCII testcases with QString::fromUtf8
And use QString::toUtf8() to recover the byte array original.

Change-Id: Ic94de12e7ac67479e85a64a86f8467428b4d22ba
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:01 +02:00
Thiago Macieira
4a6d3fcab6 Wrap all Latin 1 strings with QString::fromLatin1 or QLatin1Strings
Change-Id: I1a1891b9126a2546c1872ec25aba9581cc84bb2f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:01 +02:00
Thiago Macieira
ac7afd5ea7 Convert these files to ASCII or UTF-8
Remove all non-UTF-8 sequences from source code in Qt.

Change-Id: I46d9cb23ef2199894896f171d553b3144822f36c
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:01 +02:00
Thiago Macieira
04a84400ea Force tst_qstring to use fromLatin1 where it has Latin 1 literals
Change-Id: I941d20733da2987ca7ced14c314adebaf6a431f6
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:01 +02:00
Miikka Heikkinen
394bafefac Fix QWindow autotest for Windows.
The test was flawed, as it didn't process queued events before checking
for received event counts, which caused window minimum size enforcement
triggered resizes to be missed. Added event processing steps before
critical checks and also increased the size of the windows so that
event counts are predictable also on Windows.

Note that this might also fix the issues this test has on Mac, but I
can't test that.

Task-number: QTBUG-24904
Change-Id: I01a4bd1ddabcf3650a8abff67b03c75b9c40a626
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 22:52:01 +02:00
Jason McDonald
0c3a0dd799 Remove old Qt4 to-do comment.
Addressing the comment would likely break existing applications, so
leave things as they are for now.

Task-number: QTBUG-25099
Change-Id: I7dfd0e1ae121dcae57c2babc3373c2e5d16ad44b
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 22:52:01 +02:00
Shane Kearns
08cc6901f8 Move QWinEventNotifier data members to a private class
This is a binary incompatible change to allow future changes
to QWinEventNotifier to be possible in a binary compatible way.

Change-Id: I268d3e01d8ee237ecbd164ee0f7cae1eb73dd725
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Debao Zhang <dbzhang800@gmail.com>
2012-04-27 22:52:01 +02:00
Friedemann Kleint
e79d975be4 Replace QGuiApplication::activeWindow by focusWindow().
Fix deprecation warnings.

Change-Id: I8d33aa8c035df6f5ef3fff6a402e980e43e03406
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 20:16:37 +02:00
Friedemann Kleint
89b6e2d704 Windows: Fix warning about retrieving the handle from non-toplevels.
Change-Id: I967f218c98309e77371717aa16e46995a767caa3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 20:16:09 +02:00
Friedemann Kleint
bf4a4a106f QWindowsBackingStore: Flush to correct window.
Task-number: QTBUG-25435

Change-Id: I13f57a328a7ac3402fe0def9d724f7e700016c80
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 20:15:52 +02:00
Morten Johan Sorvig
1d72e3fbdf Remove deprecation tags from QWheelEvent.
0df1c9f1 enabled deprecation warnings from Qt,
causing warnings from QWheelEvent use.

Using delta() and orientation() in new code is still
not advised, but since QtWidgets uses them the
"deprecated" tag is not suitable.

Change-Id: I597e8ddf9fd2dc911d0e30044e96df744982ff81
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-04-27 14:41:42 +02:00
Friedemann Kleint
4a2942085a Windows/Vista style: Fix painting of QGroupBox.
QGroupBox in Vista style does not show a frame, currently.

drawBackgroundDirectly should also be called if the paintDevice
is a backing store.

Task-number: QTBUG-25395
Change-Id: Ifa20802dea6c182904f68271ddd0d175007e4b0e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-04-27 10:37:02 +02:00
Friedemann Kleint
bd2d0d7cbe Fix warning about int-truncation (MSVC2010, 64bit).
Change-Id: Idfc483ccb80a8bbad128672052edfa04635bd532
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-04-27 10:37:02 +02:00
Rohan McGovern
64fbad8de4 doc: removed wrong license headers from several .pro snippets
qmake can't parse /* C-style comments */.  The license headers in these
files should use # as the comment delimiter.  However, .pro files anyway
don't need license headers, so just remove them.

Continues from commit 8dea797015, which
removed the header from one file.

Change-Id: Ib227aabb27224fc1fe89b7ced4fbbf7b1af8b193
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-04-27 10:37:02 +02:00
Kent Hansen
dac23b9a57 Add QMetaMethod::fromSignal() function
Given a member function that's a signal, returns the corresponding
QMetaMethod. Inspired by the implementation of the template-based
QObject::connect().

The primary use case for this function is to have an effective and
exact (not subject to shadowing) way of checking whether a known
signal was connected to in reimplementations of
QObject::connectNotify(QMetaMethod), avoiding string comparisons.
Example:

void MyObject::connectNotify(const QMetaMethod &signal)
{
    if (signal == QMetaMethod::fromSignal(&MyObject::mySignal)) {
        // Someone connected to mySignal ...
    }
}

Change-Id: I5e4de434275fe543c004d569dcaa9ceda3442f03
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-04-27 10:37:02 +02:00
aavit
56d4d97852 Fix workaround for image readers that can scale but not clip
If both scaling and clipping was requested from an image reader that
only supports scaling, the code failed to apply the intended
workaround (i.e. read normal and do clipping and scaling afterwards).
Ref. the comment just above about "Only enable the ScaledSize option if
..."

Change-Id: I273edba60bf9f785f2082aa8f236505ec3ce0776
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-04-27 10:37:02 +02:00