fotaapplication/fotaserver/inc/fotafullscreendialog.h
author hgs
Fri, 15 Oct 2010 11:46:45 +0530
changeset 73 ae69c2e8bc34
parent 51 2e64dc50f295
permissions -rw-r--r--
201041
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
/**
73
hgs
parents: 51
diff changeset
    45
 *  HbFotaFullscreenDialog
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    46
 * 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    47
 */
73
hgs
parents: 51
diff changeset
    48
class HbFotaFullscreenDialog : public QObject
51
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
73
hgs
parents: 51
diff changeset
    54
		/**
hgs
parents: 51
diff changeset
    55
     * Constructor to construct the fullscreen dialog.
hgs
parents: 51
diff changeset
    56
     * @param   aObserver - Observer to notify the user inputs from the fullscreen dialog
hgs
parents: 51
diff changeset
    57
     * @return   void
hgs
parents: 51
diff changeset
    58
     */
hgs
parents: 51
diff changeset
    59
    HbFotaFullscreenDialog(CFotaServer* aObserver);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    60
73
hgs
parents: 51
diff changeset
    61
hgs
parents: 51
diff changeset
    62
		/**
hgs
parents: 51
diff changeset
    63
     * Destructor for the full screen dialog
hgs
parents: 51
diff changeset
    64
     * @return   void
hgs
parents: 51
diff changeset
    65
     */
hgs
parents: 51
diff changeset
    66
    ~HbFotaFullscreenDialog();
51
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 details of the update to the fullscreen dialog.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
     * @param   size - The total size of the update package.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
     * @param   version - The version of the soeftware that is being updated.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
     * @param   aName - the package name of the current update.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
     */
73
hgs
parents: 51
diff changeset
    75
    void setSoftwareDetails(int size, const QString version,
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    76
            const QString aName);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
     * This function updates the download progress bar to the progress value passed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
     * @param   aType - the state in which the firmware update is in(downloading or donwload complete)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    81
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
     */
73
hgs
parents: 51
diff changeset
    83
    void setWarningDetails(TFotaWarningType aType);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
     * This function updates the download progress bar to the progress value passed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    87
     * @param   aProgress - the progress value to be update to the progress bar.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    88
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    89
     */
73
hgs
parents: 51
diff changeset
    90
    void updateProgressBar(TInt aProgress);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    91
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    92
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
     * Used to change the warnings and softkeys required for the update dialog
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    96
     */
73
hgs
parents: 51
diff changeset
    97
    void showUpdateDialog();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
     * Used to refresh the dialog when the content of the dialog content changes.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
     */
73
hgs
parents: 51
diff changeset
   104
    void close();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
     * Used to disable the RSK of the dialog when resume dialogs
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
     * @param   aVal - to enable or disable the key
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
     */
73
hgs
parents: 51
diff changeset
   111
    void disableRSK(TBool aVal);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   112
73
hgs
parents: 51
diff changeset
   113
    /**
hgs
parents: 51
diff changeset
   114
     * Used to determine if the LSK of the dialog is enabled or not.
hgs
parents: 51
diff changeset
   115
     * @return   bool: returns if LSK id enabled or disabled.
hgs
parents: 51
diff changeset
   116
     */
hgs
parents: 51
diff changeset
   117
    bool isLSKEnabled();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   118
73
hgs
parents: 51
diff changeset
   119
    /**
hgs
parents: 51
diff changeset
   120
     * Used to set the fullscreen dialog visible
hgs
parents: 51
diff changeset
   121
     * @param   aVisible - To set the visibility to true/false.
hgs
parents: 51
diff changeset
   122
     * @return   void
hgs
parents: 51
diff changeset
   123
     */
hgs
parents: 51
diff changeset
   124
    void setVisible(TBool aVisible);
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   125
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   126
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   127
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   128
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   129
     * Used to refresh the dialog when the content of the dialog changes.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   130
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   131
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   132
     */
73
hgs
parents: 51
diff changeset
   133
    void refreshDialog();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   134
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   135
public slots:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   136
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   137
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   138
     * Slot to be called when user selects the Left soft key.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   139
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   140
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   141
     */
73
hgs
parents: 51
diff changeset
   142
    void lSKSelected();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   143
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   144
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   145
     * Slot to be called when user selects the Right soft key.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   146
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   147
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   148
     */
73
hgs
parents: 51
diff changeset
   149
    void rSKSelected();
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   150
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   151
    /**
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   152
     * Slot to be called when the dialog is about to get closed.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   153
     * @param   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   154
     * @return   void
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   155
     */
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   156
    void aboutToClose();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   157
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   158
private:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   159
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   160
    // dialog instance
73
hgs
parents: 51
diff changeset
   161
    HbDialog * m_dialog;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   162
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   163
    //document loader to load the widgets
73
hgs
parents: 51
diff changeset
   164
    HbDocumentLoader m_loader;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   165
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   166
    //progress bar for updating download progress
73
hgs
parents: 51
diff changeset
   167
    HbProgressBar * m_progressBar;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   168
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   169
    // Fota server instance to send the keypress event
73
hgs
parents: 51
diff changeset
   170
    CFotaServer* m_Server;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   171
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   172
    // LSK of the dialog
73
hgs
parents: 51
diff changeset
   173
    HbPushButton * m_PrimaryAction;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   174
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   175
    // RSK of the dialog
73
hgs
parents: 51
diff changeset
   176
    HbPushButton * m_SecondaryAction;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   177
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   178
    // Flag to differentiate from keypress and dialog timeout case.
73
hgs
parents: 51
diff changeset
   179
    TBool m_Clicked;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   180
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   181
    // Warning note displayed in the full screen dialog 
73
hgs
parents: 51
diff changeset
   182
    HbLabel *m_InstallNote;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   183
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   184
    // Warning note displayed in the full screen dialog
73
hgs
parents: 51
diff changeset
   185
    HbLabel *m_RestartNote;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   186
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   187
    // Warning note displayed in the full screen dialog
73
hgs
parents: 51
diff changeset
   188
    HbLabel *m_RestartIcon;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   189
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   190
    // Warning note displayed in the full screen dialog
73
hgs
parents: 51
diff changeset
   191
    HbLabel *m_EmergencyNote;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   192
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   193
    // Warning note displayed in the full screen dialog
73
hgs
parents: 51
diff changeset
   194
    HbLabel *m_EmergencyIcon;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   195
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   196
    // Warning note displayed in the full screen dialog
73
hgs
parents: 51
diff changeset
   197
    HbLabel *m_ChargerNote;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   198
73
hgs
parents: 51
diff changeset
   199
		// Variable which holds the charger icon from the docml.
hgs
parents: 51
diff changeset
   200
    HbLabel *m_ChargerIcon;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   201
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   202
    // To display the state of the download above progress bar
73
hgs
parents: 51
diff changeset
   203
    HbLabel *m_DownloadState;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   204
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   205
    // Fullscreen dialog title.
73
hgs
parents: 51
diff changeset
   206
    HbLabel *m_Title;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   207
    // Firmware details that is to be shwon in full screen dialog.
73
hgs
parents: 51
diff changeset
   208
    HbLabel *m_SwDetails;
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   209
    };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   210
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   211
#endif // CLASSNAME_H