Changeset 23


Ignore:
Timestamp:
Jun 8, 2009, 11:33:03 PM (16 years ago)
Author:
Dmitry A. Kuminov
Message:

corelib: Implemented OS/2 version of QSettings.

Location:
trunk
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/qmake/Makefile.os2-g++

    r18 r23  
    7979        qurl.obj \
    8080        qsettings.obj \
    81         qsettings_pm.obj \
     81        qsettings_.obj \
    8282        qvariant.obj \
    8383        qmetatype.obj \
     
    145145        $(CXX) $(CXXFLAGS) $(BUILD_PATH)/src/corelib/global/qconfig.cpp
    146146
    147 qsettings_pm.obj: $(SOURCE_PATH)/src/corelib/io/qsettings_pm.cpp
    148         $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qsettings_pm.cpp
     147qsettings_.cpp
     148        $(CXX) $(CXXFLAGS) $(SOURCE_PATH)/src/corelib/io/qsettings_.cpp
    149149
    150150qsettings.obj: $(SOURCE_PATH)/src/corelib/io/qsettings.cpp
  • trunk/src/corelib/io/qsettings_os2.cpp

    r22 r23  
    33** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
    44** Contact: Qt Software Information ([email protected])
     5
     6
    57**
    68** This file is part of the QtCore module of the Qt Toolkit.
     
    4749#include "qvector.h"
    4850#include "qmap.h"
    49 #include "qt_windows.h"
    5051#include "qdebug.h"
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
     100
     101
     102
     103
     104
     105
     106
     107
     108
     109
     110
     111
     112
     113
     114
     115
     116
     117
     118
     119
     120
     121
     122
     123
     124
     125
     126
     127
     128
     129
     130
     131
     132
     133
     134
     135
     136
     137
     138
     139
     140
     141
     142
     143
     144
     145
     146
     147
     148
     149
     150
     151
     152
     153
     154
     155
     156
     157
     158
     159
     160
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171
     172
     173
     174
     175
     176
     177
     178
     179
     180
     181
     182
     183
     184
     185
     186
     187
     188
     189
     190
    51191
    52192QT_BEGIN_NAMESPACE
     
    132272{
    133273    QString result;
    134         QT_WA({
    135                 wchar_t *data = 0;
    136                 FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    137                         0, errorCode, 0,
    138                         data, 0, 0);
    139                 result = QString::fromUtf16(reinterpret_cast<const ushort *> (data));
    140                 if (data != 0)
    141                         LocalFree(data);
    142         },      {
    143                 char *data = 0;
    144                 FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
    145                         0, errorCode, 0,
    146                         (char *)&data, 0, 0);
    147                 result = QString::fromLocal8Bit(data);
    148                 if (data != 0)
    149                         LocalFree(data);
    150         })
    151     if (result.endsWith(QLatin1String("\n")))
    152         result.truncate(result.length() - 1);
     274    switch (errorCode) {
     275        case ERROR_FILE_NOT_FOUND:
     276            result = "ERROR_FILE_NOT_FOUND"; break;
     277        case ERROR_ACCESS_DENIED:
     278            result = "ERROR_ACCESS_DENIED"; break;
     279        case ERROR_NO_MORE_ITEMS:
     280            result = "ERROR_NO_MORE_ITEMS"; break;
     281    default:
     282        result = QString().sprintf("Error %lu", errorCode);
     283            break;
     284    }
    153285
    154286    return result;
     
    634766    if (deleteWriteHandleOnExit && writeHandle() != 0) {
    635767#if defined(Q_OS_WINCE)
    636         remove(regList.at(0).key()); 
     768        remove(regList.at(0).key());
    637769#else
    638770        DWORD res;
     
    795927
    796928        case QVariant::ByteArray:
    797             // On Win95/98/Me QString::toLocal8Bit() fails to handle chars > 0x7F. So we don't go through variantToString() at all.
    798             if (QSysInfo::WindowsVersion & QSysInfo::WV_DOS_based) {
    799                 QByteArray ba = value.toByteArray();
    800                 regValueBuff = "@ByteArray(";
    801                 regValueBuff += ba;
    802                 regValueBuff += ')';
    803                 if (ba.contains('\0')) {
    804                     type = REG_BINARY;
    805                 } else {
    806                     type = REG_SZ;
    807                     regValueBuff += '\0';
    808                 }
    809                    
    810                 break;
    811             }
    812929            // fallthrough intended
    813930
Note: See TracChangeset for help on using the changeset viewer.