[Development] Can I compile QtWayland module alone?

2012-07-17 Thread 이광웅
I can’t compile after git pull. I checked the followings.

Actually, I don’t know about qt_parts, so I wonder if it is possible to
compile only QtWayland without SUBDIRS.

Would you give me any advice?

Thanks.


--

commit 3ae60a1dbb397df2f293e62c3978c11a0d9c9453

Author: Oswald Buddenhagen oswald.buddenha...@nokia.com

Date:   Tue Jul 3 21:43:31 2012 +0200

 

use centralized handling of QT_BUILD_PARTS

 

Change-Id: I3cf1aeeec697f39ec5fa21fe84731b12c36d54f1

Reviewed-by: Rohan McGovern rohan.mcgov...@nokia.com

 

diff --git a/qtwayland.pro b/qtwayland.pro

index 4a80275..fa2822b 100644

--- a/qtwayland.pro

+++ b/qtwayland.pro

@@ -2,27 +2,4 @@ load(configure)

qtCompileTest(xkbcommon)

qtCompileTest(brcm_egl)

 

-TEMPLATE=subdirs

-CONFIG += ordered

-

-module_qtwayland_src.subdir = src

-module_qtwayland_src.target = module-qtwayland-src

-

-module_qtwayland_examples.subdir = examples

-module_qtwayland_examples.target = module-qtwayland-examples

-module_qtwayland_examples.depends = module_qtwayland_src

-!contains(QT_BUILD_PARTS,examples) {

-module_qtwayland_examples.CONFIG = no_default_target no_default_install

-}

-

-module_qtwayland_tests.subdir = tests

-module_qtwayland_tests.target = module-qtwayland-tests

-module_qtwayland_tests.depends = module_qtwayland_src

-module_qtwayland_tests.CONFIG = no_default_install

-!contains(QT_BUILD_PARTS,tests):{

-module_qtwayland_tests.CONFIG += no_default_target

-}

-

-SUBDIRS += module_qtwayland_src \

-   module_qtwayland_examples \

-   module_qtwayland_tests

+load(qt_parts)

 


---

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Abandoning the container changes

2012-07-17 Thread Andre Somers
Op 16-7-2012 23:52, Thiago Macieira schreef:
 On segunda-feira, 16 de julho de 2012 21.34.10, André Pönitz wrote:
 On Thu, Jul 05, 2012 at 09:04:39AM +0300, Thiago Macieira wrote:
 Hello all

 I think that, despite the potential benefits of the changes, we
 should not apply them at this time. There are far too many chances
 for breakage and it's a blatant disrespect for the feature freeze.
 I assume this is meant as a verdict, not as (possibly temporary)
 state of thinking.
 Correct. The changes are the right thing to do, just not now. We'll have to
 live with the current containers and their overhead until Qt 6.

 That includes the fact that QListQVariant is extremely inefficient.
That being the case, would it be possible to at least document these 
issues properly then? I think it is not all that clear from the 
documentation that QList is so inefficient for these cases. I don't 
think documentation changes are binary incompatible ;-)

André

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Color Profile support on Qt

2012-07-17 Thread Boudewijn Rempt
On Tuesday 17 July 2012 Jul, you wrote:
 What we presently have in a local branch is:
 
 1) Grabbing embedded color profiles from PNG and JPEG images (eventually 
 support for more formats will come)

That would be excellent.

 2) Non-Automatic conversion of color profiles at load. This is done through 
 the constructor, where when loading an image you specify weather you preserve 
 the color profile or you convert to Screen. The default behavior keeps the 
 loaded image unchanged.

Hm... I would prefer to be able to specify a working space here -- not just the 
screen target. That makes it possible to use a linear rgb profile to convert to 
real linear rgb and actually be able to do stuff with the pixels.

 
 What we don't have:
 1) Exporting images with embedded color profiles
 2) Modifying a color profile (access only to high level data such as 
 description and colorspace)
 
 The API looks as follows:
 
 enum QColorSpace {RGB, CMYK, Invalid}
 
 QColorProfile
 -
 QString description()
 QColorSpace colorspace()

For my applications, I would also want to be able to get the original profile 
data out of QColorProfile, btw. 
Especially when using the QScreen api.


 QImage
 -
 QColorProfile colorProfile()
 void setColorProfile(colorProfile)
 void convertToColorProfile(colorProfile)
 
 QScreen
 -
 QColorProfile colorProfile()
 
 Windows and Mac OS X have built in support for  color profile conversion. For 
 linux X11 supports color profiles after loading several modules, otherwise 
 uses sRGB. This is where the Oyranos project comes in.

On X11, you can use the X11 atom to check what the user has set -- that works 
for both oyranos and colord managed desktops.

 All the color profile conversion takes place using the littleCMS library 
 which seems to be sort of standard for that job. Oyranos is also using it.

yes, lcms2 is pretty much the standard. And it's small and excellent.

 
 
 From: development-bounces+alexandros.dermenakis=nokia@qt-project.org 
 [development-bounces+alexandros.dermenakis=nokia@qt-project.org] on 
 behalf of ext Boudewijn Rempt [b...@valdyas.org]
 Sent: Monday, July 16, 2012 9:15 PM
 To: development@qt-project.org
 Subject: Re: [Development] Color Profile support on Qt
 
 On Monday 16 July 2012 Jul, Olivier Goffart wrote:
  All QPainter operations (at least in the raster engine) assume a linear 
  color
  space. That means that the color conversion need to hapen last, right before
  being shown to the screen. After all kind of blending operations or anything
  done with QPainter.  (That means it could even been done in the platform
  plugin)
 
 Are you really sure about that? It's extremely unlikely that one encounters a 
 linear light rgb png file in the wild, for instance, most assume sRGB. 
 Unmanaged RGB isn't automatically linear, either -- it most likely is just a 
 mess.
 
 --
 Boudewijn Rempt
 http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl
 ___
 Development mailing list
 Development@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/development
 


-- 
Boudewijn Rempt
http://www.valdyas.org, http://www.krita.org, http://www.boudewijnrempt.nl
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] buildsystem branches (about to be) integrated

2012-07-17 Thread Lukas Geyer
Am 01.07.2012 14:36, schrieb Loaden:
 But now I get the new problem:
 PATH=D:\qpSOFT\Projects\BuildQt5-m64\qtbase\bin;D:\qpSOFT\MinGW\MinGW64\bin;C:\Perl64\site\bin;C:\Pe
 rl64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShe
 ll\v1.0\;C:\Python27;D:\Program Files\Git\cmd

 QtWidgets: created headers.pri file
 QtTest: created fwd-include header(s) for srcbase/src/testlib/ {
 
 g++ -Wl,-subsystem,console -mthreads -o ../../configure.exe main.o
 configureapp.o environment.o tools.o qarraydata.o qbytearray.o
 qbytearraymatcher.o qhash.o qlist.o qlocale.o qlocale_win.o
 qlocale_tools.o qvector.o qutfcodec.o qtextcodec.o qglobal.o
 qnumeric.o qbuffer.o qdatastream.o qdir.o qdiriterator.o
 qfiledevice.o qfile.o qfileinfo.o qabstractfileengine.o
 qfilesystementry.o qfilesystemengine.o qfilesystemengine_win.o
 qfilesystemiterator_win.o qfsfileengine.o qfsfileengine_win.o
 qfsfileengine_iterator.o qiodevice.o qtextstream.o qlogging.o
 qtemporaryfile.o qsystemlibrary.o qbitarray.o qdatetime.o qmap.o
 qregexp.o qstring.o qstringlist.o qvsnprintf.o qvariant.o
 qsystemerror.o qmetatype.o qmalloc.o qxmlstream.o qxmlutils.o
 quuid.o qcryptographichash.o registry.o -lole32 -ladvapi32 -luuid
 g++: error: main.o: No such file or directory
 g++: error: configureapp.o: No such file or directory
 g++: error: environment.o: No such file or directory
 g++: error: tools.o: No such file or directory
 g++: error: qarraydata.o: No such file or directory
 g++: error: qbytearray.o: No such file or directory
 g++: error: qbytearraymatcher.o: No such file or directory
 g++: error: qhash.o: No such file or directory
 g++: error: qlist.o: No such file or directory
 g++: error: qlocale.o: No such file or directory

As there is a solution now to this (thanks to Rafael Roquetto and 
Friedemann Kleint), for the record:

The problem is the mingw32-make.exe that comes with 4.7.1. It seems to 
be broken, refusing to build the neccessary object files. Use the 
mingw32-make.exe that comes with 4.6.2 or 4.6.3.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Sven Anderson


On 17.07.2012 07:47, Alan Alpert wrote:
 But our Qt4Support library exists and is called QtQuick1. All the old symbols
 should be there, if you want to take the easy road to saying done, ported to
 Qt 5!.

Well, there is no other choice if you have a platform without hardware 
graphics acceleration. ;-)


Sven
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Can I compile QtWayland module alone?

2012-07-17 Thread Oswald Buddenhagen
On Tue, Jul 17, 2012 at 03:01:17PM +0900, ext 이광웅 wrote:
 I can��t compile after git pull. I checked the followings.
 
 Actually, I don��t know about qt_parts, so I wonder if it is possible to
 compile only QtWayland without SUBDIRS.
 
 Would you give me any advice?
 
you just need a recent enough qtbase, so pull and recompile that as
well.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Andreas Aardal Hanssen
2012/7/17 Sven Anderson sven.ander...@snom.com

 On 17.07.2012 07:47, Alan Alpert wrote:
  But our Qt4Support library exists and is called QtQuick1. All the old
 symbols
  should be there, if you want to take the easy road to saying done,
 ported to
  Qt 5!.
 Well, there is no other choice if you have a platform without hardware
 graphics acceleration. ;-)


[OT]

Without _OpenGL_. :-) There are other flavors of hardware acceleration
APIs, I expect even more different in the future.

(2D accelerators are often bundled with GPUs and perform 2D rendering ops
faster than GPUs, but are unusable with QML 2 / SceneGraph; see pvr2d).

-- 
Andreas Aardal Hanssen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Compile fails after Q_DECLARE_SHARED(QDebug)

2012-07-17 Thread 이광웅
I saw the following logs when making.

And I noticed that Q_DECLARE_SHARED(QDebug) is inserted on latest commit.

What am I missing? Would you give me any advice?

Thanks

 

