diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2012-04-16 12:04:34 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@nokia.com> | 2012-04-16 12:04:34 +0200 |
commit | 9bd032355163d92cda5e7e59ecd21214b131f187 (patch) | |
tree | 002fa12558505683143c7eb08949a3d225bf0712 /src/corelib/io | |
parent | d037d25c3d5236623371cf051aaf6a9e59792ba7 (diff) | |
parent | 41673c45dde2eb95ee21dd918235218399f2be2c (diff) |
Merge remote-tracking branch 'origin/master' into api_changes
Conflicts:
configure
src/corelib/io/qurl.cpp
src/gui/kernel/qwindow.cpp
src/tools/moc/generator.cpp
src/widgets/kernel/qwidget_qpa.cpp
src/widgets/styles/qstyle.h
src/widgets/widgets/qtabbar.cpp
tests/auto/corelib/codecs/utf8/tst_utf8.cpp
Change-Id: Ia457228d6f684ec8184e13e8fcc9d25857b1751e
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/io.pri | 8 | ||||
-rw-r--r-- | src/corelib/io/qfileinfo.cpp | 2 | ||||
-rw-r--r-- | src/corelib/io/qiodevice.h | 2 | ||||
-rw-r--r-- | src/corelib/io/qprocess_unix.cpp | 21 | ||||
-rw-r--r-- | src/corelib/io/qsettings.h | 4 | ||||
-rw-r--r-- | src/corelib/io/qstandardpaths_blackberry.cpp | 103 |
6 files changed, 128 insertions, 12 deletions
diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri index 1f4eb4d4cb..d6379bf0fe 100644 --- a/src/corelib/io/io.pri +++ b/src/corelib/io/io.pri @@ -113,9 +113,15 @@ win32 { SOURCES += io/qsettings_mac.cpp } macx-*: { - SOURCES += io/qstandardpaths_mac.cpp + contains(QT_CONFIG, coreservices) { + SOURCES += io/qstandardpaths_mac.cpp + } else { + SOURCES += io/qstandardpaths_unix.cpp + } } else:standardpathsjson { SOURCES += io/qstandardpaths_json.cpp + } else:blackberry { + SOURCES += io/qstandardpaths_blackberry.cpp } else { SOURCES += io/qstandardpaths_unix.cpp } diff --git a/src/corelib/io/qfileinfo.cpp b/src/corelib/io/qfileinfo.cpp index 044c71d00a..1805e759ab 100644 --- a/src/corelib/io/qfileinfo.cpp +++ b/src/corelib/io/qfileinfo.cpp @@ -830,7 +830,7 @@ QString QFileInfo::suffix() const QDir QFileInfo::dir() const { Q_D(const QFileInfo); - // ### Qt5: Maybe rename this to parentDirectory(), considering what it actually do? + // ### Qt 6: Maybe rename this to parentDirectory(), considering what it actually does? return QDir(d->fileEntry.path()); } diff --git a/src/corelib/io/qiodevice.h b/src/corelib/io/qiodevice.h index eba408b285..8e39f9ccd7 100644 --- a/src/corelib/io/qiodevice.h +++ b/src/corelib/io/qiodevice.h @@ -102,7 +102,7 @@ public: virtual bool open(OpenMode mode); virtual void close(); - // ### Qt 5: pos() and seek() should not be virtual, and + // ### Qt 6: pos() and seek() should not be virtual, and // ### seek() should call a virtual seekData() function. virtual qint64 pos() const; virtual qint64 size() const; diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 2da2913c6f..bfa132f353 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -772,7 +772,8 @@ static pid_t doSpawn(int fd_count, int fd_map[], char **argv, char **envp, qWarning("ThreadCtl(): cannot hold threads: %s", qPrintable(qt_error_string(errno))); oldWorkingDir = QT_GETCWD(buff, PATH_MAX + 1); - QT_CHDIR(workingDir); + if (QT_CHDIR(workingDir) == -1) + qWarning("ThreadCtl(): failed to chdir to %s", workingDir); } pid_t childPid; @@ -783,7 +784,8 @@ static pid_t doSpawn(int fd_count, int fd_map[], char **argv, char **envp, } if (oldWorkingDir) { - QT_CHDIR(oldWorkingDir); + if (QT_CHDIR(oldWorkingDir) == -1) + qWarning("ThreadCtl(): failed to chdir to %s", oldWorkingDir); if (ThreadCtl(_NTO_TCTL_THREADS_CONT, 0) == -1) qFatal("ThreadCtl(): cannot resume threads: %s", qPrintable(qt_error_string(errno))); @@ -853,8 +855,10 @@ void QProcessPrivate::execChild(const char *workingDir, char **path, char **argv qt_safe_close(childStartedPipe[0]); // enter the working directory - if (workingDir) - QT_CHDIR(workingDir); + if (workingDir) { + if (QT_CHDIR(workingDir) == -1) + qWarning("QProcessPrivate::execChild() failed to chdir to %s", workingDir); + } // this is a virtual call, and it base behavior is to do nothing. q->setupChildProcess(); @@ -1372,8 +1376,10 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a if (doubleForkPid == 0) { qt_safe_close(pidPipe[1]); - if (!encodedWorkingDirectory.isEmpty()) - QT_CHDIR(encodedWorkingDirectory.constData()); + if (!encodedWorkingDirectory.isEmpty()) { + if (QT_CHDIR(encodedWorkingDirectory.constData()) == -1) + qWarning("QProcessPrivate::startDetached: failed to chdir to %s", encodedWorkingDirectory.constData()); + } char **argv = new char *[arguments.size() + 2]; for (int i = 0; i < arguments.size(); ++i) { @@ -1426,7 +1432,8 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a qt_safe_close(startedPipe[1]); qt_safe_write(pidPipe[1], (const char *)&doubleForkPid, sizeof(pid_t)); - QT_CHDIR("/"); + if (QT_CHDIR("/") == -1) + qWarning("QProcessPrivate::startDetached: failed to chdir to /"); ::_exit(1); } diff --git a/src/corelib/io/qsettings.h b/src/corelib/io/qsettings.h index a4bb8349a8..ca3fe245ea 100644 --- a/src/corelib/io/qsettings.h +++ b/src/corelib/io/qsettings.h @@ -173,8 +173,8 @@ public: static void setDefaultFormat(Format format); static Format defaultFormat(); - static void setSystemIniPath(const QString &dir); // ### remove in 5.0 (use setPath() instead) - static void setUserIniPath(const QString &dir); // ### remove in 5.0 (use setPath() instead) + static void setSystemIniPath(const QString &dir); // ### Qt 6: remove (use setPath() instead) + static void setUserIniPath(const QString &dir); // ### Qt 6: remove (use setPath() instead) static void setPath(Format format, Scope scope, const QString &path); typedef QMap<QString, QVariant> SettingsMap; diff --git a/src/corelib/io/qstandardpaths_blackberry.cpp b/src/corelib/io/qstandardpaths_blackberry.cpp new file mode 100644 index 0000000000..b4c036dcc7 --- /dev/null +++ b/src/corelib/io/qstandardpaths_blackberry.cpp @@ -0,0 +1,103 @@ +/*************************************************************************** +** +** Copyright (C) 2012 Research In Motion +** Contact: http://www.qt-project.org/ +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qstandardpaths.h" +#include <qdir.h> + +#ifndef QT_NO_STANDARDPATHS + +QT_BEGIN_NAMESPACE + +QString QStandardPaths::writableLocation(StandardLocation type) +{ + QDir sharedDir = QDir::home(); + sharedDir.cd(QLatin1String("../shared")); + + const QString sharedRoot = sharedDir.absolutePath(); + + switch (type) { + case DataLocation: + case DesktopLocation: + case HomeLocation: + return QDir::homePath(); + case RuntimeLocation: + case TempLocation: + return QDir::tempPath(); + case CacheLocation: + case GenericCacheLocation: + return QDir::homePath() + QLatin1String("/Cache"); + case ConfigLocation: + return QDir::homePath() + QLatin1String("/Settings"); + case GenericDataLocation: + return sharedRoot + QLatin1String("/misc"); + case DocumentsLocation: + return sharedRoot + QLatin1String("/documents"); + case PicturesLocation: + return sharedRoot + QLatin1String("/photos"); + case FontsLocation: + // this is not a writable location + return QString(); + case MusicLocation: + return sharedRoot + QLatin1String("/music"); + case MoviesLocation: + return sharedRoot + QLatin1String("/videos"); + case DownloadLocation: + return sharedRoot + QLatin1String("/downloads"); + case ApplicationsLocation: + return QString(); + default: + break; + } + + return QString(); +} + +QStringList QStandardPaths::standardLocations(StandardLocation type) +{ + if (type == FontsLocation) + return QStringList(QLatin1String("/base/usr/fonts")); + + return QStringList(writableLocation(type)); +} + +QT_END_NAMESPACE + +#endif // QT_NO_STANDARDPATHS |