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:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/activeqt/control/control.pro

    r2 r561  
    2525win32-g++:LIBS += -luuid
    2626
    27 contains(QT_EDITION, OpenSource|Console) {
    28     message( "You are not licensed to use ActiveQt." )
    29 } else {
    30     HEADERS     = qaxaggregated.h \
    31                   qaxbindable.h \
    32                   qaxfactory.h \
    33                   ../shared/qaxtypes.h
     27HEADERS =   qaxaggregated.h \
     28            qaxbindable.h \
     29            qaxfactory.h \
     30            ../shared/qaxtypes.h
    3431
    35     SOURCES     = qaxserver.cpp \
    36                   qaxserverbase.cpp \
    37                   qaxbindable.cpp \
    38                   qaxfactory.cpp \
    39                   qaxservermain.cpp \
    40                   qaxserverdll.cpp \
    41                   qaxmain.cpp \
    42                   ../shared/qaxtypes.cpp
    43 }
     32SOURCES =   qaxserver.cpp \
     33            qaxserverbase.cpp \
     34            qaxbindable.cpp \
     35            qaxfactory.cpp \
     36            qaxservermain.cpp \
     37            qaxserverdll.cpp \
     38            qaxmain.cpp \
     39            ../shared/qaxtypes.cpp
  • trunk/src/activeqt/control/qaxaggregated.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 ActiveQt framework of the Qt Toolkit.
  • trunk/src/activeqt/control/qaxbindable.cpp

    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 ActiveQt framework of the Qt Toolkit.
  • trunk/src/activeqt/control/qaxbindable.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 ActiveQt framework of the Qt Toolkit.
  • trunk/src/activeqt/control/qaxfactory.cpp

    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 ActiveQt framework of the Qt Toolkit.
     
    5152QT_BEGIN_NAMESPACE
    5253
    53 extern char qAxModuleFilename[MAX_PATH];
     54extern wchar_t qAxModuleFilename[MAX_PATH];
    5455
    5556/*!
     
    278279
    279280    if (licenseKey.isEmpty()) {
    280         QString licFile(QFile::decodeName(qAxModuleFilename));
     281        QString licFile(QString::fromWCharArray(qAxModuleFilename));
    281282        int lastDot = licFile.lastIndexOf(QLatin1Char('.'));
    282283        licFile = licFile.left(lastDot) + QLatin1String(".lic");
     
    361362}
    362363
    363 extern char qAxModuleFilename[MAX_PATH];
     364extern wchar_t qAxModuleFilename[MAX_PATH];
    364365
    365366/*!
     
    373374QString QAxFactory::serverDirPath()
    374375{
    375     return QFileInfo(QString::fromLocal8Bit(qAxModuleFilename)).absolutePath();
     376    return QFileInfo(QString::fromWCharArray(qAxModuleFilename)).absolutePath();
    376377}
    377378
     
    385386QString QAxFactory::serverFilePath()
    386387{
    387     return QString::fromLocal8Bit(qAxModuleFilename);
     388    return QString::fromWCharArray(qAxModuleFilename);
    388389}
    389390
     
    493494        return false;
    494495
    495     if (!QString::fromLocal8Bit(qAxModuleFilename).toLower().endsWith(QLatin1String(".exe")))
     496    if (!QString::fromWCharArray(qAxModuleFilename).toLower().endsWith(QLatin1String(".exe")))
    496497        return false;
    497498
  • trunk/src/activeqt/control/qaxfactory.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 ActiveQt framework of the Qt Toolkit.
  • trunk/src/activeqt/control/qaxmain.cpp

    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 ActiveQt framework of the Qt Toolkit.
  • trunk/src/activeqt/control/qaxserver.cpp

    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 ActiveQt framework of the Qt Toolkit.
     
    6465HANDLE qAxInstance = 0;
    6566ITypeLib *qAxTypeLibrary = 0;
    66 char qAxModuleFilename[MAX_PATH];
     67wchar_t qAxModuleFilename[MAX_PATH];
    6768bool qAxOutProcServer = false;
    6869
     
    9192        for (int i = 0; i < keys.count(); ++i) {
    9293            QString key(keys.at(i));
    93             qRegisterMetaType((key + QLatin1String("*")).toLatin1(), (void**)0);
     94            qRegisterMetaType((key + QLatin1Char('*')).toLatin1(), (void**)0);
    9495        }
    9596    }
     
    117118    InitializeCriticalSection(&qAxModuleSection);
    118119   
    119     libFile = QString::fromLocal8Bit(qAxModuleFilename);
     120    libFile = QString::fromWCharArray(qAxModuleFilename);
    120121    libFile = libFile.toLower();
    121     if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
     122    if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
    122123        return libFile;
    123124
    124125    int lastDot = libFile.lastIndexOf(QLatin1Char('.'));
    125126    libFile = libFile.left(lastDot) + QLatin1String(".tlb");
    126     if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
     127    if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
    127128        return libFile;
    128129
    129130    lastDot = libFile.lastIndexOf(QLatin1Char('.'));
    130131    libFile = libFile.left(lastDot) + QLatin1String(".olb");
    131     if (LoadTypeLibEx((TCHAR*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
     132    if (LoadTypeLibEx((wchar_t*)libFile.utf16(), REGKIND_NONE, &qAxTypeLibrary) == S_OK)
    132133        return libFile;
    133134
     
    208209{
    209210    qAxIsServer = false;
    210     QString file = QString::fromLocal8Bit(qAxModuleFilename);
    211     QString path = file.left(file.lastIndexOf(QLatin1String("\\"))+1);
     211    QString file = QString::fromWCharArray(qAxModuleFilename);
     212    QString path = file.left(file.lastIndexOf(QLatin1Char('\\'))+1);
    212213    QString module = file.right(file.length() - path.length());
    213     module = module.left(module.lastIndexOf(QLatin1String(".")));
     214    module = module.left(module.lastIndexOf(QLatin1Char('.')));
    214215   
    215216    const QString appId = qAxFactory()->appID().toString().toUpper();
     
    227228    DWORD major = libAttr->wMajorVerNum;
    228229    DWORD minor = libAttr->wMinorVerNum;
    229     typeLibVersion = QString::number((uint)major) + QLatin1String(".") + QString::number((uint)minor);
     230    typeLibVersion = QString::number((uint)major) + QLatin1Char('.') + QString::number((uint)minor);
    230231
    231232    if (bRegister)
    232         RegisterTypeLib(qAxTypeLibrary, (TCHAR*)libFile.utf16(), 0);
     233        RegisterTypeLib(qAxTypeLibrary, (wchar_t*)libFile.utf16(), 0);
    233234    else
    234235        UnRegisterTypeLib(libAttr->guid, libAttr->wMajorVerNum, libAttr->wMinorVerNum, libAttr->lcid, libAttr->syskind);
     
    272273
    273274            if (object) { // don't register subobject classes
    274                 QString classVersion = mo ? QString(QLatin1String(mo->classInfo(mo->indexOfClassInfo("Version")).value())) : QString();
     275                QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString();
    275276                if (classVersion.isNull())
    276277                    classVersion = QLatin1String("1.0");
    277278                bool insertable = mo && !qstricmp(mo->classInfo(mo->indexOfClassInfo("Insertable")).value(), "yes");
    278279                bool control = object->isWidgetType();
    279                 const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1String(".")));
     280                const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1Char('.')));
    280281                uint olemisc = OLEMISC_SETCLIENTSITEFIRST
    281282                    |OLEMISC_ACTIVATEWHENVISIBLE
     
    288289                    olemisc |= OLEMISC_WANTSTOMENUMERGE;
    289290               
    290                 settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/."), className + QLatin1String(" Class"));
    291                 settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/CLSID/."), classId);
     291                settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/."), className + QLatin1String(" Class"));
     292                settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/CLSID/."), classId);
    292293                if (insertable)
    293                     settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/Insertable/."), QVariant(QLatin1String("")));
     294                    settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/Insertable/."), QVariant(QLatin1String("")));
    294295               
    295                 settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/."), className + QLatin1String(" Class"));
    296                 settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/CLSID/."), classId);
    297                 settings.setValue(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/CurVer/."), module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion);
     296                settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/."), className + QLatin1String(" Class"));
     297                settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/CLSID/."), classId);
     298                settings.setValue(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/CurVer/."), module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion);
    298299               
    299300                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/."), className + QLatin1String(" Class"));
    300                 if (file.right(3).toLower() == QLatin1String("exe"))
     301                if (file.endsWith(QLatin1String("exe"), Qt::CaseInsensitive))
    301302                    settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/AppID"), appId);
    302303                if (control)
     
    308309                else
    309310                    settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/LocalServer32/."),
    310                                       QLatin1String("\"") + file + QLatin1String("\" -activex"));
     311                                      QLatin1Char('\"') + file + QLatin1String("\" -activex"));
    311312                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/MiscStatus/."), control ? QLatin1String("1") : QLatin1String("0"));
    312313                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/MiscStatus/1/."), QString::number(olemisc));
    313314                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/Programmable/."), QVariant(QLatin1String("")));
    314                 settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/ToolboxBitmap32/."), QLatin1String("\"") +
     315                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/ToolboxBitmap32/."), QLatin1Char('\"') +
    315316                                  file + QLatin1String("\", 101"));
    316317                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/TypeLib/."), libId); settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/Version/."), classVersion);
    317                 settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/VersionIndependentProgID/."), module + QLatin1String(".") + className);
    318                 settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/ProgID/."), module + QLatin1String(".") + className + QLatin1String(".") + classVersion.left(classVersion.indexOf(QLatin1Char('.'))));
     318                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/VersionIndependentProgID/."), module + QLatin1Char('.') + className);
     319                settings.setValue(QLatin1String("/CLSID/") + classId + QLatin1String("/ProgID/."), module + QLatin1Char('.') + className + QLatin1Char('.') + classVersion.left(classVersion.indexOf(QLatin1Char('.'))));
    319320
    320321                QString mime = QLatin1String(mo->classInfo(mo->indexOfClassInfo("MIME")).value());
     
    331332                            // Prepend '.' before extension, if required.
    332333                            extension = extension.trimmed();
    333                             if (extension[0] != QChar(QLatin1Char('.')))
    334                                 extension = QLatin1String(".") + extension;
     334                            if (extension[0] != QLatin1Char('.'))
     335                                extension = QLatin1Char('.') + extension;
    335336                        }
    336337
    337338                        if (!extension.isEmpty()) {
    338                             settings.setValue(QLatin1String("/") + extension + QLatin1String("/."), module + QLatin1String(".") + className);
    339                             settings.setValue(QLatin1String("/") + extension + QLatin1String("/Content Type"), mime);
    340 
    341                             mime = mime.replace(QLatin1String("/"), QLatin1String("\\"));
     339                            settings.setValue(QLatin1Char('/') + extension + QLatin1String("/."), module + QLatin1Char('.') + className);
     340                            settings.setValue(QLatin1Char('/') + extension + QLatin1String("/Content Type"), mime);
     341
     342                            mime = mime.replace(QLatin1Char('/'), QLatin1Char('\\'));
    342343                            settings.setValue(QLatin1String("/MIME/Database/Content Type/") + mime + QLatin1String("/CLSID"), classId);
    343344                            settings.setValue(QLatin1String("/MIME/Database/Content Type/") + mime + QLatin1String("/Extension"), extension);
     
    352353        }
    353354    } else {
     355        if (qAxOutProcServer) {
     356            settings.remove(QLatin1String("/AppID/") + appId + QLatin1String("/."));
     357            settings.remove(QLatin1String("/AppID/") + module + QLatin1String(".EXE"));
     358        }
    354359        QStringList keys = qAxFactory()->featureList();
    355360        for (QStringList::Iterator key = keys.begin(); key != keys.end(); ++key) {
     
    359364            className = qax_clean_type(className, mo);
    360365           
    361             QString classVersion = mo ? QString(QLatin1String(mo->classInfo(mo->indexOfClassInfo("Version")).value())) : QString();
     366            QString classVersion = mo ? QString::fromLatin1(mo->classInfo(mo->indexOfClassInfo("Version")).value()) : QString();
    362367            if (classVersion.isNull())
    363368                classVersion = QLatin1String("1.0");
    364             const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1String(".")));
     369            const QString classMajorVersion = classVersion.left(classVersion.indexOf(QLatin1Char('.')));
    365370           
    366371            qAxFactory()->unregisterClass(*key, &settings);
    367372           
    368             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/CLSID/."));
    369             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/Insertable/."));
    370             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion + QLatin1String("/."));
    371             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String(".") + classMajorVersion);
     373            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/CLSID/."));
     374            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/Insertable/."));
     375            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion + QLatin1String("/."));
     376            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1Char('.') + classMajorVersion);
    372377           
    373             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/CLSID/."));
    374             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/CurVer/."));
    375             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className + QLatin1String("/."));
    376             settings.remove(QLatin1String("/") + module + QLatin1String(".") + className);
     378            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/CLSID/."));
     379            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/CurVer/."));
     380            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className + QLatin1String("/."));
     381            settings.remove(QLatin1Char('/') + module + QLatin1Char('.') + className);
    377382           
    378383            settings.remove(QLatin1String("/CLSID/") + classId + QLatin1String("/AppID"));
     
    405410                        // Prepend '.' before extension, if required.
    406411                        extension = extension.trimmed();
    407                         if (extension[0] != QChar(QLatin1Char('.')))
    408                             extension = QLatin1String(".") + extension;
     412                        if (extension[0] != QLatin1Char('.'))
     413                            extension.prepend(QLatin1Char('.'));
    409414                    }
    410415                    if (!extension.isEmpty()) {
    411                         settings.remove(QLatin1String("/") + extension + QLatin1String("/Content Type"));
    412                         settings.remove(QLatin1String("/") + extension + QLatin1String("/."));
    413                         settings.remove(QLatin1String("/") + extension);
    414                         mime = mime.replace(QLatin1String("/"), QLatin1String("\\"));
     416                        settings.remove(QLatin1Char('/') + extension + QLatin1String("/Content Type"));
     417                        settings.remove(QLatin1Char('/') + extension + QLatin1String("/."));
     418                        settings.remove(QLatin1Char('/') + extension);
     419                        mime.replace(QLatin1Char('/'), QLatin1Char('\\'));
    415420                        settings.remove(QLatin1String("/MIME/Database/Content Type/") + mime + QLatin1String("/Extension"));
    416421                        settings.remove(QLatin1String("/MIME/Database/Content Type/") + mime + QLatin1String("/CLSID"));
     
    456461    { "QPixmap",        "IPictureDisp*" },
    457462    { "QVariant",       "VARIANT" },
    458     { "QVariantList",   "SAFEARRAY(VARIANT)" },
    459     { "QList<QVariant>","SAFEARRAY(VARIANT)" },
     463    { "QVariantList",    "SAFEARRAY(VARIANT)" },
     464    { "QList<QVariant>", "SAFEARRAY(VARIANT)" },
    460465    { "quint64",        "CY" },
    461466    { "qint64",         "CY" },
     
    465470    { "QStringList",    "SAFEARRAY(BSTR)" },
    466471    // Userdefined Qt datatypes - some not on Borland though
    467     { "QCursor",        "enum MousePointer" },
    468     { "Qt::FocusPolicy","enum FocusPolicy" },
     472    { "QCursor",         "enum MousePointer" },
     473    { "Qt::FocusPolicy", "enum FocusPolicy" },
    469474#ifndef Q_CC_BOR
    470475# if __REQUIRED_RPCNDR_H_VERSION__ >= Q_REQUIRED_RPCNDR_H_VERSION
     
    579584    if (mapping.contains(name)) {
    580585        int n = mapping.value(name);
    581         newName = name + "_" + QByteArray::number(n);
     586        newName = name + '_' + QByteArray::number(n);
    582587        mapping.insert(name, n+1);
    583588    } else {
     
    687692        QByteArray name(parameterNames.at(p));
    688693       
    689         if (type.endsWith("&")) {
     694        if (type.endsWith('&')) {
    690695            out = true;
    691696            type.truncate(type.length() - 1);
     
    693698            out = true;
    694699            type.truncate(type.length() - 1);
    695         } else if (type.endsWith("*") && !subtypes.contains(type)) {
     700        } else if (type.endsWith('*') && !subtypes.contains(type)) {
    696701            type.truncate(type.length() - 1);
    697702        }
     
    702707        type = convertTypes(type, ok);
    703708        if (!out)
    704             prototype += "[in] " + type + " ";
     709            prototype += "[in] " + type + ' ';
    705710        else
    706             prototype += "[in,out] " + type + " ";
     711            prototype += "[in,out] " + type + ' ';
    707712       
    708713        if (out)
    709             prototype += "*";
     714            prototype += '*';
    710715        if (name.isEmpty())
    711             prototype += "p" + QByteArray::number(p);
     716            prototype += 'p' + QByteArray::number(p);
    712717        else
    713718            prototype += "p_" + replaceKeyword(name);
     
    729734    int in = -1;
    730735    while (numDefArgs) {
    731         in = ptype.lastIndexOf("]", in);
     736        in = ptype.lastIndexOf(']', in);
    732737        ptype.replace(in, 1, ",optional]");
    733738        in = ptype.indexOf(' ', in) + 1;
    734739        QByteArray type = ptype.mid(in, ptype.indexOf(' ', in) - in);
    735740        if (type == "enum")
    736             type += " " + ptype.mid(in + 5, ptype.indexOf(' ', in + 5) - in - 5);
     741            type += ' ' + ptype.mid(in + 5, ptype.indexOf(' ', in + 5) - in - 5);
    737742        ptype.replace(in, type.length(), QByteArray("VARIANT /*was: ") + type + "*/");
    738743        --numDefArgs;
     
    802807            QByteArray key(enumerator.key(j));
    803808            while (enumValues.contains(key)) {
    804                 key += "_";
     809                key += '_';
    805810            }
    806811            enumValues.append(key);
     
    823828        enums.append("MousePointer");
    824829        out << "\tenum MousePointer {" << endl;
    825         out << "\t\tArrowCursor             = " << Qt::ArrowCursor << "," << endl;
    826         out << "\t\tUpArrowCursor           = " << Qt::UpArrowCursor << "," << endl;
    827         out << "\t\tCrossCursor             = " << Qt::CrossCursor << "," << endl;
    828         out << "\t\tWaitCursor              = " << Qt::WaitCursor << "," << endl;
    829         out << "\t\tIBeamCursor             = " << Qt::IBeamCursor << "," << endl;
    830         out << "\t\tSizeVerCursor           = " << Qt::SizeVerCursor << "," << endl;
    831         out << "\t\tSizeHorCursor           = " << Qt::SizeHorCursor << "," << endl;
    832         out << "\t\tSizeBDiagCursor         = " << Qt::SizeBDiagCursor << "," << endl;
    833         out << "\t\tSizeFDiagCursor         = " << Qt::SizeFDiagCursor << "," << endl;
    834         out << "\t\tSizeAllCursor           = " << Qt::SizeAllCursor << "," << endl;
    835         out << "\t\tBlankCursor             = " << Qt::BlankCursor << "," << endl;
    836         out << "\t\tSplitVCursor            = " << Qt::SplitVCursor << "," << endl;
    837         out << "\t\tSplitHCursor            = " << Qt::SplitHCursor << "," << endl;
    838         out << "\t\tPointingHandCursor      = " << Qt::PointingHandCursor << "," << endl;
    839         out << "\t\tForbiddenCursor         = " << Qt::ForbiddenCursor << "," << endl;
    840         out << "\t\tWhatsThisCursor         = " << Qt::WhatsThisCursor << "," << endl;
     830        out << "\t\tArrowCursor             = " << Qt::ArrowCursor << ',' << endl;
     831        out << "\t\tUpArrowCursor           = " << Qt::UpArrowCursor << ',' << endl;
     832        out << "\t\tCrossCursor             = " << Qt::CrossCursor << ',' << endl;
     833        out << "\t\tWaitCursor              = " << Qt::WaitCursor << ',' << endl;
     834        out << "\t\tIBeamCursor             = " << Qt::IBeamCursor << ',' << endl;
     835        out << "\t\tSizeVerCursor           = " << Qt::SizeVerCursor << ',' << endl;
     836        out << "\t\tSizeHorCursor           = " << Qt::SizeHorCursor << ',' << endl;
     837        out << "\t\tSizeBDiagCursor         = " << Qt::SizeBDiagCursor << ',' << endl;
     838        out << "\t\tSizeFDiagCursor         = " << Qt::SizeFDiagCursor << ',' << endl;
     839        out << "\t\tSizeAllCursor           = " << Qt::SizeAllCursor << ',' << endl;
     840        out << "\t\tBlankCursor             = " << Qt::BlankCursor << ',' << endl;
     841        out << "\t\tSplitVCursor            = " << Qt::SplitVCursor << ',' << endl;
     842        out << "\t\tSplitHCursor            = " << Qt::SplitHCursor << ',' << endl;
     843        out << "\t\tPointingHandCursor      = " << Qt::PointingHandCursor << ',' << endl;
     844        out << "\t\tForbiddenCursor         = " << Qt::ForbiddenCursor << ',' << endl;
     845        out << "\t\tWhatsThisCursor         = " << Qt::WhatsThisCursor << ',' << endl;
    841846        out << "\t\tBusyCursor\t= " << Qt::BusyCursor << endl;
    842847        out << "\t};" << endl << endl;
     
    845850        enums.append("FocusPolicy");
    846851        out << "\tenum FocusPolicy {" << endl;
    847         out << "\t\tNoFocus             = " << Qt::NoFocus << "," << endl;
    848         out << "\t\tTabFocus            = " << Qt::TabFocus << "," << endl;
    849         out << "\t\tClickFocus          = " << Qt::ClickFocus << "," << endl;
    850         out << "\t\tStrongFocus         = " << Qt::StrongFocus << "," << endl;
     852        out << "\t\tNoFocus             = " << Qt::NoFocus << ',' << endl;
     853        out << "\t\tTabFocus            = " << Qt::TabFocus << ',' << endl;
     854        out << "\t\tClickFocus          = " << Qt::ClickFocus << ',' << endl;
     855        out << "\t\tStrongFocus         = " << Qt::StrongFocus << ',' << endl;
    851856        out << "\t\tWheelFocus          = " << Qt::WheelFocus << endl;
    852857        out << "\t};" << endl << endl;
     
    878883            out << "\t/****** Property is of unsupported datatype" << endl;
    879884       
    880         out << "\t\t[id(" << id << ")";
     885        out << "\t\t[id(" << id << ')';
    881886        if (!property.isWritable())
    882887            out << ", readonly";
     
    887892        if (isBindable)
    888893            out << ", requestedit";
    889         if (defProp == QString::fromLatin1(name.constData()))
     894        if (defProp == QLatin1String(name))
    890895            out << ", uidefault";
    891         out << "] " << type << " " << name << ";" << endl;
     896        out << "] " << type << ' ' << name << ';' << endl;
    892897       
    893898        if (!ok)
     
    940945            outBuffer += "\t/****** Slot parameter uses unsupported datatype\n";
    941946       
    942         outBuffer += "\t\t[id(" + QString::number(id).toLatin1() + ")] " + type + " " + name + "(" + ptype + ");\n";
     947        outBuffer += "\t\t[id(" + QString::number(id).toLatin1() + ")] " + type + ' ' + name + '(' + ptype + ");\n";
    943948       
    944949        if (!ok)
     
    992997            QList<QByteArray> parameterNames(signal.parameterNames());
    993998           
    994             bool isDefault = defSignal == QString::fromLatin1(name.constData());
     999            bool isDefault = defSignal == QLatin1String(name);
    9951000            name = renameOverloads(replaceKeyword(name));
    9961001            bool ok = true;
     
    10041009                out << "\t/****** Signal parameter uses unsupported datatype" << endl;
    10051010           
    1006             out << "\t\t[id(" << id << ")";
     1011            out << "\t\t[id(" << id << ')';
    10071012            if (isDefault)
    10081013                out << ", uidefault";
    1009             out << "] void " << name << "(" << ptype << ");" << endl;
     1014            out << "] void " << name << '(' << ptype << ");" << endl;
    10101015           
    10111016            if (!ok)
     
    10321037    if (classVersion)
    10331038        out << "\t\tversion(" << classVersion << ")," << endl;
    1034     out << "\t\tuuid(" << classID << ")";
     1039    out << "\t\tuuid(" << classID << ')';
    10351040    if (control) {
    10361041        out << ", " << endl;
     
    10441049    out << "\tcoclass " << cleanClassName << endl;
    10451050    out << "\t{" << endl;
    1046     out << "\t\t[default] dispinterface I" << cleanClassName << ";" << endl;
     1051    out << "\t\t[default] dispinterface I" << cleanClassName << ';' << endl;
    10471052    if (hasEvents)
    10481053        out << "\t\t[default, source] dispinterface I" << cleanClassName << "Events;" << endl;
     
    10681073    file.remove();
    10691074   
    1070     QString filebase = QString::fromLocal8Bit(qAxModuleFilename);
    1071     filebase = filebase.left(filebase.lastIndexOf(QLatin1String(".")));
     1075    QString filebase = QString::fromWCharArray(qAxModuleFilename);
     1076    filebase = filebase.left(filebase.lastIndexOf(QLatin1Char('.')));
    10721077   
    10731078    QString appID = qAxFactory()->appID().toString().toUpper();
     
    11041109    out << "** Interface definition generated for ActiveQt project" << endl;
    11051110    out << "**" << endl;
    1106     out << "**     '" << qAxModuleFilename << "'" << endl;
     1111    out << "**     '" << QString::fromWCharArray(qAxModuleFilename) << '\'' << endl;
    11071112    out << "**" << endl;
    11081113    out << "** Created:  " << QDateTime::currentDateTime().toString() << endl;
     
    11221127    }
    11231128   
    1124     out << "[" << endl;
     1129    out << '[' << endl;
    11251130    out << "\tuuid(" << typeLibID << ")," << endl;
    11261131    out << "\tversion(" << version << ")," << endl;
    1127     out << "\thelpstring(\"" << typelib << " " << version << " Type Library\")" << endl;
    1128     out << "]" << endl;
     1132    out << "\thelpstring(\"" << typelib << ' ' << version << " Type Library\")" << endl;
     1133    out << ']' << endl;
    11291134    out << "library " << typelib << "Lib" << endl;
    1130     out << "{" << endl;
     1135    out << '{' << endl;
    11311136    out << "\timportlib(\"stdole32.tlb\");" << endl;
    11321137    out << "\timportlib(\"stdole2.tlb\");" << endl << endl;
     
    11891194        if (mo) {
    11901195            QByteArray cleanType = qax_clean_type(*key, mo).toLatin1();
    1191             out << "\tcoclass " << cleanType << ";" << endl;
     1196            out << "\tcoclass " << cleanType << ';' << endl;
    11921197            subtypes.append(cleanType);
    1193             subtypes.append(cleanType + "*");
    11941198            qRegisterMetaType(cleanType, (void**)0);
    1195             qRegisterMetaType(cleanType + "*", (void**)0);
     1199            cleanType += '*';
     1200            subtypes.append(cleanType);
     1201            qRegisterMetaType(cleanType, (void**)0);
    11961202        }
    11971203    }
     
    12261232        QByteArray cleanType = qax_clean_type(*key, mo).toLatin1();
    12271233        subtypes.append(cleanType);
    1228         subtypes.append(cleanType + "*");
     1234        subtypes.append(cleanType + '*');
    12291235        res = classIDL(o, mo, QString::fromLatin1(className.constData()), isBindable, out);
    12301236        delete o;
  • trunk/src/activeqt/control/qaxserverbase.cpp

    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 ActiveQt framework of the Qt Toolkit.
     
    789790    while (!axbase && baseHwnd) {
    790791#ifdef GWLP_USERDATA
    791         QT_WA({
    792             axbase = (QAxServerBase*)GetWindowLongPtrW(baseHwnd, GWLP_USERDATA);
    793         }, {
    794             axbase = (QAxServerBase*)GetWindowLongPtrA(baseHwnd, GWLP_USERDATA);
    795         });
     792        axbase = (QAxServerBase*)GetWindowLongPtr(baseHwnd, GWLP_USERDATA);
    796793#else
    797         QT_WA({
    798             axbase = (QAxServerBase*)GetWindowLongW(baseHwnd, GWL_USERDATA);
    799         }, {
    800             axbase = (QAxServerBase*)GetWindowLongA(baseHwnd, GWL_USERDATA);
    801         });
     794        axbase = (QAxServerBase*)GetWindowLong(baseHwnd, GWL_USERDATA);
    802795#endif
    803796
     
    906899        // hook into eventloop; this allows a server to create his own QApplication object
    907900        if (!qax_hhook && qax_ownQApp) {
    908             QT_WA({
    909                 qax_hhook = SetWindowsHookExW(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
    910             }, {
    911                 qax_hhook = SetWindowsHookExA(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
    912             });
     901            qax_hhook = SetWindowsHookEx(WH_GETMESSAGE, axs_FilterProc, 0, GetCurrentThreadId());
    913902        }
    914903
     
    984973    HRESULT WINAPI CreateInstanceLic(IUnknown *pUnkOuter, IUnknown *pUnkReserved, REFIID iid, BSTR bKey, PVOID *ppObject)
    985974    {
    986         QString licenseKey = QString::fromUtf16((const ushort *)bKey);
     975        QString licenseKey = QString::fromWCharArray(bKey);
    987976        if (!qAxFactory()->validateLicenseKey(className, licenseKey))
    988977            return CLASS_E_NOTLICENSED;
     
    13041293    internalBind();
    13051294    if (isWidget) {
    1306         if (!stayTopLevel) {
    1307             QEvent e(QEvent::EmbeddingControl);
    1308             QApplication::sendEvent(qt.widget, &e);
    1309             QT_WA({
    1310                 ::SetWindowLongW(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
    1311             }, {
    1312                 ::SetWindowLongA(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
    1313             });
    1314         }
     1295        if (!stayTopLevel) {
     1296            QEvent e(QEvent::EmbeddingControl);
     1297            QApplication::sendEvent(qt.widget, &e);
     1298            ::SetWindowLong(qt.widget->winId(), GWL_STYLE, WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
     1299        }
    13151300        qt.widget->setAttribute(Qt::WA_QuitOnClose, false);
    13161301        qt.widget->move(0, 0);
     
    13691354{
    13701355    if (uMsg == WM_CREATE) {
    1371         QAxServerBase *that;
    1372         QT_WA({
    1373             CREATESTRUCTW *cs = (CREATESTRUCTW*)lParam;
    1374             that = (QAxServerBase*)cs->lpCreateParams;
    1375         }, {
    1376             CREATESTRUCTA *cs = (CREATESTRUCTA*)lParam;
    1377             that = (QAxServerBase*)cs->lpCreateParams;
    1378         });
     1356        CREATESTRUCT *cs = (CREATESTRUCT*)lParam;
     1357        QAxServerBase *that = (QAxServerBase*)cs->lpCreateParams;
    13791358
    13801359#ifdef GWLP_USERDATA
    1381         QT_WA({
    1382             SetWindowLongPtrW(hWnd, GWLP_USERDATA, (LONG_PTR)that);
    1383         }, {
    1384             SetWindowLongPtrA(hWnd, GWLP_USERDATA, (LONG_PTR)that);
    1385         });
     1360        SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)that);
    13861361#else
    1387         QT_WA({
    1388             SetWindowLongW(hWnd, GWL_USERDATA, (LONG)that);
    1389         }, {
    1390             SetWindowLongA(hWnd, GWL_USERDATA, (LONG)that);
    1391         });
     1362        SetWindowLong(hWnd, GWL_USERDATA, (LONG)that);
    13921363#endif
    13931364
    1394         that->m_hWnd = hWnd;
    1395 
    1396         QT_WA({
    1397             return ::DefWindowProcW(hWnd, uMsg, wParam, lParam);
    1398         }, {
    1399             return ::DefWindowProcA(hWnd, uMsg, wParam, lParam);
    1400         });
     1365        that->m_hWnd = hWnd;
     1366
     1367        return ::DefWindowProc(hWnd, uMsg, wParam, lParam);
    14011368    }
    14021369
     
    14041371
    14051372#ifdef GWLP_USERDATA
    1406     QT_WA({
    1407         that = (QAxServerBase*)GetWindowLongPtrW(hWnd, GWLP_USERDATA);
    1408     }, {
    1409         that = (QAxServerBase*)GetWindowLongPtrA(hWnd, GWLP_USERDATA);
    1410     });
     1373    that = (QAxServerBase*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
    14111374#else
    1412     QT_WA({
    1413         that = (QAxServerBase*)GetWindowLongW(hWnd, GWL_USERDATA);
    1414     }, {
    1415         that = (QAxServerBase*)GetWindowLongA(hWnd, GWL_USERDATA);
    1416     });
     1375    that = (QAxServerBase*)GetWindowLong(hWnd, GWL_USERDATA);
    14171376#endif
    14181377
     
    15641523    }
    15651524
    1566     QT_WA({
    1567         return ::DefWindowProcW(hWnd, uMsg, wParam, lParam);
    1568     }, {
    1569         return ::DefWindowProcA(hWnd, uMsg, wParam, lParam);
    1570     });
     1525    return ::DefWindowProc(hWnd, uMsg, wParam, lParam);
    15711526}
    15721527
     
    15841539    cn += QString::number((int)ActiveXProc);
    15851540    if (!atom) {
    1586         QT_WA({
    1587             WNDCLASSW wcTemp;
    1588             wcTemp.style = CS_DBLCLKS;
    1589             wcTemp.cbClsExtra = 0;
    1590             wcTemp.cbWndExtra = 0;
    1591             wcTemp.hbrBackground = 0;
    1592             wcTemp.hCursor = 0;
    1593             wcTemp.hIcon = 0;
    1594             wcTemp.hInstance = hInst;
    1595             wcTemp.lpszClassName = (wchar_t*)cn.utf16();
    1596             wcTemp.lpszMenuName = 0;
    1597             wcTemp.lpfnWndProc = ActiveXProc;
    1598 
    1599             atom = RegisterClassW(&wcTemp);
    1600         }, {
    1601             QByteArray cna = cn.toLatin1();
    1602             WNDCLASSA wcTemp;
    1603             wcTemp.style = CS_DBLCLKS;
    1604             wcTemp.cbClsExtra = 0;
    1605             wcTemp.cbWndExtra = 0;
    1606             wcTemp.hbrBackground = 0;
    1607             wcTemp.hCursor = 0;
    1608             wcTemp.hIcon = 0;
    1609             wcTemp.hInstance = hInst;
    1610             wcTemp.lpszClassName = cna.data();
    1611             wcTemp.lpszMenuName = 0;
    1612             wcTemp.lpfnWndProc = ActiveXProc;
    1613 
    1614             atom = RegisterClassA(&wcTemp);
    1615         });
     1541        WNDCLASS wcTemp;
     1542        wcTemp.style = CS_DBLCLKS;
     1543        wcTemp.cbClsExtra = 0;
     1544        wcTemp.cbWndExtra = 0;
     1545        wcTemp.hbrBackground = 0;
     1546        wcTemp.hCursor = 0;
     1547        wcTemp.hIcon = 0;
     1548        wcTemp.hInstance = hInst;
     1549        wcTemp.lpszClassName = (wchar_t*)cn.utf16();
     1550        wcTemp.lpszMenuName = 0;
     1551        wcTemp.lpfnWndProc = ActiveXProc;
     1552
     1553        atom = RegisterClass(&wcTemp);
    16161554    }
    16171555    LeaveCriticalSection(&createWindowSection);
     
    16201558
    16211559    Q_ASSERT(!m_hWnd);
    1622     HWND hWnd = 0;
    1623     QT_WA({
    1624         hWnd = ::CreateWindowW((wchar_t*)cn.utf16(), 0,
    1625             WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
    1626             rcPos.left, rcPos.top, rcPos.right - rcPos.left,
    1627             rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
    1628     }, {
    1629         hWnd = ::CreateWindowA(cn.toLatin1().data(), 0,
    1630             WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
    1631             rcPos.left, rcPos.top, rcPos.right - rcPos.left,
    1632             rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
    1633     });
     1560    HWND hWnd = ::CreateWindow((wchar_t*)cn.utf16(), 0,
     1561                               WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
     1562                               rcPos.left, rcPos.top, rcPos.right - rcPos.left,
     1563                               rcPos.bottom - rcPos.top, hWndParent, 0, hInst, this);
    16341564
    16351565    Q_ASSERT(m_hWnd == hWnd);
     
    16771607            actionMap.insert(itemId, action);
    16781608        }
    1679         QT_WA({
    1680             AppendMenuW(popupMenu, flags, itemId, (TCHAR*)action->text().utf16());
    1681         }, {
    1682             AppendMenuA(popupMenu, flags, itemId, action->text().toLocal8Bit());
    1683         });
     1609        AppendMenu(popupMenu, flags, itemId, (const wchar_t *)action->text().utf16());
    16841610    }
    16851611    if (oldMenu)
     
    17271653            actionMap.insert(itemId, action);
    17281654        }
    1729         QT_WA({
    1730             AppendMenuW(hmenuShared, flags, itemId, (TCHAR*)action->text().utf16());
    1731         } , {
    1732             AppendMenuA(hmenuShared, flags, itemId, action->text().toLocal8Bit());
    1733         });
     1655        AppendMenu(hmenuShared, flags, itemId, (const wchar_t *)action->text().utf16());
    17341656    }
    17351657
     
    23982320                return res;
    23992321
    2400             name = QString::fromUtf16((const ushort *)bname).toLatin1();
     2322            name = QString::fromWCharArray(bname).toLatin1();
    24012323            SysFreeString(bname);
    24022324        }
     
    24472369            if (index == -1) {
    24482370                nameLength = name.length();
    2449                 name += "(";
     2371                name += '(';
    24502372                // no parameter - shortcut
    24512373                if (!pDispParams->cArgs)
    2452                     index = mo->indexOfSlot((name + ")"));
     2374                    index = mo->indexOfSlot((name + ')'));
    24532375                // search
    24542376                if (index == -1) {
     
    24642386                        QRegExp regexp(QLatin1String("_([0-9])\\("));
    24652387                        if (regexp.lastIndexIn(QString::fromLatin1(name.constData())) != -1) {
    2466                             name = name.left(name.length() - regexp.cap(0).length()) + "(";
     2388                            name = name.left(name.length() - regexp.cap(0).length()) + '(';
    24672389                            int overload = regexp.cap(1).toInt() + 1;
    24682390
     
    25602482                    } else {
    25612483                        argv[p + 1] = const_cast<void*>(varp[p + 1].constData());
    2562                         if (ptype.endsWith("*")) {
     2484                        if (ptype.endsWith('*')) {
    25632485                            argv_pointer[p + 1] = argv[p + 1];
    25642486                            argv[p + 1] = argv_pointer + p + 1;
     
    25912513                    argv[0] = const_cast<void*>(varp[0].constData());
    25922514                }
    2593                 if (type.endsWith("*")) {
     2515                if (type.endsWith('*')) {
    25942516                    argv_pointer[0] = argv[0];
    25952517                    argv[0] = argv_pointer;
     
    28002722    QByteArray qtarray;
    28012723    if (hres == S_OK) {
    2802         QString streamName = QString::fromUtf16((const ushort *)stat.pwcsName);
     2724        QString streamName = QString::fromWCharArray(stat.pwcsName);
    28032725        CoTaskMemFree(stat.pwcsName);
    28042726        openAsText = streamName == QLatin1String("SomeStreamName");
     
    29412863    streamName += QLatin1String("_Stream4.2");
    29422864
    2943     pStg->OpenStream((const WCHAR *)streamName.utf16(), 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
     2865    pStg->OpenStream((const wchar_t *)streamName.utf16(), 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
    29442866    if (!spStream) // support for streams saved with 4.1 and earlier
    29452867        pStg->OpenStream(L"SomeStreamName", 0, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &spStream);
     
    29642886    streamName += QLatin1String("_Stream4.2");
    29652887
    2966     pStg->CreateStream((const WCHAR *)streamName.utf16(), STGM_CREATE | STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &spStream);
     2888    pStg->CreateStream((const wchar_t *)streamName.utf16(), STGM_CREATE | STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &spStream);
    29672889    if (!spStream)
    29682890        return E_FAIL;
     
    30803002        return E_NOTIMPL;
    30813003
    3082     currentFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
     3004    currentFileName = QString::fromWCharArray(fileName);
    30833005    return S_OK;
    30843006}
     
    30983020        return E_OUTOFMEMORY;
    30993021
    3100     *currentFile = static_cast<WCHAR *>(malloc->Alloc(currentFileName.length() * 2));
     3022    *currentFile = static_cast<wchar_t *>(malloc->Alloc(currentFileName.length() * 2));
    31013023    malloc->Release();
    31023024    memcpy(*currentFile, currentFileName.unicode(), currentFileName.length() * 2);
     
    31183040    }
    31193041
    3120     QString loadFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
     3042    QString loadFileName = QString::fromWCharArray(fileName);
    31213043    QString fileExtension = loadFileName.mid(loadFileName.lastIndexOf(QLatin1Char('.')) + 1);
    31223044    QFile file(loadFileName);
     
    31633085    }
    31643086
    3165     QString saveFileName = QString::fromUtf16(reinterpret_cast<const ushort *>(fileName));
     3087    QString saveFileName = QString::fromWCharArray(fileName);
    31663088    QString fileExtension = saveFileName.mid(saveFileName.lastIndexOf(QLatin1Char('.')) + 1);
    31673089    QFile file(saveFileName);
     
    32213143    bool bDeleteDC = false;
    32223144    if (!hicTargetDev) {
    3223         hicTargetDev = ::CreateDCA("DISPLAY", NULL, NULL, NULL);
     3145        hicTargetDev = ::CreateDC(L"DISPLAY", NULL, NULL, NULL);
    32243146        bDeleteDC = (hicTargetDev != hdcDraw);
    32253147    }
     
    33843306        if (var.vt != VT_BSTR || !isWidget)
    33853307            break;
    3386         qt.widget->setWindowTitle(QString::fromUtf16((const ushort *)var.bstrVal));
     3308        qt.widget->setWindowTitle(QString::fromWCharArray(var.bstrVal));
    33873309        break;
    33883310    case DISPID_AMBIENT_FONT:
     
    35823504{
    35833505    if (pMsg->message != WM_KEYDOWN || !isWidget)
    3584         return S_FALSE;
     3506        return S_FALSE;
    35853507
    35863508    DWORD dwKeyMod = 0;
    35873509    if (::GetKeyState(VK_SHIFT) < 0)
    3588         dwKeyMod |= 1;  // KEYMOD_SHIFT
     3510        dwKeyMod |= 1;  // KEYMOD_SHIFT
    35893511    if (::GetKeyState(VK_CONTROL) < 0)
    3590         dwKeyMod |= 2;  // KEYMOD_CONTROL
     3512        dwKeyMod |= 2;  // KEYMOD_CONTROL
    35913513    if (::GetKeyState(VK_MENU) < 0)
    3592         dwKeyMod |= 4;  // KEYMOD_ALT
     3514        dwKeyMod |= 4;  // KEYMOD_ALT
    35933515
    35943516    switch (LOWORD(pMsg->wParam)) {
    35953517    case VK_TAB:
    3596         if (isUIActive) {
    3597             bool shift = ::GetKeyState(VK_SHIFT) < 0;
    3598             bool giveUp = true;
     3518        if (isUIActive) {
     3519            bool shift = ::GetKeyState(VK_SHIFT) < 0;
     3520            bool giveUp = true;
    35993521            QWidget *curFocus = qt.widget->focusWidget();
    36003522            if (curFocus) {
    3601                 if (shift) {
     3523                if (shift) {
    36023524                    if (!curFocus->isWindow()) {
    36033525                        QWidget *nextFocus = curFocus->nextInFocusChain();
     
    36173539                            giveUp = false;
    36183540                            ((HackWidget*)curFocus)->focusNextPrevChild(false);
     3541                            curFocus->window()->setAttribute(Qt::WA_KeyboardFocusChange);
    36193542                        }
    36203543                    }
    3621                 } else {
     3544                } else {
    36223545                    QWidget *nextFocus = curFocus;
    36233546                    while (1) {
     
    36283551                            giveUp = false;
    36293552                            ((HackWidget*)curFocus)->focusNextPrevChild(true);
     3553                            curFocus->window()->setAttribute(Qt::WA_KeyboardFocusChange);
    36303554                            break;
    36313555                        }
    36323556                    }
    3633                 }
     3557                }
    36343558            }
    3635             if (giveUp) {
    3636                 HWND hwnd = ::GetParent(m_hWnd);
    3637                 ::SetFocus(hwnd);
    3638             } else {
    3639                 return S_OK;
    3640             }
    3641 
    3642         }
    3643         break;
     3559            if (giveUp) {
     3560                HWND hwnd = ::GetParent(m_hWnd);
     3561                ::SetFocus(hwnd);
     3562            } else {
     3563                return S_OK;
     3564            }
     3565
     3566        }
     3567        break;
    36443568
    36453569    case VK_LEFT:
     
    36473571    case VK_UP:
    36483572    case VK_DOWN:
    3649         if (isUIActive)
    3650             return S_FALSE;
    3651         break;
     3573        if (isUIActive)
     3574            return S_FALSE;
     3575        break;
    36523576
    36533577    default:
    3654         if (isUIActive && qt.widget->focusWidget()) {
     3578        if (isUIActive && qt.widget->focusWidget()) {
    36553579            int state = Qt::NoButton;
    3656             if (dwKeyMod & 1)
    3657                 state |= Qt::ShiftModifier;
    3658             if (dwKeyMod & 2)
    3659                 state |= Qt::ControlModifier;
    3660             if (dwKeyMod & 4)
    3661                 state |= Qt::AltModifier;
    3662 
    3663             int key = pMsg->wParam;
     3580            if (dwKeyMod & 1)
     3581                state |= Qt::ShiftModifier;
     3582            if (dwKeyMod & 2)
     3583                state |= Qt::ControlModifier;
     3584            if (dwKeyMod & 4)
     3585                state |= Qt::AltModifier;
     3586
     3587            int key = pMsg->wParam;
    36643588            if (!(key >= 'A' && key <= 'Z') && !(key >= '0' && key <= '9'))
    36653589                key = qt_translateKeyCode(pMsg->wParam);
    36663590
    3667             QKeyEvent override(QEvent::ShortcutOverride, key, (Qt::KeyboardModifiers)state);
    3668             override.ignore();
    3669             QApplication::sendEvent(qt.widget->focusWidget(), &override);
    3670             if (override.isAccepted())
    3671                 return S_FALSE;
    3672         }
    3673         break;
     3591            QKeyEvent override(QEvent::ShortcutOverride, key, (Qt::KeyboardModifiers)state);
     3592            override.ignore();
     3593            QApplication::sendEvent(qt.widget->focusWidget(), &override);
     3594            if (override.isAccepted())
     3595                return S_FALSE;
     3596        }
     3597        break;
    36743598    }
    36753599
    36763600    if (!m_spClientSite)
    3677         return S_FALSE;
     3601        return S_FALSE;
    36783602
    36793603    IOleControlSite *controlSite = 0;
    36803604    m_spClientSite->QueryInterface(IID_IOleControlSite, (void**)&controlSite);
    36813605    if (!controlSite)
    3682         return S_FALSE;
    3683 
     3606        return S_FALSE;
     3607    bool resetUserData = false;
     3608    // set server type in the user-data of the window.
     3609#ifdef GWLP_USERDATA
     3610    LONG_PTR serverType = QAX_INPROC_SERVER;
     3611#else
     3612    LONG serverType = QAX_INPROC_SERVER;
     3613#endif
     3614    if (qAxOutProcServer)
     3615        serverType = QAX_OUTPROC_SERVER;
     3616#ifdef GWLP_USERDATA
     3617    LONG_PTR oldData = SetWindowLongPtr(pMsg->hwnd, GWLP_USERDATA, serverType);
     3618#else
     3619    LONG oldData = SetWindowLong(pMsg->hwnd, GWL_USERDATA, serverType);
     3620#endif
    36843621    HRESULT hres = controlSite->TranslateAcceleratorW(pMsg, dwKeyMod);
    3685 
    36863622    controlSite->Release();
    3687 
     3623    // reset the user-data for the window.
     3624#ifdef GWLP_USERDATA
     3625    SetWindowLongPtr(pMsg->hwnd, GWLP_USERDATA, oldData);
     3626#else
     3627    SetWindowLong(pMsg->hwnd, GWL_USERDATA, oldData);
     3628#endif
    36883629    return hres;
    36893630}
  • trunk/src/activeqt/control/qaxserverdll.cpp

    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 ActiveQt framework of the Qt Toolkit.
     
    5152
    5253// in qaxserver.cpp
    53 extern char qAxModuleFilename[MAX_PATH];
     54extern wchar_t qAxModuleFilename[MAX_PATH];
    5455extern bool qAxIsServer;
    5556extern ITypeLib *qAxTypeLibrary;
     
    121122EXTERN_C BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved)
    122123{
    123     GetModuleFileNameA(hInstance, qAxModuleFilename, MAX_PATH-1);
     124    GetModuleFileName(hInstance, qAxModuleFilename, MAX_PATH);
    124125    qAxInstance = hInstance;
    125126    qAxIsServer = true;
  • trunk/src/activeqt/control/qaxservermain.cpp

    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 ActiveQt framework of the Qt Toolkit.
     
    6768extern bool qAxIsServer;
    6869extern bool qAxOutProcServer;
    69 extern char qAxModuleFilename[MAX_PATH];
     70extern wchar_t qAxModuleFilename[MAX_PATH];
    7071extern QString qAxInit();
    7172extern void qAxCleanup();
     
    106107{
    107108    dwThreadID = GetCurrentThreadId();
    108     hEventShutdown = CreateEventA(0, false, false, 0);
     109    hEventShutdown = CreateEvent(0, false, false, 0);
    109110    if (hEventShutdown == 0)
    110111        return false;
     
    204205
    205206    qAxOutProcServer = true;
    206     GetModuleFileNameA(0, qAxModuleFilename, MAX_PATH-1);
     207    GetModuleFileName(0, qAxModuleFilename, MAX_PATH);
    207208    qAxInstance = hInstance;
    208209
    209     QByteArray cmdParam;
    210     QT_WA({
    211         LPTSTR cmdline = GetCommandLineW();
    212         cmdParam = QString::fromUtf16((const ushort *)cmdline).toLocal8Bit();
    213     }, {
    214         cmdParam = GetCommandLineA();
    215     });
    216    
     210    QByteArray cmdParam = QString::fromWCharArray(GetCommandLine()).toLocal8Bit();
    217211    QList<QByteArray> cmds = cmdParam.split(' ');
    218212    QByteArray unprocessed;
     
    254248            break;
    255249        } else {
    256             unprocessed += cmds.at(i) + " ";
     250            unprocessed += cmds.at(i) + ' ';
    257251        }
    258252    }
Note: See TracChangeset for help on using the changeset viewer.