summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--kaddressbook/addresseeeditorwidget.cpp2
-rw-r--r--kaddressbook/phoneeditwidget.cpp80
-rw-r--r--kaddressbook/phoneeditwidget.h21
-rw-r--r--version2
5 files changed, 75 insertions, 32 deletions
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index 2b5b390..9076943 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,5 +1,5 @@
Summary: A collection of PIM programs
Name: KDE-Pim-Pi
-Version: 2.2.5
+Version: 2.2.6
Release: SuSE_9.2
Copyright:GPL
diff --git a/kaddressbook/addresseeeditorwidget.cpp b/kaddressbook/addresseeeditorwidget.cpp
index 9814cd5..966efa5 100644
--- a/kaddressbook/addresseeeditorwidget.cpp
+++ b/kaddressbook/addresseeeditorwidget.cpp
@@ -1189,5 +1189,5 @@ void AddresseeEditorWidget::save()
++phoneIter )
mAddressee.insertPhoneNumber( *phoneIter );
-
+ mAddressee.makePhoneNumbersOLcompatible();
// Save the addresses
KABC::Address::List addresses;
diff --git a/kaddressbook/phoneeditwidget.cpp b/kaddressbook/phoneeditwidget.cpp
index 997fc05..9e7e221 100644
--- a/kaddressbook/phoneeditwidget.cpp
+++ b/kaddressbook/phoneeditwidget.cpp
@@ -32,4 +32,5 @@
#include <qbuttongroup.h>
#include <qhbox.h>
+#include <qcursor.h>
#include <kbuttonbox.h>
@@ -52,30 +53,41 @@
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)));
+
}
@@ -98,7 +110,31 @@ void PhoneEditWidget::setDefaults()
}
+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()
diff --git a/kaddressbook/phoneeditwidget.h b/kaddressbook/phoneeditwidget.h
index c730c7b..df5aff9 100644
--- a/kaddressbook/phoneeditwidget.h
+++ b/kaddressbook/phoneeditwidget.h
@@ -28,4 +28,5 @@
#include <qpushbutton.h>
#include <qlayout.h>
+#include <qpopupmenu.h>
#include <qptrlist.h>
@@ -48,5 +49,5 @@ typedef TypeCombo<KABC::PhoneNumber> PhoneTypeCombo;
Widget for editing phone numbers.
*/
-class PhoneEditWidget : public QScrollView
+class PhoneEditWidget : public QWidget
{
Q_OBJECT
@@ -67,4 +68,6 @@ class PhoneEditWidget : public QScrollView
private slots:
+ void bottomVisible();
+ void addNumberInt( int );
void deleteEdit( PhoneTypeNumberEdit* ew );
void addNumber();
@@ -73,4 +76,7 @@ class PhoneEditWidget : public QScrollView
private:
+ QScrollView* sv;
+ QPopupMenu *mPopup;
+ int mPopupCount;
PhoneTypeNumberEdit* mPendingDelete;
void setDefaults();
@@ -227,5 +233,5 @@ public:
mNumber->setText( mPhoneNumber.number() );
show();
-
+ mNumber->setFocus();
}
KABC::PhoneNumber phoneNumber()
@@ -241,4 +247,8 @@ public:
return true;
}
+ int currentType()
+ {
+ return mCombo->currentItem();
+ }
private slots:
void typeExternalChanged( int oldType, int newType )
@@ -260,13 +270,10 @@ public:
if ( old != newT ) {
emit modified();
- emit typeChange ( old, newT );
+ if ( newT != PhoneNumber::Voice )
+ emit typeChange ( old, newT );
mPhoneNumber.setType(newT );
}
}
- int currentType()
- {
- return mCombo->currentItem();
- }
void textChanged ( const QString & )
{
diff --git a/version b/version
index 6c3e9c6..4f24d24 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-version = "2.2.5";
+version = "2.2.6";