remotemgmt_plat/syncml_ds_customization_api/tsrc/SyncFwCustomizer/customlistview.cpp
author hgs
Fri, 15 Oct 2010 11:46:45 +0530
changeset 73 ae69c2e8bc34
parent 60 eb6690d0d439
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
60
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include "customlistview.h"
hgs
parents:
diff changeset
    19
#include <hbmenu.h>
hgs
parents:
diff changeset
    20
#include <hbaction.h>
hgs
parents:
diff changeset
    21
#include <hblistwidgetitem.h>
hgs
parents:
diff changeset
    22
#include <hblistwidget.h>
hgs
parents:
diff changeset
    23
#include <QAbstractItemModel>
hgs
parents:
diff changeset
    24
#include <xqsettingsmanager.h>
hgs
parents:
diff changeset
    25
#include <nsmloperatordatacrkeys.h>
hgs
parents:
diff changeset
    26
#include <hbinputdialog.h>
hgs
parents:
diff changeset
    27
#include <syncmlclient.h>
hgs
parents:
diff changeset
    28
#include <syncmlclientds.h>
hgs
parents:
diff changeset
    29
#include <hbmessagebox.h>
hgs
parents:
diff changeset
    30
#include <centralrepository.h>
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
CustomListView::CustomListView( QGraphicsItem *parent )
hgs
parents:
diff changeset
    33
    : HbView( parent )
