Showing posts with label qt. Show all posts
Showing posts with label qt. Show all posts

Tuesday, February 11, 2014

Qt 5: QStandardPaths::DownloadLocation returns Documents folder starting from Vista

In Qt 5 the QStandardPaths provides access to the (guess what?) system standard paths like user's documents path, fonts path, etc.

There is also a Downloads path (QStandardPaths::DownloadLocation) that should return the directory where downloaded files are stored. Starting with Windows Vista there is a special directory for downloads. Before that the Documents directory was used.

However the Qt implementation of QStandardPaths does not make use of this new directory and always returns the Documents (QStandardPaths::DocumentsLocation) when the Downloads location is requested.

This patch fixes this issue, now QStandardPaths::DownloadLocation will correctly return the Downloads directory for Vista (or greater).

The patch has to be applied to file qtbase\src\corelib\io\qstandardpaths_win.cpp
And it is good for both Qt 5.2 and 5.2.1

Saturday, May 18, 2013

Building Qt5 with MinGW

Building Qt with MinGW was always a nightmare: weird conflicts, a lot of patching and the result was not good.

Now with the recent release of Qt 5.0.2 things are a little better (hope they get even better with forthcoming Qt 5.1). I finally managed to build (or almost - QtWebkit fails to build, see below) it.

The steps I took are outlined below. If you want to try please let me know if they have worked for you too.

Qt building

Steps to Build

You'll need:
Steps
  • Make sure Perl, Python and MinGW are all in your PATH
  • Create a directory C:\Qt-build
  • Create a directory C:\Qt
  • Uncompress the Qt source distribution to C:\Qt-build
  • Remove directories qtwebkit and qtwebkit-examples-and-demos. For some reason they do not build
  • Create a directory C:\Qt-build\build. You will get a tree like this:
    C:\
      Qt-build
        build
        qt-everywhere-opensource-src-5.0.2
  • Open the "MinGW Command Prompt"
  • Enter cd C:\Qt-build\build
  • Enter touch ..\qt-everywhere-opensource-src-5.0.2\qtbase\.gitignore
  • Enter ..\qt-everywhere-opensource-src-5.0.2\configure -prefix C:\Qt -release -developer-build -opensource -shared -opengl desktop -qt-pcre -nomake tests
  • Enter mingw32-make
  • Enter mingw32-make install

The Qt headers and libraries will be installed in C:\Qt