g++ -c -m64 -pipe -I/home/kwlee/work/wayland/install/include -g -std=c++0x -
fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -
DXCB_POLL_FOR_QUEUED_EVENT -DXCB_USE_XLIB -DXCB_USE_RENDER -DXCB_USE_EGL -
DSUPPORT_X11 -DXCB_USE_IBUS -DQT_COMPILES_IN_HARFBUZZ -DQT_PLUGIN -
DQT_PLATFORMSUPPORT_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -
D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../../mkspecs/linux-g++-64
-I. -I../../../../include -I../../../../include/QtPlatformSupport -I../../..
/../include/QtPlatformSupport/5.0.0 -
I../../../../include/QtPlatformSupport/5.0.0/QtPlatformSupport -I../../../..
/include/QtDBus -I../../../../include/QtGui -I../../../../include/QtGui/5.0.
0 -I../../../../include/QtGui/5.0.0/QtGui -I../../../../include/QtCore -
I../../../../include/QtCore/5.0.0 -I../../../../include/QtCore/5.0.0/QtCore
-I.moc/debug-shared -I/home/kwlee/work/wayland/install/include -o
.obj/debug-shared/qxcbmime.o qxcbmime.cpp

In file included from ../../../../include/QtCore/qdebug.h:1:0,

 from qxcbmime.cpp:47:

../../../../include/QtCore/../../src/corelib/io/qdebug.h: In function
‘void qSwap(T, T) [with T = QDebug]’:

../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
‘class QDebug’ has no member named ‘data_ptr’

../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
‘class QDebug’ has no member named ‘data_ptr’

../../../../include/QtCore/../../src/corelib/io/qdebug.h: In function
‘void std::swap(_Tp, _Tp) [with _Tp = QDebug]’:

../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
‘class QDebug’ has no member named ‘data_ptr’

../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
‘class QDebug’ has no member named ‘data_ptr’

make[4]: *** [.obj/debug-shared/qxcbmime.o] Error 1

