summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a crash in QPixmap::fromImage() when passing in a null image.Trond Kjernåsen2009-11-161-0/+5
| | | | | Task-number: QTBUG-5840 Reviewed-by: Kim
* Made widgets not clear their contents after losing edit focus.axis2009-11-162-0/+8
| | | | | | | | | | | | | | | | | | | | | This is a behavior change from Qt 4.5. The motivation for the change is the following use case: A user types into a line or text edit, and gets interrupted by for example phone call or an SMS. This causes the active application to lose focus, which again causes edit focus to be lost. When resuming the application the focus gets set back, but the edit focus does not (nor should it). However, when the user types the next character, the line edit will erase *all* contents of the widget because it did not have edit focus. This is extremely destructive for a mobile phone user, especially since undo is not easily available. Another reason for doing that fix is that it seems that this is the mode of operation that most existing phones use. The fix is enabled for Symbian only at the moment, but will be followed by a patch for all platforms which will go into 4.7. Task: QTBUG-5698 RevBy: Jason Barron
* Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-163-21/+10
|\ | | | | | | 4.6-staging2
| * Define own palette for web-based widgets in QS60StyleSami Merilä2009-11-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | It makes no sense to use the S60-theme based palette in web based widgets. Web pages do not generally show theme background, but their own (or by default white) which clashes badly with WindowText and Text that are set to work with theme background. Therefore, QWebView and QGraphicsWebView need to be set their own palette for texts in theme palette hash. This improves visibility of text in webkit when QS60Style is active. Task-number: QTBUG-4885 Reviewed-by: Janne Koskinen
| * Remove fake right mouse button events from long tapShane Kearns2009-11-132-20/+1
| | | | | | | | | | | | | | | | | | | | | | The context menu is launched by a separate event, not by the right mouse button. Generating the fake right mouse button caused side effects. We now treat the touch screen as a one button mouse, long taps still open the context menu using QContextMenuEvent. Task-number: QTBUG-5180 Reviewed-by: axis
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Jan-Arve Sæther2009-11-131-3/+2
|\ \
| * | Fixed a regression in mainwindow that would not restore correctlyThierry Bastian2009-11-131-3/+2
| | | | | | | | | | | | | | | | | | The size of the dockwidgets would be ignored. Reviewed-by: ogoffart
* | | Remove warning. (Forgot to commit this together with my previous commits)Jan-Arve Sæther2009-11-131-1/+1
|/ /
* | Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Jan-Arve Sæther2009-11-131-2/+3
|\ \
| * | QItemSelectionModel: fixed selection not kept when layout change and ↵Olivier Goffart2009-11-131-2/+3
| |/ | | | | | | | | | | | | | | | | | | everything is selected The arbitrary number in commit 8a7700ffb5e4959e78 was not big enough. People still complains Task-number: QTBUG-5671 Reviewed-by: Thierry
* | Merge branch 'fixes' of ↵Jan-Arve Sæther2009-11-134-368/+182
|\ \ | |/ |/| | | git://gitorious.org/~fleury/qt/fleury-openbossa-clone into fleury-fixes
| * QGAL: clean up size hint refresh codeCaio Marcelo de Oliveira Filho2009-11-122-65/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The code for refreshing size hints of items / user-created anchors now happens with a graph in full (not simplified). So we don't need to now how to refresh size hints for complex anchors. The code for refreshing complex anchors was used also to initialize the complex anchors (the '_helper' functions). Those were changed to calculateSizeHints() and refreshSizeHints() doesn't need to be virtual anymore. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * QGAL: clean up interpolation codeCaio Marcelo de Oliveira Filho2009-11-122-95/+16
| | | | | | | | | | | | | | | | | | Now the interpolation doesn't need to know how to traverse complex anchors, since when it runs, the graph is not simplified anymore. This commit removes unnecessary code for dealing with that. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * QGAL: remove the caching of simplified graphCaio Marcelo de Oliveira Filho2009-11-123-72/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After discussion with Jan-Arve, we decided to remove for good the caching of simplified graph. This avoided recalculating the simplification (but not the simplex) in some situations. Since vertex simplification, this was temporarily disabled already. To know whether if we could the cached version or not, we needed to track individual anchors to see whether they reached size 0 or they were 0 and changed the size. This is because the vertex simplification depend on that fact. Now the simplified version of the graph exists only during the execution of calculateGraphs() function. This and next commits clear up the code to take advantage of that fact. Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * QGAL: fix update size hints logic in parallel anchorsCaio Marcelo de Oliveira Filho2009-11-121-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When filling sizeAt* values for parallel anchors, we have to identify the case when the second anchor in the parallel doesn't have the same direction as the parallel itself. However, relying on the parallel group vertices to identify this case is not safe, because after a parallel group a new vertex simplification can happen. So, the comparing the 'from' with the first edge is the correct way to verify whether the second is backwards. Code was fixed to follow that. Note that, without negative spacing the case "out-of-order" for parallels is only the trivial case (size == 0). Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
| * QGAL: Update code documentationEduardo M. Fleury2009-11-121-13/+26
| | | | | | | | | | Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| * QGAL: Move size information from AnchorData to QGraphicsAnchorPrivateEduardo M. Fleury2009-11-123-108/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To solve the spacing persistency bug, this commit saves the preferredSize (spacing) information inside QGraphicsAnchorPrivate. The problem started when we could not rely on "AnchorData->prefSize" to keep the spacing information for user-defined anchors. This happens because that member can be overriden if the spacing is negative (anchor is inverted) or its sizePolicy is of type "Ignored" (it is overriden by minSize). Then, to decide where to store it, we aimed to make something similar to what happens with item-internal anchors. Those can rely on their items to get fresh information regarding their size, so we decided that user-anchors (that don't have items, but do have QGraphicsAnchors) could read such information from there. This refactory also reduced the deep indirection that existed in the "QGraphicsAnchor->setSpacing" call. Previously it would call internal layout methods to do some black magic, that's now gone. As the spacing information is now stored in the anchor itself, it can do pretty much all the work and, after that, just invalidate the layout. Also, moved information like "AnchorData->hasSize" to QGAnchor as its pretty much related to the preferredSize information itself. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
| * QGAL: Update header documentation in QGALPrivateEduardo M. Fleury2009-11-121-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As part of the refactoring of the setSpacing logic, we are encoraging the analogy between the references to QGraphicsLayoutItem and to QGraphicsAnchor, from the AnchorData point of view. It happens that leaf anchors (ie, those that were not created by the simplification) either represent an item or an user-created anchor. This means that they should fetch their size information either from a QGraphicsLayoutItem (member AnchorData->item) or from a QGraphicsAnchor (member AnchorData->graphicsAnchor). Thus, I'm organizing the header to make it more consistent to the new concept. Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
* | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-133-9/+11
|\ \ | | | | | | | | | 4.6-staging2
| * | Fixed maximized dialogs losing maximized status on orientation switchMiikka Heikkinen2009-11-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If maximized dialog had minimum size that didn't fully fit to the screen, it lost its maximized status when orientation was switched, because of the logic that assumed that if a window is resized, it must no longer be maximized. Skipped this assumption for cases where resize occurs because enforcement of the minimum size of the window. Task-number: QTBUG-4671 Reviewed-by: Janne Anttila Reviewed-by: Sami Merila
| * | Highlighted text colour correction for s60styleJanne Koskinen2009-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Changed s60style HighlightedText to pickup the correct colour from S60 themes. Task-number: QTBUG-5709 Reviewed-by: Sami Merila
| * | Fix MWC warningShane Kearns2009-11-121-1/+1
| | | | | | | | | | | | Reviewed-by: Trust Me
* | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-2 into 4.6Gunnar Sletta2009-11-1348-225/+415
|\ \ \
| * | | Speed up QTextFormatCollection::indexForFormatJos van den Oever2009-11-132-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QTextFormatCollection currently has two problems: - looking for the index of a QTextFormat is linear, this can take 25% cpu when loading large documents in kword - the hash function for QTextFormat is inadequate. Not all values are treated specially. E.g. each QBrush instance has the same hash value at the moment. These patches speed up loading of a large text document in KWord from 9 to 7 seconds. This fixes this by using QMultiHash to group the QTextFormat instances by hash and only loop through that list when looking up values. It also improves the hash function for QTextFormat. Merge-request: 1623 Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
| * | | Merge commit upstream/4.6 into oslo-staging-2/4.6Olivier Goffart2009-11-1333-31/+58
| |\ \ \
| | * \ \ Merge oslo-staging-2/4.6 into upstream/4.6Olivier Goffart2009-11-1326-99/+131
| | |\ \ \
| * | | | | Fixed: QCalendarWidget::showNextMonth() followed by a click on the ↵Olivier Goffart2009-11-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | navigation button causes it to go to the first possible month QCalendarWidget::setCurrentPage did not set the current index on the model. This is required in order to get QCalendarWidgetPrivate::getCurrentDate working. (and this is used by the calendar widget to navigate) This intentionaly do not check if the date is inside the minimumDate or maximumDate range. This was possible before, and the autotests tests that behaviour. Task-number: QTBUG-4058 Reviewed-by: Prasanth Ullattil
| * | | | | Fixes QGraphicsWidget: paint() being called before polish().Bjørn Erik Nilsen2009-11-131-0/+8
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that we request an update() before we schedules a polish event in QGraphicsScene::addItems, which means paint() is being called before polishEvent(). We could try to swap the order in addItems, but that doesn't give us any guarantee that polish is delivered before update (since we have no control over what's happening from outside graphics view). A better solution is to always make sure we don't have unpolished items before we draw. Auto-test included. Task-number: QTBUG-4979 Reviewed-by: Andreas
| * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-122-17/+21
| |\ \ \ \ | | | | | | | | | | | | | | | | | | 4.6-staging2
| | * | | | Made the select button commit the T9 word rather than exit widget.axis2009-11-121-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Task: QTBUG-5661 RevBy: Janne Koskinen
| | * | | | Removed unused variable.axis2009-11-122-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| * | | | | QTreeWidget visualRect now returns the rect for all columnsThierry Bastian2009-11-121-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autotest will follow Task-number: QTBUG-2844 Reviewed-by: ogoffart
| * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into ↵axis2009-11-1214-70/+148
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | 4.6-staging2
| | * | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6Sami Merilä2009-11-122-3/+28
| | |\ \ \ \
| | | * \ \ \ Merge branch 'focusOutBug' into 4.6axis2009-11-122-3/+28
| | | |\ \ \ \
| | | | * | | | Fixed a focusing bug on Symbian.axis2009-11-122-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Symbian pops up a menu or dialog, Qt should produce FocusOut events using PopupFocusReason rather than deactivating the whole window. This keeps input widgets from losing focus when FEP wants to pop up dialogs. AutoTest: QWidget passed RevBy: Jason Barron
| | | | * | | | Fixed some initializers and saved some memory.axis2009-11-112-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RevBy: Trust me
| | * | | | | | Tab shapes have the wrong size and distance between them on SymbianSami Merilä2009-11-121-1/+4
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With certain themes it is really apparent that the tabshape rect and position deduction in QS60Style has some issues. See for example 5800Xm's default theme. TabShapes have huge spaces between them. Problem is that the initializer in style for tab shape assumes that the side parts of the frame are squares and will use 1:1 ratio (width:height) when upscaling the theme graphic draw area. This leads to that tabshape graphics will not fill in the whole area reserved for them. When initial area has ratio of 1:2 (for horizontal tab shape), upscaling pruduces correct rect and graphic is drawn correctly. Task-number: QTBUG-5659 Reviewed-by: Alessandro Portale
| | * | | | | Fix to symbian transparent window backing store format.Jani Hautakangas2009-11-112-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symbian semi-transparent window surface needs backing store pixmap in argb32 format. Normally QPixmap contains only rgb32 or argb32_pre pixels. This fix locks semi-transparent window backing store pixmap to argb32 format. Reviewed-by: Shane Kearns
| | * | | | | Fix for assertion failure in in QWidget::grabMouse for Symbian.Janne Anttila2009-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Docs say: "Note that only visible widgets can grab mouse input. If isVisible() returns false for a widget, that widget cannot call grabMouse()." qwidget_x11.cpp uses the similar condition in grabMouse as symbian after this commit. Task-number: QTBUG-5658 Reviewed-by: Jason Barron
| | * | | | | Revert "Using qreal more consistently in code (prevent misuse of double)"Aleksandar Sasha Babic2009-11-1144-580/+538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 676780d515cedca85829ae962e4f501c5e5b6581. Conflicts: src/gui/painting/qblendfunctions.cpp
| | * | | | | Revert "Check that we're not using double where qreal should be used"Aleksandar Sasha Babic2009-11-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d9a275b3cc4a248da1f392fb5649b9fe7a93b12c.
| | * | | | | Fix for qmessagebox default softkey visibility + some tab/space fixes.Janne Anttila2009-11-111-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default actions get added after the QDialogButtonBox::event receives show event. That's why 'ok' softkey action will not get added to the widget. Changed implementation so that softkey actions are added to widget when they are created. This implementation is also more safe in a sence that if actions are changed when message box is visible, the softkeys will be updated. Task-number: QTBUG-5644 Task-number: QT-2211 Reviewed-by: Sami Merila
| | * | | | | Fix for qmessagebox softkey dimming in Symbian.Janne Anttila2009-11-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMessageBox softkeys gets dimmed by TAknPopupFader since we currently have one global softkey instance. Task-number: QTBUG-5691 Reviewed-by: Jason Barron
| | * | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6-s60axis2009-11-112-1/+35
| | |\ \ \ \ \
| | * | | | | | Add edit menu support for phones with a 'pencil' key.Jason Barron2009-11-113-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The native FEP handles the 'pencil' key on some platforms by opening an edit menu on the screen that contains things like 'Insert Symbol' and 'Writing Language' for text input widgets. This was previously not working in the Qt input method implementation because in order for the FEP system to open the menu, it must be able to access the menu bar (CBA). This is done my using the object provider mechanism (MOP) and an implementation of the MopNext() function was missing. Adding this and also setting the AppUi as the MOP parent for top level widgets allowed the FEP framework to find it's way to the menubar and thus open a menu. Task-number: QTBUG-5606 Reviewed-by: axis <qt-info@nokia.com> Reviewed-by: mread <qt-info@nokia.com>
| | * | | | | | Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into 4.6Shane Kearns2009-11-1010-177/+256
| | |\ \ \ \ \ \
| | * | | | | | | Qt covers BC break in SymbianAlessandro Portale2009-11-101-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Workaround: fntstore.h has an inlined function 'COpenFont* CBitmapFont::OpenFont()' that returns a private data member. The header will change between minor SDK versions, thus break BC. But Qt has to build on any SDK version and run on other versions of Symbian OS. Also Qt does not want to deliver that BC to Qt based apps. This hack performs the needed pointer arithmetic to get the right COpenFont* pointer, no matter if the 'Flexible Memory Model' is already supported or not. The author is not proud of this commit. Task-number: QT-2250 Reviewed-by: Iain Reviewed-by: Shane Kearns modified: src/gui/text/qfontdatabase_s60.cpp
| | * | | | | | | Merge branch 'cask-merge-request' into 4.6axis2009-11-103-3/+16
| | |\ \ \ \ \ \ \
| | | * | | | | | | Fixed indentation.axis2009-11-101-6/+6
| | | | | | | | | |