summaryrefslogtreecommitdiffabout
path: root/kaddressbook/phoneeditwidget.cpp
authorzautrix <zautrix>2005-10-28 13:24:38 (UTC)
committer zautrix <zautrix>2005-10-28 13:24:38 (UTC)
commit61a52cfdb0eda075dabde46984cf05b37856bbc2 (patch) (side-by-side diff)
treecd587a374d62fa9b50143305f762c0ed995bd50c /kaddressbook/phoneeditwidget.cpp
parentcee83f70d8e4a6945f4456c55ab1b280d3425f0f (diff)
downloadkdepimpi-61a52cfdb0eda075dabde46984cf05b37856bbc2.zip
kdepimpi-61a52cfdb0eda075dabde46984cf05b37856bbc2.tar.gz
kdepimpi-61a52cfdb0eda075dabde46984cf05b37856bbc2.tar.bz2
commit
Diffstat (limited to 'kaddressbook/phoneeditwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/phoneeditwidget.cpp80
1 files changed, 58 insertions, 22 deletions
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp
index 997fc05..9e7e221 100644
--- a/kaddressbook/phoneeditwidget.cpp
+++ b/kaddressbook/phoneeditwidget.cpp
@@ -31,6 +31,7 @@
#include <qlistview.h>
#include <qbuttongroup.h>
#include <qhbox.h>
+#include <qcursor.h>
#include <kbuttonbox.h>
#include <klistview.h>
@@ -51,32 +52,43 @@
#include "phoneeditwidget.h"
PhoneEditWidget::PhoneEditWidget( QWidget *parent, const char *name )
- : QScrollView(parent,name)
-{
- setFrameStyle ( QFrame::Panel | QFrame::Plain );
- setLineWidth ( 1 );
- setMidLineWidth ( 1 );
- mw = new QWidget ( viewport() );
- addChild(mw);
- setResizePolicy( AutoOneFit );
+ : QWidget(parent,name)
+{
+ QGridLayout* gridLayout = new QGridLayout ( this, 2,2 );
+
+ QLabel *temp = new QLabel( "", this );
+ temp->setAlignment( Qt::AlignCenter );
+ temp->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
+ gridLayout->addWidget( temp, 1, 0 );
+ QPushButton *addBut = new QPushButton ( "add", this );
+ addBut->setPixmap ( SmallIcon("plus"));
+ addBut->setMaximumSize( addBut->sizeHint().height(),addBut->sizeHint().height() );
+ connect(addBut,SIGNAL(clicked ()),SLOT(addNumber()));
+ gridLayout->addWidget( addBut, 0, 0 );
+
+ sv = new QScrollView( this );
+ sv->setFrameStyle ( QFrame::Panel | QFrame::Plain );
+ sv->setLineWidth ( 1 );
+ sv->setMidLineWidth ( 1 );
+ mw = new QWidget ( sv->viewport() );
+ sv->addChild(mw);
+ sv->setResizePolicy( QScrollView::AutoOneFit );
mainLayout = new QVBoxLayout ( mw );
mainLayout->setMargin( 2 );
mainLayout->setSpacing( 2 );
- QWidget* hb = new QWidget ( mw );
- mainLayout->add( hb );
- QHBoxLayout* hbLayout = new QHBoxLayout ( hb );
- QPushButton *addBut = new QPushButton ( "add", hb );
- hbLayout->add( addBut );
- addBut->setPixmap ( SmallIcon("plus"));
- addBut->setMaximumSize( addBut->sizeHint().height(),addBut->sizeHint().height() );
- connect(addBut,SIGNAL(clicked()),SLOT(addNumber()));
- //QLabel * temp = new QLabel( i18n("Phone Type"), hb );
- QLabel *temp = new QLabel( i18n("Phone Number"),hb );
- temp->setAlignment( Qt::AlignCenter );
- temp->setPixmap( KGlobal::iconLoader()->loadIcon( "kaddressbook", KIcon::Desktop, 0 ) );
- hbLayout->add( temp );
+ gridLayout->addMultiCellWidget( sv, 0, 1, 1,1 );
setDefaults();
mTypeNumberEditList.setAutoDelete( true );
+ mPopup = new QPopupMenu( this );
+ QStringList list = PhoneNumber::supportedTypeListNames();
+ mPopupCount = list.count();
+ int i = 0;
+ while ( i < mPopupCount ) {
+ mPopup->insertItem( list[ i ], i );
+ ++i;
+ }
+ connect(mPopup,SIGNAL(activated(int)),this,SLOT(addNumberInt( int)));
+
}
PhoneEditWidget::~PhoneEditWidget()
@@ -97,9 +109,33 @@ void PhoneEditWidget::setDefaults()
edit->setPhoneNumber( phoneNumber );
}
+void PhoneEditWidget::addNumberInt( int index )
+{
+ PhoneTypeNumberEdit* edit = appendEditCombo();
+ KABC::PhoneNumber phoneNumber;
+ phoneNumber.setType( PhoneNumber::supportedTypeList()[index] );
+ edit->setPhoneNumber( phoneNumber );
+ //verticalScrollBar()->setValue( 1024);
+ QTimer::singleShot( 0, this, SLOT ( bottomVisible() ) );
+}
+void PhoneEditWidget::bottomVisible()
+{
+ sv->setContentsPos ( 0, 1024 );
+}
void PhoneEditWidget::addNumber()
{
-
+ int i = 0;
+ while ( i < mPopupCount ) {
+ mPopup->setItemEnabled( i, true );
+ ++i;
+ }
+ PhoneTypeNumberEdit* edit = mTypeNumberEditList.first();
+ while ( edit ) {
+ if ( edit->currentType() < mPopupCount -1 )
+ mPopup->setItemEnabled( edit->currentType(), false );
+ edit = mTypeNumberEditList.next();
+ }
+ mPopup->popup( QCursor::pos() );
}
PhoneTypeNumberEdit* PhoneEditWidget::appendEditCombo()
{