controlpanelui/src/cpplugins/personalizationplugin/src/cpprofilenameeditdialog.cpp
branchRCL_3
changeset 34 90fe62538f66
equal deleted inserted replaced
32:3fec62e6e7fc 34:90fe62538f66
       
     1 /*
       
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  * This component and the accompanying materials are made available
       
     5  * under the terms of "Eclipse Public License v1.0""
       
     6  * which accompanies this distribution, and is available
       
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8  *
       
     9  * Initial Contributors:
       
    10  * Nokia Corporation - initial contribution.
       
    11  *
       
    12  * Contributors:
       
    13  *
       
    14  * Description:  
       
    15  *
       
    16  */
       
    17 
       
    18 #include "cpprofilenameeditdialog.h"
       
    19 
       
    20 #include <hblineedit.h>
       
    21 #include <hblabel.h>
       
    22 #include <hbaction.h>
       
    23 
       
    24 #include <QGraphicsLinearLayout>
       
    25 #include <QScopedPointer>
       
    26 
       
    27 CpProfileNameEditDialog::CpProfileNameEditDialog( QGraphicsItem *parent )
       
    28     :HbDialog( parent )
       
    29 {
       
    30     init();
       
    31 }
       
    32 
       
    33 CpProfileNameEditDialog::~CpProfileNameEditDialog()
       
    34 {
       
    35 }
       
    36 
       
    37 void CpProfileNameEditDialog::init()
       
    38 {
       
    39     setDismissPolicy( HbPopup::NoDismiss );
       
    40     setHeadingWidget( new HbLabel( hbTrId( "txt_cp_title_edit_name" ), this ));
       
    41     
       
    42     QGraphicsLinearLayout *vLayout = new QGraphicsLinearLayout();
       
    43     vLayout->setOrientation( Qt::Vertical );
       
    44     HbWidget *contentWidget = new HbWidget( this );
       
    45     mTextEdit = new HbLineEdit( this );
       
    46     mTextEdit->setFontSpec( HbFontSpec( HbFontSpec::Primary ) );
       
    47     vLayout->addItem( mTextEdit );
       
    48     contentWidget->setLayout( vLayout );
       
    49     setContentWidget( contentWidget );
       
    50     
       
    51     connect( mTextEdit, SIGNAL( contentsChanged() ), this, SLOT( checkPrimaryAction() ) );
       
    52     
       
    53     addAction( new HbAction( hbTrId( "txt_common_button_ok" ), this ));
       
    54     addAction( new HbAction( hbTrId( "txt_common_button_cancel" ), this ) );
       
    55     
       
    56     setTimeout( NoTimeout );
       
    57 }
       
    58 
       
    59 void CpProfileNameEditDialog::setLineEditText( const QString &text )
       
    60 {
       
    61     mTextEdit->setText( text );
       
    62     mTextEdit->setSelection( 0, text.length() );
       
    63 }
       
    64 
       
    65 QString CpProfileNameEditDialog::getLineEditText()
       
    66 {
       
    67     QString text = mTextEdit->text();
       
    68     return text;
       
    69 }
       
    70 
       
    71 bool CpProfileNameEditDialog::launchProfileNameEditDialog( QString &profileName )
       
    72 {
       
    73     CpProfileNameEditDialog *profileEditNameDialog = new CpProfileNameEditDialog();
       
    74     
       
    75     profileEditNameDialog->setLineEditText( profileName );
       
    76     profileEditNameDialog->checkPrimaryAction();
       
    77     profileEditNameDialog->show();
       
    78     return false;
       
    79 }
       
    80 
       
    81 void CpProfileNameEditDialog::checkPrimaryAction()
       
    82 {
       
    83     HbAction *const primaryAction = qobject_cast<HbAction *>
       
    84                                                 (actions().at(0));
       
    85     if (primaryAction) {
       
    86         if ( !mTextEdit->text().isEmpty() ) {
       
    87             primaryAction->setEnabled(true);        
       
    88         } else {        
       
    89             primaryAction->setEnabled(false);        
       
    90         }
       
    91     }
       
    92 }