make[4]: Leaving directory
`/home/kwlee/src/qt5/qtbase/src/plugins/platforms/xcb'

make[3]: *** [sub-xcb-make_first] Error 2

 

 

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Compile fails after Q_DECLARE_SHARED(QDebug)

2012-07-17 Thread Thiago Macieira
On terça-feira, 17 de julho de 2012 22.02.36, 이광웅 wrote:
 I saw the following logs when making.

 And I noticed that Q_DECLARE_SHARED(QDebug) is inserted on latest commit.

 What am I missing? Would you give me any advice?

 ../../../../include/QtCore/../../src/corelib/io/qdebug.h: In function
 ‘void qSwap(T, T) [with T = QDebug]’:

 ../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
 ‘class QDebug’ has no member named ‘data_ptr’

Q_DECLARE_SHARED is now:

Q_DECLARE_TYPEINFO(TYPE, Q_MOVABLE_TYPE); \
template  inline void qSwapTYPE(TYPE value1, TYPE value2) \
{ value1.swap(value2); } \
Q_DECLARE_SHARED_STL(TYPE)

There's no data_ptr in this.

Can you check the status of your headers (the include dirs)? Looks like you
have an old set of QtCore headers that are being found.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
 Intel Sweden AB - Registration Number: 556189-6027
 Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden


signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Abandoning the container changes

2012-07-17 Thread Marc Mutz
On Tuesday July 17 2012, Andre Somers wrote:
 Op 16-7-2012 23:52, Thiago Macieira schreef:
[...]
  That includes the fact that QListQVariant is extremely inefficient.

 That being the case, would it be possible to at least document these
 issues properly then? I think it is not all that clear from the
 documentation that QList is so inefficient for these cases. I don't
 think documentation changes are binary incompatible ;-)
[...]

Would a patch that makes certain QList instantiations privately inherit 
QVector acceptable? I'm thinking QListQModelIndex, QListQVariant, mostly, 
probably others. That would require a patch that made QList and QVector 
identical, API-wise, and that, in turn, would require using member; support 
in the compiler (the QT_NO_USING define is still in the code).

Thanks,
Marc

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-Independent Software Solutions
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Compile fails after Q_DECLARE_SHARED(QDebug)

2012-07-17 Thread Marc Mutz
On Tuesday July 17 2012, Thiago Macieira wrote:
 On terça-feira, 17 de julho de 2012 22.02.36, 이광웅 wrote:
  I saw the following logs when making.
 
  And I noticed that Q_DECLARE_SHARED(QDebug) is inserted on latest commit.
 
  What am I missing? Would you give me any advice?
 
  ../../../../include/QtCore/../../src/corelib/io/qdebug.h: In function
  ‘void qSwap(T, T) [with T = QDebug]’:
 
  ../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
  ‘class QDebug’ has no member named ‘data_ptr’

 Q_DECLARE_SHARED is now:

 Q_DECLARE_TYPEINFO(TYPE, Q_MOVABLE_TYPE); \
 template  inline void qSwapTYPE(TYPE value1, TYPE value2) \
 { value1.swap(value2); } \
 Q_DECLARE_SHARED_STL(TYPE)

 There's no data_ptr in this.

 Can you check the status of your headers (the include dirs)? Looks like you
 have an old set of QtCore headers that are being found.

I wonder why it's this change in particular that keeps popping up on the ML...

-- 
Marc Mutz marc.m...@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH  Co.KG, a KDAB Group Company
www.kdab.com || Germany +49-30-521325470 || Sweden (HQ) +46-563-540090
KDAB - Qt Experts - Platform-Independent Software Solutions
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Contributing to the Qt Project behind a hefty firewall and proxy server

2012-07-17 Thread Laszlo Papp
 I'd just be nice to have someone actually test it. Lazlo, could you verify?

Thank you for the progress!

Looks like pushing works:
https://codereview.qt-project.org/#change,30932

Cloning is still flaky through the init-repository perl script for
webkit as the example shows above.

The documentation should be extended much more. There are at least there pages:

1) Setting up Gerrit (which is still incomplete because scp'ing the
commit hook should happen with the -P 443 for this case)
2) Qt5 build page: http://qt-project.org/wiki/Building-Qt-5-from-Git
3) Gerrit introduction page: http://qt-project.org/wiki/Gerrit-Introduction

Best Regards,
Laszlo Papp
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Color Profile support on Qt

2012-07-17 Thread Olivier Goffart
On Monday 16 July 2012 20:49:49 Alessandro Portale wrote:
 On Mon, Jul 16, 2012 at 7:07 PM, Olivier Goffart oliv...@woboq.com wrote:
  All QPainter operations (at least in the raster engine) assume a linear
  color space. That means that the color conversion need to hapen last,
  right before being shown to the screen. After all kind of blending
  operations or anything done with QPainter.  (That means it could even
  been done in the platform plugin)
 
 Good point. That way may automagically solve the issue with which
 screen (output-) profile to use when painting on a screen. However,
 color transformations are not cheap and may slow down painting. I
 already see all kinds of caching in that area :)

I'm afraid you will have to re-do the color conversion on each frame. (for 
what has changed)

  Color conversion should probably also happen when loading images, to
  convert them to a linear color space.  Right now, Qt do no handle color
  profiles at all, so it interpret png for example as plain linear RGB
  instead of sRGB.
 Would the 'linear' RGB in this case be the screen RGB? 

Unfortunately not.

linear means you can blend images like this:
dst = alpha * src + (1 - alpha) * dst

Or do anti-aliasing like:dst = src * proportion_of_the_pixel

Which is what QPainter does when it blends, when it interpolates, when it 
scales smoothly, when it does antialiasing, when it draws text, ...
QPainter assumes colors are linear.
(At least the raster engine do)

But in most color profiles, it is not the case.

But Qt has chosen to ignore the problem for the reasons of performence. (Even 
if you can see the difference clearly with naked eyes)

But should you integrate color profile in Qt, i guess it should be done 
properly :-)


  ... QPainter would remain color profile agnostic, as it is right now.

I think indeed QPainter should remain color profile agnostic. 
But it only gives the correct results on linear color space.  

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Abandoning the container changes

2012-07-17 Thread Oswald Buddenhagen
On Mon, Jul 16, 2012 at 02:52:32PM -0700, ext Thiago Macieira wrote:
 On segunda-feira, 16 de julho de 2012 21.34.10, André Pönitz wrote:
  On Thu, Jul 05, 2012 at 09:04:39AM +0300, Thiago Macieira wrote:
   I think that, despite the potential benefits of the changes, we
   should not apply them at this time. There are far too many chances
   for breakage and it's a blatant disrespect for the feature freeze.
  
  I assume this is meant as a verdict, not as (possibly temporary)
  state of thinking.
 
 Correct. The changes are the right thing to do, just not now. We'll have to 
 live with the current containers and their overhead until Qt 6.
 
 That includes the fact that QListQVariant is extremely inefficient.
 
this is absurd.
we said A, now we need to say B. or unsay A, which i don't think
anyone wants.

i for one don't believe in qt6 anytime soon. it's the do-never release
qt5 was for years. 
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Thiago Macieira
On terça-feira, 17 de julho de 2012 15.00.04, marius.storm-ol...@nokia.com
wrote:
 Btw, does this means you are trying/wanting to run Qt 5 on PowerVR
 chipsets from before 2001? All the PVR chips since Feb. 2001 (Series 4
 or higher) support some form of OpenGL/GLES and/or DirectX 8.0 or higher
 (ANGLE requires DirectX 9, but maybe it can be tweaked to use 8, Windows
 only of course).

From what I understand from past discussions with Andreas, the GPU does exist,
but it's busy with video decoding and other operations. Qt and the UI needs to
run on the CPU only.

--
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
 Intel Sweden AB - Registration Number: 556189-6027
 Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden


signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Error compiling qt-creator (from git repository)

2012-07-17 Thread Leandro Melo de Sales
Hi,
   I'm compiling qt-creator and got this error:

(...) src/plugins/coreplugin/coreplugin.h:48: Error: Plugin Metadata file
Core.json does not exist. Declaration will be ignored
make[3]: *** [.moc/release-shared/moc_coreplugin.cpp] Error 1
make[3]: Leaving directory
`/Users/leandrosales/QtCreator/src/plugins/coreplugin'
make[2]: *** [sub-coreplugin-make_first] Error 2
make[2]: Leaving directory `/Users/leandrosales/QtCreator/src/plugins'
make[1]: *** [sub-plugins-make_first-ordered] Error 2
make[1]: Leaving directory `/Users/leandrosales/QtCreator/src'
make: *** [sub-src-make_first-ordered] Error 2

   I have followed the compilation instruction in the README file and QtSDK
from git (latest), in MacOS X (10.7.4). I tried two times: one using
clang++ and other using g++.

Thanks,
Leandro.

