-added style for JavaScript code blocks
-code blocks is scrollable when viewed in a narrow window
-improved alignment of table of contents
Change-Id: I45acdb4c7aa0ae57fe030e7e68a230c1a7d41b8f
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
This class makes it much simpler to manage OpenGL state relating to
vertex data (i.e. vertex buffer objects, vertex attribute divisors,
index buffer objects, vertex buffer formats).
Change-Id: I9fb932cc3f0691ec9ba065bf871e43cd2e369bad
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Unlike QGLShader, this requires the OpenGL 3.2 core implementation
of geometry shaders to keep the API simple.
Change-Id: Icb07f430c4c5b5d950bcf6f7119becec4cfaad8a
Reviewed-by: James Turner <james.turner@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
For platform plugins such as the Android plugin, we need to
make sure an event is delivered and handled before continuing
execution (e.g. when doing an expose event to report that the
EGL surface has been destroyed when the app goes into the
background.)
Change-Id: Ibd381baafa93f111dbc887d4cf9d9ca37429b186
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
These are some changes that are needed to make the Android
plugin as a subclass of the EGLFS plugin.
Change-Id: I7c77931f311d8a07f9292715d2abc256c5d552d8
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Make lastInsertID work for tables without OIDs.
The use of OID in tables is now deprecated in PostgeSQL and
lastval() is now provided.
http://www.postgresql.org/docs/8.1/interactive/runtime-config-compatible.html#GUC-DEFAULT-WITH-OIDS
Change-Id: I01dfdd7a2aab8826487657f691fea3c9268c16b2
Reviewed-by: Israel Lins Albuquerque <israelins85@yahoo.com.br>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
This file is now included by three types of Qt output: modules,
plugins (including QML plugins) and tools.
Change-Id: I5085f6ff37f70e9228303bf0520040adc2e2d7a5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
First of all, the ifdef section was meant for osx, and not ios.
Second, a platform theme does not necessarily need to override the
palette function, which will return 0 by default.
Change-Id: I5a28f4ee1020c9253d0803c9d962c6a058e5358c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
This debug information is not needed anymore, and only causes noise
when trying to debug other stuff.
Change-Id: I076826e251b84a3883e63aa7669f6e1bb55a0d1f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Add the missing override, and report that we support
OpenGL (and multiple windows).
Change-Id: If95138cab9099b547d12d3dfed008bd63b6d2acf
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Create the QCFSocketNotifier class in platform support
which contains shared socket notifier support for
the Cocoa and iOS plugins. Remove the old code from
the Cocoa plugin.
The Cocoa code had one QCocoaEventDispatcher-specific
call: maybeCancelWaitForMoreEvents. Create a forwarding
function that is passed to QCFSocketNotifier.
Change-Id: Ibf9bd4745ba4f577a55f13d0cc00f5ae04447405
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Unless we're building on the 6.1 SDK some of the version defines will
not be defined in Availability.h, so we define them ourselves so that
Qt can still use them.
Change-Id: Ibb45e9f8f4e888fc57e35286bf15d2fee2c1a217
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
The qobject_cast to QGuiAppplication will always
fail at startup since QGuiApplication is not ready
yet.
Return YES in that case. Allowed orientations can then
be controlled by setting "Supported Interface Orientations"
in Xcode or the Info.plist file.
Change-Id: Ifd86bbcedabc716e63563bbb7cb0c1c6833fd6c7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
fromPortraitToPrimary is called from the QIOSScreen
constructor. This is probably to early to call QGuiApplication
functions.
Change-Id: I882304fd641df13dc530491990245ba9ad495377
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Previously the position was set in window coordinates,
which would break for non-fullscreen windows.
Change-Id: Iefa2f590c6d62b09fc3e7fe60a882c1acd33e029
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
We skip flushing raster-based child windows, to avoid the extra cost
of copying from the parent FBO into the child FBO. Since the child
is already drawn inside the parent FBO, it will become visible when
flushing the parent. The only case we end up not supporting is if the
child window overlaps a sibling window that's draws using a separate
QOpenGLContext.
Change-Id: Ib10414f4494747e5fe67f84b06575fe16ffddf96
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
We need to figure out where to draw the line when it comes to warning
about unknown compiler (Clang), Xcode, or SDK versions, but for now
building with Xcode 4.6 should not be an issue. We'll have to revisit
this and test with the full set of compiler/Xcode/SDKs we support
before the final release.
Change-Id: Iac3ec3a25c0f7618b2c3714657d147f17f834d97
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
At some point we want to build with C++11 support, but for now we silence
the warning.
Change-Id: I40deb0925d459eaf06e324dddc0a2e9893c57615
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The QStyle code uses the global qApp->devicePixelRatio(),
which queries the screen, not the window.
Implement QIOSScreen::devicePixelRatio().
Change-Id: I0091e5793f8d07ab7a46b6de443edd9457dcff85
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Make sure that the user cannot activate a window
that is modally shaddowed.
Change-Id: Ib92be319d017460bbc1ef63ad7556cb4758dfa6c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
When adding modal windows into the mix, raiseOrLower became
even more messy to write. So do it the usual way instead, and
add a windowLevel variable to each QIOSWindow that we
can sort on. The code becomes more readable, and we can handle
more window types correctly.
Change-Id: I348352473a7d8cf9909c17c1b074b2fe3fab9819
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Track touch events during the standard [Began -> Moved
-> Ended] event sequence based on the UITouch pointer
which stays constant.
Enable multiTouch on Qt's UIView.
Mouse events should now be automatically created
from (unhanded) touch events by QGuiApplication.
Reviewed by: Ada Sørvig (fingerpaint app approved)
Change-Id: I2aeb48c962c697d8b8337f8ceab062070c2a4240
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
This to ensure that the keyboard does not close prematurly.
This can happen if the user opens up the keyboard while typing
inside one window, then switch window, continue typing while
the other window gets deleted.
Change-Id: I5cfb1673ccbe4d5aaa14167b7aa53451031089a1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Dispite the name, 'requestActivateWindow' means raise and transfer
focus to the window.
Change-Id: Ib97321ed7ec8da90e924ff8155a95896c12160c9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
When a QWindow becomes visible, it should move to front and
be active.
Change-Id: Icab12c6031c0cc8d791e4f8cc49b9c2d5c73100d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Probably not going to be the most used functions on iOS, but
implemented to support old widget apps out of the box. The
implementation stacks both staysOnTop and popup windows on
the same level for simplicity, since iOS does not have a
concept of z-ordering UIViews (UILayer has z-order, but layers
belong in a different hierarchy, and cannot be used in this
respect).
Change-Id: Idd68e5ceea7d4eaeb3066486c47400930cebb1b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Since our QWindows are UIViews rather than UIWindows, we need to
implement window activation manually. This patch will ensure that
the window touched by the user also gets keyboard focus.
Change-Id: I9390c5c8e50a4b066cd1320a2a044e02f2a9f75d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
The lifetime of an FBO is tied to its context, so letting each window
manage its own FBO failed when the window tried to delete the FBO
at destruction time without the proper context being current, or
even available anymore.
We solve this by moving all handling of FBOs to the context itself,
which is fine as we're exposing the necessary bits from the window
to allocate storage based on its layer.
Change-Id: I8c7c96cf63d6b667527c816f10ac2f4ff6a05e0c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
It's already built as part of the iOS platform plugin.
Change-Id: I5a97e8723b566b9ef15aafce374be35f01e6cf08
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
This is handled automatically by the default implementation.
Change-Id: Ia9bd0143490e6f2507ede03f3654a2b0b00e3e3d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
The delegate is only used when we control the application, so we know
that there isn't any window yet.
Change-Id: Ibd774cb4fd8ceaab6a181769d2792b569f490495
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Qt will tell us when the window should be visible. Showing all
windows by default makes e.g the desktop widget visible as
well, which causes problems with activation of windows.
Change-Id: Ibf2283bc5f009df7ff23126f4dd04ec898141720
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Try to keep qiosglobal.h free from unnecessary includes, since its
typically included from many different locations.
Change-Id: I6638bcaef1189b3eee3dbd5f744c15f8f7858d71
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Since the OS does not handle window management for us, we need
to handle this ourselves. So when a QWindow is closed or hidden, we
transfer activation to the top-most visible window. This will fix
application unresponsive after closing a dialog.
Change-Id: I83f836ebafa71edca5ab5ae3a2bdba7cd1decbc1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Adding a simple way to get the QWindow pointer from any UIView
makes writing code where you only have UIView pointers a bit easier.
Perhaps we should also investigate if it is worthwhile to make
this category public to the application, to further enhance
working in a mixed environment.
Change-Id: Ic263003dc7683a8d976024cbbbc2558e8472a790
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Not the biggest gain, but since all the members of EAGLView are
declared private, we might as well move the whole interface into
the source file. We can then make the members public without
caring about interface readability. We will make use of this in
a following patch.
Change-Id: I144fb5748573ca6faf257d72597907b5c17b1e05
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
It seems that we need to access our view controller from many
places, and the syntax to do so is tricky to remember. So lets
just add it to our global functions, with the added bonus of a
using a little cache.
Note: many of these functions could be made inline, but since one
concern of the plugin will be the end size of the app, I prefer
to trade size for speed at this point. We can always change this
later.
Change-Id: I578ea9ae8218d23d635b7728a930763ca53c4eaa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
configure.prf checks if MAKEFILE_GENERATOR is set
to something it can work with. ios/default_pre.prf
unsets MAKEFILE_GENERATOR.
This breaks QtMultimedia at least. Add special case
for iOS to configure.prf and set QMAKE_MAKE to "make".
Change-Id: Ie8feaeefe4a932d735a0cd4c09e869ca1341aae5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
QScreen geometry and orientation is updated a bit after we
change geometry in QPlatformScreen, which this time was enough to
break availableGeometry. Since this function is for internal use, we
let it be based on internal data.
Change-Id: I7701b0a6043839c89c01e87242decb8a739d00f1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
We need to update primary orientation when the rotation starts, and
not when it ends, so that we are in sync with the resize that happens
to the backingstore upon layoutSubviews.
Change-Id: I466a2d135e6c15550c6207c9659871629d748b73
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
QInputContext expects us to report whenever the
input panel changes geometry. This patch implements
this.
Change-Id: I9162f0d48da6925274a7489c9bcb6adab9afae82
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Several places in the code we need to check if the plugin is
running as a cross-platform Qt application or inside a
native app. So we refactor this function to qiosglobal so
we can access it from everywhere.
Change-Id: I78db0dcde71b7d281868ce304867c8f876caef2a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>