/*
 * GlDialogPotwierdzenia.h
 * Autor: Pawe Gala
 */

#ifndef GLDIALOGPOTWIERDZENIA_H_
#define GLDIALOGPOTWIERDZENIA_H_

#include "GlobalneOknoDialogowe.h"


class CAknGlobalConfirmationQuery;

class CGlDialogPotwierdzenia : public CGlobalneOknoDialogowe
    {
public:    // Konstruktory dwufazowe i destruktor
    static CGlDialogPotwierdzenia* NewL( TUint aId, MObserwatorDialogu& aObserwator );
    static CGlDialogPotwierdzenia* NewLC( TUint aId, MObserwatorDialogu& aObserwator );
    
    ~CGlDialogPotwierdzenia();
    
public:
    void WyswietlDialogL( TInt aPrzyciskiResId, const TDesC& aTekst );
    
private:   // Odziedziczone z CGlobalneOknoDialogowe
    void DoCancel();
    
private:   // Konstruktory pierwszej i drugiej fazy
    CGlDialogPotwierdzenia( TUint aId, MObserwatorDialogu& aObserwator );
    void ConstructL();
    
private:   // Pola
    CAknGlobalConfirmationQuery* iGlConfirmQuery;
    };

#endif /* GLDIALOGPOTWIERDZENIA_H_ */


/*
 * GlDialogPotwierdzenia.cpp
 * Autor: Pawe Gala
 */

#include <aknglobalconfirmationquery.h>
#include "GlDialogPotwierdzenia.h"


CGlDialogPotwierdzenia* CGlDialogPotwierdzenia::NewL( TUint aId, MObserwatorDialogu& aObserwator )
    {
    CGlDialogPotwierdzenia* self = CGlDialogPotwierdzenia::NewLC( aId, aObserwator );
    CleanupStack::Pop( self );
    return self;
    }

CGlDialogPotwierdzenia* CGlDialogPotwierdzenia::NewLC( TUint aId, MObserwatorDialogu& aObserwator )
    {
    CGlDialogPotwierdzenia* self = new( ELeave ) CGlDialogPotwierdzenia( aId, aObserwator );
    CleanupStack::PushL( self );
    self->ConstructL();
    return self;
    }

CGlDialogPotwierdzenia::CGlDialogPotwierdzenia( TUint aId, MObserwatorDialogu& aObserwator )
:CGlobalneOknoDialogowe( aId, aObserwator )
    {
    }

CGlDialogPotwierdzenia::~CGlDialogPotwierdzenia()
    {
    Cancel();
    delete iGlConfirmQuery;
    }

void CGlDialogPotwierdzenia::ConstructL()
    {
    iGlConfirmQuery = CAknGlobalConfirmationQuery::NewL();
    }

void CGlDialogPotwierdzenia::WyswietlDialogL( TInt aPrzyciskiResId, const TDesC& aTekst )
    {
    iGlConfirmQuery->ShowConfirmationQueryL( iStatus, aTekst, aPrzyciskiResId );
    SetActive();
    }

void CGlDialogPotwierdzenia::DoCancel()
    {
    iGlConfirmQuery->CancelConfirmationQuery();
    }


// ----------------
// Uycie klasy CGlDialogPotwierdzenia
// ----------------

#include <avkon.rsg>                // R_AVKON_SOFTKEYS_YES_NO
#include "GlDialogPotwierdzenia.h"

// Wymagana biblioteka: aknnotify.lib
// ...

const TUint KIdDialogu = 1;
_LIT( KKomunikat, "Connect now" );
    
iDialog = CGlDialogPotwierdzenia::NewL( KIdDialogu, *iObserwatorDialogu );
iDialog->WyswietlDialogL( R_AVKON_SOFTKEYS_YES_NO, KKomunikat );
