| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The use of a freestanding function is not needed now that the name
doesn't alias the nativeInterface accessor function, and was just
adding complexity to the machinery.
People not familiar with the code will have an easier time following
the flow through the helper member function, and we no longer need
to declare our own export macros.
Pick-to: 6.2
Change-Id: I17530b7e89939cfc19ab8ffaa076b7129ae02dcf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The latter forces users to build with RTTI enabled, as the typeid
use is in our public headers. Surprisingly this is also the case
even without instantiating the relevant template.
Change-Id: Icd18a2b85b250e0b77960797e5c43b7eaf9bd891
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial approach for providing public access to native
interfaces via T::nativeInteface<I>() was based on the template
not being defined, and then having explicit instantiations of
the supported types in a source file, so that the accessors
were exported and available to the user.
This worked fine for "simple" types such as QOpenGLContext
and QOffscreenSurface, but presented a problem in the context
of classes with subclasses, such as Q{Core,Gui}Application.
To ensure that a native interface for QCoreApplication was
accessible both from QCoreApplication and its subclasses,
while at the same time preventing a native interface for
QGuiApplication to be accessible for QCoreApplication, the
nativeInterface() template function had to be declared in
each subclass. Which in turn meant specializing each native
interface once for each subclass it was available in.
This quickly became tedious to manage, and the requirements
for exposing a new native interface wasn't very clear with
all these template specializations and explicit instantiations
spread around.
To improve on this situation, while also squashing a few
other birds at the same time, we change the approach to
use type erasure. The definition of T::nativeInteface<I>()
is now inline, passing on the requested interface to a per
type (T, not I) helper function, with the interface type
flattened to a std::type_info.
The type_info requested by the user is then compared to the
available types in a single per-type (T) "switch statement",
which is a lot easier to follow for someone trying to trace
the logic of how a native interface is resolved.
We can safely rely on type_info being stable between the user
application and the Qt library as a result of exporting the
type info for each native interface, by explicitly ensuring
they have a key function. This is the same mechanism that
ensures we can safely dynamic_cast these interfaces, even
across library boundaries.
The use of a free standing templated helper function instead
of a member function in the type T, is to avoid shadowing issues,
and to not pollute the class namespace of T with the helper
function.
Since we are already changing the plumbing for how a user
resolves a native interface for a type T, we take the opportunity
to add a few extra safeguards to the machinery.
First, we add a static assert in the T::nativeInteface<I>()
definition, that ensures that only compatible interfaces,
as declared by the interface themselves, are allowed.
This ensures a compile time error when an incompatible
interface is requested, which improves on the link time
errors we had prior to this patch, and also offsets the
one downside of type erasure, namely that errors are only
caught at runtime.
Secondly, each interface meant for public consumption through
T::nativeInteface<I>() is declared with a revision, which
is checked when requesting the interface. This allows us
to bump the revision when we make breaking changes to the
interface that would have otherwise been binary incompatible.
Since the user will never see this interface due to the
revision check, they will not end up calling methods that
have been removed or renamed.
One advantage of moving to a type-erased approach for the
plumbing is that we're not longer exposing the native
interface types as part of the T::nativeInteface symbols.
This means that if we ever want to rename a native interface,
the only exported symbol that the user code relies on is
the type info. Renaming is then possible by just exporting
the type info for the old interface, but leaving it empty.
Since no class in Qt implements the old native interface,
the user will just get a nullptr back, similarly to bumping
the revision of an interface.
Change-Id: Ie50d8fb536aafe2836370caacb22afbcfaf1712a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the porting from Qt 4 to Qt 5 an assumption was made in QKeyMapper
that the underlying platform implementation needed the native scan
code to be able to resolve the possible keymaps for an event.
As a result, the macOS platform plugin started sending key events
with a fake native scan code of 1, so that it would still be allowed
to map key events.
Which in turn led to the documentation of QKeyEvent::nativeScanCode()
getting an exception for macOS.
Let's clean up this by removing the original assumption, and leave it
up to the platforms to decide what information from the key event
is needed.
QKeyMapperPrivate::possibleKeys() will still call extractKeyFromEvent
as a fallback if the platform layer doesn't return any possible keys.
Change-Id: I122a45bcec658c45ccc0b2c0671eb264d85d7be6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++20 via P1120 is deprecating arithmetic operations between
unrelated enumeration types, and GCC 10 is already complaining.
Hence, these operations might become illegal in C++23 or C++26 at
the latest.
A case of this that affects Qt is in key combinations: a
QKeySequence can be constructed by summing / ORing modifiers and a
key, for instance:
Qt::CTRL + Qt::Key_A
Qt::SHIFT | Qt::CTRL | Qt::Key_G (recommended, see below)
The problem is that the modifiers and the key belong to different
enumerations (and there's 2 enumerations for the modifier, and one
for the key).
To solve this: add a dedicated class to represent a combination of
keys, and operators between those enumerations to build instances
of this class.
I would've simply defined operator|, but again docs and pre-existing
code use operator+ as well, so added both to at least tackle simple
cases (modifier + key).
Multiple modifiers create a problem: operator+ between them yields
int, not the corresponding flags type (because operator+ is not
overloaded for this use case):
Qt::CTRL + Qt::SHIFT + Qt::Key_A
\__________________/ /
int /
\______________/
int
Not only this loses track of the datatypes involved, but it would
also then "add" the key (with NO warnings, now its int + enum, so
it's not mixing enums!) and yielding int again.
I don't want to special-case this; the point of the class is
that int is the wrong datatype. Everything works just fine when
using operator| instead:
Qt::CTRL | Qt::SHIFT | Qt::Key_A
\__________________/ /
Qt::Modifiers /
\______________/
QKeyCombination
So I'm defining operator+ so that the simple cases still work,
but also deprecating it.
Port some code around Qt to the new class. In certain cases,
it's a huge win for clarity. In some others, I've just added
the necessary casts to make it still compile without warnings,
without attempting refactorings.
[ChangeLog][QtCore][QKeyCombination] New class to represent
a combination of a key and zero or more modifiers, to be used
when defining shortcuts or similar.
[ChangeLog][Potentially Source-Incompatible Changes] A keyboard
modifier (such as Qt::CTRL, Qt::AltModifier, etc.) should be
combined with a key (such as Qt::Key_A, Qt::Key_F1, etc.) by using
operator|, not operator+. The result is now an object of type
QKeyCombination, that stores the key and the modifiers.
Change-Id: I657a3a328232f059023fff69c5031ee31cc91dd6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The plumbing from QKeyMapper to the platform specific key mappers
via QPA was never done, so this method is unused. The code path
in QKeyMapper that would trigger it would be changeKeyboard(),
but that's already handled in QCocoaKeyMapper, and wouldn't be
initiated from the cross platform code in any case.
Change-Id: Ibc0c419627fc0430d028945038c1f2fbafe42d4b
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Move away from using 0 as pointer literal.
Done using clang-tidy. This is not complete as
run-clang-tidy can't handle all of qtbase in one go.
Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Outdated header.LGPL removed (use header.LGPL21 instead)
Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)
Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination
Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL
Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
|
|
|
|
|
|
| |
Change-Id: I9730247371ccf0e83579b71e13a9f3d8adcf0fff
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
|
|
|
|
|
| |
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
|
| |
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: I311e001373776812699d6efc045b5f742890c689
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
| |
Replace Nokia contact email address with Qt Project website.
Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
| |
Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/animation/animatedtiles/animatedtiles.pro
examples/animation/appchooser/appchooser.pro
examples/animation/easing/easing.pro
examples/animation/easing/window.h
examples/animation/moveblocks/moveblocks.pro
examples/animation/states/states.pro
examples/animation/stickman/stickman.pro
examples/dbus/dbus-chat/dbus-chat.pro
examples/dbus/dbus.pro
examples/dbus/remotecontrolledcar/car/car.pro
examples/dbus/remotecontrolledcar/controller/controller.pro
examples/dbus/remotecontrolledcar/remotecontrolledcar.pro
examples/desktop/desktop.pro
examples/desktop/screenshot/screenshot.pro
examples/dialogs/classwizard/classwizard.pro
examples/dialogs/configdialog/configdialog.pro
examples/dialogs/dialogs.pro
examples/dialogs/extension/extension.pro
examples/dialogs/findfiles/findfiles.pro
examples/dialogs/licensewizard/licensewizard.pro
examples/dialogs/sipdialog/sipdialog.pro
examples/dialogs/standarddialogs/standarddialogs.pro
examples/dialogs/tabdialog/tabdialog.pro
examples/dialogs/trivialwizard/trivialwizard.pro
examples/draganddrop/draggableicons/draggableicons.pro
examples/draganddrop/draggabletext/draggabletext.pro
examples/draganddrop/dropsite/dropsite.pro
examples/draganddrop/fridgemagnets/fridgemagnets.pro
examples/draganddrop/puzzle/puzzle.pro
examples/effects/blurpicker/blurpicker.pro
examples/effects/fademessage/fademessage.pro
examples/effects/lighting/lighting.pro
examples/examples.pro
examples/gestures/imagegestures/imagegestures.pro
examples/graphicsview/anchorlayout/anchorlayout.pro
examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.pro
examples/graphicsview/collidingmice/collidingmice.pro
examples/graphicsview/diagramscene/diagramscene.pro
examples/graphicsview/dragdroprobot/dragdroprobot.pro
examples/graphicsview/elasticnodes/elasticnodes.pro
examples/graphicsview/flowlayout/flowlayout.pro
examples/graphicsview/graphicsview.pro
examples/graphicsview/simpleanchorlayout/simpleanchorlayout.pro
examples/graphicsview/weatheranchorlayout/weatheranchorlayout.pro
examples/ipc/ipc.pro
examples/ipc/sharedmemory/sharedmemory.pro
examples/itemviews/addressbook/addressbook.pro
examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.pro
examples/itemviews/chart/chart.pro
examples/itemviews/coloreditorfactory/coloreditorfactory.pro
examples/itemviews/combowidgetmapper/combowidgetmapper.pro
examples/itemviews/customsortfiltermodel/customsortfiltermodel.pro
examples/itemviews/dirview/dirview.pro
examples/itemviews/editabletreemodel/editabletreemodel.pro
examples/itemviews/fetchmore/fetchmore.pro
examples/itemviews/frozencolumn/frozencolumn.pro
examples/itemviews/itemviews.pro
examples/itemviews/pixelator/pixelator.pro
examples/itemviews/puzzle/puzzle.pro
examples/itemviews/simpletreemodel/simpletreemodel.pro
examples/itemviews/simplewidgetmapper/simplewidgetmapper.pro
examples/itemviews/spinboxdelegate/spinboxdelegate.pro
examples/itemviews/stardelegate/stardelegate.pro
examples/ja_JP/linguist/hellotr/hellotr.pro
examples/layouts/basiclayouts/basiclayouts.pro
examples/layouts/borderlayout/borderlayout.pro
examples/layouts/dynamiclayouts/dynamiclayouts.pro
examples/layouts/flowlayout/flowlayout.pro
examples/layouts/layouts.pro
examples/linguist/arrowpad/arrowpad.pro
examples/linguist/hellotr/hellotr.pro
examples/linguist/linguist.pro
examples/linguist/trollprint/trollprint.pro
examples/mainwindows/application/application.pro
examples/mainwindows/dockwidgets/dockwidgets.pro
examples/mainwindows/mainwindows.pro
examples/mainwindows/mdi/mdi.pro
examples/mainwindows/menus/menus.pro
examples/mainwindows/recentfiles/recentfiles.pro
examples/mainwindows/sdi/sdi.pro
examples/network/network.pro
examples/opengl/opengl.pro
examples/openvg/openvg.pro
examples/painting/basicdrawing/basicdrawing.pro
examples/painting/concentriccircles/concentriccircles.pro
examples/painting/fontsampler/fontsampler.pro
examples/painting/imagecomposition/imagecomposition.pro
examples/painting/painterpaths/painterpaths.pro
examples/painting/painting.pro
examples/painting/transformations/transformations.pro
examples/qtconcurrent/imagescaling/imagescaling.pro
examples/qtconcurrent/map/map.pro
examples/qtconcurrent/progressdialog/progressdialog.pro
examples/qtconcurrent/qtconcurrent.pro
examples/qtconcurrent/runfunction/runfunction.pro
examples/qtconcurrent/wordcount/wordcount.pro
examples/qtestlib/qtestlib.pro
examples/qtestlib/tutorial1/tutorial1.pro
examples/qtestlib/tutorial2/tutorial2.pro
examples/qtestlib/tutorial3/tutorial3.pro
examples/qtestlib/tutorial4/tutorial4.pro
examples/qtestlib/tutorial5/tutorial5.pro
examples/qws/dbscreen/dbscreen.pro
examples/qws/framebuffer/framebuffer.pro
examples/qws/mousecalibration/mousecalibration.pro
examples/qws/simpledecoration/simpledecoration.pro
examples/qws/svgalib/svgalib.pro
examples/richtext/calendar/calendar.pro
examples/richtext/orderform/orderform.pro
examples/richtext/richtext.pro
examples/richtext/syntaxhighlighter/syntaxhighlighter.pro
examples/sql/sql.pro
examples/statemachine/eventtransitions/eventtransitions.pro
examples/statemachine/rogue/rogue.pro
examples/statemachine/trafficlight/trafficlight.pro
examples/statemachine/twowaybutton/twowaybutton.pro
examples/threads/mandelbrot/mandelbrot.pro
examples/threads/queuedcustomtype/queuedcustomtype.pro
examples/threads/threads.pro
examples/tools/codecs/codecs.pro
examples/tools/completer/completer.pro
examples/tools/contiguouscache/contiguouscache.pro
examples/tools/customcompleter/customcompleter.pro
examples/tools/customtype/customtype.pro
examples/tools/customtypesending/customtypesending.pro
examples/tools/echoplugin/echoplugin.pro
examples/tools/echoplugin/echowindow/echowindow.pro
examples/tools/echoplugin/plugin/plugin.pro
examples/tools/i18n/i18n.pro
examples/tools/inputpanel/inputpanel.pro
examples/tools/plugandpaint/plugandpaint.pro
examples/tools/plugandpaintplugins/basictools/basictools.pro
examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro
examples/tools/plugandpaintplugins/plugandpaintplugins.pro
examples/tools/regexp/regexp.pro
examples/tools/settingseditor/settingseditor.pro
examples/tools/styleplugin/plugin/plugin.pro
examples/tools/styleplugin/styleplugin.pro
examples/tools/styleplugin/stylewindow/stylewindow.pro
examples/tools/tools.pro
examples/tools/treemodelcompleter/treemodelcompleter.pro
examples/tools/undoframework/undoframework.pro
examples/touch/dials/dials.pro
examples/touch/fingerpaint/fingerpaint.pro
examples/touch/knobs/knobs.pro
examples/touch/pinchzoom/pinchzoom.pro
examples/tutorials/addressbook-fr/addressbook-fr.pro
examples/tutorials/addressbook-fr/part1/part1.pro
examples/tutorials/addressbook-fr/part2/part2.pro
examples/tutorials/addressbook-fr/part3/part3.pro
examples/tutorials/addressbook-fr/part4/part4.pro
examples/tutorials/addressbook-fr/part5/part5.pro
examples/tutorials/addressbook-fr/part6/part6.pro
examples/tutorials/addressbook-fr/part7/part7.pro
examples/tutorials/addressbook/addressbook.pro
examples/tutorials/addressbook/part1/part1.pro
examples/tutorials/addressbook/part2/part2.pro
examples/tutorials/addressbook/part3/part3.pro
examples/tutorials/addressbook/part4/part4.pro
examples/tutorials/addressbook/part5/part5.pro
examples/tutorials/addressbook/part6/part6.pro
examples/tutorials/addressbook/part7/part7.pro
examples/tutorials/modelview/1_readonly/1_readonly.pro
examples/tutorials/modelview/2_formatting/2_formatting.pro
examples/tutorials/modelview/3_changingmodel/3_changingmodel.pro
examples/tutorials/modelview/4_headers/4_headers.pro
examples/tutorials/modelview/5_edit/5_edit.pro
examples/tutorials/modelview/6_treeview/6_treeview.pro
examples/tutorials/modelview/7_selections/7_selections.pro
examples/tutorials/modelview/modelview.pro
examples/tutorials/widgets/childwidget/childwidget.pro
examples/tutorials/widgets/nestedlayouts/nestedlayouts.pro
examples/tutorials/widgets/toplevel/toplevel.pro
examples/tutorials/widgets/windowlayout/windowlayout.pro
examples/uitools/multipleinheritance/multipleinheritance.pro
examples/uitools/textfinder/textfinder.pro
examples/uitools/uitools.pro
examples/widgets/analogclock/analogclock.pro
examples/widgets/calculator/calculator.pro
examples/widgets/calendarwidget/calendarwidget.pro
examples/widgets/charactermap/charactermap.pro
examples/widgets/codeeditor/codeeditor.pro
examples/widgets/digitalclock/digitalclock.pro
examples/widgets/groupbox/groupbox.pro
examples/widgets/icons/icons.pro
examples/widgets/imageviewer/imageviewer.pro
examples/widgets/lineedits/lineedits.pro
examples/widgets/movie/movie.pro
examples/widgets/scribble/scribble.pro
examples/widgets/shapedclock/shapedclock.pro
examples/widgets/sliders/sliders.pro
examples/widgets/softkeys/softkeys.pro
examples/widgets/spinboxes/spinboxes.pro
examples/widgets/styles/styles.pro
examples/widgets/stylesheet/stylesheet.pro
examples/widgets/tablet/tablet.pro
examples/widgets/tetrix/tetrix.pro
examples/widgets/tooltips/tooltips.pro
examples/widgets/validators/validators.pro
examples/widgets/widgets.pro
examples/widgets/windowflags/windowflags.pro
examples/xml/xml.pro
mkspecs/qws/freebsd-generic-g++/qplatformdefs.h
mkspecs/qws/linux-arm-g++/qplatformdefs.h
mkspecs/qws/linux-arm-gnueabi-g++/qplatformdefs.h
mkspecs/qws/linux-armv6-g++/qplatformdefs.h
mkspecs/qws/linux-avr32-g++/qplatformdefs.h
mkspecs/qws/linux-cellon-g++/qplatformdefs.h
mkspecs/qws/linux-dm7000-g++/qplatformdefs.h
mkspecs/qws/linux-dm800-g++/qplatformdefs.h
mkspecs/qws/linux-generic-g++-32/qplatformdefs.h
mkspecs/qws/linux-generic-g++/qplatformdefs.h
mkspecs/qws/linux-ipaq-g++/qplatformdefs.h
mkspecs/qws/linux-lsb-g++/qplatformdefs.h
mkspecs/qws/linux-mips-g++/qplatformdefs.h
mkspecs/qws/linux-nacl-g++/qplatformdefs.h
mkspecs/qws/linux-powerpc-g++/qplatformdefs.h
mkspecs/qws/linux-sh-g++/qplatformdefs.h
mkspecs/qws/linux-sh4al-g++/qplatformdefs.h
mkspecs/qws/linux-sharp-g++/qplatformdefs.h
mkspecs/qws/linux-x86-g++/qplatformdefs.h
mkspecs/qws/linux-x86_64-g++/qplatformdefs.h
mkspecs/qws/linux-zylonite-g++/qplatformdefs.h
mkspecs/qws/macx-generic-g++/qplatformdefs.h
mkspecs/qws/macx-iphonedevice-g++/qplatformdefs.h
mkspecs/qws/macx-iphonesimulator-g++/qplatformdefs.h
mkspecs/qws/macx-nacl-g++/qplatformdefs.h
mkspecs/qws/solaris-generic-g++/qplatformdefs.h
src/gui/dialogs/qprintdialog_qws.cpp
src/gui/egl/qegl_qws.cpp
src/gui/embedded/qcopchannel_qws.cpp
src/gui/embedded/qcopchannel_qws.h
src/gui/embedded/qdecoration_qws.cpp
src/gui/embedded/qdecoration_qws.h
src/gui/embedded/qdecorationdefault_qws.cpp
src/gui/embedded/qdecorationdefault_qws.h
src/gui/embedded/qdecorationfactory_qws.cpp
src/gui/embedded/qdecorationfactory_qws.h
src/gui/embedded/qdecorationplugin_qws.cpp
src/gui/embedded/qdecorationplugin_qws.h
src/gui/embedded/qdecorationstyled_qws.cpp
src/gui/embedded/qdecorationstyled_qws.h
src/gui/embedded/qdecorationwindows_qws.cpp
src/gui/embedded/qdecorationwindows_qws.h
src/gui/embedded/qdirectpainter_qws.cpp
src/gui/embedded/qdirectpainter_qws.h
src/gui/embedded/qkbd_defaultmap_qws_p.h
src/gui/embedded/qkbd_qws.cpp
src/gui/embedded/qkbd_qws.h
src/gui/embedded/qkbd_qws_p.h
src/gui/embedded/qkbddriverfactory_qws.cpp
src/gui/embedded/qkbddriverfactory_qws.h
src/gui/embedded/qkbddriverplugin_qws.cpp
src/gui/embedded/qkbddriverplugin_qws.h
src/gui/embedded/qkbdintegrity_qws.cpp
src/gui/embedded/qkbdintegrity_qws.h
src/gui/embedded/qkbdlinuxinput_qws.cpp
src/gui/embedded/qkbdlinuxinput_qws.h
src/gui/embedded/qkbdqnx_qws.cpp
src/gui/embedded/qkbdqnx_qws.h
src/gui/embedded/qkbdtty_qws.cpp
src/gui/embedded/qkbdtty_qws.h
src/gui/embedded/qkbdum_qws.cpp
src/gui/embedded/qkbdum_qws.h
src/gui/embedded/qkbdvfb_qws.cpp
src/gui/embedded/qkbdvfb_qws.h
src/gui/embedded/qlock.cpp
src/gui/embedded/qlock_p.h
src/gui/embedded/qmouse_qws.cpp
src/gui/embedded/qmouse_qws.h
src/gui/embedded/qmousedriverfactory_qws.cpp
src/gui/embedded/qmousedriverfactory_qws.h
src/gui/embedded/qmousedriverplugin_qws.cpp
src/gui/embedded/qmousedriverplugin_qws.h
src/gui/embedded/qmouseintegrity_qws.cpp
src/gui/embedded/qmouseintegrity_qws.h
src/gui/embedded/qmouselinuxinput_qws.cpp
src/gui/embedded/qmouselinuxinput_qws.h
src/gui/embedded/qmouselinuxtp_qws.cpp
src/gui/embedded/qmouselinuxtp_qws.h
src/gui/embedded/qmousepc_qws.cpp
src/gui/embedded/qmousepc_qws.h
src/gui/embedded/qmouseqnx_qws.cpp
src/gui/embedded/qmouseqnx_qws.h
src/gui/embedded/qmousetslib_qws.cpp
src/gui/embedded/qmousetslib_qws.h
src/gui/embedded/qmousevfb_qws.cpp
src/gui/embedded/qmousevfb_qws.h
src/gui/embedded/qscreen_qws.cpp
src/gui/embedded/qscreen_qws.h
src/gui/embedded/qscreendriverfactory_qws.cpp
src/gui/embedded/qscreendriverfactory_qws.h
src/gui/embedded/qscreendriverplugin_qws.cpp
src/gui/embedded/qscreendriverplugin_qws.h
src/gui/embedded/qscreenintegrityfb_qws.cpp
src/gui/embedded/qscreenintegrityfb_qws.h
src/gui/embedded/qscreenlinuxfb_qws.cpp
src/gui/embedded/qscreenlinuxfb_qws.h
src/gui/embedded/qscreenmulti_qws.cpp
src/gui/embedded/qscreenmulti_qws_p.h
src/gui/embedded/qscreenproxy_qws.cpp
src/gui/embedded/qscreenproxy_qws.h
src/gui/embedded/qscreenqnx_qws.cpp
src/gui/embedded/qscreenqnx_qws.h
src/gui/embedded/qscreentransformed_qws.cpp
src/gui/embedded/qscreentransformed_qws.h
src/gui/embedded/qscreenvfb_qws.cpp
src/gui/embedded/qscreenvfb_qws.h
src/gui/embedded/qsoundqss_qws.cpp
src/gui/embedded/qsoundqss_qws.h
src/gui/embedded/qtransportauth_qws.cpp
src/gui/embedded/qtransportauth_qws.h
src/gui/embedded/qtransportauth_qws_p.h
src/gui/embedded/qtransportauthdefs_qws.h
src/gui/embedded/qunixsocket.cpp
src/gui/embedded/qunixsocket_p.h
src/gui/embedded/qunixsocketserver.cpp
src/gui/embedded/qunixsocketserver_p.h
src/gui/embedded/qvfbhdr.h
src/gui/embedded/qwindowsystem_p.h
src/gui/embedded/qwindowsystem_qws.cpp
src/gui/embedded/qwindowsystem_qws.h
src/gui/embedded/qwscommand_qws.cpp
src/gui/embedded/qwscommand_qws_p.h
src/gui/embedded/qwscursor_qws.cpp
src/gui/embedded/qwsdisplay_qws.h
src/gui/embedded/qwsdisplay_qws_p.h
src/gui/embedded/qwsembedwidget.cpp
src/gui/embedded/qwsevent_qws.cpp
src/gui/embedded/qwsevent_qws.h
src/gui/embedded/qwslock.cpp
src/gui/embedded/qwslock_p.h
src/gui/embedded/qwsmanager_p.h
src/gui/embedded/qwsmanager_qws.cpp
src/gui/embedded/qwsmanager_qws.h
src/gui/embedded/qwsproperty_qws.cpp
src/gui/embedded/qwsproperty_qws.h
src/gui/embedded/qwsprotocolitem_qws.h
src/gui/embedded/qwssharedmemory.cpp
src/gui/embedded/qwssharedmemory_p.h
src/gui/embedded/qwssignalhandler.cpp
src/gui/embedded/qwssignalhandler_p.h
src/gui/embedded/qwssocket_qws.cpp
src/gui/embedded/qwssocket_qws.h
src/gui/embedded/qwsutils_qws.h
src/gui/image/qpixmap_qws.cpp
src/gui/inputmethod/qwsinputcontext_p.h
src/gui/inputmethod/qwsinputcontext_qws.cpp
src/gui/kernel/qapplication_qpa.cpp
src/gui/kernel/qapplication_qws.cpp
src/gui/kernel/qclipboard_qws.cpp
src/gui/kernel/qcursor_qws.cpp
src/gui/kernel/qdesktopwidget_qws.cpp
src/gui/kernel/qeventdispatcher_glib_qws.cpp
src/gui/kernel/qeventdispatcher_glib_qws_p.h
src/gui/kernel/qeventdispatcher_qws.cpp
src/gui/kernel/qeventdispatcher_qws_p.h
src/gui/kernel/qplatformintegration_qpa.cpp
src/gui/kernel/qplatformwindowformat_qpa.cpp
src/gui/kernel/qplatformwindowformat_qpa.h
src/gui/kernel/qsessionmanager_qws.cpp
src/gui/kernel/qsound_qws.cpp
src/gui/kernel/qwidget_qws.cpp
src/gui/painting/qcolormap_qws.cpp
src/gui/painting/qgraphicssystem.cpp
src/gui/painting/qgraphicssystem_mac.cpp
src/gui/painting/qgraphicssystem_mac_p.h
src/gui/painting/qgraphicssystem_p.h
src/gui/painting/qgraphicssystem_qws.cpp
src/gui/painting/qgraphicssystem_qws_p.h
src/gui/painting/qgraphicssystem_raster.cpp
src/gui/painting/qgraphicssystem_raster_p.h
src/gui/painting/qgraphicssystem_runtime.cpp
src/gui/painting/qgraphicssystem_runtime_p.h
src/gui/painting/qgraphicssystemfactory.cpp
src/gui/painting/qgraphicssystemfactory_p.h
src/gui/painting/qgraphicssystemplugin.cpp
src/gui/painting/qgraphicssystemplugin_p.h
src/gui/painting/qpaintdevice_x11.cpp
src/gui/painting/qprintengine_ps.cpp
src/gui/painting/qprintengine_ps_p.h
src/gui/painting/qprintengine_qws.cpp
src/gui/painting/qprintengine_qws_p.h
src/gui/painting/qregion_qws.cpp
src/gui/painting/qunifiedtoolbarsurface_mac.cpp
src/gui/painting/qunifiedtoolbarsurface_mac_p.h
src/gui/painting/qwindowsurface_mac.cpp
src/gui/painting/qwindowsurface_qws.cpp
src/gui/painting/qwindowsurface_qws_p.h
src/gui/painting/qwindowsurface_raster.cpp
src/gui/painting/qwindowsurface_raster_p.h
src/gui/painting/qwindowsurface_s60.cpp
src/gui/painting/qwindowsurface_s60_p.h
src/gui/painting/qwindowsurface_x11.cpp
src/gui/painting/qwindowsurface_x11_p.h
src/gui/painting/qwmatrix.h
src/gui/text/qabstractfontengine_qws.cpp
src/gui/text/qabstractfontengine_qws.h
src/gui/text/qfont_qws.cpp
src/gui/text/qfontdatabase_qws.cpp
src/gui/text/qfontengine_qws.cpp
src/opengl/qgl_qpa.cpp
src/opengl/qgl_qws.cpp
src/opengl/qglscreen_qws.cpp
src/opengl/qglscreen_qws.h
src/opengl/qglwindowsurface_qws.cpp
src/opengl/qgraphicssystem_gl.cpp
src/opengl/qgraphicssystem_gl_p.h
src/openvg/qpaintengine_vg.cpp
src/openvg/qpaintengine_vg_p.h
src/openvg/qpixmapdata_vg.cpp
src/openvg/qpixmapdata_vg_p.h
src/openvg/qpixmapfilter_vg.cpp
src/openvg/qpixmapfilter_vg_p.h
src/openvg/qvg.h
src/openvg/qvg_p.h
src/openvg/qvg_symbian.cpp
src/openvg/qvgcompositionhelper_p.h
src/openvg/qvgfontglyphcache_p.h
src/openvg/qvgimagepool.cpp
src/openvg/qvgimagepool_p.h
src/openvg/qwindowsurface_vg.cpp
src/openvg/qwindowsurface_vg_p.h
src/openvg/qwindowsurface_vgegl.cpp
src/openvg/qwindowsurface_vgegl_p.h
src/plugins/decorations/default/main.cpp
src/plugins/decorations/styled/main.cpp
src/plugins/decorations/windows/main.cpp
src/plugins/gfxdrivers/ahi/qscreenahi_qws.cpp
src/plugins/gfxdrivers/ahi/qscreenahi_qws.h
src/plugins/gfxdrivers/ahi/qscreenahiplugin.cpp
src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h
src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
src/plugins/gfxdrivers/directfb/qdirectfbscreenplugin.cpp
src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.cpp
src/plugins/gfxdrivers/eglnullws/eglnullwsscreen.h
src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.cpp
src/plugins/gfxdrivers/eglnullws/eglnullwsscreenplugin.h
src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.cpp
src/plugins/gfxdrivers/eglnullws/eglnullwswindowsurface.h
src/plugins/gfxdrivers/linuxfb/main.cpp
src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.c
src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable.h
src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwsdrawable_p.h
src/plugins/gfxdrivers/powervr/QWSWSEGL/pvrqwswsegl.c
src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.cpp
src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreen.h
src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglscreenplugin.cpp
src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.h
src/plugins/gfxdrivers/qvfb/main.cpp
src/plugins/gfxdrivers/transformed/main.cpp
src/plugins/gfxdrivers/vnc/main.cpp
src/plugins/gfxdrivers/vnc/qscreenvnc_p.h
src/plugins/gfxdrivers/vnc/qscreenvnc_qws.cpp
src/plugins/gfxdrivers/vnc/qscreenvnc_qws.h
src/plugins/graphicssystems/meego/dithering.cpp
src/plugins/graphicssystems/meego/qmeegoextensions.cpp
src/plugins/graphicssystems/meego/qmeegoextensions.h
src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
src/plugins/graphicssystems/meego/qmeegographicssystem.h
src/plugins/graphicssystems/meego/qmeegographicssystemplugin.cpp
src/plugins/graphicssystems/meego/qmeegographicssystemplugin.h
src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp
src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h
src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
src/plugins/graphicssystems/meego/qmeegopixmapdata.h
src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp
src/plugins/graphicssystems/opengl/main.cpp
src/plugins/graphicssystems/openvg/qgraphicssystem_vg.cpp
src/plugins/graphicssystems/openvg/qgraphicssystem_vg_p.h
src/plugins/graphicssystems/shivavg/main.cpp
src/plugins/graphicssystems/shivavg/shivavggraphicssystem.cpp
src/plugins/graphicssystems/shivavg/shivavggraphicssystem.h
src/plugins/graphicssystems/shivavg/shivavgwindowsurface.cpp
src/plugins/graphicssystems/shivavg/shivavgwindowsurface.h
src/plugins/graphicssystems/trace/main.cpp
src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp
src/plugins/graphicssystems/trace/qgraphicssystem_trace_p.h
src/plugins/kbddrivers/linuxinput/main.cpp
src/plugins/mousedrivers/linuxtp/main.cpp
src/plugins/mousedrivers/pc/main.cpp
src/plugins/mousedrivers/tslib/main.cpp
src/widgets/kernel/qwidget_qpa.cpp
|
| |
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| | |
Rename the guikernel subdir to kernel
and guiutil to util.
|
|/
|
|
|
|
|
| |
Create a guikernel/ directory that contains the files that'll go
into libQtGui. What remains in kernel/ will go into QtWidgets.
In addition to that image/, painting/ and text will end up
int QtGui.
|
|
This is the beginning of revision history for this module. If you
want to look at revision history older than this, please refer to the
Qt Git wiki for how to use Git history grafting. At the time of
writing, this wiki is located here:
http://qt.gitorious.org/qt/pages/GitIntroductionWithQt
If you have already performed the grafting and you don't see any
history beyond this commit, try running "git log" with the "--follow"
argument.
Branched from the monolithic repo, Qt master branch, at commit
896db169ea224deb96c59ce8af800d019de63f12
|