summaryrefslogtreecommitdiffabout
path: root/kaddressbook/phoneeditwidget.h
Side-by-side diff
Diffstat (limited to 'kaddressbook/phoneeditwidget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/phoneeditwidget.h87
1 files changed, 76 insertions, 11 deletions
diff --git a/kaddressbook/phoneeditwidget.h b/kaddressbook/phoneeditwidget.h
index 0241cf0..6a514ed 100644
--- a/kaddressbook/phoneeditwidget.h
+++ b/kaddressbook/phoneeditwidget.h
@@ -30,2 +30,4 @@
+#include <qptrlist.h>
+#include <qscrollview.h>
@@ -36,2 +38,3 @@ class QButtonGroup;
class QCheckBox;
+class PhoneTypeNumberEdit;
@@ -39,3 +42,3 @@ class QCheckBox;
#include <kcombobox.h>
-class KListView;
+#include <kabc/phonenumber.h>
@@ -46,3 +49,3 @@ typedef TypeCombo<KABC::PhoneNumber> PhoneTypeCombo;
*/
-class PhoneEditWidget : public QWidget
+class PhoneEditWidget : public QScrollView
{
@@ -57,4 +60,4 @@ class PhoneEditWidget : public QWidget
- void updateTypeCombo( const KABC::PhoneNumber::List&, KComboBox* );
- KABC::PhoneNumber currentPhoneNumber( KComboBox*, int );
+ // void updateTypeCombo( const KABC::PhoneNumber::List&, KComboBox* );
+ //KABC::PhoneNumber currentPhoneNumber( KComboBox*, int );
@@ -62,4 +65,42 @@ class PhoneEditWidget : public QWidget
void modified();
+ void typeChange( int oldType, int newType );
private slots:
+ void addNumber();
+ protected:
+
+ private:
+ void setDefaults();
+ PhoneTypeNumberEdit* appendEditCombo();
+ QWidget* mw;
+ QVBoxLayout* mainLayout;
+ QPtrList <PhoneTypeNumberEdit> mTypeNumberEditList;
+
+ KABC::PhoneNumber::List mPhoneList;
+};
+
+
+
+
+
+#if 0
+class PhoneEditWidget : public QWidget
+{
+ Q___OBJECT
+
+ public:
+ PhoneEditWidget( QWidget *parent, const char *name = 0 );
+ ~PhoneEditWidget();
+
+ void setPhoneNumbers( const KABC::PhoneNumber::List &list );
+ KABC::PhoneNumber::List phoneNumbers();
+
+ void updateTypeCombo( const KABC::PhoneNumber::List&, KComboBox* );
+ KABC::PhoneNumber currentPhoneNumber( KComboBox*, int );
+
+ sig_nals:
+ void modified();
+ void typeChange( int oldType, int newType );
+
+ private sl_ots:
void edit();
@@ -81,2 +122,3 @@ class PhoneEditWidget : public QWidget
private:
+ QPtrList <PhoneTypeNumberEdit> mTypeNumberEditList;
void updateEdit( PhoneTypeCombo *combo );
@@ -103,3 +145,3 @@ class PhoneEditDialog : public KDialogBase
{
- Q_OBJECT
+ Q___OBJECT
@@ -112,3 +154,3 @@ class PhoneEditDialog : public KDialogBase
- protected slots:
+ protected s__lots:
void slotAddPhoneNumber();
@@ -135,3 +177,3 @@ class PhoneTypeDialog : public KDialogBase
{
- Q_OBJECT
+ Q___OBJECT
public:
@@ -149,2 +191,4 @@ private:
};
+#endif
+
class PhoneTypeNumberEdit : public QWidget
@@ -153,3 +197,3 @@ class PhoneTypeNumberEdit : public QWidget
public:
- PhoneTypeNumberEdit( QWidget *parent, const char *name = 0 )
+ PhoneTypeNumberEdit( QWidget *parent, const char *name = 0 ) :QWidget( parent )
{
@@ -167,3 +211,6 @@ public:
connect( mCombo , SIGNAL ( activated ( int ) ), this, SLOT ( comboTypeChange( int ) ) );
+ connect( mNumber , SIGNAL ( textChanged ( const QString & ) ),
+ this, SLOT ( textChanged ( const QString & ) ) );
mCombo->insertStringList( PhoneNumber::supportedTypeListNames() );
+ mIsValid = true;
}
@@ -176,2 +223,3 @@ public:
mNumber->setText( mPhoneNumber.number() );
+ mIsValid = true;
show();
@@ -185,4 +233,9 @@ public:
return mPhoneNumber;
-
}
+ bool isValid()
+ {
+ if ( !mIsValid ) return false;
+ if ( mNumber->text().isEmpty() )return false;
+ return true;
+ }
private slots:
@@ -195,3 +248,2 @@ public:
}
-
}
@@ -199,3 +251,5 @@ public:
{
+ emit modified();
hide();
+ mIsValid = false;
}
@@ -206,4 +260,5 @@ public:
if ( old != newT ) {
- mPhoneNumber.setType(newT );
+ emit modified();
emit typeChange ( old, newT );
+ mPhoneNumber.setType(newT );
}
@@ -211,6 +266,16 @@ public:
}
+ int currentType()
+ {
+ return mCombo->currentItem();
+ }
+ void textChanged ( const QString & )
+ {
+ emit modified();
+ }
signals:
void typeChange( int oldType, int newType );
+ void modified();
private:
+ bool mIsValid;
KABC::PhoneNumber mPhoneNumber;