Ignore:
Timestamp:
Feb 11, 2010, 11:19:06 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.1 sources.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/tools/linguist/shared/proparserutils.h

    r2 r561  
    22**
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    4 ** Contact: Qt Software Information (qt-info@nokia.com)
     4** All rights reserved.
     5** Contact: Nokia Corporation (qt-info@nokia.com)
    56**
    67** This file is part of the Qt Linguist of the Qt Toolkit.
     
    2122** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    2223**
    23 ** In addition, as a special exception, Nokia gives you certain
    24 ** additional rights. These rights are described in the Nokia Qt LGPL
    25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
    26 ** package.
     24** In addition, as a special exception, Nokia gives you certain additional
     25** rights.  These rights are described in the Nokia Qt LGPL Exception
     26** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
    2727**
    2828** GNU General Public License Usage
     
    3434** met: http://www.gnu.org/copyleft/gpl.html.
    3535**
    36 ** If you are unsure which license is appropriate for your use, please
    37 ** contact the sales department at qt-sales@nokia.com.
     36** If you have questions regarding the use of this file, please contact
     37** Nokia at qt-info@nokia.com.
    3838** $QT_END_LICENSE$
    3939**
     
    4444
    4545#include <QtCore/QDir>
     46#ifndef QT_BOOTSTRAPPED
    4647#include <QtCore/QLibraryInfo>
     48#endif
    4749
    4850QT_BEGIN_NAMESPACE
     51
     52#ifdef QT_BOOTSTRAPPED
     53// this is a stripped down version of the one found in QtCore
     54class QLibraryInfo
     55{
     56public:
     57    enum LibraryLocation
     58    {
     59        PrefixPath,
     60        DocumentationPath,
     61        HeadersPath,
     62        LibrariesPath,
     63        BinariesPath,
     64        PluginsPath,
     65        DataPath,
     66        TranslationsPath,
     67        SettingsPath,
     68        DemosPath,
     69        ExamplesPath
     70    };
     71    static QString location(LibraryLocation);
     72};
     73#endif
    4974
    5075// Pre- and postcondition macros
     
    94119        Option::field_sep = QLatin1Char(' ');
    95120    }
     121
     122    enum StringFixFlags {
     123        FixNone                 = 0x00,
     124        FixEnvVars              = 0x01,
     125        FixPathCanonicalize     = 0x02,
     126        FixPathToLocalSeparators  = 0x04,
     127        FixPathToTargetSeparators = 0x08
     128    };
     129    static QString fixString(QString string, uchar flags);
     130
     131    inline static QString fixPathToLocalOS(const QString &in, bool fix_env = true, bool canonical = true)
     132    {
     133        uchar flags = FixPathToLocalSeparators;
     134        if (fix_env)
     135            flags |= FixEnvVars;
     136        if (canonical)
     137            flags |= FixPathCanonicalize;
     138        return fixString(in, flags);
     139    }
    96140};
    97141#if defined(Q_OS_WIN32)
     
    111155
    112156static void insertUnique(QHash<QString, QStringList> *map,
    113     const QString &key, const QStringList &value, bool unique = true)
     157    const QString &key, const QStringList &value)
    114158{
    115159    QStringList &sl = (*map)[key];
    116     if (!unique) {
    117         sl += value;
    118     } else {
    119         for (int i = 0; i < value.count(); ++i) {
    120             if (!sl.contains(value.at(i)))
    121                 sl.append(value.at(i));
    122         }
    123     }
     160    foreach (const QString &str, value)
     161        if (!sl.contains(str))
     162            sl.append(str);
     163}
     164
     165static void removeEach(QHash<QString, QStringList> *map,
     166    const QString &key, const QStringList &value)
     167{
     168    QStringList &sl = (*map)[key];
     169    foreach (const QString &str, value)
     170        sl.removeAll(str);
    124171}
    125172
     
    149196*/
    150197
    151 inline QStringList splitPathList(const QString paths)
     198inline QString fixEnvVariables(const QString &x)
     199{
     200    return Option::fixString(x, Option::FixEnvVars);
     201}
     202
     203inline QStringList splitPathList(const QString &paths)
    152204{
    153205    return paths.split(Option::dirlist_sep);
     
    256308{
    257309    QStringList ret;
    258     const QString concat = QDir::separator() + QString(QLatin1String("mkspecs"));
     310    const QString concat = QDir::separator() + QLatin1String("mkspecs");
    259311    QByteArray qmakepath = qgetenv("QMAKEPATH");
    260312    if (!qmakepath.isEmpty()) {
Note: See TracChangeset for help on using the changeset viewer.