--
Leandro Melo de Sales
Professor at Institute of Computing at Federal University of Alagoas, Brazil
PhD candidate in Computer Science
Pervasive and Embedded Computing Laboratory, UFCG
Twitter: @leandrosalesal

The warrior is strong in loyalty, intensity, determination, initiative,
persistence, courage and willpower. The warrior is light in the soul,
self-trust and compassion. The warrior is often called to take the front
when other cowardly make a step backwards. There are warriors on the
battlefields and in everyday life.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Color Profile support on Qt

2012-07-17 Thread Niels Ole Salscheider
Hello,

 All QPainter operations (at least in the raster engine) assume a linear
 color space. That means that the color conversion need to hapen last, right
 before being shown to the screen. After all kind of blending operations or
 anything done with QPainter.  (That means it could even been done in the
 platform plugin)
 
 Color conversion should probably also happen when loading images, to convert 
 them to a linear color space.  Right now, Qt do no handle color profiles at 
 all, so it interpret png for example as plain linear RGB instead of sRGB.
 
 I think QImage should always contains linear color space.

I agree. Qt should convert all images to a linear color space when loading 
them so that this color space can be used as an immediate blending space.

The final images should be converted to the device color space (printer, 
screen, ...) right before they are displayed.

It might even be possible to make the system compositor / printer driver 
accept the images in this intermediate blending space. It they do, Qt does not 
need to know about the output color profile and the system compositor can do 
additional blending of output from different applications before applying color 
correction for the output device.
This should be doable for Linux, at least.

 Are 32 bit ARGB is not enough for what Qt is doing? That is: show an UI on
 the screen.
 If you want to do professional image processing you would probably not use 
 QImage, but one of those specialized image processing library that have
 16bit per chanel or more capabilities.

No. 8 bit per pixel works for sRGB but is not nice for linear color spaces. I 
think it would be best to use 16 bit per pixel for the immediate blending 
space.

Regards,

Ole

signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Contributing to the Qt Project behind a hefty firewall and proxy server

2012-07-17 Thread Laszlo Papp
 1) Setting up Gerrit (which is still incomplete because scp'ing the
 commit hook should happen with the -P 443 for this case)

Oh, I am sorry. That is also achievable by the ssh config.

Nevertheless, this section needs to be updated, if the existing
duplication remains to be in place for good:
http://qt-project.org/wiki/Gerrit-Introduction#392c991242b19a7bff02f4001278e5a3

Best Regards,
Laszlo Papp
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Andreas Aardal Hanssen
2012/7/17 marius.storm-ol...@nokia.com

  (2D accelerators are often bundled with GPUs and perform 2D rendering
  ops faster than GPUs, but are unusable with QML 2 / SceneGraph; see
  pvr2d).
 2D accelerators bundled with GPUs perform 2D rendering ops faster than
 GPUs? Uhmm... that sentence is conflicting in my head, unless you mean
 that you are using highly specialized boards with multiple GPUs (n*PVR)
 on them to do things really really fast in parallel.


[OT]

No, I really mean dedicated 2D hardware chips outperform GPUs by far. It's
easy to do certain common simple 2D graphics faster than most embedded GPUs
I know of, even using the CPU. GPUs are built for (1) 3D transformations on
textures, (2) vertex-heavy objects and (3) per-pixel shading operations.
But it's easily beat for simple 2D operations like blit (e.g., DMA),
filtering/scaling (e.g., FPGAs). Most mobiles / tablet UIs are 90% 2D.

My point is simply that Qt 5 is best served with a painting backend for QML
2 that can support non-OpenGL technologies.

-- 
Andreas Aardal Hanssen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Color Profile support on Qt

2012-07-17 Thread Kai-Uwe Behrmann (oy)
Alessandro Portale alessandro at casaportale.de writes:

 
 On Mon, Jul 16, 2012 at 7:07 PM, Olivier Goffart olivier at woboq.com 
 wrote:
  All QPainter operations (at least in the raster engine) assume a 
  linear color
  space. That means that the color conversion need to hapen last, right before
  being shown to the screen. After all kind of blending operations or anything
  done with QPainter.  (That means it could even been done in the platform
  plugin)
 
 Good point. That way may automagically solve the issue with which
 screen (output-) profile to use when painting on a screen. However,
 color transformations are not cheap and may slow down painting. I
 already see all kinds of caching in that area :)

Drawing during displaying on the fly is a typical approach. osX does this
implicitly and always accelerated. On Windows conversion will happen on 
the CPU and only after explicitly requested. For Linux it is/will be a mixture.

  Color conversion should probably also happen when loading images, to convert
  them to a linear color space.  Right now, Qt do no handle color profiles at
  all, so it interpret png for example as plain linear RGB instead of sRGB.
 
 Would the 'linear' RGB in this case be the screen RGB? RGB without a

Sounds quite unusual.

 profile has little meaning in a color management workflow. Imho,

agreed!

 QImage could continue loading the raw rgb-data as-is and
 additionally load/hold the profile of the image (or the very common
 sRgb tag) in order to use that as input profile at the end when
 painting. This would also make sure that there is only one color
 transformation in the (load - display) workflow. Two color
 transformations will cause quantisation artifacts, esp. with 8-data.

