| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
Reviewed-by: Denis Dzyubenko
|
|/
|
|
|
|
| |
Usable for future optimizations.
Reviewed-by: Samuel
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem occurred on Windows due to a call to repaint() on a top-level
window from setDisabledStyle() in qwidget.cpp. This function is called
whenever a window is blocking. In this particular case the children of
the repainted window are opaque, and should therefore not be repainted,
which also means that the top-level have to subtract the region of the
opaque children when filling the background. This region is cached,
and the problem was that the cached region was wrong. It was wrong
because it was not invalidated properly.
Task: QTBUG-4245
Reviewed-by: Paul
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The original report was that the customer did resize(main.sizeHint())
instead of the main.adjustSize(); Note that resize(main.sizeHint() still does
not work. However, calling main.adjustSize() should now do what the original
reporter wanted.
The problem was that the resize did not work, because at the point of the resize
the minimumHeight of main was still 22 (8+6+8), and we tried to resize it with
a new height of 10. The resize would bound the height up to 22, and the main
widget would then get a size of (200x22).
The reason why it still had a minimumHeight of 22 was that it was the
minimumSize of the previous layout configuration. Unfortunately the new
minimumSize of the widget hadn't been updated yet because there was a
LayoutRequest event in the queue that hadn't been processed yet. (This
LayoutRequest was triggered by that we called invalidate() from hide()).
Thus, processing the event queue immediately after the hide() could also have
been a workaround for this issue.
There is no really good fix for this issue (and it does not seem to be a
common problem) without introducing a risk for regressions.
Due to that we therefore decided to provide a fix in QWidget::adjustSize().
Reviewed-by: paul
|
| |\ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QGraphicsView.
The main problem here is that QWidget assume that they are in the screen
somewhere, which means inside the available geometry provided by
QDesktopWidget. But in QGraphicsView the button can be in a position
that is way bigger than the screen resolution. Lot of widgets make
this assumption when positionning subpopups or submenus. Instead of
applying the same code on tons of QWidgets, it's better to have an
helper function in desktop widget which catch this case. It's not
pretty (since it has nothing to do with QDesktopWidget) but we don't
have better solution.
Task-number:QTBUG-3822
Reviewed-by:brad
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
If an effect is applied repeatedly on the same source, just with
varying parameters, we can save a lot by caching the source pixmaps.
Reviewed-by: Bjørn Erik Nilsen
|
|\ \ \ |
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/corelib/kernel/qcoreevent.cpp
src/corelib/kernel/qcoreevent.h
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implemented gestures using gesture events and separate
QGesture/QGestureRecognizer classes.
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
until control returns to the event loop.
This is necessary because reparenting can be triggered from the context
of a control's event handler. If reparenting causes that control to be
deleted, a crash can result.
Task-number: QTBUG-4664
Reviewed-by: axis
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is sent to a native widget when its window system identifer has
changed.
This is motivated by the fact that, on Symbian, the native window
system identifier may change in situations other than a change of
parent widget. Specifically, calling QWidget::setParent, passing in
the widget's existing parent, but OR-in Qt::Window into the window
flags, causes a new native window handle to be created. Furthermore,
because of the fact that Symbian does not allow existing windows to be
reparented, any descendents of the original widget which are also
native, must also be given new window system handles.
Note that setWinId does not send a WinIdChange event if the incoming
winId is zero. This is because setWinId(0) is only called in two
situations:
1. During native widget destruction
2. During re-creation of the winId for a native widget
Task-number: QTBUG-4664
Reviewed-by: Bjoern Erik Nilsen
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't create native windows when setting the window title, delay the
creation until the native window is needed. If a user really needs the
window to be created, he/she can call winId() on the widget or set
Qt::AA_ImmediateWidgetCreation.
Reviewed-by: Bradley T. Hughes
|
|/ /
| |
| |
| | |
Reviewed-by: David Boddie
|
| |
| |
| |
| | |
Reviewed-by: Bjoern Erik Nilsen
|
| | |
|
| |
| |
| |
| |
| | |
Mark QGraphicsAnchor::unsetSpacing as reset function of the spacing
property.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QFileDialog contains own internal derived classes for line edit and
list view. Unfortunately, these classes do not handle keypad navigation
correctly - they just accept the navigation key events, causing the
navigation to halt.
Added support for QFileDialogListView, QFileDialogTreeView and
private filedialog class QFileDialogPrivate to handle and possibly ignore
keypad navigaion key events.
Additionally, added support to keypad navigation to ignore empty
widgets. This allows keypad navigation not to go invisible when empty
widgets are tried to be navigated into.
Task-number: QT-643
Reviewed-by: Alessandro Portale
|
| |
| |
| |
| | |
Reviewed-by: thartman
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qwidget_p.h
src/gui/kernel/qwidget_s60.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit b6377f43410b14125a66ffd02acde69cfb6e455e.
The asynchronous handling caused too many headaches with input
methods, which expect the focus status to be updated immediately.
This may break the test case that was originally fixed by this patch
(I cannot find out which one at the moment), but that will have to be
solved in a different way.
Conflicts:
src/corelib/kernel/qcoreevent.cpp
src/corelib/kernel/qcoreevent.h
src/gui/kernel/qwidget.cpp
src/gui/kernel/qwidget_p.h
src/gui/kernel/qwidget_s60.cpp
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Keypad navigation tries to calculate the minimal distance of next
widget to the direction of pressed navigation key. This calculation
in QWidgetPrivate::widgetInNavigationDirection dies not take into
account that some widgets might have focusProxy setup.
In the reported case, ignoring focus proxy means that QDialogButtonBox
gets the focus and it hands it over to first button in its tab order.
Unfortunately, this button is disabled 'Download' button. Now, when
Select key is pressed, button action is triggered causing a crash.
Solution is to skip widgets that have focus proxies
in widgetInNavigationDirection.
Task-number: QT-2177
Reviewed-by: Alessandro Portale
|
| |
| |
| |
| |
| |
| |
| | |
These docs were outdated and referred to API that no longer exists so
we refresh them with some updated info.
Reviewed-by: Sami Merila
|
| |
| |
| |
| | |
Reviewed-by: Gunnar
|
| |
| |
| |
| |
| |
| |
| |
| | |
Turning this attribute ends up calling
RWindow::EnabledAdvancedPointers(), which tells Symbian to send us
multiple pointer events with extended info.
Reviewed-by: Jason Barron
|
| |
| |
| |
| | |
Reviewed-by: Samuel
|
| |
| |
| |
| |
| | |
Task-number: 255118
Reviewed-by: Trust Me
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that the softkey framework triggers updates on focus changed,
window activated, and action added/removed/changed the softkey bar
was updating many times resulting in flicker. Solve that by
introducing a new event type that is posted to the softkey framework.
Since we only need to update the softkeys once per event loop
iteration, the event is compressible in the event loop.
Reviewed-by: Alessandro Portale
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Re-using QT_KEYPAD_NAVIGATION for soft keys is wrong since the two
are independant concepts. This puts everything in a new macro called
QT_SOFTKEYS_ENABLED. This will also insulate the embedded customers
who use keypad navigation from the soft key changes.
Reviewed-by: Alessandro Portale
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed-by: Alessandro Portale
Squashed commit of the following:
commit dae5eda6996d48c12c4a5efd3f6042eb293bacbf
Author: Jason Barron <jbarron@trolltech.com>
Date: Fri Sep 18 10:32:26 2009 +0200
Only update soft keys when KEYPAD_NAVIGATION is enabled.
For 4.6, let's just call these functions when keypad navigation is
defined to minimize the impact on other platforms. They should
probably get thier own define some day.
commit 30a730553531f0f138de5eddb30413936a34fa36
Author: Jason Barron <jbarron@trolltech.com>
Date: Fri Sep 18 10:30:23 2009 +0200
Add/remove the menu bar action when menu bar is added/removed.
commit a83343a2870b34c228c8bc5e6274607b0e97baf6
Author: Jason Barron <jbarron@trolltech.com>
Date: Fri Sep 18 10:28:55 2009 +0200
Compile fix for other platforms
commit 39c9e3a0a1d3d62bf6ebd3212cfd2a81b86b9b2a
Author: Jason Barron <jbarron@trolltech.com>
Date: Thu Sep 17 21:37:59 2009 +0200
Fix 'softkeys' example after API re-factoring.
Clean up this example and use the simplified soft key API. Now the
actions are only allocated in the constructor and dynamically updated
by calling addAction and removeAction.
commit 314e45c33f40552db74e61755c2a3b0f8c77a41a
Author: Jason Barron <jbarron@trolltech.com>
Date: Thu Sep 17 21:30:32 2009 +0200
Re-factor and simplify the soft keys API.
Several things here:
- Move all the logic into QSoftKeyManager
- Move the files into 'kernel' since it is not a widget
- Remove QWidget::setSoftKey*(). Use addAction/removeAction instead
- Made soft keys update on focus, window activation, and action
changes.
- Fixed several memory leaks where QAction's were created too often
- QAction ownership pushed out to widget's
- Added Select/Cancel soft keys for comboboxes and menus to be more
consistent to platform look-and-feel.
commit fb4c240d970262e9872dc5737df6808879143c75
Author: Jason Barron <jbarron@trolltech.com>
Date: Mon Sep 7 15:49:31 2009 +0200
Merge the Symbian implementation with the other platforms nativeMenuBar
It seems this has been refactored to share more code across the various
platforms that support native menubars so the Symbian code can be
mostly removed.
commit aa55e4bcd1f009ab35c9519e18aa325fd212dd23
Author: Jason Barron <jbarron@trolltech.com>
Date: Wed Aug 26 17:00:34 2009 +0200
Change filenames and move softkey stuff from 'widgets' to 'kernel'.
This thing isn't a widget and therefore should not be in the 'widgets'
subdirectory of gui. Also rename the files in preparation for
refactoring and extending.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All changes of this commit are #ifdef'ed in
QT_KEYPAD_NAVIGATION. Most desktop Qts won't notice
any change.
Navigating between QWidgets was not alwys a pleasure on
keypad devices. This commit fixes the navigation behavior
for some widgets, mostly itemviews.
Furthermore, it adds a 'directional' navigation mode. Until
now, the existing keypad navigation used the tab order
do go back and forth between widgets. The new mode is supposed
to provide a more intuitive navigation. It is the new default
mode on Symbian.
Screens (and their resolutions) become bigger, and also low
resolution screens can be used in landscape mode. That's
why the directional mode was requested.
Another popular request was to put some more convenience into
QSlider: If a (horizontal) slider has focus and the user presses
left/right, the value of the slider may directing change
without being selected (edit mode).
This commit also adds the manual test 'keypadnavigation'.
Reviewed-by: Shane Kearns
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a user sets a window title on a window to an empty string we will
not check if the value was an empty string before. This handles a
special case on X11 and Windows when we set the window title to the
application executable name by default if the user didn't provide the
title, so if the user explicitely wants to remove the windowtitle
completely and make it empty, he will be able to set it to an empty
string.
Reviewed-by: Olivier Goffart
Reviewed-by: Prasanth Ullattil
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reviewed-By: Jason Barron
Reviewed-By: Alessandro Portale
Summary:
QT_NO_CURSOR is now not defined for symbian builds
Existing QCursor APIs are all supported
New public API, QApplication::setNavigationMode, to allow the navigation
mode to be set. I.E. on an S60 3.2 phone, some applications will want a
virtual mouse cursor (web browser), while others are designed for keypad
navigation.
Symbian HAL is used for detecting input capabilities.
Fix DND, code cleanup & comment
QCursor visibility now uses a refcount, and is called from DND and the
setNavigationMode so they are both simpler and don't interfere with each
other.
QApplication::setNavigationMode
New public API for configuring cursor/keypad navi style.
This links in with ongoing work on the 4-way keypad navi branch, but
2-way and 4-way modes both act as 2-way mode until that is integrated
Some of the demos/examples have cursor switched on (those that were not
usable with keypad)
Virtual mouse support for non touch, non mouse phones (tested on N78)
add *.d and .metadata (carbide debug file / workspace dir) to .gitignore
System pointers are unavailable when using sprite workaround, so the
system cursor shapes are compiled into qtgui as resources.
MAC port does this also for shapes that aren't standard on the MAC.
Refactor Drag'n'Drop to use QCursor
Add test case to check all system cursor shapes
Simply a mainwindow containing a label widget for each cursor shape,
with the cursor property set appropriately
QCursor(QBitmap,QBitmap) supported
Fixed problem with the image & mask being inverted when using the
QCursor constructor that takes two mono bitmaps.
add .make.cache files to .gitignore
Correct implementation of QApplication::setOverrideCursor
QApplication::restoreOverrideCursor and QApplication::setOverrideCursor
are now working correctly on Symbian platform.
Performance will be slower compared with other platforms, because the
Symbian window server has a cursor associated with each native window.
Add test case for custom cursors
Create a pixmap cursor and associate it with a widget.
No changes to production code, since test passed 1st time ;)
Add manual test for QCursor
Make cursor independent of construction order
Updated to work around window server issue where contruction order
affects what cursor is displayed in child windows.
Also changed to effectiveWinId following review comments
Also fixed a problem which would make qcursor not link if configured
with QT_NO_CURSOR
Moved some multiply declared extern functions from cpp to _p.h files
Implemented Symbian versions of the cursor functions.
Merged in work I'd done based on tower.
Fill in bits of stub functions based on windows port
Removed QT_NO_CURSOR from list of config options forced on symbian
Recompiled configure.exe
Added stub functions for the missing functions in s60 port
|
| |
| |
| |
| |
| |
| |
| | |
QWS uses alien widgets too, so we need the same logic as the other
platforms.
Reviewed-by: bnilsen
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added a new widget attribute Qt::WA_DontUseStandardGestures that disables all
implicit gestures (i.e. gestures that are automatically enabled by Qt itself).
This change also changes the way gestures are handled on
QAbstractScrollArea-based widgets on Windows - the gestures are supposed to be
created on the viewport widget.
Reviewed-by: Bradley T. Hughes
|
| |
| |
| |
| |
| |
| |
| | |
inactive window.
Task-number: 78707
Reviewed-by: Morten Engvoldsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since we need QMargins for other things then
the CSS helper functions in drawutil, we have to make it more
generic. It is already useful for QWidget::contentsMargins
for example. This ensures we have some flexibility on how to
use and modify it in the future.
Reviewed-by: mbm
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|