00001
00002
00003 #include <qlayout.h>
00004 #include <qlabel.h>
00005 #include <qpushbutton.h>
00006 #include <qbuttongroup.h>
00007
00008 #include "dialdialog.h"
00009
00010
00011
00012 DialDialog::DialDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
00013 : QDialog( parent, name, modal, fl ) {
00014
00015 setCaption( tr( "Enter number" ) );
00016
00017 QVBoxLayout *mainLayout = new QVBoxLayout( this );
00018
00019 QLabel *textLabel = new QLabel( this );
00020 textLabel->setTextFormat( QLabel::RichText );
00021 textLabel->setText( tr("Enter the number you want to dial. When finished, press ok") );
00022
00023 m_dialLine = new QLineEdit( this );
00024 m_dialLine->setReadOnly( true );
00025 m_dialLine->setFrame( false );
00026 m_dialLine->setAlignment( Qt::AlignLeft );
00027 QFont dialLine_font( m_dialLine->font() );
00028 dialLine_font.setBold( TRUE );
00029 dialLine_font.setPointSize( 18 );
00030 m_dialLine->setFont( dialLine_font );
00031
00032 QWidget* dialWidget = new QWidget( this );
00033 QGridLayout *layout = new QGridLayout( dialWidget , 4, 3 );
00034
00035 QButtonGroup *dialButtons = new QButtonGroup( );
00036
00037 QPushButton *number0 = new QPushButton( dialWidget );
00038 number0->setText( QString( "0" ) );
00039 QFont number0_font( number0->font() );
00040 number0_font.setBold( TRUE );
00041 number0->setFont( number0_font );
00042 layout->addWidget( number0, 4, 1 );
00043 dialButtons->insert( number0 );
00044
00045 int x = 0, y = 0;
00046 for ( int i = 0 ; i < 9; i++ ) {
00047 QPushButton *number = new QPushButton( dialWidget );
00048 number->setText( QString( "%1" ).arg( i + 1 ) );
00049 QFont number_font( number->font() );
00050 number_font.setBold( TRUE );
00051 number->setFont( number_font );
00052
00053 dialButtons->insert( number );
00054
00055 layout->addWidget( number, x, y );
00056
00057 if ( y < 2 ) {
00058 y++;
00059 } else {
00060 x++;
00061 y = 0;
00062 }
00063 }
00064
00065 connect( dialButtons, SIGNAL( clicked(int) ), this, SLOT( slotEnterNumber(int) ) );
00066
00067 mainLayout->addStretch( 2 );
00068 mainLayout->addWidget( textLabel );
00069 mainLayout->addStretch( 1 );
00070 mainLayout->addWidget( m_dialLine );
00071 mainLayout->addStretch( 2 );
00072 mainLayout->addWidget( dialWidget );
00073 mainLayout->addStretch( 4 );
00074 }
00075
00076
00077 void DialDialog::slotEnterNumber( int number ) {
00078
00079
00080
00081 m_number.append(QString("%1").arg(number));
00082
00083 setNumber(m_number);
00084 }
00085
00086 DialDialog::~DialDialog() {
00087 }
00088
00089 QString DialDialog::number() {
00090 return m_number;
00091
00092 }
00093
00094 void DialDialog::setNumber( QString number )
00095 {
00096 m_dialLine->setText( QString("%1").arg( number ) );
00097 }
00098