Re: [Interest] Fwd: How to shutdown Qt app on Android.
On Tue, Jan 27, 2015 at 11:38 AM, Igor Mironchik igor.mironc...@gmail.com wrote: I have tested QApplication::quit() in QCoreApplication::applicationStateChanged( Qt::ApplicationSuspended ). And yes, the app is still in the list, but when I launch the app again it starts from the same beginning, not resumed... IIRC you need to implement a service to avoid that. Check these links: https://bugreports.qt.io/browse/QTBUG-37221 https://github.com/think-free/qt-android-helper -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QML Preview
Is there any way to have the external tool QML Preview take on a different screen size? I guess you're talking about qmlscene (the tool for Qt Quick 2): There's AFAIK no way to force a specific size from the command line, but you can play with the options --maximized --fullscreen --resize-to-root The older tool is qmlscene; the newer one is qml, which is a better habit to get into using, with some exceptions. But neither one supports a -geometry parameter like widget apps do. Maybe we should add that feature. Of course you can write your own viewer in C++ (not many lines of code), force the size to whatever you like, wrap it in something that looks like the device bezel etc. Or you can set the size of the top-level item or window in QML. You might also need to adjust the QT_DEVICE_PIXEL_RATIO environment variable to simulate a high-DPI display. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com wrote: hello, i recently gained a small, but considerable performance boost by switching out QList for QVector in some legacy code. This is hindered by the fact that Qt itself often returns QList, eg with QMap::values(). Is there a reason for this? Why arent QVectors used? A somewhat related question, why is there no QList::reserve()? I guess i see how that function might not make much sense from an algorithmic pov, but shouldnt it at least be there as a NoOp to make it easy switching between data structures? best regards, As far as i know this is for historic reasons. QList used to be faster then QVector (someone, please correct me if i'm wrong) in the old days, but nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster then QList in nearly every situation. I vaguely remember there being one exception where QList was faster, but i don't know the exception anymore. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote: 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc 4 getExifOrientation qjpeghandler.cpp820 0x5ab66204 The source file is corrupt. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] GStreamer missing plugin error
On Tuesday 27 January 2015 17:49:50 Harri Pasanen wrote: I wonder if there are plans to migrate to GStreamer 1.0? That is more than two years old, and 0.10 is about ten years old. Ubuntu seems to have switched in 14.04-14.10, I don't know about other dists. There are, but the work isn't done. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] GStreamer missing plugin error
I seem to have mp4 playback working on OS X out of the box, but my video did not have any sound track. I have not knowingly installed any gstreamer plugins in the machine. I made a small testcase included in https://bugreports.qt.io/browse/QTBUG-44157 that plays the included mp4 fine on OSX. On iOS there is some accidental DRM, the first showing is ok, and subsequent showings are corrupted :) Harri On 27/01/2015 15:49, René J.V. Bertin wrote: FWIW, I just discovered that even on OS X, installing the gstreamer1-gst-plugins-bad gave me mp4 playback once I had the phonon-backend-gstreamer package (4.8.2) installed too. FWI(also)W, I've installed phonon 4.8.3, the version developed independently from Qt (phonon.kde.org) . R. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
On Tue, 27 Jan 2015 22:18:23 +0300, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. On Tue, 27 Jan 2015 21:13:55 +0300, Thiago Macieira thiago.macie...@intel.com wrote: On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote: 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawDataqdatastream.cpp 1169 0x5807dfbc 4 getExifOrientation qjpeghandler.cpp820 0x5ab66204 The source file is corrupt. You mean jpeg file is corrupt? I've looked at qjpeghandler.cpp and it is strangely that practically all of my photos produced by my Android camera is corrupted. Do you know any software that can give me information about exif in jpeg that I can be sure that jpeg is corrupted? Thank you. -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QtConcurrent and event-driven objects
Hello, thanks for answering. Sorry, I might have described it not clear enough. Tasks that utilize timers and sockets are actually quite separate tasks. I used the code posted just to show the execution context. I'll start with tasks using timers. These are executed once in a minute to do some simple jobs: check for license availability, call a stored procedure in DB to perform scheduled cleanup or look if the database has some notifications to send. I like your idea from 2), seems to be the way to go. But the central part of the application (I mentioned it least in my previous mail) is a QTcpServer instance which is an HTTP-like server. It doesn't use any timers but just listens to incoming connections. The listener spawns a new thread passing a socket descriptor to it upon seeing an incoming connection. Then the thread creates its own socket using the descriptor passed, reads data, processes it and writes back the response. Thus the sockets are not cross-threaded, they are created in an already spawned thread from the pool. The reason for using thread-per-connection approach is that the most connections produce database queries which are synchronous in Qt. So in this case threads are being constantly created and destroyed: typical HTTP session lifetime here is about a second or less and there is a constant load of 15-20 connections per second. I think it's a perfect place to use a QThreadPool instance reusing the threads whose runnables are done. My hesitation about QThreadPool handling connections of QTcpServer is the following: suppose that a thread is spawned by QThreadPool and a QTcpSocket instance is created in a QRunnable executed in the pool. Is this the case that any slot of a runnable connected to a QTcpSocket signal is actually executed in the thread that created the QThreadPool instance, just like it is the case for QTimer (see my prev. mail)? The documentation states you cannot start a timer or connect a socket in a thread that is not the object's thread. The object thread here is the QThreadPool's thread thus main thread (If I'm not wrong). The sockets don't seem to cause any problems with QThreadPool so far but I should clearly revert it back to my old design if it isn't supposed to work like this. Once again, my old design that uses QThread-only approach with my own thread pool worked as expected, the thing is I want to refactor my code to utilize more library facilities which seem to be less error-prone, more maintainable and unified. Thanks again for joining the discussion. Cheers Dmitriy 2015-01-27 14:28 GMT+06:00 Bo Thorsen b...@vikingsoft.eu: On 01/26/2015 11:56 AM, Dmitriy Purgin wrote: Another important thing for me is network. The docs also specify that the network module should also follow single thread policy. Does that mean that an instance of QTcpSocket can't be used in QRunnable started by QThreadPool? You can only use the socket in one thread at a time. You can pass it on to another thread, but you will find yourself with weird bugs if you do this a lot. You haven't given enough information to say if this is a problem for you or not. If the threads just send stuff over the socket, then implement this with simple message parsing to the thread that have the socket. If the threads handle incoming messages (which I wouldn't expect, since you're using timers instead of handling incoming data signals), the answer depends on whether your protocol allows out of sync answers or not. Bo Thorsen, Director, Viking Software. -- Viking Software Qt and C++ developers for hire http://www.vikingsoft.eu ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] How to shutdown Qt app on Android.
Hi. On Tue, 27 Jan 2015 12:53:03 +0300, Harri Pasanen ha...@mpaja.com wrote: Why do you care? If I'm correct, it is a list of most recently used apps, not necessarily active apps. At least on iOS it is that way. On iOS what you see on the list is just a screenshot. I suspect on Android it is the same if you have done Qt.quit(). Hmm, may be you are right. I'm not sure in this question. Just my 2 cents, Thanks for your 2 cents. :) Harri On 27/01/2015 10:47, Igor Mironchik wrote: This approach doesn't work on Android. Application still in the list of inactive applications. On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos nunosan...@imaginando.pt wrote: Igor, I think you could listen to application state changed signal on the app entity and when you receive a pause, you could call app-quit(). http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged This is possibly the most straightforward way. Regards, Nuno On 26 Jan 2015, at 06:24, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? --Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest --Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -- Best Regards, Igor Mironchik.___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
On Tuesday 27 January 2015 10:34:57, Giuseppe D'Angelo wrote : Il 27/01/2015 09:41, Mark Gaiser ha scritto: A somewhat related question, why is there no QList::reserve()? There is, what's missing is resize(). (Fundamentally that shared part behind QList has no code dealing with shrinking.) I've got a WIP on gerrit, if only I get the time to work on it again... The missing resize() is QTBUG-42732 (https://bugreports.qt.io/browse/QTBUG-42732). A patch is being reviewed. Frederic ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
is QVector faster even for sequential access? On Tue 27 Jan 2015 at 09:42 Mark Gaiser mark...@gmail.com wrote: On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com wrote: hello, i recently gained a small, but considerable performance boost by switching out QList for QVector in some legacy code. This is hindered by the fact that Qt itself often returns QList, eg with QMap::values(). Is there a reason for this? Why arent QVectors used? A somewhat related question, why is there no QList::reserve()? I guess i see how that function might not make much sense from an algorithmic pov, but shouldnt it at least be there as a NoOp to make it easy switching between data structures? best regards, As far as i know this is for historic reasons. QList used to be faster then QVector (someone, please correct me if i'm wrong) in the old days, but nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster then QList in nearly every situation. I vaguely remember there being one exception where QList was faster, but i don't know the exception anymore. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Storage path on Android
Thank you, QStorageInfo is working. Tested on real Android v 4.0.3. On Tue, 27 Jan 2015 05:04:02 +0300, Ruslan Moukhlynin rus...@khvmntk.ru wrote: The default storage path you cat get with QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) For list of mounted drives see this link http://doc-snapshot.qt-project.org/qt5-5.4/qstorageinfo.html Sorry, I can't check it on real Android device for now 26.01.2015 16:17, Igor Mironchik пишет: Hi. How can I determine all storage's path in Android with Qt 5.4 For example, if I have SD card installed, I want to retrieve /mnt/sdcard for the SD card and /mnt/sdcard2 for the phone storage. Thank you. -- Best Regards, Igor Mironchik.___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] How to shutdown Qt app on Android.
This approach doesn't work on Android. Application still in the list of inactive applications. On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos nunosan...@imaginando.pt wrote: Igor, I think you could listen to application state changed signal on the app entity and when you receive a pause, you could call app-quit(). http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged This is possibly the most straightforward way. Regards, Nuno On 26 Jan 2015, at 06:24, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? --Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -- Best Regards, Igor Mironchik.___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
yes, in fact especially then, probably due to caching. 2015-01-27 9:47 GMT+01:00 Daniel França daniel.fra...@gmail.com: is QVector faster even for sequential access? On Tue 27 Jan 2015 at 09:42 Mark Gaiser mark...@gmail.com wrote: On Tue, Jan 27, 2015 at 8:56 AM, Felix morack felixo...@gmail.com wrote: hello, i recently gained a small, but considerable performance boost by switching out QList for QVector in some legacy code. This is hindered by the fact that Qt itself often returns QList, eg with QMap::values(). Is there a reason for this? Why arent QVectors used? A somewhat related question, why is there no QList::reserve()? I guess i see how that function might not make much sense from an algorithmic pov, but shouldnt it at least be there as a NoOp to make it easy switching between data structures? best regards, As far as i know this is for historic reasons. QList used to be faster then QVector (someone, please correct me if i'm wrong) in the old days, but nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster then QList in nearly every situation. I vaguely remember there being one exception where QList was faster, but i don't know the exception anymore. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
Il 27/01/2015 09:41, Mark Gaiser ha scritto: As far as i know this is for historic reasons. QList used to be faster then QVector (someone, please correct me if i'm wrong) in the old days, but nowadays (Qt5 era) they prefer QVector over QList. It is as fast or faster then QList in nearly every situation. I vaguely remember there being one exception where QList was faster, but i don't know the exception anymore. I don't think it has ever been faster. The main reason behind QList is to generate less code: all the handling of the backing array is shared amongst the specializations. But please refer to Marc Mutz's awesome blog posts for more info: https://marcmutz.wordpress.com/effective-qt/containers/ The other difference with QVector is that QList has a prepend optimization. A somewhat related question, why is there no QList::reserve()? There is, what's missing is resize(). (Fundamentally that shared part behind QList has no code dealing with shrinking.) I've got a WIP on gerrit, if only I get the time to work on it again... Cheers, -- Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer KDAB (UK) Ltd., a KDAB Group company Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-independent software solutions smime.p7s Description: Firma crittografica S/MIME ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] How to shutdown Qt app on Android.
Why do you care? If I'm correct, it is a list of most recently used apps, not necessarily active apps. At least on iOS it is that way. On iOS what you see on the list is just a screenshot. I suspect on Android it is the same if you have done Qt.quit(). Just my 2 cents, Harri On 27/01/2015 10:47, Igor Mironchik wrote: This approach doesn't work on Android. Application still in the list of inactive applications. On Mon, 26 Jan 2015 12:02:27 +0300, Nuno Santos nunosan...@imaginando.pt wrote: Igor, I think you could listen to application state changed signal on the app entity and when you receive a pause, you could call app-quit(). http://doc.qt.io/qt-5/qguiapplication.html#applicationStateChanged This is possibly the most straightforward way. Regards, Nuno On 26 Jan 2015, at 06:24, Igor Mironchik igor.mironc...@gmail.com mailto:igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org mailto:Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QtConcurrent and event-driven objects
On 01/26/2015 11:56 AM, Dmitriy Purgin wrote: Hi, I'm using Qt to power an application server with multithreaded TCP listener and maintenence tasks running in separate threads. The TCP listener runs in main thread and spawns a separate thread to handle socket operation. The socket is being created when the thread is running using a socket descriptor passed from the TCP listener. The maintenance threads hold a timer only and run on timer shot to query DB and do stuff (doesn't really matter). The thing is, I have always used it like this: // [L1] Listing 1 // this simplified sample code neglects cleanup and possible memory leaks class MaintenanceWorker : public QObject { Q_OBJECT public: MaintenanceWorker() : QObject(NULL), mTimer(NULL) { // executes in main thread moveToThread(mThread); connect(mThread, SIGNAL(started()), this, SLOT(onThreadStarted())); } private slots: void onThreadStarted() { // executes in spawned thread mTimer = new QTimer(); connect(mTimer, SIGNAL(timeout()), this, SLOT(onTimerTimeout())); mTimer-start(6); } void onTimerTimeout() { // executes in spawned thread } private: QThread mThread; QTimer* mTimer; // to be created in thread }; After porting the project from Qt 4 to Qt 5 (using Qt 5.3 now) I've decided to use high-level QtConcurrent facilities and namely QThreadPool for its ability to reuse threads, control pool size and so on. So the sample code above was transformed into this: Sorry, but I'm not going to actually answer your question :) This decision doesn't make much sense to me. The timer seems to go against the idea of using the threadpool in the first place. So here's what I would do: 1) Keep your old design. It works and unless you often delete and create new threads, you won't get better performance with the new code. or 2) Move the timers to a single job creator. Possibly the same object that holds the thread pool. In here you create the tasks from the timers and give them to the pool. A runnable object is usually a simple task that needs to be done sometime soon. This suggests that the tasks you have are really what happens when the timer fires, which is why I would expect you to go to number 2). The design you implement now feels like you just want to use a different set of thread classes, but you don't consider what this means for your own code design. So my advice is: Go all the way with the new design, or stick with what you have that is already working. I hope this helps. Bo Thorsen, Director, Viking Software. -- Viking Software Qt and C++ developers for hire http://www.vikingsoft.eu ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QtConcurrent and event-driven objects
On 01/26/2015 11:56 AM, Dmitriy Purgin wrote: Another important thing for me is network. The docs also specify that the network module should also follow single thread policy. Does that mean that an instance of QTcpSocket can't be used in QRunnable started by QThreadPool? You can only use the socket in one thread at a time. You can pass it on to another thread, but you will find yourself with weird bugs if you do this a lot. You haven't given enough information to say if this is a problem for you or not. If the threads just send stuff over the socket, then implement this with simple message parsing to the thread that have the socket. If the threads handle incoming messages (which I wouldn't expect, since you're using timers instead of handling incoming data signals), the answer depends on whether your protocol allows out of sync answers or not. Bo Thorsen, Director, Viking Software. -- Viking Software Qt and C++ developers for hire http://www.vikingsoft.eu ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
Il 27/01/2015 20:27, Igor Mironchik ha scritto: I've looked at qjpeghandler.cpp and it is strangely that practically all of my photos produced by my Android camera is corrupted. Do you know any software that can give me information about exif in jpeg that I can be sure that jpeg is corrupted? Thank you. Possibly exiftool or some any other image manipulation program. But also I wonder about the code around your backtrace: 0 qt_message_fatalqlogging.cpp14070x57ed3f21 1 QMessageLogger::warning qlogging.cpp396 0x57ed28bb 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc 4 getExifOrientation qjpeghandler.cpp820 0x5ab66204 = 795 quint32 offset; ... 811 stream offset; 812 // we have already used 8 bytes of TIFF header 813 offset -= 8; 814 815 // read IFD 816 while (!stream.atEnd()) { 817 quint16 numEntries; 818 819 // skip offset bytes to get the next IFD 820 if (stream.skipRawData(offset) != (qint32)offset) 821 return -1; Note in particular that stream reads an unsigned 32 bit int into offset, but then skipRawData silently converts to signed... (but it may be totally unrelated with the problem here, which perhaps results from bad EXIF parsing on Qt side) HTH, -- Giuseppe D'Angelo | giuseppe.dang...@kdab.com | Software Engineer KDAB (UK) Ltd., a KDAB Group company Tel. UK +44-1738-450410, Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-independent software solutions smime.p7s Description: Firma crittografica S/MIME ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] building only a platform plugin?
On Tuesday January 27 2015 11:43:40 René J.V. Bertin wrote: FWIW: after building qtbase with xcb support and installing just the additional files listed in my previous email, I then proceeded to snip A few observations: Here's a screenshot of Qt's own Assistant, displaying through my X server (XQuartz) and natively. They share the exact same settings, of course. https://trac.macports.org/attachment/ticket/46536/Qt54-Assistant-cocoa-vs-xcb.png It shows several things: - the aforementioned application font size issue: the native version (lower/front window) has the correct size. The font also looks squashed. This is Novarese Medium, btw. That is, it's supposed to be the medium weight typeface... - the window background colour is off. This is not a result of the style I'm using here (QtCurve); all styles show the same colour. - The browser apparently uses the correct display resolution (DPI) setting, as shown by the (near) identical font sizes in the displayed documentation (which of course uses the document's font, not the selected browser font). - The problem with less basic font styles sadly occurs with the freetype/fontconfig engine too. Here I have selected Source Sans Pro Semibold, then OK'ed the dialog. After reopening the dialog, the font preview changed and the style list no longer shows the selected style. This does not happen when selecting a regular or bold style. Qt 4 and Qt 5 are equally afflicted by this issue which is really annoying as some of the best UI fonts are medium/semibold weights. Other than that, this screenshot also shows the benefit of the Infinality patches in conjunction with bohoomil's ultimate fontconfig database. Here I've chosen a rather light rendering, but even with a heavier setting the result remains better defined, less fuzzy and ultimately more readable with the freetype fontengine than with Cocoa's CoreText. R. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Custom QQuickItem with smooth painting
Thanks for the answer! In my case setting samples makes the output even worse then without setting it. I've tried 16 and 255, nothing works. Setting format.setSamples() removes any antialiasing at all. Without format.setSamples() - http://pbrd.co/1EO9GRh With format.setSamples() - http://pbrd.co/1EO9KjX The yellow star is my shape I want to paint with antialiasing. The rectangle is QML Rectangle with radius set. 27.01.2015 17:22, Gunnar Sletta пишет: You can either rely on multisample antialiasing by doing: QQuickView view; QSurfaceFormat format = view.requestedFormat(); format.setSamples(16); // set as high as possible, will be cut back to what is supported view.setFormat(view); view.setSource(“my.qml”); view.show(); By requesting a multisampled OpenGL context, all primitives will be antialiased. Depending on your hardware, this might come at a performance cost though. If you don’t want to rely on multisampling, you need to create triangles along the edges of your line to “fake” an antialiased edge, like you already found out that the default rectangle implementation does. - cheers, Gunnar On 27 Jan 2015, at 02:49, Ruslan Moukhlynin rus...@khvmntk.ru mailto:rus...@khvmntk.ru wrote: Hi all! In my app I use some custom QML element, for simplicity it just a line. So I overrided QQuickItem::updatePaintNode and inside it I paint my element. QSGGeometry *geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2); geometry-setDrawingMode(GL_LINES); geometry-setLineWidth(3); geometry-vertexDataAsPoint2D()[0].set(0, 0); geometry-vertexDataAsPoint2D()[1].set(width(), height()); QSGFlatColorMaterial *material = new QSGFlatColorMaterial; material-setColor(QColor(255, 0, 0)); QSGGeometryNode *node = new QSGGeometryNode; node-setGeometry(geometry); node-setFlag(QSGNode::OwnsGeometry); node-setMaterial(material); node-setFlag(QSGNode::OwnsMaterial); But this line looks so ugly. There is no antialiasing at all here. Ok, I 've looked through QSGDefaultRectangleNode source from /$QTDIR/Src/qtdeclarative/src/quick/scenegraph/ and tried to implement its QSGSmoothColorMaterial instead of QSGFlatColorMaterial but nothing works, I just get segmentation fault. I can't see call stack, just some assembler code so I cannot find the problem line in my code. So my question is very simple - how can I paint smooth line in custom QQuickItem item? Any advice, example or suggestions will be greatly appreciated! ___ Interest mailing list Interest@qt-project.org mailto:Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
Hi. On Tue, 27 Jan 2015 21:13:55 +0300, Thiago Macieira thiago.macie...@intel.com wrote: On Tuesday 27 January 2015 15:32:26 Igor Mironchik wrote: 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawDataqdatastream.cpp 1169 0x5807dfbc 4 getExifOrientation qjpeghandler.cpp820 0x5ab66204 The source file is corrupt. You mean jpeg file is corrupt? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] QML Drag: Create a shapshot of the dragged item
Hi there, I don't know if I have found a bug or of the behaviour is the indented one. Basically I'm trying to create a snapshot of a dragged item in QML. I'm using Qt 5.4 but unfortunately when the qml object is hosted in a qquickwidget the qml method grabToImage doesn't work and on the console is shown the following error message: Item::grabToImage: item's window is not visible. You can see details on the following forum thread : http://qt-project.org/forums/viewthread/52402/#216973 Is it a bug? Is so how do I report it? What kind of workaround can I use? If the only approach is going via c++ what will be the best approach? If the behaviour is the intended one, could somebody please explain me the reason why ? Thanks a lot for your help, Kind regards, Ben __ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com _ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] [QML] Disallow lowercase import qualifier ids
Hi all! qt/declarative/src/qml/compiler/qqmlcodegenerator.cpp line ~356 QString qualifier = node-importId.toString(); if (!qualifier.at(0).isUpper()) { QQmlError error; error.setDescription(QCoreApplication::translate(QQmlParser,Invalid import qualifier ID)); error.setLine(node-importIdToken.startLine); error.setColumn(node-importIdToken.startColumn); errors error; return false; } Why not use lowercase letters? -- Regards, Konstantin Podsvirov ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] GStreamer missing plugin error
Does Qt have all the plugins required for MediaPlayer to play video, in my case xvid in mp4 container, or does it rely on the host having required codecs etc? The reason I ask, is that I'm on a new linux installation (Kubuntu 14.10 amd64) and the video doesn't play any more. Instead I'm getting the following in the Application Output: Warning: No decoder available for type 'video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)01b00101b589130100012000c48d88000d14042d144301b24c61766335362e31302e313030, width=(int)640, height=(int)360, framerate=(fraction)1/2, pixel-aspect-ratio=(fraction)1/1'. Error: Your GStreamer installation is missing a plug-in. Yet when I play the same video from command line using GStreamer tools: gst-launch-1.0 playbin uri=file:///home/harri/Videos/Stoppola/My Film.mp4 that works fine. Any idea? Harri ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] QBuffer::seek warnings in QtConcurrent
Hi. I found that next code: //! Load images future watcher. QFutureWatcher QImage * futureWatcher; //! Current index for loading image. int currentLoadImageIndex; //! Future. QFuture QImage future; QImage loadImage( const QString fileName, const QSize maxSize ) { QImage image( fileName ); if( !image.isNull() ) { image = image.scaled( maxSize, Qt::KeepAspectRatio, Qt::SmoothTransformation ); } return image; } void WindowPrivate::loadImages() { currentLoadImageIndex = 0; if( !imageFiles.isEmpty() ) { future = QtConcurrent::run( loadImage, imageFiles.at( currentLoadImageIndex ), imageList-maxImageSize() ); futureWatcher-setFuture( future ); } } void Window::_q_imageLoaded() { QImage image = d-future.result(); d-imageList-model()-setData( d-currentLoadImageIndex, image ); ++d-currentLoadImageIndex; if( d-currentLoadImageIndex d-imageList-model()-rowCount() ) { d-future = QtConcurrent::run( loadImage, d-imageFiles.at( d-currentLoadImageIndex ), d-imageList-maxImageSize() ); d-futureWatcher-setFuture( d-future ); } } Produces QBuffer::seek warning like this: QBuffer::seek: Invalid pos: -583168116 QBuffer::seek: Invalid pos: -1123415015 etc... What is it? Should I care about it? Thank you. P.S. I don't use QBuffer anywhere in the application. This warnings is Qt internal warnings... -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] GStreamer missing plugin error
On Tuesday 27 January 2015 11:30:54 Harri Pasanen wrote: Does Qt have all the plugins required for MediaPlayer to play video, in my case xvid in mp4 container, or does it rely on the host having required codecs etc? The host has to provide them. Qt supplies nothing of the sort. Yet when I play the same video from command line using GStreamer tools: gst-launch-1.0 playbin uri=file:///home/harri/Videos/Stoppola/My Film.mp4 that works fine. Any idea? Please check GStreamer 0.10 too. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] How to shutdown Qt app on Android.
Dear Igor, 1. Arrange forceClosingMyApp in your derived activity: package com.myComp.MyProduct.activity; import java.lang.String; import android.os.Bundle; import android.util.Log; import android.content.Intent; import android.app.Activity; import android.view.KeyEvent; import org.qtproject.qt5.android.bindings.QtActivity; public class MyActivity extends org.qtproject.qt5.android.bindings.QtActivity { private static final String TAG = MyActivity; private static MyActivity m_MyActivityInstance = null; public static MyActivity getMyActivityInstance() { return MyActivity.m_MyActivityInstance; } }; public static void forceClosingMyActivity() { //Log.v(TAG, forceClosingMyActivity - entered); m_GhotitActivityInstance.finish(); } Regards, Robert On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] Fwd: How to shutdown Qt app on Android.
Dear Igor, 1. Arrange forceClosingMyApp in your derived activity: package com.myComp.MyProduct.activity; import java.lang.String; import android.os.Bundle; import android.util.Log; import android.content.Intent; import android.app.Activity; import android.view.KeyEvent; import org.qtproject.qt5.android.bindings.QtActivity; public class MyActivity extends org.qtproject.qt5.android.bindings.QtActivity { private static final String TAG = MyActivity; private static MyActivity m_MyActivityInstance = null; public static MyActivity getMyActivityInstance() { return MyActivity.m_MyActivityInstance; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Do your staff here: */ MyActivity.m_MyActivityInstance = this; } @Override protected void onResume() { super.onResume(); //Log.v(TAG, onResume - entered); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if( (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) || (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) || (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_MUTE ) ) { return super.super_onKeyDown(keyCode,event); } else{ return super.onKeyDown(keyCode,event); } } public static void forceClosingMyActivity() { //Log.v(TAG, forceClosingMyActivity - entered); m_MyActivityInstance.finish(); } } 2. Catch the Home Button event and call forceClosingMyActivity() via JNI 3. If not helpful, ask at android-developm...@qt-project.org I hope this has help. Regards, Robert On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] why does Qt prefer to return QList over QVector?
On Tuesday 27 January 2015 10:34:57 Giuseppe D'Angelo wrote: I don't think it has ever been faster. The main reason behind QList is to generate less code: all the handling of the backing array is shared amongst the specializations. But please refer to Marc Mutz's awesome blog posts for more info: https://marcmutz.wordpress.com/effective-qt/containers/ I was going to rewrite QList with QVector for Qt 5.0 but didn't have enough time before feature freeze. The other difference with QVector is that QList has a prepend optimization. And this was one of the reasons. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Fwd: How to shutdown Qt app on Android.
Thank you for your suggestion. I have tested QApplication::quit() in QCoreApplication::applicationStateChanged( Qt::ApplicationSuspended ). And yes, the app is still in the list, but when I launch the app again it starts from the same beginning, not resumed... Seems that approach with applicationStateChanged() workes... Thank you guys. On Tue, 27 Jan 2015 13:27:43 +0300, Robert Iakobashvili corobe...@gmail.com wrote: Dear Igor, 1. Arrange forceClosingMyApp in your derived activity: package com.myComp.MyProduct.activity; import java.lang.String; import android.os.Bundle; import android.util.Log; import android.content.Intent; import android.app.Activity; import android.view.KeyEvent; import org.qtproject.qt5.android.bindings.QtActivity; public class MyActivity extends org.qtproject.qt5.android.bindings.QtActivity { private static final String TAG = MyActivity; private static MyActivity m_MyActivityInstance = null; public static MyActivity getMyActivityInstance() { return MyActivity.m_MyActivityInstance; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* Do your staff here: */ MyActivity.m_MyActivityInstance = this; } @Override protected void onResume() { super.onResume(); //Log.v(TAG, onResume - entered); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if( (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) || (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) || (event.getKeyCode() == KeyEvent.KEYCODE_VOLUME_MUTE ) ) { return super.super_onKeyDown(keyCode,event); } else{ return super.onKeyDown(keyCode,event); } } public static void forceClosingMyActivity() { //Log.v(TAG, forceClosingMyActivity - entered); m_MyActivityInstance.finish(); } } 2. Catch the Home Button event and call forceClosingMyActivity() via JNI 3. If not helpful, ask at android-developm...@qt-project.org I hope this has help. Regards, Robert On Mon, Jan 26, 2015 at 8:24 AM, Igor Mironchik igor.mironc...@gmail.com wrote: Hi. How to completely shutdown Qt app on Adnroid when Home button pressed? I want to say when user presses Home button app will continue to work in background, i.e. the app shown in the list of apps when long touch Home button. How to prevent it and completely shutdown Qt app? Is it possible? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
On Tuesday 27 January 2015 14:32:35 Igor Mironchik wrote: P.S. I don't use QBuffer anywhere in the application. This warnings is Qt internal warnings... Can you run with QT_FATAL_WARNINGS=1 and post a backtrace? -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Custom QQuickItem with smooth painting
Which platform / hardware is this? If you run your code with QSG_INFO=1 in the environment, does it report how many samples it finds? (16 is usually the absolute max on desktop hardware, 8 on some. 4 is usually the cap on embedded). If the hardware or GL stack doesn’t support multisampling, it should fall back to no multisampling, which should be the same as the default. It looks as if Qt thinks it is using multisampling while in fact there is none. cheers, Gunnar On 28 Jan 2015, at 00:33, Ruslan Moukhlynin rus...@khvmntk.ru wrote: Thanks for the answer! In my case setting samples makes the output even worse then without setting it. I've tried 16 and 255, nothing works. Setting format.setSamples() removes any antialiasing at all. Without format.setSamples() - http://pbrd.co/1EO9GRh http://pbrd.co/1EO9GRh With format.setSamples() - http://pbrd.co/1EO9KjX http://pbrd.co/1EO9KjX The yellow star is my shape I want to paint with antialiasing. The rectangle is QML Rectangle with radius set. 27.01.2015 17:22, Gunnar Sletta пишет: You can either rely on multisample antialiasing by doing: QQuickView view; QSurfaceFormat format = view.requestedFormat(); format.setSamples(16); // set as high as possible, will be cut back to what is supported view.setFormat(view); view.setSource(“my.qml”); view.show(); By requesting a multisampled OpenGL context, all primitives will be antialiased. Depending on your hardware, this might come at a performance cost though. If you don’t want to rely on multisampling, you need to create triangles along the edges of your line to “fake” an antialiased edge, like you already found out that the default rectangle implementation does. - cheers, Gunnar On 27 Jan 2015, at 02:49, Ruslan Moukhlynin rus...@khvmntk.ru mailto:rus...@khvmntk.ru wrote: Hi all! In my app I use some custom QML element, for simplicity it just a line. So I overrided QQuickItem::updatePaintNode and inside it I paint my element. QSGGeometry *geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), 2); geometry-setDrawingMode(GL_LINES); geometry-setLineWidth(3); geometry-vertexDataAsPoint2D()[0].set(0, 0); geometry-vertexDataAsPoint2D()[1].set(width(), height()); QSGFlatColorMaterial *material = new QSGFlatColorMaterial; material-setColor(QColor(255, 0, 0)); QSGGeometryNode *node = new QSGGeometryNode; node-setGeometry(geometry); node-setFlag(QSGNode::OwnsGeometry); node-setMaterial(material); node-setFlag(QSGNode::OwnsMaterial); But this line looks so ugly. There is no antialiasing at all here. Ok, I 've looked through QSGDefaultRectangleNode source from $QTDIR/Src/qtdeclarative/src/quick/scenegraph and tried to implement its QSGSmoothColorMaterial instead of QSGFlatColorMaterial but nothing works, I just get segmentation fault. I can't see call stack, just some assembler code so I cannot find the problem line in my code. So my question is very simple - how can I paint smooth line in custom QQuickItem item? Any advice, example or suggestions will be greatly appreciated! ___ Interest mailing list Interest@qt-project.org mailto:Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
Nice finding, Guiseppe. :) You're right that this may be unrelated to Igor's problem, but lines 811–813 look like a nice bait for JPEG images with malformed EXIF header[s] — values less than 8 will wrap around zero, leading to an attempt to skip unknown amount of data (QDataStream::skipRawData() takes an int, but after subtraction 'offset' would be something not representable as a 32-bit signed integer and behavior of such conversions is not defined by the standard). On 01/28/2015 12:18 AM, Giuseppe D'Angelo wrote: Il 27/01/2015 20:27, Igor Mironchik ha scritto: I've looked at qjpeghandler.cpp and it is strangely that practically all of my photos produced by my Android camera is corrupted. Do you know any software that can give me information about exif in jpeg that I can be sure that jpeg is corrupted? Thank you. Possibly exiftool or some any other image manipulation program. But also I wonder about the code around your backtrace: 0qt_message_fatalqlogging.cpp14070x57ed3f21 1QMessageLogger::warningqlogging.cpp3960x57ed28bb 2QBuffer::seekqbuffer.cpp3740x5807b386 3QDataStream::skipRawDataqdatastream.cpp11690x5807dfbc 4getExifOrientationqjpeghandler.cpp8200x5ab66204 = 795 quint32 offset; ... 811 stream offset; 812 // we have already used 8 bytes of TIFF header 813 offset -= 8; 814 815 // read IFD 816 while (!stream.atEnd()) { 817 quint16 numEntries; 818 819 // skip offset bytes to get the next IFD 820 if (stream.skipRawData(offset) != (qint32)offset) 821 return -1; Note in particular that stream reads an unsigned 32 bit int into offset, but then skipRawData silently converts to signed... (but it may be totally unrelated with the problem here, which perhaps results from bad EXIF parsing on Qt side) HTH, signature.asc Description: OpenPGP digital signature ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] GStreamer missing plugin error
I wonder if there are plans to migrate to GStreamer 1.0? That is more than two years old, and 0.10 is about ten years old. Ubuntu seems to have switched in 14.04-14.10, I don't know about other dists. Btw. on OSX, I got mp4 playback out of the box when running in iOS simulator, did not try the desktop yet. There seems to be some issues with MediaPlayer there thought, putting together a testcase and bugreport. Harri On 27/01/2015 15:49, René J.V. Bertin wrote: FWIW, I just discovered that even on OS X, installing the gstreamer1-gst-plugins-bad gave me mp4 playback once I had the phonon-backend-gstreamer package (4.8.2) installed too. FWI(also)W, I've installed phonon 4.8.3, the version developed independently from Qt (phonon.kde.org) . R. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] QBuffer::seek warnings in QtConcurrent
0 qt_message_fatalqlogging.cpp14070x57ed3f21 1 QMessageLogger::warning qlogging.cpp396 0x57ed28bb 2 QBuffer::seek qbuffer.cpp 374 0x5807b386 3 QDataStream::skipRawDataqdatastream.cpp 11690x5807dfbc 4 getExifOrientation qjpeghandler.cpp820 0x5ab66204 5 QJpegHandlerPrivate::readJpegHeader qjpeghandler.cpp913 0x5ab65bf8 6 QJpegHandlerPrivate::read qjpeghandler.cpp978 0x5ab65c7d 7 QJpegHandler::read qjpeghandler.cpp10620x5ab62f3e 8 QImageReader::read qimagereader.cpp12350x58799f59 9 QImageReader::read qimagereader.cpp11850x58799c64 10 QImage::loadqimage.cpp 31630x58775073 11 QImage::QImage qimage.cpp 949 0x58770352 12 loadImage window.cpp 105 0xd88b1b 13 QtConcurrent::StoredFunctorCall2QImage,QImage (__cdecl*)(QString const ,QSize const ),QString,QSize::runFunctor qtconcurrentstoredfunctioncall.h460 0xd8e3e2 14 QtConcurrent::RunFunctionTaskQImage::run qtconcurrentrunbase.h 102 0xd8e2ac 15 QThreadPoolThread::run qthreadpool.cpp 93 0x57eea4f8 16 QThreadPrivate::start qthread_win.cpp 346 0x57ef1445 17 _callthreadstartex threadex.c 376 0x5ae13651 18 _threadstartex threadex.c 359 0x5ae13861 19 BaseThreadInitThunk kernel320x7579338a ... More On Tue, 27 Jan 2015 14:39:21 +0300, Thiago Macieira thiago.macie...@intel.com wrote: On Tuesday 27 January 2015 14:32:35 Igor Mironchik wrote: P.S. I don't use QBuffer anywhere in the application. This warnings is Qt internal warnings... Can you run with QT_FATAL_WARNINGS=1 and post a backtrace? -- Best Regards, Igor Mironchik. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Building Qt5 with Intel C++ under Windows
FYI, I did some experiments here, and as I suspected, none of the *_p.c files have to be compiled in and can thus be removed. If these files caused a problem for you, just remove them from the list of SOURCES in iaccessible2.pri. FYI, I have prepared a patch here that removes the uneeded files. This is targeted for dev though (and depends on another patch we only applied for dev), so it won't apply cleanly for 5.4 branch. https://codereview.qt-project.org/#/c/104588/ (I would be happy if people with good COM (or IAccessible2) knowledge could give feedback on this). Jan Arve Fra: interest-bounces+jan-arve.saether=theqtcompany@qt-project.org interest-bounces+jan-arve.saether=theqtcompany@qt-project.org på vegne av Carsten Schneemann cschneem...@yahoo.com Sendt: 26. januar 2015 08:58 Til: interest@qt-project.org Emne: Re: [Interest] Building Qt5 with Intel C++ under Windows Hi Thiago, Thiago Macieira wrote: It's a missing #include, it has to be. In fact a missing #define as it turned out... :-) To make the long story short: the problem was that the win32-msvc2013 mkspec has -DWIN32 in it whereas win32-icc doesn't. I'll write up the details under QTBUG-43778. Maybe WIN32 is missing on purpose, I don't know... Unfortunately, now qtbase compiles, but qtdeclarative doesn't. This isn't too critical for me since I don't currently use it and can just disable it. Apart from that I haven't looked into that issue in any detail... Carsten. P.S.: Sorry for re-posting. Yahoo's web interface somehow messed up my first mail :-S. ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
[Interest] QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) on OSX
returns /Library/Application Support/appname which is not user writable. Seems like a bug, but perhaps this is intentional? Harri ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Handling various displays on mobile...
El Tuesday 27 January 2015, Jason H escribió: I've spec'd the text my QML ui in points, and that works well. But the problem comes when i calculate padding and offsets in pixels. It looks great on my device (Note 2) but on newer devices with higher DPIs, the UI looks un-padded. I need a way to get the DPI so I can properly calculate spacing. How is that done in QML? Try with the Screen QML type: http://doc.qt.io/qt-5/qml-qtquick-window-screen.html#devicePixelRatio-attached-prop Note that the property was added in Qt 5.4. -- Alex (a.k.a. suy) | GPG ID 0x0B8B0BC2 http://barnacity.net/ | http://disperso.net ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest