| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Task: QTBUG-7385
Revby: Lorn Potter
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
| |
On Mac when we receive a scrollWheel event on Carbon or Cocoa then
we need to use QApplication::mouseButtons() in order to ensure the
QWheelEvent has the right button states set. This is because the
buttons state information is not passed in the native event at all.
Reviewed-by: MortenS
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This happends because we refuse to exit if we have a modal
dialog showing on screen. After some discussion, we decided
that we need to allow to exit if the quit menu item is enabled. Some
of the reason behind this is the way developers tend to (mis)use
dialogs as normal windows in Qt. So, if you don't want your app to
exit when showing a modal dialog, disable quit menuitem, or handle
QCloseEvent.
Task-number: 5613
Reviewed-by: MortenS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetURL events are delivered by Launch Services to the application if the
application is registered as the default handler for the given protocol,
and the user for example issues 'open http://foo.com/' in the console or
clicks a link in another application.
The GetURL event is converted to a QFileOpenEvent, which now has both a
QUrl constructor and a url() method. These two new methods work in sync
with the file() method, so a QFileOpenEvent constructed from a QUrl will
return a valid file name from file() if the URL was a local file.
The boolean argument to AEInstallEventHandler decides whether the handler
is to be added to the system event dispatch table or the application's
event dispatch table. Previously we added it to the system table, but
this did not work for the GetURL event. We now use the application event
table, which works for all three of the events we register on Carbon.
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At the moment, Qt, in many places, does not really understand that
a mouse wheel, or touch pad, might operate on a much higher
granularity than 15 degrees (that is, a delta of 120). This is clear
disadvantage on mac, since the mighty mouse, and track pad, got a
resolution that is close to 1 degree. This is called pixel scrolling.
This patch first and formost changes the implementation of
QAbstractSlider::wheelEvent to _really_ understand what to do when
delta is less than 120. Rather than accumulate delta until 120
is reached, then scroll with a value equal to:
offset * step * QApplication::wheelScrollLines (default = 3), we
multiply offset directly, before waiting for 120. This means that
event tough offset is below 120, multiplying it with wheelScrollLines
and step will very often give a value over 120, menaing we can scroll
much earlier and _much more_ fined grained. This also fixes some
auto tests that was ifdeffed out because of specialised mac code
written inside this function from before.
(NB: we still plan to introduce a new event for pixel scrolling,
perhaps for Qt-4.7)
Rev-By: Andreas
Rev-By: denis
|
|
|
|
|
|
|
|
|
|
|
| |
We would assume font smoothing on the mac was always turned on, giving
poor text rendering in the cases where it was not. This implementation
mirrors querying the cleartype setting on Windows, checking the setting
on application initialization and rendering into an 8 bit cache if it
is turned off.
Task-number: QTBUG-4881
Reviewed-by: Morten Johan Sørvig
|
|
|
|
|
|
|
|
|
| |
It turns out that scrolling appears to be slow when using
non-mac mice with the carbon build. This patch introduces a
an acceleration algorithm that closer resembles the one
used by Cocoa.
Rev-By: prasanth
|
|
|
|
|
|
|
|
|
|
|
| |
A wheel event contain delta values that describe the rotation
angle the wheel was rotated (in 1/8 of a degree).
For some mouse devices (thinking of mac mighty mouse/trackpad)
the resolution is better than the standard 15 degrees. The Qt
docs describe how to deal with this. But abstract scrollbar does
did follow this recipe, but it does now with this patch.
Reb-By: prasanth
|
|
|
|
|
|
|
|
| |
I had to add inn some constants for dealing with pixel smooth
scolling on mac when building on Tiger. This is done according to:
http://developer.apple.com/legacy/mac/library/qa/qa2005/qa1453.html
RevBy:prasanth
|
|
|
|
|
|
|
|
|
| |
This patch makes use of the rather hidden API on Mac for
accessing the new mouse wheel event type. This will make
scrolling with Mighty Mouse or TrackPad look much more
slick.
Rev-By:prasanth
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Autotest: qcoreapplication, qapplication, qtimer
qwidget_window, qwidget
Issue 1: stacking order of modal windows was not
working correctly. With this patch, we remove the
need for rebuilding modal sessions all the time,
and when we do, we rebuild them all in the correct
order.
Issue 2: When running the event processor manually
(that is, just calling processEvents in a loop), we
sometimes spendt 100% cpu if a window was pending to
become modal. The reason was that we need to keep
reposting the QCocoaRequestModal event until we
could block the calling thread (that is, one of
the exec flags was given to processEvents). With this
patch, the need for posting QCocoaRequestModal is
completly removed in favor of an 'interrupt'
approach instead.
Issue 3: If using Qt as a plugin, or just add widget
to a native cocoa application, it would often lead
to closing down the application. The reason is that
the event dispatcher needs to restart [NSApp run]
now and then. But this approach fails if Qt was not
the code that started [NSApp run] in the first place.
This patch removes the need to restart NSApp in this
situation, at the cost of modal windows not beeing
modal if Qt is not spinning the event dispatcher.
Normal QDialog::exec etc will always work.
|
| |
| |
| |
| | |
Reviewed-by: Trust Me
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/tools/qsharedpointer.cpp
src/corelib/tools/qsharedpointer_impl.h
src/gui/dialogs/qcolordialog.cpp
src/gui/painting/qwindowsurface_raster.cpp
src/network/access/qnetworkaccessmanager.cpp
tests/auto/qsharedpointer/externaltests.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is because we try to decide whether the window cocoa tells
us to be active should be active, and if we desagree, we do nothing.
The result is that Qt and Cocoa ends up in different states.
I decided to remove a lot of the logic that went on in this case, and
the resons is:
1. By checking the callplaces to
onApplicationWindowChangedActivation, we know that we always have a
valid widget pointer, and we know that the widget always is a window
(otherwise Cocoa would never tell us that the widget got active).
2. We can never end up doing nothing in this response. The best
we can do is to follow what Cocoa tells us. If this turns out to
break something, it would probably be better to check why we get an
activation call in the first place for a window that should not be
activated (e.g. is canBecomeKeyWindow set correctly?)
Task: 253610
RevBy: msorvig
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/sql/drivers/ibase/qsql_ibase.cpp
tests/auto/q3sqlcursor/tst_q3sqlcursor.cpp
tests/auto/qsqldatabase/tst_databases.h
tests/auto/qsqldatabase/tst_qsqldatabase.cpp
translations/qt_ru.ts
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Seems this was a victim of our cursor fixing. Cocoa does a lot for us
with setting cursors. This meant that we didn't need to do as much
meddling and as a result qt_mac_set_cursor does nothing in Cocoa.
Unfortunately, this broke setOverrideCursor. Luckily Cocoa has a stack
that works exactly like Qt, so we can just use that.
Task-number: 257507
Reviewed-by: Prasanth Ullattil
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
TabletLeaveProximity events
Merge-request: 788
Reviewed-by: Norwegian Rock Cat <qt-info@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tablet events should set the qt_button_down, otherwise if the tablet
moves onto a widget that does not accept a tablet event, it will set
qt_button_down and effectively "grab" the mouse. However, we should only
do this if we accept the tablet event.
Merge-request: 788
Reviewed-by: Norwegian Rock Cat <qt-info@nokia.com>
|
| |
| |
| |
| |
| | |
Merge-request: 788
Reviewed-by: Norwegian Rock Cat <qt-info@nokia.com>
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qapplication_x11.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are used enough (at least on the mac) to justify them being
accessible in a private header. As a bonus it "hides" the actual
container being used, so we could potentially sway it out with something
different.
Reviewed by: Jens Bache-Wiig
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
src/gui/graphicsview/qgraphicsscene_p.h
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We've had a problem with a stale cache for color profiles this should
make things work well. We get the callback for each display whether it
needs it or not, but honesly I would rather that we update this a few
times too many when people change their display profile than not at all.
FWIW, this code is inspired from Apple's Tech Note TN2035.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
external event generators
This introduces QEvent::RawTouch event type, which should be used by the low-level
translator. This raw QTouchEvent can be sent to either QApplication or to a window,
and Qt will do the rest to dispatch the touch points to the correct place.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I'm tired of these "hidden" functions. We have an
AA_MacPluginApplication, but sometimes you may have a legitimate reason
for setting this outside of "plugin applications." In the footsteps of
the menu icon attribute, the attribute is the main leader, but menubars
can disable/enable this locally the new QMenuBar::setNativeMenuBar()
property. Otherwise, the menubars take their que from the application
attribute.
This also works for Windows CE. So, there is a bit on convergence as
well.
Task-number: 236757
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/gui/itemviews/qabstractitemview.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In general, Cocoa handles the the Apple Events for us. However, this is
time between creating the NSApplication and Cocoa has set everything up,
usually after the event loop is running. This means that until that
time, the events are dropped on the floor :-/. The workaround is to use
the same handler that we use for Carbon, but to only have it enabled for
until Cocoa is ready to handle things. This will result in not stepping
on the toes when used in a plugin (if it does, we can conditionalize
it).
Task-number: 252795
Reviewed-by: Richard Moe Gustavsen
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Carbon, we did show/hide menubar, on Cocoa we used SetSystemUIMode.
But SetSystemUIMode is available to both, so why not just do that and
make everything consistent. We now act more like other fullscreen apps
(i.e., we show the menu and dock when the mouse is close to them). The
good thing is that it should be easier to override this behavior as
well. I also removed some code in our mouse handler where we were
calling HideMenuBar as I don't see a great reason for it at the moment
in any case, it would be inconsistent between Carbon and Cocoa.
Task-number: 249655
Reviewed-by: Prasanth Ullattil
|
|
|