Keeping the ICC profile around is a good entry strategy.

   Just a few questions:
   1) Would Qt use (and ship) a color conversion library, or would the
   system library be used where available (e.g. on OSX and Windows)?
 
  Regarding native platform support, we should work together with
  Oyranos developers. While their API is horrible (maybe because it is
  so non-Qt'ish), they have in-depth knowledge about the theory and the
  praxis of color management. Maybe with their expertise, we can create
  a nice API for application developers to interface the platforms.

agreed, a Qt specific abstraction would be desirable for C++ and QImage.

  I'd say Qt should use an external library for that. This problem has already
  been solved, and there is no reason to reinvent the wheel.
  That said, I'm saying that without knowing what are the available libraries.
 
 There are free libraries that do icc profile based color conversions.
 Qt could ship one of those as 3rd-party code. The functionality that
 was missing in any of these libraries -last time I looked-, is a cross
 platform API to get the current system profile for a screen. I did not
 yet look at Oyranos, though.
 
 My 2 cents. If I may sketch a very dirty, basic API set which could
 imho enable different cases for color savvy application develpers:

   QImage::QImage(...) // Constructors would load image input profile
 or standard profile tag (sRgb/Adobe Rgb).

   QICCProfile QImage::profile(); // Returns the original image input
 profile. (Yes, this should be part of QtColorManagement, not QtGui.
 This sketch *is* dirty)

The QICCProfile should at least expose a QByteArray on each platform to obtain 
the raw ICC blob beside the internal description and ICC ID.

   static QICCProfile QtColorManagement::systemProfile(int screenID =
 0); // Return the current system profile for a specific screen (TODO:
 printer?)

That API would need a concept of device listings and driver contexts for 
display outputs, scanners, printers and cameras.

   static QImage QtColorManagement::profileTranformedImage(const QImage
 image, const QICCProfile outputProfile) // The resulting Image data
 is now in the colorspace of a specific screen or printer(cmyk?)

void QtColorManagement::profileTranformedImage(const QImage image_in, 
const QICCcontext conversion, QImage image_out); // Conversions can 
happen in place

   static QImage QtColorManagement::profileTranformedColor(const QColor
 color, const QICCProfile inputProfile, const QICCProfile
 outputProfile) // Transforming single colors.

   ... QPainter would remain color profile agnostic, as it is right now.

For the long plan, I doubt that would be useful. For now it is a big step
forward to store ICC profiles along a QImage as meta data.

Considered can as well a general framework to store IPC, Exif and other
information additional to ICC profile for each loaded image.

 Such an API would avoid all automatic conversions by default, and
 simply provide cross platform helpers for app developers who decide to
 consciously do color management.
 QtWebkit could of course perform color management as Safari does: If
 a loaded image has a profile/tag match it to screen.

The Quartz backend for webkit in Safari tags all 

Re: [Development] Abandoning the container changes

2012-07-17 Thread André Pönitz
On Tue, Jul 17, 2012 at 05:19:23PM +0200, Oswald Buddenhagen wrote:
 On Mon, Jul 16, 2012 at 02:52:32PM -0700, ext Thiago Macieira wrote:
  On segunda-feira, 16 de julho de 2012 21.34.10, André Pönitz
  wrote:
   On Thu, Jul 05, 2012 at 09:04:39AM +0300, Thiago Macieira
   wrote:
I think that, despite the potential benefits of the changes,
we should not apply them at this time. There are far too many
chances for breakage and it's a blatant disrespect for the
feature freeze.
   
   I assume this is meant as a verdict, not as (possibly
   temporary) state of thinking.
  
  Correct. The changes are the right thing to do, just not now.
  We'll have to live with the current containers and their overhead
  until Qt 6.
  
  That includes the fact that QListQVariant is extremely
  inefficient.

 this is absurd.

Incidentally, I agree. [Even if I lack the skill to express myself
so clearly at times ;-}]

 we said A, now we need to say B. or unsay A, which i don't think
 anyone wants.
 
 i for one don't believe in qt6 anytime soon. it's the do-never release
 qt5 was for years. 

The suggested 4 years are 3 1/2 years too much anyway.

That's 3 1/2 years more of forcing people to re-invent the wheel when
it comes to performance-sensitive components in a Qt environment, and
it's 3 1/2 years on top of the past half decade or so where Qt containers
fail to deliver on one of the original reasons to have them at all
(portability, convenience of use, _and_ performance).

We do have the chance to fix it _now_, and we have a fairly decent
idea of how the fix looks like. The whole change is essentially
source compatible, i.e. has a low probability of breaking other
components, and it is very well covered by autotests. The chances
to be ready before the rest (Webkit Windows? Mac?) is ready for
a 5.0 release are good.

To get back on the constructive side I propose to do any of the
following, in decreasing order of desirability: 

(A) Have the QString/QByteArray related bits in 5.0.

(B) Have everything in 5.0.

(C) Don't do anything for 5.0, but aim for a 6.0 instead for a 5.1
next.

(D) Don't do anything for 5.0, but allow 5.1 to be source compatiple
but binary incompatible.

(E) Don't do anything for 5.0, and provide a compile-time switch
for 5.1 to select between current and patched versions, default
to current. [This is probably the most expensive solution, but
the one that fits best to the rules]

Andre'
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Missing MacOS Qt5 beta installer (IT WAS: Experimental Qt 5 installers by Digia)

