summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Optimized clipping in the GL 2 engine for winding fills.Samuel Rødal2009-10-072-29/+41
| | | | | | | | | | | | | When no stencil clip is set we reduce the number of compositing passes for rendering winding fill paths from four to two. When stencil clip is set, the number of compositing passes is reduced from five to four. For clipping with a winding fill path, the number of compositing passes are reduced from five to four when stencil clipping is already enabled. A performance improvement of up to 85 % was measured in certain cases. Reviewed-by: Trond
* Documented the NoOpaqueDetection enum value in ImageConversionFlags.Samuel Rødal2009-10-071-1/+7
| | | | | | This might be useful for some people, so we should document it. Reviewed-by: Bjørn Erik Nilsen
* QGuiPlatformPlugin: QFileIconProvider and QIcon backend.Olivier Goffart2009-10-075-85/+87
| | | | | | | | | | | | | | | Add a backend for QFileIconProvider in the platform plugin Also change the QIcon::fromTheme backend in the platform plugin: On KDE, we unfortunately can't use KIcon as backend, as the current API doesn't let us know easily (and quickly) wether we should use the fallback or not (KDE always fallback to the question mark "unknown" icon) So we will use the QIconLoader even on KDE. But we need to make sure that the theme name and the icon search paths are correct. Ask that to the platform plugin Reviewed-by: Jens Bache-Wiig
* viewport()->update() after delegate set for QAbstractItemViewJeremy Katz2009-10-071-3/+3
| | | | Reviewed-by: Olivier
* Fix: Lazy instantiation of a static QActionAlessandro Portale2009-10-071-3/+4
| | | | | | | | | | | | | | | | | | We should not create a QAction instance at program startup, that is before QApplication was initialized. One reason not to do that is that internal fonts are prematurely initialized without QApplication::qt_is_gui_used set to true, which leads to wrong font Dpis in qt_defaultDpiX(). This issue was detected due to the failure in tst_QTextLayout, cases: testDefaultTabs, testTabs, testMultilineTab, testRightTab, testTabsInAlignedParag, testCenteredTab, testDelimiterTab, testMultiTab and tabsForRtl. Fix: create a Q_GLOBAL_STATIC_WITH_ARGS for that QAction instance. Reviewed-by: Liang QI
* Support small screen for QToolBar auto test.Liang QI2009-10-071-1/+1
| | | | | | We need to test through extension tool button and menu for it when there is no enough width on embedded devices. Reviewed-by: TrustMe
* Using const refs for passing qreal will make Qt slower on some systems.Jan-Arve Sæther2009-10-071-2/+2
| | | | | For instance, if sizeof(qreal) == 4 (for instance on ARM) the stack size needed will be the same, so it will just add an extra indirection.
* Merge commit 'qt/4.6' into mmfphononFrans Englich2009-10-0765-929/+1583
|\
| * Fix QDesktopServices::storageLocation() when registry keys are missingJens Bache-Wiig2009-09-161-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | We should not use the registry key when looking up the storage location as this is not really supported by Microsoft and not allways accessible. Instead we now use SHGetSpecialFolderPath. Note that we avoid SHGetKnownFolderPath as it is not available on all CE platforms though it is the reccommended function by Microsoft. Task-number: QTBUG-3241 Reviewed-by: prasanth
| * Fix compile error on Symbian platformShane Kearns2009-10-071-0/+1
| | | | | | | | | | | | | | Missing header file, resulting in compiler error about returning an incomplete type. Reviewed-by: Trust Me
| * Fixed initialization of the system locale on Symbian.Denis Dzyubenko2009-10-071-2/+8
| | | | | | | | | | | | | | Made it thread-safe and actually make sure that we don't initialize the data several times. Reviewed-by: axis
| * Fixed a crash bug on S60 SDK 3.1.axis2009-10-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | The crash was caused by the image data not being locked before being accessed. Also avoided an unnecessary detach copy by making the image variable a reference. RevBy: Jani Hautakangas Task: QTBUG-4705 AutoTest: QWidget passed
| * Prevented deployment of QtScript when not compiling that module.axis2009-10-071-1/+4
| | | | | | | | RevBy: Miikka Heikkinen
| * Revert "There's no need to include qstringmatcher.h in qstringlist.h"Marius Storm-Olsen2009-10-072-1/+1
| | | | | | | | | | | | | | | | Source-incompatible change This reverts commit 8714892977269591bb9b348c6eb549a7f2c45cbc. Rev-by: Trustme
| * Merge branch 'openbossa-expanding' into 4.6Jan-Arve Sæther2009-10-074-221/+483
| |\
| | * Cosmetic fixes to the previous patches.Jan-Arve Sæther2009-10-074-38/+40
| | | | | | | | | | | | | | | | | | There is only one change in the actual code here, and it simply removes an unnecessary initialization of hasSize in the ctors of the composite anchors.
| | * QGraphicsAnchorLayoutPrivate: Fixing initial geometry values for new layout ↵Jesus Sanchez-Palencia2009-10-061-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | items Now every item starts with its geometry on ((0,0), preferredSize()). By doing this we guarantee that every item will have a known initial value, which can be specially useful on float cases for instance. Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| | * QGraphicsAnchorLayoutPrivate: Handling floating items as an invalid layout ↵Jesus Sanchez-Palencia2009-10-062-1/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | situation We make use of the anchor visited on findPaths() to keep track of how many items are visited when walking on the graph. We can use this information of how many items are reachable (non-float) in order to check if we have floating items (not reachable from any graph vertex). If so, we have a situation not supported by now. Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| | * QGraphicsAnchorLayout: Fix creation of internal layout anchorsEduardo M. Fleury2009-10-061-62/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the AnchorData cleanup commit (c974aca8) all anchor initialization is being done by refreshSizeHints. However that method was not able to properly initialize the internal layout anchors. This commit refactors that method both to add the functionality and improve readability. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| | * QGraphicsAnchorLayout: Add support for expanding SizePolicy with simplificationCaio Marcelo de Oliveira Filho2009-10-062-27/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating "refreshSizeHints" and "updateChildrenSizes" methods for standard, parallel and sequential anchors, in order to support the expanding SizePolicy flag. This adds the logic required to calculate equivalent expected/nominal expanding size (AnchorData::expSize) as well as the logic to propagate the effective size when in the expanding state (AnchorData::sizeAtExpected). Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| | * QSimplex: Remove overly conservative assertionEduardo M. Fleury2009-10-062-19/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This assertion started failing after the addition of expanding state. After some investigation we felt that the assertion itself was too strong and would fail in some valid cases. The new assertion is formally right as it tests whether the simplex solver was able to satisfy the simplex constraints, _exactly_ what it is expected to do. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| | * QGraphicsAnchorLayout: Update solveExpanding to handle simplified graphsEduardo M. Fleury2009-10-061-12/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation of solveExpanding would assume that anchors were either completely expanding (would grow to their sizeAtMaximum) or non-expanding (would try to remain at their sizeAtPreferred). What happens however is that with simplification enabled, we may have anchors that are "partially" expanding. An example is a sequential anchor that groups together two leaf anchors where only one of them is expanding. In this case, the expected size of that group anchor would be the sum of the max size of the expanding child plus the preferred size of the non-expanding child. To handle the above case we added the "expSize" variable. It holds the expected value at Expanding for each anchor. Based on this, and the already calculated values of sizeAtMaximum and sizeAtPreferred, the solver calculates the actual sizeAtExpanding for them. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| | * QGraphicsAnchorLayout: avoid code duplication when initializing complex anchorsCaio Marcelo de Oliveira Filho2009-10-062-52/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we can use refreshSizeHints_helper() to initialize complex anchors (parallel and sequential). This avoids duplication of code in the function simplifySequentialChunk(). This commit also 'disable' ExpandFlag temporarily, stabilizing the tests for the simplification. The next commit should re-enable it implementing the necessary code for simplification as well. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| | * QGraphicsAnchorLayout: cleaning up AnchorDataCaio Marcelo de Oliveira Filho2009-10-062-83/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use just one constructor for AnchorData and tweak the struct when necessary. Also use the function refreshSizeHints() for Normal anchors to get the item information instead of passing to the constructor. This has the advantage that we don't need to replicate the code for checking and updating the size hint and size policies. Note that the code before only considered the size policies after the first refreshSizeHints() -- which we know will be called after the simplification, so the assumption seems to be correct, but we don't depend on that anymore.. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| | * QGraphicsAnchorLayout: Enabling Simplex support for Expanding size policyEduardo M. Fleury2009-10-062-11/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support the expanding size policy we had to change the way the setup process work. Previously we used to calculate three key-frames using the simplex solver: - sizeAtMinimum: the value an anchor should be in when the layout is at its minimum size. Calculated using simplex solver to minimize the layout size. - sizeAtPreferred: the value an anchor should be in when the layout is at its preferred size. Calculated using simplex solver to minimize the deviation from the items preferred sizes. - sizeAtMaximum: the value an anchor should be in when the layout is at its maximum size. Calculated using simplex solver to maximize the layout size. That worked fine but didn't diferentiate standard items from the "expanding" ones. In other words, all items would grow from their sizeAtPreferred to their sizeAtMaximum at the same rate. To support the idea of "expanding" items, ie. items that should grow faster than the others, we added a fourth state, between preferred and maximum. Now we have the following interpolation order: sizeAtMinimum -> sizeAtPreferred -> sizeAtExpanding -> sizeAtMaximum. The definition of the "expanding" state is that all "expanding" items should have grown all the way to their "sizeAtMaximum" values whereas non expanding items should have kept their preferred sizes. The only exception is that non-expanding items are allowed to grow if that is necessary to allow the "expanding" items to reach their sizeAtMaximum. So, the visual result is that if the layout is resized from its preferred size to its maximum size, the expanding items will grow first and then, in a second phase, the other items will grow. This commit adds QGALPrivate::solveExpanding() and calls it from calculateGraphs(). Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
| | * QGraphicsAnchorLayout: Add data structures for Expanding size policyEduardo M. Fleury2009-10-062-13/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding required members for the upcoming support of the QSizePolicy::Expand flag. In this state, running with simplification will probably not work. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
| * | Fix linker error with Symbian/ARM RVCT ABIv2 toolchainShane Kearns2009-10-072-22/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not exporting the whole class prevents the capabilities example from linking, because the vtable is not exported. Changing from member exports to exporting the class also fixes the GCC 3.4.x compiler error. Task-number: QTBUG-4593 Reviewed-by: Thiago
| * | 2009-10-07 Janne Koskinen <janne.p.koskinen@digia.com>Janne Koskinen2009-10-072-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed by Simon Hausmann. [Qt] Symbian SBSv2 .data segment adress fix https://bugs.webkit.org/show_bug.cgi?id=30157 RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section base address to start from 0x800000 instead of the toolchain default 0x400000 * WebCore.pro: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
| * | 2009-10-06 Janne Koskinen <janne.p.koskinen@digia.com>Janne Koskinen2009-10-072-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed by Simon Hausmann. [Qt] don't enable input methods on Symbian by default. https://bugs.webkit.org/show_bug.cgi?id=30117 If input methods are enabled Symbian FEP will be launched on every pointer event making webpage navigation impossible with QWebView. * Api/qwebview.cpp: (QWebView::QWebView): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
| * | Fixing warnings on GCC... (III)João Abecasis2009-10-071-2/+1
| | | | | | | | | | | | | | | | | | | | | ... by establishing a default behaviour for the switch statements that follow. Reviewed-by: Thierry Bastian
| * | Fixing warnings on GCC... (I)João Abecasis2009-10-071-2/+2
| | | | | | | | | | | | | | | | | | | | | ... by establishing a default behaviour for the switch statements that follow. Reviewed-by: Kim
| * | The ::reads and ::writes were generating warningsJoão Abecasis2009-10-071-45/+46
| | | | | | | | | | | | | | | | | | The ::closes were changed just for fun. Reviewed-by: Thiago Macieira
| * | Only a character but could still be interrupted by a signalJoão Abecasis2009-10-071-1/+1
| | | | | | | | | | | | Reviewed-by: Brad
| * | Fixing more GCC warningsJoão Abecasis2009-10-071-2/+2
| | | | | | | | | | | | Reviewed-by: Marius Storm-Olsen
| * | Fixing some GCC warningsJoão Abecasis2009-10-077-4/+6
| | | | | | | | | | | | Reviewed-by: Markus Goetz
| * | Get rid of some superfluous checks in QScriptString::operator==()Kent Hansen2009-10-071-6/+0
| | | | | | | | | | | | Reviewed-by: Olivier Goffart
| * | Use dbus_threads_init_default instead of QMutex wrappersThiago Macieira2009-10-074-151/+4
| | | | | | | | | | | | | | | | | | The minimum version for the recursive mutexes is D-Bus 0.93. That's also the same version that introduced the default thread functions. So we don't need to provide ours anymore, just use the default.
| * | Use the recursive mutex functions for D-Bus only.Thiago Macieira2009-10-071-27/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At least in D-Bus 1.2.16, there's a deadlock caused by locking an already-locked mutex. When Qt is linked to libdbus-1 instead of dynamically loading it, it maintains legacy compatibility by only providing the non-recursive mutexes, which triggers this deadlock. The recursive functions have been present since 0.93, so I guess the non-recursive variants aren't tested. Report: https://bugzilla.novell.com/show_bug.cgi?id=482749#c30
| * | Fix compilation with -pedanticDavid Faure2009-10-075-8/+8
| | | | | | | | | | | | | | | Merge-request: 1716 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
| * | Integrate the GuiPlatformPlugin interfaceOlivier Goffart2009-10-0714-153/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an internal interface for plugins that can be provided by the platform to give platform-specific features by platforms built on top of Qt. We can easlily integrate Qt on Windows, Mac, Gnome, ... without any plugin because we can link to their respective library (dynamically if we don't want to depend on it). On Gnome, we can dynamically resolve Gtk+ symbols. This is however not possible for KDE or other platform built on top of Qt: we can't link against their library because they depend on us and we can't dynamically resolve the symbols because they are mangled (C++) So this plugin provides hooks inside Qt to be able to do things like native File or Color dialog, native icons, accurate reading of the config file, and so on. This is currently private API. Task-number: QT-406 Reviewed-by: Jens Bache-Wiig Reviewed-by: Oswald Buddenhagen
| * | implement qHash function for QScriptStringKent Hansen2009-10-073-0/+17
| | | | | | | | | | | | Reviewed-by: Olivier Goffart
| * | Fixed thread lockup in win32 backend for QAudioOutput.Kurt Korbatits2009-10-061-3/+4
| | | | | | | | | | | | | | | | | | | | | -Was not closing the WaveOut on cleanup, fixed. -Was emitting signal in critical section, fixed. Reviewed-by:Bill King
| * | Update EABI DEF files for Symbian OSIain2009-10-065-40/+157
| | | | | | | | | | | | Reviewed-by: TrustMe
| * | API review: change function name to setUseSystemConfiguration.Thiago Macieira2009-10-062-3/+3
| | | | | | | | | | | | Requested-By: Volker Hilsheimer
| * | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Shane Kearns2009-10-06163-644/+1236
| |\ \
| | * | Optimized restore() in GL 2 paint engine.Samuel Rødal2009-10-062-19/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep track of what state actually changed so we don't have to set all the uniforms as dirty etc. Reviewed-by: Trond
| | * | Merge branch 'stencil-clipping' into 4.6Samuel Rødal2009-10-062-201/+261
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed the GL 2 paint engine to use the stencil buffer instead of the depth buffer for clipping. The stencil buffer is now used both for rasterizing polygons/paths and for clipping. Reviewed-by: Trond
| | | * | Changed GL 2 engine render text implementation to use glDepthRange().Samuel Rødal2009-10-062-16/+30
| | | | | | | | | | | | | | | | | | | | This frees all the current dependencies on the depth uniform.
| | | * | Made depth tested renderText() work after stencil clipping change.Samuel Rødal2009-10-061-7/+10
| | | | | | | | | | | | | | | | | | | | Also we should force Raster_A8 glyph format in renderText().
| | | * | Added convex polygon optimization to QGL2PaintEngineExPrivate::fill().Samuel Rødal2009-10-061-5/+4
| | | | |