Commit Graph

3793 Commits

Author SHA1 Message Date
Debao Zhang
478658fd41 QtWidgets: cleanup several Q3* items
Change-Id: I0812cdd74f19b4c98336724ea722807d4c68cf7d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-19 18:02:47 +01:00
Miikka Heikkinen
4bcd8fc2de Fix infinite recursion crash in QPrinterInfo::supportedPaperSizes()
This function calls platform specific function
QWindowsPrinterSupport::supportedPaperSizes(), which then called back
to QPrinterInfo::supportedPaperSizes(), causing infinite recursion.

Fixed by providing a proper implementation for querying supported
paper sizes in QWin32PrintEngine - the same implementation was used in
Qt 4.8.

Task-number: QTBUG-24190
Change-Id: I64a2773d83596df19818bf2636f1255943d7851d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-19 18:02:39 +01:00
Debao Zhang
ab84aa53af QWidget: update documents of mouseDoubleClickEvent()
Double click behavior has been changed.
see SHA: b371f3f943

Change-Id: Ibd921d01fb25b8c31f75105a4ff63c42bf00c335
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-19 17:37:02 +01:00
Jędrzej Nowacki
25cf5dabbe Fix a memory leak in template QMetaObject::Connection.
QObject::QSlotObjectBase instance given as argument to
QObject::connectImpl was not dereferenced in case of an unsuccessful
connection.

Change-Id: I206b14e986690c027aafc2593762d85dc619e0e6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-19 11:53:07 +01:00
Morten Johan Sorvig
fb4c976a0e Cocoa: Send keyboard modifiers with wheel events.
Read and save the modifiers at the beginning of the
event stream to keep the event interpretation constant
for the entire event stream.

Change-Id: I66046dea8f8fd3ff2f88c48da5f076377bda32dd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-19 11:52:10 +01:00
Morten Johan Sorvig
d6ebb3db16 Fix the compat handleWheelEvent function.
Only set the angleDelta QPoint when the platform
sends a delta/orientation pair.

Change-Id: I0440dca8b290bce10830c04ba42c5c955cd8e001
Reviewed-by: Luis Gabriel Lima <luis.gabriel@openbossa.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-19 09:18:49 +01:00
Frederik Gladhorn
36513264da Make copy and assign private for QAccessibleEvent.
Also make the handling of events in the test pointer
based since mac-g++ doesn't seem to like const
references the way they were before.

Change-Id: I7fe39978d4729b8e586be30978b74aa51ca7cfe6
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-18 21:42:38 +01:00
Bradley T. Hughes
4dbce2a469 Cocoa: Fix function key handling
Cocoa sends function keys (e.g. arrow keys, backspace, F1-F35, etc.) as
Unicode characters in the U+F700-U+F8FF range. Do not deliver text for
events that contain a single control character (to match Qt 4 behavior).
With this fix, keyboard navigation works again in Qt Creator when
running against Qt 5.

Change-Id: I5854bf713c2855dbc5ee491bace2f9dc1acd9426
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-18 16:09:31 +01:00
Bradley T. Hughes
60c59b5cf5 Fix shortcut handling in the Cocoa plugin
KeyPress events could be shortcuts or deadkeys, but we don't know which
until we try. Shortcuts take precedence over deadkeys, so send them
through QWindowSystemInterface::tryHandleSynchronousShortcutEvent()
before passing it onto the input method.

Change-Id: I479a3a7ff1c35e7c5692e8a17fb2173576dd0a29
Reviewed-by: Tasuku Suzuki <tasuku.suzuki@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-18 16:09:23 +01:00
Debao Zhang
78e0ab3342 QPointer: update its document and changes-5.0.0
QPointer has been un-deprecated and one behavior which slightly different
from Qt4 has been fixed.
see SHA: b8773165d7
and SHA: 497622cafe

Change-Id: I4bae2cce3ebfebd8f59b18b5a6a7a7226b8353b9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-18 03:55:07 +01:00
Bradley T. Hughes
7b26a2cf2e Add QWindowSystemInterface::tryHandleSynchronousShortcutEvent()
This function sends a shortcut override through the shortcut system and
returns the result of the event. This will be used in platform plugins
(such as the Cocoa plugin) to make sure that shortcuts work when the
user presses a dead-key combination that normally would go through an
input method to produce text.

An extended overload taking native scan code, virtual key, and modifiers
has also been added.

Change-Id: Ia3836229ab0c66d2fb6f310e72b6f4d6dfa9ead9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-17 20:33:34 +01:00
Lincoln Ramsay
7f67d0810e Don't reject plugins that have empty meta-data
Having an empty Json object ({}) should be valid meta-data but this
check means that there needs to be at least one key-value pair or
the plugin will be rejected.

Change-Id: I578ccc35016af16fd30b3807e796fa63c0282f30
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-17 17:53:00 +01:00
Marc Mutz
d823646db3 containers: add C++11-style c{begin,end}() as alias for const{Begin,End}()
C++11 adds cbegin()/cend() functions for the same reason Qt has
constBegin()/constEnd(). This patch adds these functions to the
Qt containers with the same implementation as constBegin()/constEnd().

It also fixes the return types in the documentation of existing
constFind() functions (documentation only).