hgs
parents:
diff changeset
    34
    {
hgs
parents:
diff changeset
    35
    setTitle(tr("SyncFwCustomizer"));
hgs
parents:
diff changeset
    36
    populateModel();
hgs
parents:
diff changeset
    37
    createMenu();
hgs
parents:
diff changeset
    38
    }
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
void CustomListView::editItem()
hgs
parents:
diff changeset
    41
    {
hgs
parents:
diff changeset
    42
    HbListWidgetItem* item( mWidget->currentItem() );
hgs
parents:
diff changeset
    43
    QString text = item->text();
hgs
parents:
diff changeset
    44
    QString content = item->secondaryText();
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
	HbInputDialog *dialog = new HbInputDialog();
hgs
parents:
diff changeset
    47
	dialog->setAttribute(Qt::WA_DeleteOnClose, true); 
hgs
parents:
diff changeset
    48
	dialog->setPromptText(text);
73
hgs
parents: 60
diff changeset
    49
	dialog->addAction(new HbAction("Ok"));
hgs
parents: 60
diff changeset
    50
	dialog->addAction(new HbAction("Cancel"));
60
hgs
parents:
diff changeset
    51
	dialog->setInputMode(HbInputDialog::TextInput);
hgs
parents:
diff changeset
    52
	dialog->setValue(content);
hgs
parents:
diff changeset
    53
	dialog->open(this, SLOT(handleEditItem(HbAction*)));
hgs
parents:
diff changeset
    54
	}
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
void CustomListView::handleEditItem(HbAction* action)
hgs
parents:
diff changeset
    57
    {
hgs
parents:
diff changeset
    58
    HbInputDialog *dialog = static_cast<HbInputDialog*>(sender());
hgs
parents:
diff changeset
    59
    
hgs
parents:
diff changeset
    60
    if (dialog && action == dialog->actions().first())
hgs
parents:
diff changeset
    61
        {
hgs
parents:
diff changeset
    62
        QString text = dialog->value().toString();
hgs
parents:
diff changeset
    63
        HbListWidgetItem* item(mWidget->currentItem());
hgs
parents:
diff changeset
    64
        item->setSecondaryText(text);
hgs
parents:
diff changeset
    65
        mWidget->setCurrentItem(item);
hgs
parents:
diff changeset
    66
        saveKeyItems();
hgs
parents:
diff changeset
    67
        }
hgs
parents:
diff changeset
    68
    }
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
void CustomListView::saveKeyItems()
hgs
parents:
diff changeset
    71
    {
hgs
parents:
diff changeset
    72
    QString notDefined = tr("Not defined");
hgs
parents:
diff changeset
    73
    XQSettingsManager* manager = new XQSettingsManager( this );
hgs
parents:
diff changeset
    74
    XQSettingsKey key1( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
    75
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorSyncServerURL );
hgs
parents:
diff changeset
    76
    QVariant url = mWidget->item( 0 )->secondaryText();
hgs
parents:
diff changeset
    77
    bool err = false;
hgs
parents:
diff changeset
    78
    if( url.toString().compare( notDefined ) )
hgs
parents:
diff changeset
    79
        {
hgs
parents:
diff changeset
    80
        err = manager->writeItemValue( key1, url );
hgs
parents:
diff changeset
    81
        }
hgs
parents:
diff changeset
    82
    XQSettingsKey key2( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
    83
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorAdapterUid );
hgs
parents:
diff changeset
    84
    QVariant adapter = mWidget->item( 1 )->secondaryText();
hgs
parents:
diff changeset
    85
    if( adapter.toString().compare( notDefined ) )
hgs
parents:
diff changeset
    86
        {
hgs
parents:
diff changeset
    87
        bool ok;
hgs
parents:
diff changeset
    88
        int value = adapter.toString().toInt( &ok, 10 );
hgs
parents:
diff changeset
    89
        if( !ok )
hgs
parents:
diff changeset
    90
            {
hgs
parents:
diff changeset
    91
            value = adapter.toString().toInt( &ok, 16 );
hgs
parents:
diff changeset
    92
            }
hgs
parents:
diff changeset
    93
        if( ok )
hgs
parents:
diff changeset
    94
            {
hgs
parents:
diff changeset
    95
            QVariant var( value );
hgs
parents:
diff changeset
    96
            err = manager->writeItemValue( key2, var );
hgs
parents:
diff changeset
    97
            }
hgs
parents:
diff changeset
    98
        }
hgs
parents:
diff changeset
    99
    XQSettingsKey key3( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   100
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsProfileAdapterUid );
hgs
parents:
diff changeset
   101
    QVariant profile = mWidget->item( 2 )->secondaryText();
hgs
parents:
diff changeset
   102
    if( profile.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   103
        {
hgs
parents:
diff changeset
   104
        bool ok;
hgs
parents:
diff changeset
   105
        int value = profile.toString().toInt( &ok, 10 );
hgs
parents:
diff changeset
   106
        if( !ok )
hgs
parents:
diff changeset
   107
            {
hgs
parents:
diff changeset
   108
            value = profile.toString().toInt( &ok, 16 );
hgs
parents:
diff changeset
   109
            }
hgs
parents:
diff changeset
   110
        if( ok )
hgs
parents:
diff changeset
   111
            {
hgs
parents:
diff changeset
   112
            QVariant var( value );
hgs
parents:
diff changeset
   113
            err = manager->writeItemValue( key3, var );
hgs
parents:
diff changeset
   114
            }
hgs
parents:
diff changeset
   115
        }
hgs
parents:
diff changeset
   116
    XQSettingsKey key4( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   117
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoSwVValue );
hgs
parents:
diff changeset
   118
    QVariant swv = mWidget->item( 3 )->secondaryText();
hgs
parents:
diff changeset
   119
    if( swv.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   120
        {
hgs
parents:
diff changeset
   121
        err = manager->writeItemValue( key4, swv.toByteArray() );
hgs
parents:
diff changeset
   122
        }
hgs
parents:
diff changeset
   123
    XQSettingsKey key5( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   124
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoModValue );
hgs
parents:
diff changeset
   125
    QVariant mod = mWidget->item( 4 )->secondaryText();
hgs
parents:
diff changeset
   126
    if( mod.toString().compare(notDefined) )
hgs
parents:
diff changeset
   127
        {
hgs
parents:
diff changeset
   128
        err = manager->writeItemValue( key5, mod.toByteArray() );
hgs
parents:
diff changeset
   129
        }
hgs
parents:
diff changeset
   130
    XQSettingsKey key6( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   131
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncProfileVisibility );
hgs
parents:
diff changeset
   132
    QVariant visibility = mWidget->item( 5 )->secondaryText();
hgs
parents:
diff changeset
   133
    if( visibility.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   134
        {
hgs
parents:
diff changeset
   135
        bool ok;
hgs
parents:
diff changeset
   136
        int value = visibility.toString().toInt( &ok, 10 );
hgs
parents:
diff changeset
   137
        if( !ok )
hgs
parents:
diff changeset
   138
            {
hgs
parents:
diff changeset
   139
            value = visibility.toString().toInt( &ok, 16 );
hgs
parents:
diff changeset
   140
            }
hgs
parents:
diff changeset
   141
        if( ok )
hgs
parents:
diff changeset
   142
            {
hgs
parents:
diff changeset
   143
            QVariant var( value );
hgs
parents:
diff changeset
   144
            err = manager->writeItemValue( key6, var );
hgs
parents:
diff changeset
   145
            }
hgs
parents:
diff changeset
   146
        }
hgs
parents:
diff changeset
   147
    XQSettingsKey key7( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   148
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorSyncServerId );
hgs
parents:
diff changeset
   149
    QVariant serverId = mWidget->item( 6 )->secondaryText();
hgs
parents:
diff changeset
   150
    if( serverId.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   151
        {
hgs
parents:
diff changeset
   152
        err = manager->writeItemValue( key7, serverId.toByteArray() );
hgs
parents:
diff changeset
   153
        }
hgs
parents:
diff changeset
   154
    XQSettingsKey key8( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   155
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncMLStatusCodeList );
hgs
parents:
diff changeset
   156
    QVariant syncmlStatus = mWidget->item( 7 )->secondaryText();
hgs
parents:
diff changeset
   157
    if( syncmlStatus.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   158
        {
hgs
parents:
diff changeset
   159
        err = manager->writeItemValue( key8, syncmlStatus );
hgs
parents:
diff changeset
   160
        }
hgs
parents:
diff changeset
   161
    XQSettingsKey key9( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   162
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoManValue );
hgs
parents:
diff changeset
   163
    QVariant man = mWidget->item( 8 )->secondaryText();
hgs
parents:
diff changeset
   164
    if( man.toString().compare(notDefined) )
hgs
parents:
diff changeset
   165
        {
hgs
parents:
diff changeset
   166
        err = manager->writeItemValue( key9, man.toByteArray() );
hgs
parents:
diff changeset
   167
        }
hgs
parents:
diff changeset
   168
    XQSettingsKey key10( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   169
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsHttpErrorReporting );
hgs
parents:
diff changeset
   170
    QVariant httpErrorReporting = mWidget->item( 9 )->secondaryText();
hgs
parents:
diff changeset
   171
    if( httpErrorReporting.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   172
        {
hgs
parents:
diff changeset
   173
        bool ok;
hgs
parents:
diff changeset
   174
        int value = httpErrorReporting.toString().toInt( &ok, 10 );
hgs
parents:
diff changeset
   175
        if( !ok )
hgs
parents:
diff changeset
   176
            {
hgs
parents:
diff changeset
   177
            value = httpErrorReporting.toString().toInt( &ok, 16 );
hgs
parents:
diff changeset
   178
            }
hgs
parents:
diff changeset
   179
        if( ok )
hgs
parents:
diff changeset
   180
            {
hgs
parents:
diff changeset
   181
            QVariant var( value );
hgs
parents:
diff changeset
   182
            err = manager->writeItemValue( key10, var );
hgs
parents:
diff changeset
   183
            }
hgs
parents:
diff changeset
   184
        } 
hgs
parents:
diff changeset
   185
    XQSettingsKey key11( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   186
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncMLErrorReporting );
hgs
parents:
diff changeset
   187
    QVariant syncMLErrorReporting = mWidget->item( 10 )->secondaryText();
hgs
parents:
diff changeset
   188
    if( syncMLErrorReporting.toString().compare( notDefined ) )
hgs
parents:
diff changeset
   189
        {
hgs
parents:
diff changeset
   190
        bool ok;
hgs
parents:
diff changeset
   191
        int value = syncMLErrorReporting.toString().toInt( &ok, 10 );
hgs
parents:
diff changeset
   192
        if( !ok )
hgs
parents:
diff changeset
   193
            {
hgs
parents:
diff changeset
   194
            value = syncMLErrorReporting.toString().toInt( &ok, 16 );
hgs
parents:
diff changeset
   195
            }
hgs
parents:
diff changeset
   196
        if( ok )
hgs
parents:
diff changeset
   197
            {
hgs
parents:
diff changeset
   198
            QVariant var( value );
hgs
parents:
diff changeset
   199
            err = manager->writeItemValue( key11, var );
hgs
parents:
diff changeset
   200
            }
hgs
parents:
diff changeset
   201
        }
hgs
parents:
diff changeset
   202
    delete manager;
hgs
parents:
diff changeset
   203
    }
hgs
parents:
diff changeset
   204
hgs
parents:
diff changeset
   205
void CustomListView::syncNow()
hgs
parents:
diff changeset
   206
    {
hgs
parents:
diff changeset
   207
    HbInputDialog *dialog = new HbInputDialog();
hgs
parents:
diff changeset
   208
    dialog->setAttribute(Qt::WA_DeleteOnClose, true); 
hgs
parents:
diff changeset
   209
    dialog->setPromptText(tr("Profile ID"));
73
hgs
parents: 60
diff changeset
   210
    dialog->addAction(new HbAction("Ok"));
hgs
parents: 60
diff changeset
   211
    dialog->addAction(new HbAction("Cancel"));
60
hgs
parents:
diff changeset
   212
    dialog->setInputMode(HbInputDialog::TextInput);
hgs
parents:
diff changeset
   213
    dialog->open(this, SLOT(startSync(HbAction*)));
hgs
parents:
diff changeset
   214
    }
hgs
parents:
diff changeset
   215
hgs
parents:
diff changeset
   216
void CustomListView::startSync(HbAction* action)
hgs
parents:
diff changeset
   217
    {
hgs
parents:
diff changeset
   218
    HbInputDialog *dialog = static_cast<HbInputDialog*>(sender());
hgs
parents:
diff changeset
   219
        
hgs
parents:
diff changeset
   220
    if (dialog && action == dialog->actions().first())
hgs
parents:
diff changeset
   221
        {
hgs
parents:
diff changeset
   222
        QString text = dialog->value().toString();
hgs
parents:
diff changeset
   223
        bool ok = false;
hgs
parents:
diff changeset
   224
        int profileId = text.toInt(&ok, 10);
hgs
parents:
diff changeset
   225
        if (ok)
hgs
parents:
diff changeset
   226
            {
hgs
parents:
diff changeset
   227
            // Open syncML session
hgs
parents:
diff changeset
   228
            RSyncMLSession syncMLSession;
hgs
parents:
diff changeset
   229
            RSyncMLDataSyncJob job;
hgs
parents:
diff changeset
   230
            CleanupClosePushL( syncMLSession );
hgs
parents:
diff changeset
   231
            CleanupClosePushL( job );
hgs
parents:
diff changeset
   232
            syncMLSession.OpenL();
hgs
parents:
diff changeset
   233
            
hgs
parents:
diff changeset
   234
            // Need instance of data sync class
hgs
parents:
diff changeset
   235
            // For creating a data sync job, need to specify id of the profile used for synchronization
hgs
parents:
diff changeset
   236
            // If profile selected is PCSuite, it searches for the bluetooth device to sync with
hgs
parents:
diff changeset
   237
            
hgs
parents:
diff changeset
   238
            job.CreateL( syncMLSession, profileId );
hgs
parents:
diff changeset
   239
            // close the job
hgs
parents:
diff changeset
   240
            job.Close();
hgs
parents:
diff changeset
   241
            // close the syncML session
hgs
parents:
diff changeset
   242
            CleanupStack::PopAndDestroy( &job );
hgs
parents:
diff changeset
   243
            CleanupStack::PopAndDestroy( &syncMLSession );
hgs
parents:
diff changeset
   244
            }
hgs
parents:
diff changeset
   245
        }
hgs
parents:
diff changeset
   246
    }
hgs
parents:
diff changeset
   247
hgs
parents:
diff changeset
   248
void CustomListView::listSyncProfiles()
hgs
parents:
diff changeset
   249
    {
hgs
parents:
diff changeset
   250
    // Open syncML session
hgs
parents:
diff changeset
   251
    RSyncMLSession syncMLSession;
hgs
parents:
diff changeset
   252
    syncMLSession.OpenL();
hgs
parents:
diff changeset
   253
    CleanupClosePushL( syncMLSession );
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
    RArray<TSmlProfileId> profiles;
hgs
parents:
diff changeset
   256
    // Get the list of available profiles into an array
hgs
parents:
diff changeset
   257
    syncMLSession.ListProfilesL( profiles, ESmlDataSync );
hgs
parents:
diff changeset
   258
    QString text = NULL;
hgs
parents:
diff changeset
   259
    for( TInt i = 0; i < profiles.Count(); i++ )
hgs
parents:
diff changeset
   260
        {
hgs
parents:
diff changeset
   261
        RSyncMLDataSyncProfile profile;         
hgs
parents:
diff changeset
   262
        profile.OpenL( syncMLSession,profiles[i], ESmlOpenReadWrite );
hgs
parents:
diff changeset
   263
        CleanupClosePushL( profile );
hgs
parents:
diff changeset
   264
        text.append( QString::number( profiles[i] ) );
hgs
parents:
diff changeset
   265
        text.append( tr(" ") );
hgs
parents:
diff changeset
   266
        QString qname( (QChar*)profile.DisplayName().Ptr(), profile.DisplayName().Length() );
hgs
parents:
diff changeset
   267
        text.append( qname );
hgs
parents:
diff changeset
   268
        if( profiles.Count() != ( i + 1 ) )
hgs
parents:
diff changeset
   269
            {
hgs
parents:
diff changeset
   270
            text.append( tr("; ") );
hgs
parents:
diff changeset
   271
            }
hgs
parents:
diff changeset
   272
        CleanupStack::PopAndDestroy(& profile );      
hgs
parents:
diff changeset
   273
        }
hgs
parents:
diff changeset
   274
    profiles.Close();
hgs
parents:
diff changeset
   275
    HbMessageBox::information(text);
hgs
parents:
diff changeset
   276
    CleanupStack::PopAndDestroy( &syncMLSession );    
hgs
parents:
diff changeset
   277
    }
hgs
parents:
diff changeset
   278
hgs
parents:
diff changeset
   279
void CustomListView::resetItem()
hgs
parents:
diff changeset
   280
    {
hgs
parents:
diff changeset
   281
    //HbListWidgetItem* item( mWidget->currentItem() );
hgs
parents:
diff changeset
   282
    CRepository* rep = CRepository::NewLC( KCRUidOperatorDatasyncInternalKeys );
hgs
parents:
diff changeset
   283
    rep->Reset( mWidget->currentRow() + 1 );
hgs
parents:
diff changeset
   284
    CleanupStack::PopAndDestroy( rep );
hgs
parents:
diff changeset
   285
    populateModel();
hgs
parents:
diff changeset
   286
    }
hgs
parents:
diff changeset
   287
hgs
parents:
diff changeset
   288
void CustomListView::resetAll()
hgs
parents:
diff changeset
   289
    {
hgs
parents:
diff changeset
   290
    CRepository* rep = CRepository::NewLC( KCRUidOperatorDatasyncInternalKeys );
hgs
parents:
diff changeset
   291
    rep->Reset();
hgs
parents:
diff changeset
   292
    CleanupStack::PopAndDestroy( rep );  
hgs
parents:
diff changeset
   293
    populateModel();
hgs
parents:
diff changeset
   294
    }
hgs
parents:
diff changeset
   295
hgs
parents:
diff changeset
   296
void CustomListView::populateModel()
hgs
parents:
diff changeset
   297
    {
hgs
parents:
diff changeset
   298
    HbListWidget* widget = new HbListWidget;
hgs
parents:
diff changeset
   299
    XQSettingsManager* manager = new XQSettingsManager( this );
hgs
parents:
diff changeset
   300
    XQSettingsKey key1( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   301
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorSyncServerURL );
hgs
parents:
diff changeset
   302
    QString url = manager->readItemValue( key1, XQSettingsManager::TypeString ).toString();
hgs
parents:
diff changeset
   303
    XQSettingsKey key2( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   304
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorAdapterUid );
hgs
parents:
diff changeset
   305
    QString adapter = manager->readItemValue( key2, XQSettingsManager::TypeInt ).toString();
hgs
parents:
diff changeset
   306
    XQSettingsKey key3( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   307
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsProfileAdapterUid );
hgs
parents:
diff changeset
   308
    QString profile = manager->readItemValue( key3, XQSettingsManager::TypeInt ).toString();
hgs
parents:
diff changeset
   309
    XQSettingsKey key4( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   310
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoSwVValue );
hgs
parents:
diff changeset
   311
    QString swv = manager->readItemValue( key4 ).toString();
hgs
parents:
diff changeset
   312
    XQSettingsKey key5( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   313
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoModValue );
hgs
parents:
diff changeset
   314
    QString mod = manager->readItemValue( key5 ).toString();
hgs
parents:
diff changeset
   315
    XQSettingsKey key6( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   316
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncProfileVisibility );
hgs
parents:
diff changeset
   317
    QString visibility = manager->readItemValue( key6, XQSettingsManager::TypeInt ).toString();
hgs
parents:
diff changeset
   318
    XQSettingsKey key7( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   319
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsOperatorSyncServerId );
hgs
parents:
diff changeset
   320
    QString serverId = manager->readItemValue( key7 ).toString();
hgs
parents:
diff changeset
   321
    XQSettingsKey key8( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   322
        KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncMLStatusCodeList );
hgs
parents:
diff changeset
   323
    QString status = manager->readItemValue( key8, XQSettingsManager::TypeString ).toString();
hgs
parents:
diff changeset
   324
    XQSettingsKey key9( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   325
          KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsDevInfoManValue );
hgs
parents:
diff changeset
   326
    QString man = manager->readItemValue( key9 ).toString();
hgs
parents:
diff changeset
   327
    XQSettingsKey key10( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   328
          KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsHttpErrorReporting );
hgs
parents:
diff changeset
   329
    QString httpErrorReporting = manager->readItemValue( key10 ).toString();
hgs
parents:
diff changeset
   330
    XQSettingsKey key11( XQSettingsKey::TargetCentralRepository, 
hgs
parents:
diff changeset
   331
              KCRUidOperatorDatasyncInternalKeys.iUid, KNsmlOpDsSyncMLErrorReporting );
hgs
parents:
diff changeset
   332
    QString syncMLErrorReporting = manager->readItemValue( key11 ).toString();
hgs
parents:
diff changeset
   333
    
hgs
parents:
diff changeset
   334
    delete manager;
hgs
parents:
diff changeset
   335
    HbListWidgetItem* result1 = new HbListWidgetItem();
hgs
parents:
diff changeset
   336
    result1->setText( tr("Operator server URL") );
hgs
parents:
diff changeset
   337
    if( !url.isEmpty() )
hgs
parents:
diff changeset
   338
        {
hgs
parents:
diff changeset
   339
        result1->setSecondaryText( url );
hgs
parents:
diff changeset
   340
        }
hgs
parents:
diff changeset
   341
    else
hgs
parents:
diff changeset
   342
        {
hgs
parents:
diff changeset
   343
        result1->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   344
        }
hgs
parents:
diff changeset
   345
    HbListWidgetItem* result2 = new HbListWidgetItem();
hgs
parents:
diff changeset
   346
    result2->setText( tr("Sync adapter UID") );
hgs
parents:
diff changeset
   347
    if( !adapter.isEmpty() )
hgs
parents:
diff changeset
   348
        {
hgs
parents:
diff changeset
   349
        result2->setSecondaryText( adapter );
hgs
parents:
diff changeset
   350
        }
hgs
parents:
diff changeset
   351
    else
hgs
parents:
diff changeset
   352
        {
hgs
parents:
diff changeset
   353
        result2->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   354
        }
hgs
parents:
diff changeset
   355
    HbListWidgetItem* result3 = new HbListWidgetItem();
hgs
parents:
diff changeset
   356
    result3->setText( tr("Profile adapter UID") );
hgs
parents:
diff changeset
   357
    if( !profile.isEmpty() )
hgs
parents:
diff changeset
   358
        {
hgs
parents:
diff changeset
   359
        result3->setSecondaryText( profile );
hgs
parents:
diff changeset
   360
        }
hgs
parents:
diff changeset
   361
    else
hgs
parents:
diff changeset
   362
        {
hgs
parents:
diff changeset
   363
        result3->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   364
        }
hgs
parents:
diff changeset
   365
    HbListWidgetItem* result4 = new HbListWidgetItem();
hgs
parents:
diff changeset
   366
    result4->setText( tr("Customized SwV") );
hgs
parents:
diff changeset
   367
    if( !swv.isEmpty() )
hgs
parents:
diff changeset
   368
        {
hgs
parents:
diff changeset
   369
        result4->setSecondaryText( swv );
hgs
parents:
diff changeset
   370
        }
hgs
parents:
diff changeset
   371
    else
hgs
parents:
diff changeset
   372
        {
hgs
parents:
diff changeset
   373
        result4->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   374
        }
hgs
parents:
diff changeset
   375
    HbListWidgetItem* result5 = new HbListWidgetItem;
hgs
parents:
diff changeset
   376
    result5->setText( tr("Customized Mod") );
hgs
parents:
diff changeset
   377
    if( !mod.isEmpty() )
hgs
parents:
diff changeset
   378
        {
hgs
parents:
diff changeset
   379
        result5->setSecondaryText( mod );
hgs
parents:
diff changeset
   380
        }
hgs
parents:
diff changeset
   381
    else
hgs
parents:
diff changeset
   382
        {
hgs
parents:
diff changeset
   383
        result5->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   384
        }
hgs
parents:
diff changeset
   385
    HbListWidgetItem* result6 = new HbListWidgetItem;
hgs
parents:
diff changeset
   386
    result6->setText( tr("Sync profile visibility") );
hgs
parents:
diff changeset
   387
    if( !visibility.isEmpty() )
hgs
parents:
diff changeset
   388
        {
hgs
parents:
diff changeset
   389
        result6->setSecondaryText( visibility );
hgs
parents:
diff changeset
   390
        }
hgs
parents:
diff changeset
   391
    else
hgs
parents:
diff changeset
   392
        {
hgs
parents:
diff changeset
   393
        result6->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   394
        }
hgs
parents:
diff changeset
   395
    HbListWidgetItem* result7 = new HbListWidgetItem;
hgs
parents:
diff changeset
   396
    result7->setText( tr("Sync server ID") );
hgs
parents:
diff changeset
   397
    if( !serverId.isEmpty() )
hgs
parents:
diff changeset
   398
        {
hgs
parents:
diff changeset
   399
        result7->setSecondaryText( serverId );
hgs
parents:
diff changeset
   400
        }
hgs
parents:
diff changeset
   401
    else
hgs
parents:
diff changeset
   402
        {
hgs
parents:
diff changeset
   403
        result7->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   404
        }
hgs
parents:
diff changeset
   405
    HbListWidgetItem* result8 = new HbListWidgetItem;
hgs
parents:
diff changeset
   406
    result8->setText( tr("SyncML status codes") );
hgs
parents:
diff changeset
   407
    if( !status.isEmpty() )
hgs
parents:
diff changeset
   408
        {
hgs
parents:
diff changeset
   409
        result8->setSecondaryText( status );
hgs
parents:
diff changeset
   410
        }
hgs
parents:
diff changeset
   411
    else
hgs
parents:
diff changeset
   412
        {
hgs
parents:
diff changeset
   413
        result8->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   414
        }
hgs
parents:
diff changeset
   415
    HbListWidgetItem* result9 = new HbListWidgetItem;
hgs
parents:
diff changeset
   416
    result9->setText( tr("Customized Man") );
hgs
parents:
diff changeset
   417
    if( !man.isEmpty() )
hgs
parents:
diff changeset
   418
        {
hgs
parents:
diff changeset
   419
        result9->setSecondaryText( man );
hgs
parents:
diff changeset
   420
        }
hgs
parents:
diff changeset
   421
    else
hgs
parents:
diff changeset
   422
        {
hgs
parents:
diff changeset
   423
        result9->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   424
        }
hgs
parents:
diff changeset
   425
    HbListWidgetItem* result10 = new HbListWidgetItem;
hgs
parents:
diff changeset
   426
    result10->setText( tr("Http error reporting") );
hgs
parents:
diff changeset
   427
    if( !httpErrorReporting.isEmpty() )
hgs
parents:
diff changeset
   428
        {
hgs
parents:
diff changeset
   429
        result10->setSecondaryText( httpErrorReporting );
hgs
parents:
diff changeset
   430
        }
hgs
parents:
diff changeset
   431
    else
hgs
parents:
diff changeset
   432
        {
hgs
parents:
diff changeset
   433
        result10->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   434
        }
hgs
parents:
diff changeset
   435
    HbListWidgetItem* result11 = new HbListWidgetItem;
hgs
parents:
diff changeset
   436
    result11->setText( tr("SyncML error reporting") );
hgs
parents:
diff changeset
   437
    if( !syncMLErrorReporting.isEmpty() )
hgs
parents:
diff changeset
   438
        {
hgs
parents:
diff changeset
   439
        result11->setSecondaryText( syncMLErrorReporting );
hgs
parents:
diff changeset
   440
        }
hgs
parents:
diff changeset
   441
    else
hgs
parents:
diff changeset
   442
        {
hgs
parents:
diff changeset
   443
        result11->setSecondaryText( tr("Not defined") );
hgs
parents:
diff changeset
   444
        }
hgs
parents:
diff changeset
   445
    widget->addItem( result1 );
hgs
parents:
diff changeset
   446
    widget->addItem( result2 );
hgs
parents:
diff changeset
   447
    widget->addItem( result3 );
hgs
parents:
diff changeset
   448
    widget->addItem( result4 );
hgs
parents:
diff changeset
   449
    widget->addItem( result5 );
hgs
parents:
diff changeset
   450
    widget->addItem( result6 );
hgs
parents:
diff changeset
   451
    widget->addItem( result7 );
hgs
parents:
diff changeset
   452
    widget->addItem( result8 );
hgs
parents:
diff changeset
   453
    widget->addItem( result9 );
hgs
parents:
diff changeset
   454
    widget->addItem( result10 );
hgs
parents:
diff changeset
   455
    widget->addItem( result11 );
hgs
parents:
diff changeset
   456
    
hgs
parents:
diff changeset
   457
    connect( widget,
hgs
parents:
diff changeset
   458
    SIGNAL( activated(HbListWidgetItem*) ),
hgs
parents:
diff changeset
   459
    SLOT( handleItem(HbListWidgetItem*) ) );
hgs
parents:
diff changeset
   460
    connect(widget,
hgs
parents:
diff changeset
   461
    SIGNAL( longPressed(HbListWidgetItem*, const QPointF&) ),
hgs
parents:
diff changeset
   462
    SLOT( editItem()) );
hgs
parents:
diff changeset
   463
    mWidget = widget;
hgs
parents:
diff changeset
   464
    setWidget( widget );  
hgs
parents:
diff changeset
   465
    }
hgs
parents:
diff changeset
   466
hgs
parents:
diff changeset
   467
void CustomListView::createMenu()
hgs
parents:
diff changeset
   468
    {
hgs
parents:
diff changeset
   469
    HbMenu* theMenu = menu();
hgs
parents:
diff changeset
   470
    connect( theMenu->addAction( tr("Edit")), SIGNAL( triggered() ), SLOT( editItem() ) );
hgs
parents:
diff changeset
   471
    //connect( theMenu->addAction( tr("Save")), SIGNAL( triggered() ), SLOT( saveKeyItems() ) );
hgs
parents:
diff changeset
   472
    connect( theMenu->addAction( tr("List profiles")), SIGNAL( triggered() ), SLOT( listSyncProfiles() ) );
hgs
parents:
diff changeset
   473
    connect( theMenu->addAction( tr("Sync now")), SIGNAL( triggered() ), SLOT( syncNow() ) );
hgs
parents:
diff changeset
   474
    HbMenu* subMenu = theMenu->addMenu(tr("Reset"));
hgs
parents:
diff changeset
   475
    connect( subMenu->addAction( tr("Reset item")), SIGNAL( triggered() ), SLOT( resetItem() ) );
hgs
parents:
diff changeset
   476
    connect( subMenu->addAction( tr("Reset All")), SIGNAL( triggered() ), SLOT( resetAll() ) );
hgs
parents:
diff changeset
   477
    }
hgs
parents:
diff changeset
   478