2012-07-17 Thread jason.mcdonald
There's a mac package now at

 
http://releases.qt-project.org/digia/2012-07-17/qt-mac-opensource-5.0.0-beta1-offline.dmg

Perhaps building the mac package takes a bit longer than the others.

--
Jason


From: development-bounces+jason.mcdonald=nokia@qt-project.org 
[development-bounces+jason.mcdonald=nokia@qt-project.org] on behalf of ext 
Leandro Melo de Sales [leandr...@gmail.com]
Sent: Tuesday, July 17, 2012 6:54 PM
To: Storm-Olsen Marius (Nokia-MP/Austin)
Cc: tuukka.turu...@digia.com; development@qt-project.org
Subject: Re: [Development] Missing MacOS Qt5 beta installer (IT WAS: 
Experimental Qt 5 installers by Digia)

Hi Tuukka and others,
   I have checked again the current directory for Qt5 beta installers and, once 
again, the MacOS .dmg installer was not built. Why?

   The latest available was compiled in 2012-07-13.

Thank you,
Leandro.


2012/7/15 Leandro Melo de Sales 
leandr...@gmail.commailto:leandr...@gmail.com
Hi,
   Why the current installers directory
(http://releases.qt-project.org/digia/2012-07-14/) does not contain a
.dmg file for QtSDK? Maybe it happened an error while compiling Qt for MacOS...

--
Leandro Melo de Sales
Professor at Institute of Computing at Federal University of Alagoas, Brazil
PhD candidate in Computer Science
Pervasive and Embedded Computing Laboratory, UFCG
Twitter: @leandrosalesal

The warrior is strong in loyalty, intensity, determination,
initiative, persistence, courage and willpower. The warrior is light
in the soul, self-trust and compassion. The warrior is often called to
take the front when other cowardly make a step backwards. There are
warriors on the battlefields and in everyday life.


2012/7/13 Leandro Melo de Sales 
leandr...@gmail.commailto:leandr...@gmail.com:
 Ok... thanks.



 2012/7/13 marius.storm-ol...@nokia.commailto:marius.storm-ol...@nokia.com

 When using the links below, please ensure that you are not redirected to
 URLs which has “origin.” prefixed. If you are on a

 http://origin.releases.qt-project.org/...

 URL, you are downloading from the “master” machine, and it will be slow.
 Simply remove the “origin.” prefix, and you should be using the CDN, and
 download the packages much much faster.



 We are not quite sure why this redirect is happening.



 --

 .marius



 From: 
 releasing-bounces+marius.storm-olsen=nokia@qt-project.orgmailto:nokia@qt-project.org
 [mailto:releasing-bounces+marius.storm-olsenmailto:releasing-bounces%2Bmarius.storm-olsen=nokia@qt-project.orgmailto:nokia@qt-project.org]
  On
 Behalf Of ext Turunen Tuukka
 Sent: Thursday, July 12, 2012 9:00 AM
 To: releas...@qt-project.orgmailto:releas...@qt-project.org; 
 development@qt-project.orgmailto:development@qt-project.org
 Subject: [Releasing] Experimental Qt 5 installers by Digia





 Hi All,



 As you know we have been working in close co-operation in the Qt Project
 for making the installers for Qt 5 as well as the tools to create these.



 If you wish, you can take a look on the experimental installers we create
 at: http://releases.qt-project.org/digia/



 Currently the installers are built each night from the latest stable Qt 5
 and placed to the above mentioned location. If the build or packaging fails,
 then that installer is omitted. Though called beta1, these are currently
 made with the latest Qt 5, which as we know has not yet reached beta
 maturity.



 These are additional to the ones you can get from
 http://releases.qt-project.org/qt5.0/beta-snapshots/ In essence these should
 be identical. While we cook with the same recipes, these are baked in our
 kitchen that has some differences to the Qt Project build machines. So
 sometimes there are differences in the created installers as well. Having
 two different setups is good in verifying that the recipes really work and
 that there are not too many 'secret ingredients' in either one of the
 cookings.



 Unfortunately we can not yet provide build logs or release test results,
 so it may be hard to determine what is wrong based on just these. Also we
 are not running any automated tests to these installers like we do for the
 Qt 4.8 ones, so there may well be whatever regressions in these. So please
 regard these as experimental installers that they are.



 Yours,



 --

 Tuukka Turunen

 Director, Qt Commercial RD

 Digia Plc

 Piippukatu 11, 40100 Jyväskylä, Finland



 Visit us at: www.digia.comhttp://www.digia.com or 
 qt.digia.comhttp://qt.digia.com




 ___
 Development mailing list
 Development@qt-project.orgmailto:Development@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/development



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Compile fails after Q_DECLARE_SHARED(QDebug)

2012-07-17 Thread Elvis Lee
Exactly, you're right. The old headers has been included.
I should separate other install prefixes from Qt.

Really, thanks.
Elvis.

--
Elvis Lee (이광웅)
Software Engineer @ LG Electronics Inc.
CTO Division / SW Platform Lab. / Advanced OS Tech Team.
Yang-jae dong 221, Seoul, Korea.

 -Original Message-
 From: development-bounces+kwangwoong.lee=lge@qt-project.org
 [mailto:development-bounces+kwangwoong.lee=lge@qt-project.org] On
 Behalf Of Thiago Macieira
 Sent: Tuesday, July 17, 2012 10:12 PM
 To: development@qt-project.org
 Subject: Re: [Development] Compile fails after Q_DECLARE_SHARED(QDebug)
 
 On terça-feira, 17 de julho de 2012 22.02.36, 이광웅 wrote:
  I saw the following logs when making.
 
  And I noticed that Q_DECLARE_SHARED(QDebug) is inserted on latest commit.
 
  What am I missing? Would you give me any advice?
 
  ../../../../include/QtCore/../../src/corelib/io/qdebug.h: In function
  ‘void qSwap(T, T) [with T = QDebug]’:
 
  ../../../../include/QtCore/../../src/corelib/io/qdebug.h:130:1: error:
  ‘class QDebug’ has no member named ‘data_ptr’
 
 Q_DECLARE_SHARED is now:
 
 Q_DECLARE_TYPEINFO(TYPE, Q_MOVABLE_TYPE); \ template  inline void
 qSwapTYPE(TYPE value1, TYPE value2) \ { value1.swap(value2); } \
 Q_DECLARE_SHARED_STL(TYPE)
 
 There's no data_ptr in this.
 
 Can you check the status of your headers (the include dirs)? Looks like
 you have an old set of QtCore headers that are being found.
 
 --
 Thiago Macieira - thiago.macieira (AT) intel.com
   Software Architect - Intel Open Source Technology Center
  Intel Sweden AB - Registration Number: 556189-6027
  Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Error compiling qt-creator (from git repository)

2012-07-17 Thread Lincoln Ramsay
On 07/18/2012 02:49 AM, ext Leandro Melo de Sales wrote:
 I'm compiling qt-creator and got this error:

 (...) src/plugins/coreplugin/coreplugin.h:48: Error: Plugin Metadata
 file Core.json does not exist. Declaration will be ignored

You're shadow building. I noticed this the other day.

The problem is that the .json files are generated. You could force them 
to be created in the source tree (as per 
https://codereview.qt-project.org/#change,30732) but since creating 
files in the source tree is bad form, the real fix will be to have moc 
search in the build tree for these files.

I'm not sure if there's a change for that yet.

-- 
Lincoln Ramsay - Senior Software Engineer
Qt Development Frameworks, Nokia - http://qt.nokia.com/


___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Lincoln Ramsay
On 07/18/2012 05:17 AM, ext Andreas Aardal Hanssen wrote:
 My point is simply that Qt 5 is best served with a painting backend for
 QML 2 that can support non-OpenGL technologies.

I don't want to start a flame war here but I always wondered why 
QtQuick 2 had to mean SceneGraph/OpenGL and why the new/changed QML 
types couldn't be separate to the display engine.

Obviously from a C++ perspective you have to know which engine you're 
using but the QML environment is insulated from the display engine, right?

Maybe it's because the QML types are implemented in C++ that makes it 
difficult to support them across display engines...

-- 
Lincoln Ramsay - Senior Software Engineer
Qt Development Frameworks, Nokia - http://qt.nokia.com/


___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Suggestion on QML portability

2012-07-17 Thread Alan Alpert
On Wed, 18 Jul 2012 13:28:02 ext Lincoln Ramsay wrote:
 On 07/18/2012 05:17 AM, ext Andreas Aardal Hanssen wrote:
  My point is simply that Qt 5 is best served with a painting backend for
  QML 2 that can support non-OpenGL technologies.
 
 I don't want to start a flame war here but I always wondered why
 QtQuick 2 had to mean SceneGraph/OpenGL and why the new/changed QML
 types couldn't be separate to the display engine.

QtQuick 2 has to mean SceneGraph/OpenGL because the QtQuick module provides 
the visual primitives. It is the display/user-input engine, thus QQuickItems 
need to run on a QQuickWindow and QDeclarativeItems need to run in a 
QGraphicsScene. QML 2, now split out into the QtQml module, is separate to the 
display engine.

If you're more thinking widget style of a single Rectangle that chooses 
SGRect or GVRect behind the scenes, that's not how QML items are abstracted. 
QtQuick provides graphical primitives which you use to create your widgets, 
QtQuick 2.0's Rectangle is the SGRect and QtQuick 1.0's Rectangle is the 
GVRect. As people have noticed, we haven't done a great job in making it easy 
to choose one behind the scenes :( . But the future is clearly 3D GL in the 
general case, so long as niche 2D CPU applications are supported somehow the 
3D display engine should be the default and supported as well as possible.

 Obviously from a C++ perspective you have to know which engine you're
 using but the QML environment is insulated from the display engine, right?
 
 Maybe it's because the QML types are implemented in C++ that makes it
 difficult to support them across display engines...

The display engines are radically different, and we don't have some 
QGraphicsProxySceneGraph element to go between them.

As for the QML environment, not the different display engines, implementation 
issues are the reason why QtQuick 1.0 can't be run in a QQmlEngine (I say 
can't because maybe they can, I've never tried). There have been changes to 
the engine and language due to V8 integration, and although these are supposed 
to be much more compatible there are behavioural changes.

The QDeclarativeEngine is left around for QtQuick 1 because that way your 
QtQuick 1 applications can use the old engine for less chance of behavioural 
regressions. Not because QtQuick 1 is fundamentally incompatible with 
QQmlEngine. Theoretically you can have two different windows running the two 
different display engines but sharing one QML engine - I've just never tried 
and I doubt it would be a high priority bug if that didn't work ;) .

--
Alan Alpert
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development