C++11 only adds cbegin()/cend() (and crbegin()/crend(), which Qt doesn't have).
In particular, it doesn't add cfind(), so I didn't supply these, even though
Qt comes with constFind().

This is a forward-port of https://qt.gitorious.org/qt/qt/merge_requests/1365.

Change-Id: Ida086b64246b24e25254eafbcb06c8e33388502b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-17 09:10:57 +01:00
Bradley T. Hughes
7c7e47493e Replace Q_WS_MAC with Q_OS_MAC in qshortcut.cpp
This re-enables shortcut context matching for menubar actions.

Change-Id: I0d9f2b3d4316a4611afe96eb1a2cf29cb9e91851
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-17 07:06:44 +01:00
Morten Johan Sorvig
b6bce2dd75 QCocoaClipboard: Make QClipboard::clear() clear.
Change-Id: Ifb235d015f7831b335a9c3db92515a8d1cd49311
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-17 07:06:42 +01:00
Arnt Witteveen
437da962c2 Fix bug showing folder icons for files
Fix an issue where the cache was updated with the folder icon,
even though this is never used from the cache. This caused
files to sometimes be shown with a folder icon: If a folder
has an extension (e.g. a folder named 'folder.ext'), this
means the folder icon will be written to the cache for the
'ext' extension, and from that point on all .ext files will
be shown with the folder icon.

The fix is to not save an icon in the cache for those cases
where it will not be used from the cache anyway, by using the
same condition for updating the cache as for reading it (which
is in line 8 of the same function).

Change-Id: I9ce8fca0718b2b62b9390fa64989acd54952a88e
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-17 01:52:17 +01:00
Martin Smith
c227546d2e qdoc: Structure the DITA map with a root node.
Use the title from the index.html page for the
navtitle, if there is a title on the index.html
page. Otherwise use the project as the navtitle.

Task-number:  Mzilla bug - 7229
Change-Id: I25fc1f09b0bdff58c6340cec7d9d8a43d95845a2
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-17 01:52:12 +01:00
Miikka Heikkinen
2ea976c3a7 Fix font cache check in QFontEngineFT::recalcAdvances()
Cached font was used regardless of the format, resulting in incorrect
advance in some cases when default format differed from the cached
format.

Task-number: QTBUG-24188
Change-Id: I39e4156bd9ba743afa7e106e934c90227fbf2b8b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-03-16 11:02:03 +01:00
Wolf-Michael Bolle
389f2a076d Removed move constructor.
All C++-2011-specific constructors, operators and methods may be inline
only in Qt. Since an implementation in the header file does not seem to
be possible for QMimeType without breaking backward compatiblity the
move constructor has to disappear altogether.

See also the discussion at
http://codereview.qt-project.org/#change,19150

Change-Id: If07347a51a1ae5bd4c2d292dac835592ede4b370
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-16 10:42:40 +01:00
Wolf-Michael Bolle
932fdbf4dd Removed move constructor.
The provided implementation breaks backward compatiblity, and therefore
has to disappear altogether.

See also the discussion at
http://codereview.qt-project.org/#change,19150

Change-Id: Idf6e4a2c4b623458217541485e4aab0837909d66
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-16 10:42:19 +01:00
Morten Johan Sorvig
4e5bfab52c Cocoa: Fix menu item activation.
Handle the action message on the application delegate.

Change-Id: I23686fd6e936a4dbbb141da3dd04a64cbf6a051a
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-16 10:36:02 +01:00
Charles Yin
c7fb7a6782 Fix broken qWaitForWindowShown() behavior
qWaitForWindowShown() should check window->isActive() instead of
window->isExposed() and return false if timeout.

Add two new qWaitForWindowActive() and qWaitForWindowExposed()
functions.
Change-Id: Idd9601805c2e84b0d36ddd5471031b627d289953
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-16 10:24:22 +01:00
Giuseppe D'Angelo
9b0f381f2a QRegularExpression: various documentation improvements/fixes
Change-Id: I683afb24f888ab6cf3c543fba8cd193a730709af
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-16 08:06:12 +01:00
Robin Burchell
b8773165d7 Un-deprecate QPointer per mailing list discussion.
Now that QPointer is implemented in an efficient manner, there is really no need
to avoid it, deprecating it just adds a large amount of churn.

Change-Id: I32116faf14c3b07631d59ba9585f9ce422531646
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-15 23:18:00 +01:00
Laszlo Agocs
83a70a7415 Add a note to QTouchEvent docs about empty touchpoint lists
Change-Id: I65e9e3ed2069d9194f5e70fb9731d605e0979e6d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 20:03:33 +01:00
Shane
7046188bc6 Fix QUdpSocket bindMode autotest regression
When binding with the DefaultForPlatform bindmode, then don't set
options on the socket related to sharability, leave them at the
platform default.

This restores compatiblity with Qt 4

Change-Id: I612a3acb976f08446b4eef03ccdcdf84b3477c3c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-03-15 18:05:05 +01:00
Xizhi Zhu
b1a8a39d78 Add missing private headers to .pri.
Change-Id: I7ba23f23c1e7cb19152f2c0cedec3549ddfb11c9
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-15 18:05:05 +01:00
Samuel Rødal
5728c8a8e7 Added missing \since 5.0 and tweaked some docs in QtGui.
Change-Id: I91564f7a61962f97b9fb78c96d94d5695a3924db
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 18:05:05 +01:00
Martin Smith
c0291177a1 qdoc: Structure the DITA map with a root node.
The root topicref is now always index.dita, unless
there is no index.dita. But there is always a root
topicref that has the project name as its navtitle,
even if there is no index.dita file to map it to.

Task-number:  Mzilla bug - 7229
Change-Id: I0c9fdf1a2e3ba847fe8975a0745667189a77a755
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 18:05:05 +01:00
Mark Brand
26450fe6a6 QSqlTableModel::removeRows() enforce edit strategy
For OnFieldChange and OnRowChange, we don't want more than one row in
the cache with uncommitted changes. This could happen if deletion in
the database fails while other changes are pending.

Chosen solution is to return false if other rows have pending changes.
Also, we only allow 1 row removed at a time.

Updated test, changes and documentation.

Change-Id: I68baf6d221789b4754e891535070011c759a2155
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 15:35:43 +01:00
Mark Brand
108748404b QSqlTableModel::setData(): no longer autosubmit for OnRowChange
The model can never do a good job of knowing when user moves to a
new row in the view. Faking it by detecting when another row
is changed was not a good solution because it cannot detect
when the last edited row is left.

Either the view should automatically submit when the user leaves
a row or the application should provide a way to submit.

This change made it possible to reuse the logic of flags() in
setData().

Change-Id: I2550e5b113bceba1a852fc21203babeca07c5748
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 15:35:32 +01:00
Mark Brand
3d7cec6577 QSqlTableModel: disallow insert if changes are pending
For OnFieldChange and OnRowChange, inserting rows should not be
allowed if there are pending changes in cache.

Change-Id: Ia794332959a35a1de87e798ba1a74ace3dfae68f
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 15:35:22 +01:00
Mark Brand
f6ca63f896 QSqlTableModel::setData()/setRecord(): fix incorrect row
For OnFieldChange and OnRowChange, before submitting new changes,
setData() and setRecord() attempt to submit pending changes and
revert them upon failure. However, they fail to consider that
reverting pending insertions removes rows from the model. As a
result, the new change can be applied to a row higher than intended.

One possible solution would be to adjust the targetted index for the
removed rows, so that the intended row is affected by the new change.
But this still causes the strange editing experience as rows jump
up just as they are being edited.

It does not seem right in the first place for the model to initiate
reverting changes. It should be up to the application to decide what
to do when data cannot be committed. In particular, setData() and
setRecord() should not have the side effect of reverting already
pending changes.

The chosen solution is simply to refuse new changes that don't make
sense for the edit strategy. For OnFieldChange, flag() will
indicate read-only when editing is blocked by a pending change.

Since setData() and setRecord() submit data immediately for
OnFieldChange, it no longer makes sense to resubmit changes
automatically before a new change.

For OnRowChange, setData() keeps the behavior of automatically
submitting a pending row before starting on a new row. This is
historical behavior and is probably motivated by the fact that
QTableView does not automatically call submit() when editing leaves a
row. The obvious shortcoming of this is that the last row to be edited
will not be submitted automatically. It also prevents us from flagging
rows other than the pending row as read-only.

For OnRowChange, setRecord(), being row-oriented by nature, should
submit the change immediately rather than waiting for the next call
to setRecord(). This makes setRecord() consistent with insertRecord().

Change-Id: Icb4019d8b7c53a7ee48f8121a7a525e8bc35d523
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 15:35:17 +01:00
Frederik Gladhorn
e2b6bebbed Remove Q_WS_X11
The define is removed and only added an include.

Change-Id: I85090023cb9eb33f83ccc7fe2ab69556b4ff89fb
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-15 15:29:17 +01:00
Jonathan Liu
e3726609d6 QSystemTrayIcon/Win: Fix compilation on MinGW
Define NOTIFYICON_VERSION_4 if it is not already defined.

Change-Id: Ic432cbebf18f8b1e8b4727659dcedd7063e126ee
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-15 15:21:10 +01:00
Anselmo L. S. Melo
8b5218a1e9 Make QWindow::isActive return false when the application loses the focus
In QTBUG-24807 there is a test case that shows a case when a segmentation
fault happens inside isAncestorOf. When the whole application loses the
focus, e.g. when it is minimized or other application receives the focus,
QGuiApplication::focusWindow() returns a null pointer, so we need to
do a check before proceed inside of isActive.

Task-number: QTBUG-24807
Change-Id: I732c92bb9f236804ede5e89592f6e6609a4711b9
Reviewed-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 15:13:45 +01:00
Jerome Leclanche
006a49b19a Fix compiling with --no-accessibility
Adds missing QT_NO_ACCESSIBILITY checks where required to build
without accessibility support.

Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-15 14:51:47 +01:00
Morten Johan Sorvig
99b8b647e3 Implement cocoa clipboard support.
Add QCoccoaClipboard which wraps the existing
QMacPasteboard implementation. Remove unused
QClipboard integration code from qmacclipboard.mm

Change mime type cleanup from using qAddPostRoutine
to using an explicit call to destroyMimieTypes in
the cocoa platform integration destructor. This is
necessary to ensure cleanup happens in the correct
order on app shutdown.

Change-Id: Ief0e0d996b04c8e84e9fd2cd3a17fb5bd73bb761
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-15 11:40:50 +01:00
Xizhi Zhu
92659bacda Make sure QGlobalNetworkProxy is created for QNetworkProxy.
Otherwise, you don't have any socket engine handler created when
directly setting a proxy to a socket.

Change-Id: I35cd7f52331672a6d3e7bcdf817c0fe1fd1e7de3
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-15 11:40:50 +01:00
Samuel Rødal
e8a7e926cf Fixed incorrect reporting of child window geometry in xcb plugin.
We should only query the position for top levels, otherwise trust the
position given in the event.

Change-Id: Ic29f25983af3e2c2f27eeb527c08069435ac938c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-15 11:40:50 +01:00
Donald Carr
0738c38f0e Add Qt Widgets opt out support to build system
There should be a clear QWidget free path for people with no interest in
legacy QWidget functionality. Adding this option to configure makes this
path readily accessible and hence testable.

Change-Id: If87c1063fcf4c46f5280836126c11999feaa9f8a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-15 11:40:50 +01:00
Johannes Zellner
7ae2ea5426 Remove unmaintained and broken uikit platform plugin
There was no development done to make this working on Qt 5

Change-Id: Ia08d53c6680a65cb1e60a30e55caa992eaa54bc7
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-03-15 11:40:50 +01:00
Samuel Rødal
0b70d8c6af Improved qWaitForWindowShown().
Made faster by actually waiting for the window to be exposed, using
similar waiting logic as qWait(). Should speed up autotests that use it
quite a bit.

Change-Id: I628c6110a554fdbbf5bed7e91f57c2fe341113ed
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-15 11:40:50 +01:00
Frederik Gladhorn
a17907829e Use pointers for QAccessibleEvent.
At least on mac g++ badly wants to copy the event and
cannot use the copy ctor. The sensible solution is thus
to use pointers. This is in line with QCoreApplication::sendEvent.

Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-15 11:40:50 +01:00
Bradley T. Hughes
088ae4ca71 Re-enable native print/pagesetup dialogs on Mac OS X
Since QtPrintSupport does not have access to the internals of the print
engine on Mac OS X (it lives in the platform plugin). We instead use the
NSPrintInfoFromPrintEngine() invokable method in
QPlatformNativeInterface to return an NSPrintInfo* that we can use where
needed, or we use QPrintEngine::property()/setProperty() to communicate
with the engine.

This commit disables the generic UNIX dialogs and CUPS support on
Mac OS X, ensuring that the default format on Mac OS X is the
QPrinter::NativeFormat (previously qprinter.cpp would force PdfFormat as
default on Q_OS_UNIX which is also defined on Mac OS X).

The rest of the changes are straight forward porting. The methods:

extern void macStartInterceptWindowTitle(QWidget *window);
extern void macStopInterceptWindowTitle();

don't exist anymore, so don't use them. QMacCocoaAutoReleasePool also
doens't work, so use NSAutoreleasePool directly.

Change-Id: I341609e5efa53cadf8d174e4b282cbcae93e39e8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
86fc4aa2b6 Add method to get NSPrintInfo* from QPrintEngine in Cocoa plugin
Add an invokable method that takes the QPrintEngine (which will
always be a QMacPrintEngine) and return the NSPrintInfo* from the
QMacPrintEnginePrivate. This will be used by the native dialogs in
QtPrintSupport to get/set printer settings.

Change-Id: If1e49027e8f0d505656db51be1f40a23f60e8e57
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
7dde92d7d1 Don't keep PMPrint* state separate from NSPrintInfo
When we need to use PMPrintSession, PMPrintSettings, and PMPageLayout,
get these directly from the NSPrintInfo when needed. This avoids us
needing to keep the settings in sync. The native dialogs can then only
rely on getting a pointer to NSPrintInfo (to be done in a future
commit).

Change-Id: I4720284dcf999e454f86766b4291fbda7bf3c537
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
4f246bceb5 Add a QPlatformPrinterSupportPlugin for Cocoa
This is used to create the actual QPrintEngine and to query the system
about printer information.

The QCocoaPrinterSupport actually lives in the Cocoa platform plugin,
so the QCocoaPrinterSupportPlugin uses the
createPlatformPrinterSupport() function in the QPlatformNativeInterface
(since the latter is a QObject). This is done to avoid adding a printing
related virtual function to QPlatformIntegration (since we have plans
to do a new printing API in the future).

Change-Id: I8bf9be668ff8ae1d07840e2af1e0846dc3299334
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Bradley T. Hughes
7e3c632e96 Port QMacPrintEngine and QCoreGraphicsPaintEngine from Qt 4 to Qt 5
Copy qprintengine_mac_p.h, qprintengine_mac.mm, qpaintengine_mac_p.h,
and qpaintengine_mac.cpp (as qpaintengine_mac.mm) from src/gui/painting/
in the 4.8 branch of http://git.gitorious.org/qt/qt.git at commit
e6bd33d4aef0e4538d7918e7ab130624c911b553.

The following changes are necessary to port these files to the Qt 5 API:

- The copyright notice on these files has been updated to match the
  header.LGPL template.

- Fix #includes for qprintengine_mac* and qpaintengine_mac*, as some
  headers have moved in Qt 5.

- Remove extern forward declarations for functions that no longer exist.

- Remove friend declarations for classes/functions that are not part of
  the Cocoa platform plugin.

- Remove QT_MAC_USE_COCOA blocks. Qt is always using Cocoa now, there
  is no need to keep the non-Cocoa code paths anymore. The
  QMacPrintEngine::shouldSuppressStatus() method was also removed,
  since it is no longer used.

- Do not use Qt::UniteClip, it was removed in commit
  01b72952c3

- Use QCocoaAutoReleasePool in qprintengine_mac.mm

- Use QPlatformPrintSupport::convert*() functions in QMacPrintEngine,
  since we cannot use non-exported functions from QtPrintSupport in the
  Cocoa plugin.

- Use qt_mac_image_to_cg_image() to convert QPixmap to CGImageRef. First
  convert QPixmap to QImage (cheap, since the Cocoa platform plugin
  uses QRasterPlatformPixmap), and then convert the QImage to CFImageRef
  using the existing helper function.

- Copy qt_mac_cg_context() to the Cocoa platform plugin from
  qmacstyle_mac.mm, adding a note at each location about the
  duplication.

- Add qt_mac_QRegionToHIMutableShape() helper. Adapt the Qt 4.x code for
  QRegion::toHIMutableShape(), and use this in QCoreGraphicsPaintEngine.

- Add qt_mac_drawCGImage() and qt_mac_get_scalefactor() helper. These
  functions are copied directly from the 4.8 branch of
  http://git.gitorious.org/qt/qt.git at the same revision shown above.

- Add qt_mac_create_imagemask() helper in qpaintengine_mac.cpp.  This
  helper is based on the function with the same name from the 4.8
  branch of http://git.gitorious.org/qt/qt.git at the same revision
  shown above. The correctness of the implementation has not yet been
  verified.

Since these files use the QPrinter API from QtPrintSupport, the Cocoa
plugin now needs to link to that library as well.

Change-Id: I90b9bbe201327489ef9e1b3294e68e91ddda27bd
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-15 09:50:18 +01:00
Harald Fernengel
cad51669d8 Remove QtWidgets dependencies
Remove references to libQtOpenGL, and use QGuiApplication instead of
QApplication

Change-Id: If8f652223492cf758175a260c27b687f3af1c4ad
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 09:50:18 +01:00
Mark Brand
6d67ff4061 improve processing stylesheet properties
By scanning the properties in reverse order we don't have to save
properties in the list only to remove them later when the occur
again. It's also unnecessary to cache the values since they can
be easily plucked out of decls. Various other tests can be done
once per property instead of once per property occurence in decls.

Change-Id: I81cf60c59efaeed57fc9c12df98279d6cae116cd
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Rick Stockton <rickstockton@reno-computerhelp.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: John Brooks <john.brooks@dereferenced.net>
2012-03-15 09:50:18 +01:00
Gunnar Sletta
96fe217467 implement virtual destructor in QPlatformSurface
Change-Id: Iaadd9c3cd7c2e2022066ca859cbe1e912050c561
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 07:55:55 +01:00
Johannes Zellner
91752c43b8 Add new plugin metadata description and eglfs.json file
Change-Id: Ia594c18ba24e5fccf9fa59b9be6efcbeae00fad6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 07:54:45 +01:00
Johannes Zellner
8a79e8b645 Remove unmaintained and broken VNC platform plugin
Change-Id: Ie0a07c3a6822870b095a20d997b63fb1635f20be
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Robert Griebl <robert.griebl@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-15 02:45:31 +01:00
João Abecasis
0147ee75dd Use strlen to determine length of returned path
Change-Id: I8603f032bacdbb060be043f8720bd2b8c34d7ec6
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
f282629224 LSB requires an explicit header include
Makes the plugin build in the LSB environment

Change-Id: Ic9a54b984f7fc1f393853ec01e32886f49a041c6
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
7794928ebb Compile in the LSB env
madvise is not part of the LSB, use posix_madvise instead

Change-Id: I661e8c5aece5a764a2a9032fcfab49241ab96dd8
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
Casper van Donderen
6a1b5a88f6 Rename qdoc index file to qdoc-index.html
Change-Id: I74fcbce7d2929c31031db379d5e0b4b0d2f48800
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-15 00:50:47 +01:00
Casper van Donderen
e164353d85 Rename all occurences of qdoc3 to qdoc in the qdoc manual.
Change-Id: I84cfab5a7130aff9ed8a6eb568d78f29167e1ac8
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-15 00:50:47 +01:00
Martin Smith
33ea784aa8 qdoc3: Change suffix of DITA files to .dita
The files output by the DITA XML generator now
have .dita on the end instead of .xml, but the
ditamap files still use .ditamap .

Task-number:  Mzilla bug - 7291
Change-Id: Idb8b70c5d3f2ac2c4fdf195e385393f7ac68b7ba
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-15 00:50:47 +01:00
Harald Fernengel
44159a0b3b Build with the LSB build env
LSB doesn't define some functionality that we expect on Linux, so
fall back to the generic code.

Change-Id: I19e09908b9e9002140535f159ae0745d7ca80b70
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-15 00:50:47 +01:00
Jørgen Lind
d29d4c2afa Add a way to query for global handles in QPlatformNativeInterface
Change-Id: I4f29f40a3d6d4237f7da092bb34b8e596321b47d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Martin Petersson
d1a5bb55d9 QHttpNetworkConnectionChannel: Warn if bytesAvailable and no reply
If there are no bytesAvailable and no reply then the channel
can be closed without any need for this warning.

Task-number: QTBUG-9315
Change-Id: Ifbb1f4732d3173a7807ac5bd0dc78fb5144faaf3
Reviewed-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-15 00:50:47 +01:00
Mark Brand
9e87104295 QTableView: call model->submit() on row change
QTreeView already does this in the exact same way. It's necessary to
call submit() so edit strategy OnRowChange in QSqlTableModel will
work as expected.

Change-Id: Ib430143e8a71f3b0bcd842fcc772cc7ee4525f0a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-15 00:50:47 +01:00
Mark Brand
273508205c QSqlTableModel bugfix: consider uncached rows submitted
Change-Id: I7ec0529b88fd8e3ae0cf8dadfcb5899579e52745
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-15 00:50:47 +01:00
Friedemann Kleint
f7957f3993 Refactor theme plugin loading.
In the old implementation, the QPlatformIntegration was asked
for the theme first, so there was no way of overriding that
by a custom plugin. Also, there was a memory leak in case
the platform theme was actually created by a plugin.

QGuiApplication now asks the QPlatformIntegration for a list
of potential theme names first, tries to load them using
the plugin loader and finally invokes a factory method of
QPlatformIntegration in case that fails. The theme is now
owned by QGuiApplication.

In the XCB plugin, the environment variable DESKTOP_SESSION
is queried and appended to the list of themes, making it possible
to load plugins for other session types.

Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-15 00:50:47 +01:00
Jędrzej Nowacki
d295b9b9cf Simplify QMetaObject::newInstance
To create space on stack for a QObject pointer QVariant is not really
essential.

Change-Id: Iaf04a4f77005e33823f0e14bfdc6fe927cb59867
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-14 23:04:57 +01:00
Jędrzej Nowacki
dfba10441e Reimplement QMetaType::create method.
The method was reimplemented using QMetaTypeSwitcher. That should
reduce maintenance costs, because types list is populated automatically
now.

Change-Id: I6637f7b928218ce60b2ec7436079a44089f0e00f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 23:04:18 +01:00
Morten Johan Sorvig
d6311a0651 Cocoa: Improve basic window handling.
Refactor NSWindow creation into createNSWindow and
setNSWindow. This is necessary to support QMacNativeWidget
where we re-use an already created window.

Implement popup window handling. Make sure the window
is displayed correctly and closes when it should.

Take control over window activation in order to prevent
infinite loops involving the QtCreator "cmd-k" window.
Activation events are for now not sent to popup-type
windows.

There is now a different set of test failures: add
and remove some QEXPECT_FAILs.

Change-Id: I229761b59f90c9815b968eacc2cbc9c20cc5047e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-14 23:02:12 +01:00
Jędrzej Nowacki
439a789745 Fix a memory leak in QMetaObject::connectSlotsByName function.
QObjectPrivate::Connection time life should be controlled by
QMetaObject::Connection handle.

Change-Id: Ie7fcd950082a3e6cebc29ecc0622007470914edb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 18:45:28 +01:00
Friedemann Kleint
087d6c21b8 Fix compilation of the Windows accessibility code for MinGW.
Temporarily disable the code for MinGW.

Change-Id: I435305167e06af05b9a78901e6e3a35347c5c3f5
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-14 18:36:05 +01:00
Friedemann Kleint
259332e655 Add QGuiApplication::platformName.
Store the name of the QPA plugin as platformName.

Change-Id: Id87cab2a189743c0dd727c86080f7d4595a852bb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-14 18:35:25 +01:00
Donald Carr
7f09f36873 Explicit use of null namespace breaks namespaced build
These changes are currently required to successfully build Qt when it is
configured with a namespace via the configure -qtnamespace argument

Change-Id: I9f3ab30579c16085c4d3d05705336b810466c331
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-14 18:31:31 +01:00
Sergio Martins
a3420b127e Remove unused forward declaration.
Change-Id: Ib207e0036226dd7131195244bf49bbfae142cd22
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
2012-03-14 18:24:38 +01:00
Giuseppe D'Angelo
f57190fb82 bootstrap: remove QtXml dependency
Only qdoc is now using QtXml classes, so just add them to qdoc.pro
and drop them from the bootstrap library.

Change-Id: I821839396141d1d7a2ada565a513aa46c54c9620
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-14 18:24:32 +01:00
Friedemann Kleint
c8ba6a49da QStyleSheetStyle: Fix icon properties.
Convert icon structure returned by the CSS parser.

Change-Id: I19b846c6cb0ec19045b6d07b3caa5ecfac75ca86
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
39e0d35fe9 QHeaderView - documentation update. Prefer hideSection over 0-resize.
There is a different behavior on 0 sections and hidden sections
e.g with scrollbars. Normally people want to use hideSection.

Change-Id: Id99de30ea46906bb4ef7720ed12d4ac9615c9743
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
kb
fae4a2555a Disconnect slots from the old sourcemodel in QIdentityProxyModel
When setting a new sourcemodel QIdentityProxyModel::setSourceModel
tries to disconnect from signals belonging to the NEW model instead of
from the existing sourceModel(). QIdentityProxyModel thus receives
signals from both the old model(s) and the new model. This results in
ASSERTS triggering in various slots, for example:
"Q_ASSERT(topLeft.isValid() ? topLeft.model() == model : true);"
in QIdentityProxyModelPrivate::_q_sourceDataChanged.

Change-Id: Ic6f65a9ee10981d00206335f2edef78272fadc1a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
b64426248d QHeaderView - renaming functions in Qt5
This patch renames the functions in Qt5 according to the
notes. It also renames resizeMode to be consistent.

The old functions are both marked with both QT_DEPRECATED
and '### Qt 6 - remove'

All usage of the function within the qtbase are also
changed to use the new functions.

Change-Id: I9e05fa41d232e9ca43b945fcc949987017f3aedd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Harald Fernengel
7220d7f365 Fix LSB build
Fix compliation in LSB by removing legacy calls and adding an explicit
header.

Change-Id: I13a73211c07457195b5d5aad0854643da1e25f9b
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-03-14 11:37:18 +01:00
Thorbjørn Lund Martsum
8c3e5700a1 Add two (forgotten) since 5.0
SHA for QWidget::hasHeightForWidth change:
466107107a

SHA for QAbstractItemDelegate::destoryeditor change
15f253a46a

Change-Id: Ic7e38c15f62eef22ab95414fad6e7b6c9c7d4f59
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-14 11:37:18 +01:00
Pierre Rossi
f254c5c8bf Use the lazily-queried families for all QPA multi font engines.
This is the approach introduced together with the  WebKit "backdoor"
that lets us use QRawFont with QTextLayout. We could use it all
over the place and share more code.

Change-Id: Ie1963679755f37ba9204d67554a163f1d1115604
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-14 11:37:18 +01:00
Giuseppe D'Angelo
8b6338be4a QRegExp: remove docs about RegExp2 being default in Qt5
Change-Id: I37f4086d53ce6f2d6774ab204808d0d678a68349
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-14 11:37:18 +01:00
sh kim
ba061da5f0 Fix build error when QT_NO_FILESYSTEMWATCHER is set
QPollingFileSystemWatcherEngine inherits from QFileSystemWatcherEngine.
This class should be covered by !QT_NO_FILESYSTEMWATCHER.

Change-Id: I053a873018cf3c9c443435c9b3f44240b0965c24
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-14 11:37:18 +01:00
jian liang
255079124a build fix for -no-freetype in Windows
Don't use QWindowsFontDatabaseFT::systemDefaultFont() and
QWindowsFontDatabaseFT::LOGFONT_to_QFont() in qwindowsfontdatabase.cpp and
qwindowstheme.cpp because it is not available when building with
-no-freetype.

Change-Id: I11075475ff435c55b0c641540f95a4d3861b79da
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-14 09:45:07 +01:00
Samuel Rødal
9a68dd0156 Made sure first created xcb window still receives focus.
Change 50ca45f059 caused mapped windows to not receive focus by
default. The _NET_WM_USER_TIME spec says that if the user time is set to
0 (or CurrentTime), the window will not be initially focused. Thus, if
the connection time has not yet been set, we skip this part to restore
the old behavior.

Change-Id: I19de3602c78629ad2bc65f5e1976313949c82c4c
Reviewed-by: Jan Arne Petersen <jpetersen@openismus.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-14 09:45:07 +01:00
Jędrzej Nowacki
22494ea8e8 Unify QMetaType::TypeFlags detection.
Duplicated code was removed. As an side effect:
- one runtime flag check was replaced by a compile time check.
- is enum flag can be used together with built-in types.

Change-Id: I54173e7b07ce7e487d3cc21ba24dcccd28b5d049
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-14 09:45:07 +01:00
Johannes Zellner
3a47c13fa6 remove obsolete qudevhelper and adopt mouse and touch plugins
The QUDevHelper class is now replaced by QUDeviceHelper class.
All evdev input plugins are using the new udev helper now to enable
hotplugin for keyboard and mouse input.

EvdevTouch plugin still only uses the first detected device by udev,
this cannot be tested on my side, due to the lack of multiple touch input devices.

Change-Id: I01a4cfe1a80000bfb27c67a2f53faf560906b73c
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-14 09:45:07 +01:00
Kim Motoyoshi Kalland
c45146b48c Removed invalid assert in BMP loader code.
Task-number: QTBUG-24505

Change-Id: I2e369b6d92f072caadeda41125303856ddfabd48
Reviewed-by: aavit <qt_aavit@ovi.com>
2012-03-14 06:01:38 +01:00
Miikka Heikkinen
2d68c8ee8d Windows: Fix QSpinBox background setting via stylesheet
When using stylesheets, palette mask for drawing the background
of line edit child of spinbox is already correctly resolved to style
options in QStyleSheetStyle::drawPrimitive(), so we cannot simply
ignore that mask and check the palette mask of the parent spinbox.

Fixed by using a union mask of the parent spinbox palette and the
palette supplied by style option instead of simply using the mask from
parent spinbox. If either specifies custom base color, use that to
paint the background of the spinbox's line edit.

Task-number: QTBUG-24323
Change-Id: I1e738192db83b16d9bd48da54d29779e18788ef7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-13 22:58:10 +01:00
Mark Brand
e9fdfd746b improve declaration scope
Change-Id: Id8d8f4e59793ba5fc2d3afa31674009af73a59c9
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-13 21:11:55 +01:00
Mark Brand
6c2c6a48e7 use QStringLiteral
Change-Id: I0f2b6ff758524e872d38dcbdc9335264431e3dc6
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-13 21:11:55 +01:00
Honglei Zhang
dedd4a7a7c Fix memory leak when sqlite3_open_v2 fails
According to SQLite documentation, a database connection handle
is usually returned, even if an error occurs. This behavior has
caused Qt to leak memory when opening a database is failed. Now,
even if sqlite3_open_v2() does not return SQLITE_OK, Qt tries to
release SQLite database handle by calling sqlite3_close().

Task-number: QTBUG-15773
Change-Id: I6538e2897216828a9cfb95b7d4a5cec437aa6c28
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
2012-03-13 21:11:55 +01:00
Laszlo Agocs
268f41ec70 Deliver events in qtestmouse
Not waiting until the QPA event queue is processed after
handleMouseEvent() is wrong. Unlike the synchronous sendEvent() calls
these tests most likely utilized earlier, many of the
QWindowSystemInterace functions are asynchronous in the sense that they
just queue the event, delivery will happen when the event dispatcher on
the main thread gets there.

Change-Id: I8197d2dc4805cda684a8279ceb8d4b317f19aba7
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-03-13 21:11:55 +01:00
Jan-Arve Saether
02d75eaaf9 Add support for IAccessible2 on Windows
Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-13 21:11:55 +01:00
Friedemann Kleint
26c3bec09b uic: Avoid creating multiline QStringLiterals for MSVC.
The compiler complains about L"foo" "bar".

Change-Id: I94be0528b26fe65413db56d210a5c02fcdba13a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-13 18:40:16 +01:00
Eskil Abrahamsen Blomfeldt
4a47187b7a Optimize HB memory consumption of PairPos1 in GPOS tables
This is pretty much the same fix as in
be0dfa3473 but for PairPos
format 1 instead of 2.

With very simple GPOS tables we would waste a lot of memory on
caching an uncompressed table, so we now compress it in memory
as well.

Change-Id: I601331b4b83f636dab9e1ac403b343558c15b0de
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-13 18:06:56 +01:00
Martin Smith
0d43b8c617 qdoc3: qdoc now handles overloaded methods for QML
When a C++ class is documented as a QML type, it can
have overloaded QML methods. These are now handled
correctly by qdoc. The method list for QML types is
now output with the full method signature. For signals
and handlers too.

Task-number:  QTBUG-24670
Change-Id: If529d4136f5b480373b6ac25d2dceef15e6ea3db
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-13 18:04:12 +01:00
Casper van Donderen
8ac05adca7 Update the footer for qdoc output for qt-project.
Change-Id: I418ac4e754aac96220d14948ce066c982c4b8054
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
2012-03-13 18:03:18 +01:00
Bradley T. Hughes
ba6952b28d Remove -arch argument and #define QT_ARCH from configures
Do not try to detect the host or target architectures using uname or
similar, and do not override with the -arch or -host-arch configure
arguments. The configures will still accept the -arch and -host-arch
arguments, but it ignores them and instead outputs a warning stating
that these arguments are obsolete and should not be used.

Set QT_ARCH and QT_HOST_ARCH qconfig.pri variables based on the compiler
target. This is done by running qmake (twice when cross-compiling) on
config.tests/arch/arch.pro, which preprocesses a file that contains all
knowns processors.

On Windows, configure.exe has never run any config.tests before, and
does not currently have a function to run a program and capture its
output. Use _popen() to accomplish this (as qmake does for its system()
function). This needs to be done after qmake is built, as does the
mkspecs/qconfig.pri generation. As a side effect, the configure steps
have been slightly re-ordered, but the overall result is the same. The
displayConfig() call is moved to just before generating Makefiles, so
that it can show the detected architecture(s).

Change-Id: I77666c77a93b48848f87648d08e79a42f721683f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-13 12:27:44 +01:00
Frederik Gladhorn
76ddc9bc0c Autotest details of QAccessibleEvent.
Change-Id: Ieec33c23e7b18cfedf061088d6561203a5e7ac39
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-13 10:11:22 +01:00
Martin Petersson
c68737add3 QNam: only init channels when needed.
Each channel will create a socket that will allocate memory for the
read and write buffers. This change will instead initialize
channels only when they are needed.

Change-Id: I112b4c7b944a7dd345414f06260c92803394eaed
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-13 10:11:22 +01:00
Mark Brand
1de1a50603 take opportunity to use const
Change-Id: Ief12d4b55e1705c758dae8078cf52948fcd9565b
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-03-13 10:11:22 +01:00
Casper van Donderen
6694181bb7 qdoc: Update to prepare to run on a directory.
This change sets some default file extensions to accept to generate
documentation. It also removes support for the sourceModules qdocconf
variable which is not used anymore. It was used just after
modularization.

Change-Id: Iabdcfb534dc662bd44e0928036fd68ee4e460b07
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-13 10:11:22 +01:00
Rick Stockton
0bb95b183b Cocoa platform plugin: Add support for up to 16 mouse buttons
OS-X provides a buttonNumber within Event data for otherMouseDown:
and otherMouseUp: Events. Instead of mapping all occurences of these
event types to Qt::MiddleButton, this Update uses that data
to support a total of 16 mouse buttons.

Task-number: QTBUG-24702

Change-Id: I3cffb32498f98ea182509d7c42f3fc6634155ebb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-13 08:18:42 +01:00
Charles Yin
703b4a0e20 Move variant animation interpolators from QtWidgets to QtGui
There is no reason these interpolators need to stay in QtWidgets library.

Change-Id: I27db49fea2cfd8f0ef417dc52edf66dd1835e7a1
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-03-13 06:08:51 +01:00
Balazs Kelemen
3e45d48246 Fix QFont hinting preference with fontconfig
Consider if the hinting preference of the QFont
is not PreferDefaultHinting.

Change-Id: I0f50b320356787b6c1eabee5f009e7d326a06925
Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
2012-03-12 23:29:37 +01:00
Andy Shaw
0850b5d76a Cleanup after the qsf cache file if it fails to be written to
It is possible that although a qsf cache file could be opened that it
could not be written to, therefore it should clean up after itself in
these cases so that it does not cause a problem later on.

Task-number: QTBUG-24122
Change-Id: I1999759837607657ddc3f967eeda370ce9991a16
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-03-12 23:29:37 +01:00
Mark Brand
13c57d0f68 QSqlTableModel::isDirty(): new overloaded method
Checks if model has any changes to submit.

Includes new test covering isDirty(index) as well the new
overloaded function.

Task-number: QTBUG-3108
Change-Id: I0ccbda45d5d9f06434cf1e1c037a9efb76d0cc37
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-12 23:29:37 +01:00
Alexei Rousskikh
612040a0cd Trailing comma should result in an error during JSON parsing
1. QJsonParseError::MissingObject defined
2. QJsonDocument::fromJson() will result in defined error after parsing
of something like "{ 'key':1 , }" or "[ {'key':1}, ]"

Change-Id: I8e6234a03b8aca4e5ad6180f273f91066b86d7a1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-12 21:38:51 +01:00
Donald Carr
0353430806 Clean up src.pro
Removing (some) stale assumptions about dependencies from src.pro file

Change-Id: I713e3ad8c164321ef035e6c62b25e18e45d1d3ef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-12 21:38:51 +01:00
Tasuku Suzuki
412dbdf410 Input method on Mac
Restore input method implimentation in Qt4

Task-number: QTBUG-23867
Change-Id: I5d405ccc8b0a73c399d992f6474a0cc38d191157
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-12 21:38:51 +01:00
Shane Kearns
702b4cb5d4 Workaround webkit deadlock on macos x
The webkit AtomicallyInitializedStatic and Qt's Q_GLOBAL_STATIC can
deadlock on the Mac, as the mac compiler inserts calls to
__cxa_guard_acquire and __cxa_guard_release around initialisation of
local statics.
In Q_GLOBAL_STATIC case, this is the QGlobalStaticDeleter local static
Whereas webkit AtomicallyInitializedStatic is a local static variable
in any case.

Problem is triggered because webkit constructs QNetworkConfigurationManager
inside the constructor of a local static - networkStateNotifier
And the generic bearer plugin calls QNetworkInterface::allInterfaces
in the bearer thread, which needs an initialised Q_GLOBAL_STATIC.

Reviewed-by: Laszlo Agocs
(cherry picked from commit 38db40d9a2db44e47b0aabd9487284cd1106b353)
Task-number: QTBUG-24554

Change-Id: Id2c7818faefb46e66b0bbc30ce30595d46d53016
Reviewed-by: Zeno Albisser <zeno.albisser@nokia.com>
2012-03-12 19:49:52 +01:00
Friedemann Kleint
cf36e571ee Windows: Implement QWindowsIntegration::queryKeyboardModifiers()
Use code from Qt 4.8.

Change-Id: I32d220e04d13ee1e692c0c58268b827bcf519dc7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-12 17:33:15 +01:00
Friedemann Kleint
6e278b8688 Implement QSystemTrayIcon for Windows.
No longer base the implementation on a QWidget which is not
necessary when all that is required is a message window listening
to task-tray messages. Export a service function creating a message
window from the Windows native interface and use that.

Task-number: QTBUG-20978

Change-Id: I01d0faeac777df4eee802c51d2bc722fce814080
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-12 17:33:15 +01:00
Giuseppe D'Angelo
9f266efa8f QRegularExpression: add error strings for translation
Added the error strings from PCRE to be picked up by lupdate,
to enable translations.

Change-Id: Iaeabde5d7a17f9a0273511e0741e67a097d23a98
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-12 17:33:15 +01:00
Frederik Gladhorn
7738f96f09 Add documenation about QAccessibleStateChange event.
Change-Id: Iea34d71d71a6dd58f761722ce20ae8ec2b81ae58
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-12 15:34:18 +01:00
Frederik Gladhorn
ca737f566b Use QAccessibleEvent in test.
Change-Id: I4f9c0f503543caa5704a29c8ccd7c4134b455625
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-12 15:34:06 +01:00
Donald Carr
431eb30e9e Remove stale references to Qtopia
Change-Id: Idd9b5fae8f6a0273636a878325e82e5664a40d43
Reviewed-by: Donald Carr <donald.carr@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-03-12 13:14:05 +01:00
jian liang
86dd454461 Delete QPlatformDragPrivate object in QPlatformDrag's destructor
Change-Id: Ib722df14123b24ca044f6e0846aa1435c7e0e201
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-12 13:14:05 +01:00
Mark Brand
cdc9422c2e QSqlTableModel::indexInQuery: fix inserted row accounting
Commit b979956ec4 introduced a
distinction between rows that have a pending INSERT operation and
rows that have already been inserted in the database but still are
in the change cache. Both cases are rows that are not in the underlying
query. Unfortunately, we overlooked a case where the point of the test
is whether the row is in the query.

Change-Id: I0f58bed232d9336fed6e67c3d140fd580ec35868
Reviewed-by: Honglei Zhang <honglei.zhang@nokia.com>
2012-03-12 13:14:05 +01:00
John Tapsell
4c0de07a0e Harfbuzz GPOS hinting- do not consider a subtable to be invalid if it is just empty
Considering a subtable to be invalid when it was empty meant that it
returned an error causing all further hinting to be aborted.  This means
that we get no hinting in certain cases with certain fonts.

Change-Id: I840c016dc85935b4f2c4373c66a79b4bd8b3a30d
Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-12 13:14:05 +01:00
Stefan Hundhammer
21c98e52c5 Line up underlines if fallback fonts are used (QTBUG-21832)
Change-Id: Icecc514f6c47c0576af8cabd39cdc0987f8d93fa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-12 13:14:05 +01:00
Jason McDonald
3d8e3421a5 Remove MSVC 6 workaround from QtConcurrent.
MSVC 6 is not supported by Qt 5.

Change-Id: I2aef026eb2ad6a68cd9bcddcf6578cb1a019b21c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-12 13:14:05 +01:00
Jason McDonald
074508c2ca Remove gcc 3.x-specific code from QtConcurrent and its tests.
Change-Id: I4dd0ce50b70a47a0a00f4c7ec18077a1bcbe5705
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-12 13:14:05 +01:00
Andrew den Exter
4dfeb18758 Add a movable type declaration to QGlyphRun.
Allow it to take advantage of QList optimisations for pointer types.

Change-Id: Iddbb9741efef43604e38fc3eeb08b522c0414e21
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-12 13:14:05 +01:00
Sergio Ahumada
0a14ddfacb qdoc: Fix closing 'table class="generic"' tag
Change-Id: I251ed6d4e5788b0816211e06f33ace03d2fa14e8
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-12 13:14:05 +01:00
Debao Zhang
a5c1ffedb8 Convert xlib plugin to new format
Change-Id: I00418a1eb7bf944ec360dbbb1f61f7703f3ecd37
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-12 13:14:05 +01:00
Morten Johan Sorvig
cff24b9fd5 Remove Mac multiple-arch support.
Change-Id: Iaad361301e4772c3d8be6186da88e494cb234801
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-12 13:14:05 +01:00
Morten Johan Sorvig
31043e6b8d Cocoa: Fix accessiiblityPerformAction
Remove hardcoded pressAction();

Change-Id: Ie02e3f2f88a2cd311aec1b39daa160efb3b2b617
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-03-12 13:14:05 +01:00
Sean Harmer
9a81e37107 Rename blackberry QPA plugin to QNX
Changing the naming scheme from Blackberry to QNX in line with pattern
of using platform names.

Change-Id: I048a6a18010bc932311d63c8dde19ccab97894c8
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
2012-03-12 13:14:05 +01:00
Frederik Gladhorn
61692bfefe Remove QAccessible2::TableModelChange.
This was never a good idea since it has issues:
It doesn't really work with more than one update without
the client fetching the data. The same is unlikely to work reliable
since it involves two ipc roundtrips.

Instead we should have an extended QAccessibleEvent that contains
the data so that the bridges can decide how to pass on the data if
needed.

Change-Id: Iaf6b74f49586f7155909a6fe1a17137b71b31175
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-12 13:14:05 +01:00
Frederik Gladhorn
eb57da5b3f Update accessibility StateChange by custom event.
Subclass QAccessibleEvent to give details what changed in the
state change.

Change-Id: I9005d311e85a3c8bfa6e062833fa6a8a7dc6a4a4
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-12 13:14:05 +01:00
Casper van Donderen
0ecec0e903 Remove unnecessary function.
The reconstituteFieldMemberExpression static function was not usedf
anywhere.

Change-Id: Ide23045d7f7c3194a9725ae658df85562ba29ad5
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-12 13:14:05 +01:00
Laszlo Agocs
6a0f84e0a8 Migrate QWindowSystemInterface to use QElapsedTimer
Change-Id: I7dfb0590dce79678d49f5d6ef8f60758719bcf72
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-12 13:14:05 +01:00
Lars Knoll
9abefae4fb Restore some source compatibility
Add an implicit #include back in to avoid
needless SC and compilation breaks.

Add some deprecated method for codecForTr, until
all other modules are ported to mot use it anymore.

Change-Id: I5334b47a0c32819b9eb6b7203cc98ce4e6073a64
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-12 10:51:49 +01:00
Vincent A
37546c563e Support Growl >=1.3 in QSystemTrayIcon
The app name has changed in Growl 1.3, but the id
stays the same. Also don't send notifications if
Growl is not running to follow recommendations.

Change-Id: I31ff7df272b4af1b4f1e4db80c47e7ba75038dec
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
2012-03-12 07:44:01 +01:00
Robin Burchell
70cb55bc6d Force properties to be applied in the order in which they are specified.
Previously, property setting was randomized in order, which means that things
like: qproperty-foo: 4; qproperty-bar: 5; where foo may affect bar worked by
chance - or not at all - depending on the hash function.

Change-Id: Ifb9813ee72842cefb278cbedb644f24b91113f3f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-12 01:50:20 +01:00
Jason McDonald
a4c0109e01 testlib: Improve formatting of QCOMPARE failure messages.
Make the various versions of the failure message align consistently so
that it's a little easier to compare the actual and expected values.  Of
course, the value won't align nicely unless the "actual" and "expected"
strings are the same length, but at least this commit makes that
consistent across all versions of the message.

Change-Id: If9ce231df3b5d279a06f6458fdb5da0aa4586068
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-12 01:50:20 +01:00
Glenn Watson
15c13b91e6 Add Q_IS_ENUM(), and provide as flag in QMetaType::typeFlags()
Add Q_IS_ENUM() macro to determine if a given type is an
enumeration. Use information from that in QMetaType::registerType()
to store whether custom registered metatypes are enums or not.
This information can then be accessed by calling
QMetaType::typeFlags(int type). This is used by the declarative
code to determine whether a custom type in a variant can be safely
cast to an integer, which is required to allow passing non-local
enums as signal/slot params.

Change-Id: I9733837f56af201fa3017b4a22b761437a3c0de4
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-03-11 23:58:39 +01:00
Jędrzej Nowacki
e3429f764b Crash fix in QMetaType::typeFlags.
The function is public, so it should validate input instead of crashing

Change-Id: Id67463b0b61ab74a76c1ede7f052bdbed37822b6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-11 22:04:21 +01:00
Friedemann Kleint
472cc7ac27 XCB: Implement native events for for windows.
Change-Id: Iacea1231b49ebe57da96f4012d3f314e1b037105
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-10 22:16:05 +01:00
Sergio Martins
d8e6350c16 Remove unneeded check.
It would have already crashed on
QOpenGLSharedResource(ctx->shareGroup()).

Change-Id: Ib68759457a0fa7e4417dcd30cc40fbabf3df232c
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-10 22:16:05 +01:00
Martin Smith
11eed81ae9 qdoc3: qdoc user manual update
Changed \bold to \b, \i to \e, and \o to \li.

Task-number:  QTBUG-24578

Change-Id: If02517164f30f05436596224c1b1895a86d9e9f8
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-10 20:23:58 +01:00
Holger Hans Peter Freyther
bc3a6c75f8 byteorder: Fix compilation for MIPS and GCC < 4.6.
Use the pre-processor macros to detect the byte order. This is
how it is done for ARM and other platforms. Use the variant of
the macro with the most underscores to match our ARM detection.

Change-Id: I7d2b34bf45a7f3979b44a1fe2e95f678152a5dcd
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-10 15:37:01 +01:00
ABBAPOH
7a1a0fc76b Remove commented 'comment'
Change-Id: I996a34fb2dc91da8b68039b4bc797a255c99d2e0
Reviewed-by: David Faure <faure@kde.org>
2012-03-10 10:53:16 +01:00
ABBAPOH
bcf8c6984a Fix commas according to qt coding style
Change-Id: Ibf49f1c3d426917d1cfcb382c8ed2771d43d6e99
Reviewed-by: David Faure <faure@kde.org>
2012-03-10 10:52:55 +01:00
Kent Hansen
849b760c90 Revert "QNam: only init channels when needed."
This reverts commit ff25691d00.

The change broke qtdeclarative. Several autotests crash because
QHttpNetworkConnection::transparentProxy() calls proxy() on a
null socket.

Task-number: QTBUG-24717
Change-Id: I57e3ccf5d20683f59cf7450083d1fcb3fa1c40fe
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-03-09 22:37:18 +01:00
Rafael Roquetto
c50e5f321f Updated codecs.pri to reflect new QNX mkspec name
Change-Id: Icd4a9dd774991c2be180b885b3892ff85a3f8dc1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-09 18:50:52 +01:00
Holger Hans Peter Freyther
8b7ea1273d byteorder: Improve the implementation comments for auto-detect
Parts of the auto-detection is using __BYTE_ORDER__. This
pre-processor macro was added in GCC 4.6. Document that in
the auto-detection code. Remove the misleading error message
in qsysinfo.h.

Change-Id: I66430ba1c9a1cdf476889ae6d5f3ca476243e000
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
2012-03-09 18:50:52 +01:00
Rafael Roquetto
8a15c41d36 Fixes wrong iconv_open call under QNX
The wrong macro logic was causing iconv_open to never be
called under QNX.

Change-Id: I3367872fc8440f87fb59667770acd06262aef723
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-09 18:50:52 +01:00
David Faure
816893d91d Fix some duplication between QGuiApplication and QApplication,
for the mouseButtons and keyboardModifiers vars and methods.
Implement queryKeyboardModifiers with a new virtual in
QPlatformIntegration.

Task-number: QTBUG-11243
Change-Id: I9e95841542ac61c73ff72d7682ad962ea8aada42
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-09 18:50:52 +01:00
Rafael Roquetto
657f634c0e Fixes mismatching delete operator
Change-Id: Ib6640daa0fdd12f98f9d7e257c226e0abdcf31dc
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-09 16:54:27 +01:00
Kevin Krammer
5368ad604c Use qt_safe_read to read from low-level file descriptor
Change-Id: I7c7bc379a423be4de471c5972cb98101c90bab8c
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-09 16:54:27 +01:00
Jon Trulson
c3b72e9c2f Start eventTime timer so that the .elapsed method will work.
QWindowSystemInterfacePrivate::eventTime.start() is never called,
resulting in all calls to
QWindowSystemInterfacePrivate::eventTime.elapsed() within
qwindowsysteminterface_qpa.cpp to return 0.  This could cause events
to be lost, such as mouse button press events from the evdevmouse
input plugin.

Change-Id: Iba9d23b51af80e8532d24ccf382e9077c06bb4be
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
2012-03-09 10:57:59 +01:00
Holger Hans Peter Freyther
bbc97c38d5 misc: Fix some random typos and grammar while reading code.
Typos:
recieve   -> receive
descrived -> describe

Grammar:
this types -> these types

Change-Id: Iedacc51a6322996f423ac9472af0a597424a4fed
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-03-09 07:18:34 +01:00
David Faure
e02c396acb Fix copy/paste error in QAbstractItemModel::insertRow docu.
This method is not virtual.

Change-Id: I1c82a63af07d7e78e7a572c0dfcfb2b82122d421
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-09 01:42:05 +01:00
Donald Carr
d26ef66a66 Remove widgets dependency from eglfs
eglfs uses the (old) OpenGL paint engine for paint operations. This drags in a
QWidget dependency and hence everything bar the kitchen sink. This change
gets eglfs buildable without widget support although anything which relies
on a QPaintDevice will end up rendering nothing to the screen. (Similar
to the QWS simplegl driver)

Change-Id: If7fcdb79038ef7568e771402fd1667bc0318ff5f
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-03-09 01:42:05 +01:00
ABBAPOH
5434295389 Remove calls for default constructors
Change-Id: Ib33013bed9e6b7bb9ef54c858da5cd61f35f2c41
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-03-09 01:42:05 +01:00
Martin Petersson
47a62485c0 Use SSL_MODE_RELEASE_BUFFERS in QSslSocket
If SSL_MODE_RELEASE_BUFFERS is available we should tell OpenSSL
to release memory early.
http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html

Task-number: QTBUG-14985
Change-Id: Ib6656ebb3c4d67ca868b317ee83ddbf0983953f9
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Markus Goetz <markus@woboq.com>
2012-03-09 01:42:05 +01:00
Pierre Rossi
7e53debcf2 Fix a performance regression with shouldLoadFontEngineForCharacter.
Calling FcFontMatch should be avoided as much as possible. We can simply
cache the patterns it returns, which should still save memory compared to
loading all font engines as we did before.

Change-Id: I67208a4f919338a948535f717cfd0139dbea2e5f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-08 23:52:34 +01:00
Rafael Roquetto
4ba895a863 Fix platforms.pro to match new qnx mkspec name
Change-Id: Ib159b519d11c9b88979f0f47b87801552586abc0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-08 23:52:34 +01:00
Yuchen Deng
9731607fb3 Build fix when use '-no-stl' option
error C2039: 'move' : is not a member of 'std'
error C3861: 'move': identifier not found

Change-Id: I40beb59f893a8969275154664c947889eb570c95
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 23:52:34 +01:00
Shane Kearns
3650ce5a85 Add debug stream operator for QNetworkProxy
Change-Id: Ib8e7ba041ede33dc9c751432e39be2d6a9f4662d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 23:52:34 +01:00
Rick Stockton
a0933f4d74 BlackBerry Plugin: support 8 mouse buttons, instead of just 3.
The mask of possible mouse buttons in QNX provides tracking for the
up/down State of up to 8 mouse buttons. This update adds support
for the 5 buttons which we previously ignored in Qt on this Platform.

Task-number: QTBUG-24682

Change-Id: I8c1d2b2a5d0deb3b857fb387c242c3792e21ff95
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2012-03-08 23:52:34 +01:00
Giuseppe D'Angelo
824cc94921 QRegularExpression: minor fix to captureIndexForName
Although passing a null pointer to pcre16_get_stringnumber for
the compiled pattern should simply make it error out, it's actually
an undocumented behaviour, so let's stay safe and add an explicit
check.

Tests for this codepath are added.

Change-Id: Ifd9c87874f6812ba487104ec1a5bbc83c3b16761
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 22:00:53 +01:00
Giuseppe D'Angelo
b543141992 QRegularExpression: improve JIT memory handling
PCRE's JIT uses by default 32K on the pcre_exec caller's stack. This
is fine for most situations, but in some cases (esp. patterns with
lot of recursion) more memory is required.

Therefore, if a match execution fails due to exhausting JIT memory,
we let PCRE allocate up to 512KB to be used for the JIT's stack.

The pointer to the allocated memory is put in thread local storage
(so it can be reused from the same thread, if needed, and automatically
goes away when the thread dies).

Change-Id: Ica5fb7d517068befff88ebb198a603a26ec5d8a7
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 22:00:47 +01:00
Friedemann Kleint
c35d65e27d Windows: Fix flag handling.
Fix a typo that caused a variable to be hidden such that
the Qt::WindowFlags were not used.

Change-Id: Iea4456b0cd4c968e0fbfdd53e5006ffee0298b24
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-08 21:45:34 +01:00
Martin Petersson
4c0df9feb2 QtNetwork: blacklist two more certificates
The comodogate 72:03:21:05:c5:0c:08:57:3d:8e:a5:30:4e:fe:e8:b0
certificate is a test certificate and the MD5 Collisions was created
as a proof of concept deliberately made to be expired at the time
of it's creation.

Task-number: QTBUG-24654
Change-Id: Ic8eb417363569fe50bf19cd229658f5e371862f7
Reviewed-by: Richard J. Moore <rich@kde.org>
2012-03-08 19:00:39 +01:00
Oswald Buddenhagen
adfcd98922 replace uses of QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT with module-specific variables
Change-Id: Id410887fa97f345a229e0cbf395633ccf303fa2f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 18:57:56 +01:00
Oswald Buddenhagen
deea66c9f4 remove obviously counterproductive uses of QT_SOURCE_TREE & QT_BUILD_TREE
Change-Id: I77cf734b58f350d82277c084a680ab56fdf82f08
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-03-08 18:57:13 +01:00
Donald Carr
4035375c57 Remove legacy pre-QPA gui/egl implementation
Change-Id: I22a100cec7064df87eb2036adbca8a41aab5a10d
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-08 18:23:56 +01:00
Frederik Gladhorn
2a72e10ed9 QAccessibleEvent needs a virtual destructor.
Change-Id: Ia0cd82c5457d39fe501e7ee6b5468ccb0f62f35a
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-08 16:07:55 +01:00
Lars Knoll
3ca1a2c28e Defer window activation if the window hasn't beenn mapped yet.
Change-Id: I60d616fc60d3be9b55ab2599abadede5f7c11f93
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-08 16:06:59 +01:00
Lars Knoll
763790bb5c Fix a bug in the assignment operators for QJsonObject and Array
When objects or arrays where being used read only, several objects
can share the same d pointer, but will have different pointers into
the binary data. Correctly change the pointer into the binary
data even if the d-pointer is the same.

Change-Id: Ife0ea5ac5daf46586f855dccdf35b51ec696a623
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-03-08 16:06:48 +01:00
Jędrzej Nowacki
cf6dd5baca Crash fix in QMetaType::typeName.
The function is public, so it should validate input instead of crashing

Change-Id: Ifd9f1110f8631f942929d85db6a57eee7afffb6a
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-08 16:04:02 +01:00
Jędrzej Nowacki
f71487da3a Fix crash in QVariant::canConvert.
The function was crashing when an unsupported type id was given
as an input argument.

Change-Id: I2b0e3e6d43f6f248dc71532f8e6485efe68e8120
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-03-08 16:03:52 +01:00
Giuseppe D'Angelo
84984af0e1 Remove usage of QtXml from rcc, add test
Ported from QDom to QXmlStreamReader. This enables removal of QtXml
classes from bootstrap.

A new rcc test was added, copying the data from the
QResourceFileEngine test. The new test runs rcc to create binary
resources, dynamically loads them under various locales and checks
that they do contain the expected files.

Change-Id: I15d23dfda45de851a421156951ce2a60af4c1f7f
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-08 09:59:31 +01:00
Jiang Jiang
7de046db73 Enablers for shared graphics cache in raster paint engine
Required changes for using shared graphics cache for distance field
raster glyph rendering. Most of the logic is in platform plugins.

Platform plugins should implement
QPlatformIntegration::createImagePaintEngine() to create a subclass
of QRasterEngine.

Change-Id: Icf0a396e722e43b4caa2c1849aae38753cde38f1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-08 09:39:26 +01:00
Pierre Rossi
a44da8fc12 Remove dead code.
This logic was introduced as part of change I92dfb39289a359f49caa02c2caf8baf66098fb59
but isn't used anymore.

Change-Id: I5bcfea99a7a2993434e1e978195a70dae52d6cfa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-03-08 09:36:31 +01:00
Jason McDonald
d78fab531a testlib: Make QTestResult::verify() more robust.
The statementStr parameter should always be non-null, so assert if it is
null.  The description parameter can be null in some cases (particularly
when the verify is successful, and thus no error description is going to
be displayed), so tolerate this.

Change-Id: I87b416d5f3b793bc608cd4aca14a4f7fe7527488
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-08 07:30:36 +01:00
Frederik Gladhorn
48209e21ec Add accessible role Desktop.
Another role that is mostly needed to make Qt based desktops accessible.
Would be nice to have for KDE's Plasma in the future.

Change-Id: I1d2ce9d55d677f73cc59f0a3646ee5e588c1d948
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
(cherry picked from commit edc6fae534835a2c72edffb52255fe522a37928f)
2012-03-08 07:28:21 +01:00
Frederik Gladhorn
b55ed97e79 Call updateAccessibility with the right index.
In Qt 4 index 0 was the widget itself.
With the cleanup of child index this now changed.
The default constructor uses -1 as parameter to signify that
the widget is the cause, not a child.

Change-Id: I329a1cc91bf2d1d1d8534739acbddfe107f40364
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-03-08 07:28:21 +01:00
Nick Ratelle
4560ea230f Fixes potential memory leak in qtextcodec.cpp
Change-Id: I56c0a1a6cc261bd15653bc4cbb94daed1f8aa811
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-03-08 07:28:21 +01:00
Jason McDonald
d81b065bb3 testlib: Improve verbose and XPASS output
Previously, verbose (-v2) and XPASS test output showed all QCOMPAREs as
"COMPARE()", making it impossible to see what was compared and difficult
to match the output to the source of a test containing many calls to
QCOMPARE.

This commit changes testlib's internal compare_helper API so that string
representations of the compared expressions are always passed to
QTestResult::compare() when available, and can thus be shown in the
verbose and XPASS output.  The XPASS output has also been changed to
state explicitly that the comparison succeeded unexpectedly, bringing it
in line with the XPASS output resulting from a call to QVERIFY.

This commit also changes all calls to compare_helper() to call the
eight-argument version of the function, which simplifies much of the
calling code.  The now obsolete four-argument version of
compare_helper() has been changed to output a warning that it is
obsolete.  It will be removed once other modules have had some time to
catch up.

The improved XPASS and verbose output is demonstrated by the expectfail
and verbose2 selftests.

Change-Id: I8baa46d5dd30e6c43b26f366c34dc5b64aab5f7c
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-08 05:31:40 +01:00
Jason McDonald
0eb95222ac testlib: Document a known limitation of QFINDTESTDATA.
Change-Id: I72740e394bfe2a95f5b48566b29c9ef9200a8035
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-03-08 05:31:40 +01:00
Andy Shaw
46c5850263 Call wait() after calling quit() so that it can gracefully finish
There was a problem with slow https connections that if the download
was ongoing when quit() was called then it tended to cause a crash
because it tries to shutdown the SSL connection.

Task-number: QTBUG-24594
Change-Id: I6b161bc7a9bb99e41849537462de2d7c92661902
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com>
2012-03-08 05:31:40 +01:00
Shane Kearns
4cc8209998 Windows - handle both auto detect proxy settings together
If both "automatically detect settings" and "use automatic configuration
script" are selected in internet options, then respect that.
Because of performance issues, these are tried separately, and
disabled if they fail.

Task-number: QTBUG-13957
Task-number: QTBUG-10238
Change-Id: Ibc824d3039afeaf12c5ea82ed95287e5cf4e1776
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-08 05:31:40 +01:00
Shane Kearns
ea92d02b6b Fix a number of bugs with windows system proxies
TcpServer requests always returned no proxy, even if socks was available
Tag handling was broken for empty tag (if system proxies were tagged)
Tag handling was broken for unknown tags - now handled the same as if
    no tag was given at all.
When there are different proxies for http and https, windows returns
the http proxy first. However we should prefer to use the https proxy
for general sockets, as it's more likely to support the CONNECT method.

Change-Id: I55dcadf2e142367e857f94e55fdbb0c4ddb513a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-08 05:31:40 +01:00
Shane Kearns
276f64d21d Windows - fall back on static proxy config if autoproxy fails
If both manual proxy settings are configured and the autodetect
setting is enabled, fall back on the manual configuration when
auto detection fails.

Task-number: QTBUG-10428
Change-Id: If008c7c967eec6256ce3c614fff0ec258190d451
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2012-03-08 05:31:40 +01:00
Shane Kearns
25c05ce3bb Windows - handle proxy autoconfiguration resulting in no proxy
The PAC file may result in direct connection, in which case
WinHttp returns null strings for the proxies and the connection
type marked as direct.
In this case, return the default list (no proxy)

Change-Id: I601033f56a841bb92ea80a28174bb993b024ad79
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 05:31:40 +01:00
Shane Kearns
a7489b2ba3 Windows - fix proxy types for manually specified proxies
When the windows internet options are used to specify a
different proxy for each protocol, assume the proxy server type
matches that protocol too.
e.g. "socks=qt-test-server:1080" is both tagged for socks, and
assumed to be a socks server.
"ftp=qt-test-server:2121" is assumed to be an ftp proxy
"ftp=http://qt-test-server:3128" is overridden to be a http proxy
used for ftp.

Task-number: QTBUG-10502
Change-Id: I70615c89d6ede53f0e7d62e6d0754b90d042aa2e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 05:31:40 +01:00
Sean Harmer
fd4c61c75e Allow compilation of 3rdparty/pcre on QNX
Change-Id: If9a56d5e042c8da9626feab377388e9bfc22b129
Reviewed-by: Giuseppe D'Angelo <dangelog@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-08 05:31:40 +01:00
Frederik Gladhorn
e2f8cdf9a6 Fix typo: remember not remembet
Change-Id: I6e3bc6a233e7ec8ba94ecaeeafc730b18dd32f02
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-03-08 05:31:40 +01:00
Lars Knoll
448a3cfe17 Move qdoc into qtbase and bootstrap it
We need qdoc in qtbase to be able to properly
modularize our documentation and build it
when building the different Qt modules.

qdoc does contain a copy of the qml parser from
qmldevtools, but this is the lesser evil compared
to how we are currently forced to genereate our
docs (and the fact that no developer can run
qdoc and check the docs for their module).

Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
Reviewed-by: Martin Smith <martin.smith@nokia.com>
2012-03-08 05:31:40 +01:00
Friedemann Kleint
b319d44798 QCursor: Associate cursor with screen.
- Introduce cursor() accessor to QPlatformScreen.
- Remove screen member of QPlatformCursor (a
  cursor can be shared by multiple screens
  of a virtual desktop).
- Add QCursor::pos()/ QCursor::setPos() taking
  a QScreen-parameter, use primaryScreen() for
  old overloads.  QCursor::pos() can then query
  the platform cursor for the position and return
  the position even if the mouse position is outside
  the windows owned by the Qt application.
- Fix tests

Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>

Task-number: QTBUG-22457
Task-number: QTBUG-22565
Task-number: QTBUG-20753
Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-07 22:43:43 +01:00
Debao Zhang
b7915a4d0d Fix dockwidgets behavior when window resized or central widgets is set.
When adding and showing a central widget in a QMainWindow then the
layout does not respect the size policy of the central widget.

This is a side effect of 059be19781a22d2e41f22072152589857d0fabf9

After the layout of QMainWindow is restored or the separator between central
widget and dock widgets is moved by user, dock widgets should keep their
size when the window if resized.

Task-number: QTBUG-15689
Change-Id: Idfccb7b4ae057a99f431c2ed54e3b9fcfb6ef54c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-07 19:52:27 +01:00
Giuseppe D'Angelo
eb70933398 QRegularExpression: add optimizations autotest
Exporting the counter that controls the optimization of a compiled
pattern lets us to forcibly optimize all patterns. Therefore,
two tests are now run: one with default optimization values
and another one which always optimizes the pattern.

The counter itself was renamed with a qt_ prefix and put
inside the Qt compilation namespace
(thanks to rohanpm for pointing it out).

Change-Id: I56602433d37adc127772b2d0d2cdaf2e49d43c71
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-07 19:18:22 +01:00
Debao Zhang
3bb9024952 QWidget: fix wrong mouse behavior
Widgets will receive extra mouse press events when double clicked. This
is a side effect of change Id Ief6af12c666b23e544da4a68cb835cd577265469
which has partially fixed the folowing bug.

Task-number:QTBUG-24649
Change-Id: I030ac6ba641050d40ac8989720a1c261ab15f849
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-03-07 16:38:08 +01:00
Miikka Heikkinen
7bc576771d Fix sending simulated keyboard events to popup widgets
Popup widgets steal the keyboard grab stealthily without it being
visible via QWidget::keyboardGrabber(). To more accurately simulate a
real keyboard event, prioritize sending simulated keyboard events to
the active popup widget over QGuiApplication::focusWindow().

Task-number: QTBUG-24326
Change-Id: Id7a75c613d934e24657b521f1684ce7cce92556a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-03-07 16:37:55 +01:00