fotaapplication/fotaserver/inc/fotafullscreendialog.h
author hgs
Tue, 13 Jul 2010 09:51:41 +0530
changeset 51 2e64dc50f295
child 73 ae69c2e8bc34
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     1
/*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     8
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    11
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    12
 * Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    13
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    14
 * Description: 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    15
 *
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    16
 */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    17
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    18
#ifndef FOTAFULLSCREENDIALOG_H
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    19
#define FOTAFULLSCREENDIALOG_H
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    20
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    21
// INCLUDES
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    22
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    23
#include <QWidget>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    24
#include <QtGui/QWidget>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    25
#include <QtGui>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    26
#include <hbdialog.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    27
#include <hbdocumentloader.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    28
#include <hbprogressbar.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    29
#include <hbdataform.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    30
#include <hbdataformmodel.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    31
#include <hbpushbutton.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    32
#include <hblabel.h>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    33
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    34
#include "FotaDlClient.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    35
#include "FotaServer.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    36
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    37
enum TFotaWarningType
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    38
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    39
    EHbFotaDownload = 1, EHbFotaUpdate, EHbFotaLowBattery
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    40
    };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    41
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    42
// CLASS DECLARATION
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    43
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    44
/**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    45
 *  FotaFullscreenDialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    46
 * 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    47
 */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    48
class FotaFullscreenDialog : public QObject
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    49
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    50
Q_OBJECT
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    52
public:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    53
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    54
    FotaFullscreenDialog(CFotaServer* aObserver);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    55
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    56
    ~FotaFullscreenDialog();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    57
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    58
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    59
     * This function updates the details of the update to the fullscreen dialog.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    60
     * @param   size - The total size of the update package.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    61
     * @param   version - The version of the soeftware that is being updated.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    62
     * @param   aName - the package name of the current update.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    63
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    64
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    65
    void SetSoftwareDetails(int size, const QString version,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    66
            const QString aName);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    67
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    68
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    69
     * This function updates the download progress bar to the progress value passed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
     * @param   aType - the state in which the firmware update is in(downloading or donwload complete)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
    void SetWarningDetails(TFotaWarningType aType);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    75
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    76
     * This function updates the download progress bar to the progress value passed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
     * @param   aProgress - the progress value to be update to the progress bar.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
    void UpdateProgressBar(TInt aProgress);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    81
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    83
     * Used to change the warnings and softkeys required for the update dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    87
    void ShowUpdateDialog();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    88
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    89
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    90
     * Used to refresh the dialog when the content of the dialog content changes.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    91
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    92
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
    void Close();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    96
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    97
     * Used to disable the RSK of the dialog when resume dialogs
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
     * @param   aVal - to enable or disable the key
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
    void DisableRSK(TBool aVal);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
    bool IsLSKEnabled();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   104
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
    void SetVisible(TBool aVisible);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
     * Used to refresh the dialog when the content of the dialog changes.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   111
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   112
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   113
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   114
    void RefreshDialog();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   115
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   116
public slots:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   117
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   118
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   119
     * Slot to be called when user selects the Left soft key.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   120
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   121
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   122
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   123
    void LSKSelected();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   124
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   125
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   126
     * Slot to be called when user selects the Right soft key.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   127
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   128
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   129
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   130
    void RSKSelected();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   131
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   132
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   133
     * Slot to be called when the dialog is about to get closed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   134
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   135
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   136
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   137
    void aboutToClose();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   138
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   139
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   140
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   141
    // dialog instance
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   142
    HbDialog * idialog;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   143
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   144
    //document loader to load the widgets
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   145
    HbDocumentLoader iloader;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   146
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   147
    //progress bar for updating download progress
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   148
    HbProgressBar * iprogressBar;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   149
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   150
    // Fota server instance to send the keypress event
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   151
    CFotaServer* iServer;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   152
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   153
    // LSK of the dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   154
    HbPushButton * iPrimaryAction;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   155
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   156
    // RSK of the dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   157
    HbPushButton * iSecondaryAction;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   158
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   159
    // Flag to differentiate from keypress and dialog timeout case.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   160
    TBool iClicked;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   161
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   162
    // Warning note displayed in the full screen dialog 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   163
    HbLabel *iInstallNote;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   164
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   165
    // Warning note displayed in the full screen dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   166
    HbLabel *iRestartNote;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   167
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   168
    // Warning note displayed in the full screen dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   169
    HbLabel *iRestartIcon;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   170
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   171
    // Warning note displayed in the full screen dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   172
    HbLabel *iEmergencyNote;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   173
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   174
    // Warning note displayed in the full screen dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   175
    HbLabel *iEmergencyIcon;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   176
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   177
    // Warning note displayed in the full screen dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   178
    HbLabel *iChargerNote;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   179
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   180
    HbLabel *iChargerIcon;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   181
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   182
    // To display the state of the download above progress bar
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   183
    HbLabel *iDownloadState;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   184
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   185
    // Fullscreen dialog title.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   186
    HbLabel *iTitle;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   187
    // Firmware details that is to be shwon in full screen dialog.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   188
    HbLabel *iSwDetails;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   189
    };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   190
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   191
#endif // CLASSNAME_H