summaryrefslogtreecommitdiffstats
path: root/kabc/frontend
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch)
tree67208f7c145782a7e90b123b982ca78d88cc2c87 /kabc/frontend
downloadtdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz
tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kabc/frontend')
-rw-r--r--kabc/frontend/Makefile.am10
-rw-r--r--kabc/frontend/main.cpp20
-rw-r--r--kabc/frontend/mainWindow.ui1409
-rw-r--r--kabc/frontend/mainWindow.ui.h658
4 files changed, 2097 insertions, 0 deletions
diff --git a/kabc/frontend/Makefile.am b/kabc/frontend/Makefile.am
new file mode 100644
index 00000000..c7a413fc
--- /dev/null
+++ b/kabc/frontend/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I$(includedir)/kabc $(all_includes)
+
+METASOURCES = AUTO
+
+bin_PROGRAMS = kabcfrontend
+
+kabcfrontend_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+kabcfrontend_LDADD = -lkabc $(LIB_KDECORE)
+kabcfrontend_SOURCES = main.cpp mainWindow.ui
+
diff --git a/kabc/frontend/main.cpp b/kabc/frontend/main.cpp
new file mode 100644
index 00000000..797c9198
--- /dev/null
+++ b/kabc/frontend/main.cpp
@@ -0,0 +1,20 @@
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kcmdlineargs.h>
+
+#include "mainWindow.h"
+
+int main( int argc, char ** argv )
+{
+ KAboutData aboutData("testkabc",I18N_NOOP("TestKabc"),"0.1");
+ KCmdLineArgs::init(argc,argv,&aboutData);
+
+ KApplication app;
+
+ MainWindow *w = new MainWindow;
+ w->show();
+ app.connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
+ return app.exec();
+}
diff --git a/kabc/frontend/mainWindow.ui b/kabc/frontend/mainWindow.ui
new file mode 100644
index 00000000..be9996c5
--- /dev/null
+++ b/kabc/frontend/mainWindow.ui
@@ -0,0 +1,1409 @@
+<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
+<class>MainWindow</class>
+<widget class="QMainWindow">
+ <property name="name">
+ <cstring>MainWindow</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>570</width>
+ <height>534</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>KABC Frontend</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QListView" row="0" column="0">
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>UID</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>mAddresseeList</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="resizeMode">
+ <enum>AllColumns</enum>
+ </property>
+ </widget>
+ <widget class="QTabWidget" row="0" column="1">
+ <property name="name">
+ <cstring>TabWidget2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>2</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="tabPosition">
+ <enum>Top</enum>
+ </property>
+ <property name="tabShape">
+ <enum>Rounded</enum>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;General</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLineEdit" row="0" column="1">
+ <property name="name">
+ <cstring>mNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Name:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>TextLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>URL:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>mUrlEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="5" column="1">
+ <property name="name">
+ <cstring>mAdditionalNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="7" column="1">
+ <property name="name">
+ <cstring>mSuffixEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="4" column="1">
+ <property name="name">
+ <cstring>mGivenNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="3" column="1">
+ <property name="name">
+ <cstring>mPrefixEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="6" column="1">
+ <property name="name">
+ <cstring>mFamilyNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="2" column="1">
+ <property name="name">
+ <cstring>mFormattedNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="8" column="1">
+ <property name="name">
+ <cstring>mNickNameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="8" column="0">
+ <property name="name">
+ <cstring>TextLabel7</cstring>
+ </property>
+ <property name="text">
+ <string>Nickname:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="7" column="0">
+ <property name="name">
+ <cstring>TextLabel5</cstring>
+ </property>
+ <property name="text">
+ <string>Honorific suffixes:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0">
+ <property name="name">
+ <cstring>TextLabel3_2</cstring>
+ </property>
+ <property name="text">
+ <string>Family name:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="0">
+ <property name="name">
+ <cstring>TextLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Additional names:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>TextLabel6</cstring>
+ </property>
+ <property name="text">
+ <string>Given name:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>TextLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>Honorific prefixes:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>TextLabel8</cstring>
+ </property>
+ <property name="text">
+ <string>Formatted name:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="9" column="0">
+ <property name="name">
+ <cstring>TextLabel15</cstring>
+ </property>
+ <property name="text">
+ <string>Sort string:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="9" column="1">
+ <property name="name">
+ <cstring>mSortStringEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="11" column="0">
+ <property name="name">
+ <cstring>TextLabel11</cstring>
+ </property>
+ <property name="text">
+ <string>Role:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="12" column="0">
+ <property name="name">
+ <cstring>TextLabel12</cstring>
+ </property>
+ <property name="text">
+ <string>Organization:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="10" column="0">
+ <property name="name">
+ <cstring>TextLabel10</cstring>
+ </property>
+ <property name="text">
+ <string>Title:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="10" column="1">
+ <property name="name">
+ <cstring>mTitleEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="11" column="1">
+ <property name="name">
+ <cstring>mRoleEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="12" column="1">
+ <property name="name">
+ <cstring>mOrganizationEdit</cstring>
+ </property>
+ </widget>
+ <spacer row="13" column="1">
+ <property name="name">
+ <cstring>Spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Phone &amp;&amp; &amp;Mail</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>&amp;Phone</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel2_3</cstring>
+ </property>
+ <property name="text">
+ <string>Id:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>mPhoneIdCombo</cstring>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="3">
+ <property name="name">
+ <cstring>PushButton3</cstring>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="4">
+ <property name="name">
+ <cstring>PushButton4</cstring>
+ </property>
+ <property name="text">
+ <string>New</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mPhoneNumberEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel1_5</cstring>
+ </property>
+ <property name="text">
+ <string>Number:</string>
+ </property>
+ </widget>
+ <widget class="QButtonGroup" row="2" column="0" rowspan="1" colspan="5">
+ <property name="name">
+ <cstring>ButtonGroup2</cstring>
+ </property>
+ <property name="title">
+ <string>Type</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>mPhoneWorkCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Work</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>mPhonePrefCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Pref</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>mPhoneHomeCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Home</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>mPhoneCellCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Cell</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>mPhoneFaxCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Fax</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>mPhoneBbsCheck</cstring>
+ </property>
+ <property name="text">
+ <string>BBS</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>mPhoneCarCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Car</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>mPhoneVideoCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Video</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>mPhoneIsdnCheck</cstring>
+ </property>
+ <property name="text">
+ <string>ISDN</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="3">
+ <property name="name">
+ <cstring>mPhoneVoiceCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Voice</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="2">
+ <property name="name">
+ <cstring>mPhonePcsCheck</cstring>
+ </property>
+ <property name="text">
+ <string>PCS</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="3">
+ <property name="name">
+ <cstring>mPhoneModemCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Modem</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="2">
+ <property name="name">
+ <cstring>mPhonePagerCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Pager</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="3">
+ <property name="name">
+ <cstring>mPhoneMsgCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Msg</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>GroupBox2</cstring>
+ </property>
+ <property name="title">
+ <string>Ema&amp;il</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QPushButton" row="0" column="1">
+ <property name="name">
+ <cstring>PushButton7</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="1" column="1">
+ <property name="name">
+ <cstring>PushButton5</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Edit</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="1">
+ <property name="name">
+ <cstring>PushButton6</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <spacer row="3" column="1">
+ <property name="name">
+ <cstring>Spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QListView" row="0" column="0" rowspan="4" colspan="1">
+ <column>
+ <property name="text">
+ <string>Address</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>mEmailListView</cstring>
+ </property>
+ <property name="resizeMode">
+ <enum>AllColumns</enum>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>A&amp;ddress</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>TextLabel16</cstring>
+ </property>
+ <property name="text">
+ <string>Id:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel1_4</cstring>
+ </property>
+ <property name="text">
+ <string>Post office box:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Extended:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel3_3</cstring>
+ </property>
+ <property name="text">
+ <string>Street:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel4_2</cstring>
+ </property>
+ <property name="text">
+ <string>Locality:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="2" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressPostOfficeBoxEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="3" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressExtendedEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="4" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressStreetEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="5" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressLocalityEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="6" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressRegionEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel5_2</cstring>
+ </property>
+ <property name="text">
+ <string>Region:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="8" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel7_2</cstring>
+ </property>
+ <property name="text">
+ <string>Country:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="7" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel6_2</cstring>
+ </property>
+ <property name="text">
+ <string>Postal code:</string>
+ </property>
+ </widget>
+ <widget class="QTextEdit" row="10" column="0" rowspan="1" colspan="5">
+ <property name="name">
+ <cstring>mAddressLabelEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="9" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>TextLabel13</cstring>
+ </property>
+ <property name="text">
+ <string>Label:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="7" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressPostalCodeEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="8" column="2" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>mAddressCountryEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QButtonGroup" row="1" column="0" rowspan="1" colspan="5">
+ <property name="name">
+ <cstring>ButtonGroup1</cstring>
+ </property>
+ <property name="title">
+ <string>Type</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QCheckBox" row="0" column="3">
+ <property name="name">
+ <cstring>mAddressDomCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Dom</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="3">
+ <property name="name">
+ <cstring>mAddressIntlCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Intl</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="2">
+ <property name="name">
+ <cstring>mAddressParcelCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Parcel</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="2">
+ <property name="name">
+ <cstring>mAddressPostalCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Postal</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>mAddressHomeCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Home</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>mAddressPrefCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Pref</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>mAddressWorkCheck</cstring>
+ </property>
+ <property name="text">
+ <string>Work</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QPushButton" row="0" column="4">
+ <property name="name">
+ <cstring>PushButton1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="3">
+ <property name="name">
+ <cstring>PushButton2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>mAddressIdCombo</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Special</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QTextEdit" row="2" column="0">
+ <property name="name">
+ <cstring>mNoteEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>TextLabel14</cstring>
+ </property>
+ <property name="text">
+ <string>Note:</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>GroupBox2_2</cstring>
+ </property>
+ <property name="title">
+ <string>Categories</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QListView" row="0" column="0" rowspan="4" colspan="1">
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>mCategoryListView</cstring>
+ </property>
+ <property name="resizeMode">
+ <enum>AllColumns</enum>
+ </property>
+ </widget>
+ <spacer row="3" column="1">
+ <property name="name">
+ <cstring>Spacer2_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton" row="2" column="1">
+ <property name="name">
+ <cstring>PushButton6_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="1" column="1">
+ <property name="name">
+ <cstring>PushButton5_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Edit</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="1">
+ <property name="name">
+ <cstring>PushButton7_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>tab</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Custom</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>GroupBox2_2_2</cstring>
+ </property>
+ <property name="title">
+ <string>Custom Entries</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="QListView" row="0" column="0" rowspan="4" colspan="1">
+ <column>
+ <property name="text">
+ <string>App</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Value</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>mCustomListView</cstring>
+ </property>
+ <property name="resizeMode">
+ <enum>AllColumns</enum>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="0" column="1">
+ <property name="name">
+ <cstring>PushButton7_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="1" column="1">
+ <property name="name">
+ <cstring>PushButton5_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Edit</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="1">
+ <property name="name">
+ <cstring>PushButton6_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <spacer row="3" column="1">
+ <property name="name">
+ <cstring>Spacer2_2_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ </widget>
+ </grid>
+</widget>
+<menubar>
+ <property name="name">
+ <cstring>menubar</cstring>
+ </property>
+ <item text="&amp;File" name="PopupMenu">
+ <action name="open"/>
+ <action name="open_std"/>
+ <action name="save"/>
+ <separator/>
+ <action name="dump"/>
+ </item>
+ <item text="&amp;Addressee" name="PopupMenu_2">
+ <action name="addressee_new"/>
+ <action name="addressee_remove"/>
+ </item>
+</menubar>
+<toolbars>
+ <toolbar dock="2">
+ <property name="name">
+ <cstring>Toolbar_3</cstring>
+ </property>
+ <property name="label">
+ <string>Toolbar_3</string>
+ </property>
+ <action name="open"/>
+ <action name="save"/>
+ </toolbar>
+</toolbars>
+<actions>
+ <action>
+ <property name="name">
+ <cstring>open</cstring>
+ </property>
+ <property name="iconSet">
+ <iconset>image0</iconset>
+ </property>
+ <property name="text">
+ <string>Action</string>
+ </property>
+ <property name="menuText">
+ <string>&amp;Open</string>
+ </property>
+ <property name="statusTip">
+ <string>Open Address Book</string>
+ </property>
+ </action>
+ <action>
+ <property name="name">
+ <cstring>save</cstring>
+ </property>
+ <property name="iconSet">
+ <iconset>image1</iconset>
+ </property>
+ <property name="text">
+ <string>Action</string>
+ </property>
+ <property name="menuText">
+ <string>&amp;Save</string>
+ </property>
+ <property name="statusTip">
+ <string>Save Address Book</string>
+ </property>
+ </action>
+ <action>
+ <property name="name">
+ <cstring>addressee_new</cstring>
+ </property>
+ <property name="text">
+ <string>Action</string>
+ </property>
+ <property name="menuText">
+ <string>&amp;New</string>
+ </property>
+ <property name="statusTip">
+ <string>New Addressee</string>
+ </property>
+ </action>
+ <action>
+ <property name="name">
+ <cstring>addressee_remove</cstring>
+ </property>
+ <property name="text">
+ <string>Action</string>
+ </property>
+ <property name="menuText">
+ <string>&amp;Remove</string>
+ </property>
+ <property name="statusTip">
+ <string>Remove Addressee</string>
+ </property>
+ </action>
+ <action>
+ <property name="name">
+ <cstring>dump</cstring>
+ </property>
+ <property name="text">
+ <string>Dump</string>
+ </property>
+ <property name="menuText">
+ <string>&amp;Dump</string>
+ </property>
+ <property name="toolTip">
+ <string>Dump Addressbook</string>
+ </property>
+ </action>
+ <action>
+ <property name="name">
+ <cstring>open_std</cstring>
+ </property>
+ <property name="text">
+ <string>Open Standard Addressbook</string>
+ </property>
+ <property name="menuText">
+ <string>Open Standard &amp;Addressbook</string>
+ </property>
+ </action>
+</actions>
+<images>
+ <image name="image0">
+ <data format="XPM.GZ" length="706">789cad92cf0ac2300cc6ef7d8ab0dc866c6eb231101f41f12888873673e8610a3a0f22bebbfdb3d6ced583e09742f3f54792429bc6b0592f214ed9b5e3dd91800efc02717d6bdbfb76b778b028cf41ae12b268c2a2040856e7d35ee528739c6a294bca56b32a33b656960a2aa950962bdb48192aac6d1add36a87f1094d2fb2731a7a856b81b7e23e8886dee0143900b2ed0c9bb1b0aeec580f880ff548343bd6b10c9534f42c0cd19013b670cfa9a003024047a1200b6463d898b5a87fe4e4928a2e79cbd00444d9e3f</data>
+ </image>
+ <image name="image1">
+ <data format="XPM.GZ" length="706">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523232520022330543251d2e253d856405bffcbc54105b19c856360003103711c4b530b63084709340dc64d364a36453103705ca35837093c1dc9424b31430570f2b00cb2863015099c444e5242400e49026930c1446372d3919a607c8275206610fed641291fd9f8822830688925146350e9b0c6e17d0500614dd7aa830052c93a2870d2ad55a7301002caeaa93</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>mAddresseeList</sender>
+ <signal>selectionChanged(QListViewItem*)</signal>
+ <receiver>MainWindow</receiver>
+ <slot>updateAddressee(QListViewItem*)</slot>
+ </connection>
+ <connection>
+ <sender>save</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>fileSave()</slot>
+ </connection>
+ <connection>
+ <sender>open</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>fileOpen()</slot>
+ </connection>
+ <connection>
+ <sender>addressee_remove</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removeEntry()</slot>
+ </connection>
+ <connection>
+ <sender>addressee_new</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newEntry()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton1</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newAddress()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton2</sender>
+ <signal>pressed()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removeAddress()</slot>
+ </connection>
+ <connection>
+ <sender>mAddressIdCombo</sender>
+ <signal>activated(int)</signal>
+ <receiver>MainWindow</receiver>
+ <slot>updateAddress(int)</slot>
+ </connection>
+ <connection>
+ <sender>dump</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>dumpAddressBook()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton3</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removePhoneNumber()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton4</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newPhoneNumber()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton5</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>editEmail()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton7</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newEmail()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton6</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removeEmail()</slot>
+ </connection>
+ <connection>
+ <sender>mPhoneIdCombo</sender>
+ <signal>activated(int)</signal>
+ <receiver>MainWindow</receiver>
+ <slot>updatePhone(int)</slot>
+ </connection>
+ <connection>
+ <sender>PushButton7_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newCategory()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton5_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>editCategory()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton6_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removeCategory()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton7_2_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>newCustom()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton5_2_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>editCustom()</slot>
+ </connection>
+ <connection>
+ <sender>PushButton6_2_2</sender>
+ <signal>clicked()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>removeCustom()</slot>
+ </connection>
+ <connection>
+ <sender>open_std</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>fileOpenStd()</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>mAddresseeList</tabstop>
+ <tabstop>TabWidget2</tabstop>
+ <tabstop>mNameEdit</tabstop>
+ <tabstop>mUrlEdit</tabstop>
+ <tabstop>mFormattedNameEdit</tabstop>
+ <tabstop>mPrefixEdit</tabstop>
+ <tabstop>mGivenNameEdit</tabstop>
+ <tabstop>mAdditionalNameEdit</tabstop>
+ <tabstop>mFamilyNameEdit</tabstop>
+ <tabstop>mSuffixEdit</tabstop>
+ <tabstop>mNickNameEdit</tabstop>
+ <tabstop>mSortStringEdit</tabstop>
+ <tabstop>mTitleEdit</tabstop>
+ <tabstop>mRoleEdit</tabstop>
+ <tabstop>mOrganizationEdit</tabstop>
+ <tabstop>mEmailListView</tabstop>
+ <tabstop>PushButton7</tabstop>
+ <tabstop>PushButton5</tabstop>
+ <tabstop>PushButton6</tabstop>
+ <tabstop>mPhoneIdCombo</tabstop>
+ <tabstop>PushButton3</tabstop>
+ <tabstop>PushButton4</tabstop>
+ <tabstop>mPhoneNumberEdit</tabstop>
+ <tabstop>mPhoneFaxCheck</tabstop>
+ <tabstop>mPhoneCarCheck</tabstop>
+ <tabstop>mPhoneIsdnCheck</tabstop>
+ <tabstop>mPhoneVoiceCheck</tabstop>
+ <tabstop>mPhoneHomeCheck</tabstop>
+ <tabstop>mPhoneCellCheck</tabstop>
+ <tabstop>mPhonePcsCheck</tabstop>
+ <tabstop>mPhoneModemCheck</tabstop>
+ <tabstop>mPhoneWorkCheck</tabstop>
+ <tabstop>mPhoneVideoCheck</tabstop>
+ <tabstop>mPhonePagerCheck</tabstop>
+ <tabstop>mPhoneMsgCheck</tabstop>
+ <tabstop>mPhonePrefCheck</tabstop>
+ <tabstop>mPhoneBbsCheck</tabstop>
+ <tabstop>mAddressIdCombo</tabstop>
+ <tabstop>PushButton2</tabstop>
+ <tabstop>PushButton1</tabstop>
+ <tabstop>mAddressPrefCheck</tabstop>
+ <tabstop>mAddressHomeCheck</tabstop>
+ <tabstop>mAddressParcelCheck</tabstop>
+ <tabstop>mAddressDomCheck</tabstop>
+ <tabstop>mAddressWorkCheck</tabstop>
+ <tabstop>mAddressPostalCheck</tabstop>
+ <tabstop>mAddressIntlCheck</tabstop>
+ <tabstop>mAddressPostOfficeBoxEdit</tabstop>
+ <tabstop>mAddressExtendedEdit</tabstop>
+ <tabstop>mAddressStreetEdit</tabstop>
+ <tabstop>mAddressLocalityEdit</tabstop>
+ <tabstop>mAddressRegionEdit</tabstop>
+ <tabstop>mAddressPostalCodeEdit</tabstop>
+ <tabstop>mAddressCountryEdit</tabstop>
+ <tabstop>mAddressLabelEdit</tabstop>
+ <tabstop>mCategoryListView</tabstop>
+ <tabstop>PushButton7_2</tabstop>
+ <tabstop>PushButton5_2</tabstop>
+ <tabstop>PushButton6_2</tabstop>
+ <tabstop>mNoteEdit</tabstop>
+ <tabstop>mCustomListView</tabstop>
+ <tabstop>PushButton7_2_2</tabstop>
+ <tabstop>PushButton5_2_2</tabstop>
+ <tabstop>PushButton6_2_2</tabstop>
+</tabstops>
+<includes>
+ <include location="global" impldecl="in declaration">resourcefile.h</include>
+ <include location="global" impldecl="in declaration">addressbook.h</include>
+ <include location="local" impldecl="in implementation">mainWindow.ui.h</include>
+</includes>
+<forwards>
+ <forward>class AddresseeItem</forward>
+</forwards>
+<variables>
+ <variable>KABC::ResourceFile *mResourceFile</variable>
+ <variable>AddresseeItem *mCurrentItem</variable>
+ <variable>KABC::AddressBook *mAddressBook</variable>
+ <variable>QString mCurrentAddress</variable>
+ <variable>QString mCurrentPhone</variable>
+</variables>
+<slots>
+ <slot>init()</slot>
+ <slot>destroy()</slot>
+ <slot>fileSave()</slot>
+ <slot>fileOpen()</slot>
+ <slot>loadAddressBook( const QString &amp; fileName )</slot>
+ <slot>updateAddressee( QListViewItem * item )</slot>
+ <slot>readAddressee( const KABC::Addressee &amp; a )</slot>
+ <slot returnType="KABC::Addressee">writeAddressee( const KABC::Addressee &amp; addressee )</slot>
+ <slot>newEntry()</slot>
+ <slot>removeEntry()</slot>
+ <slot>updateAddress( int id )</slot>
+ <slot returnType="KABC::Address">writeAddress( const KABC::Address &amp; address )</slot>
+ <slot>writeAddress( const QString &amp; id )</slot>
+ <slot>readAddress( const KABC::Address &amp; a )</slot>
+ <slot>readAddress( const QString &amp; id )</slot>
+ <slot>updatePhone( int id )</slot>
+ <slot returnType="KABC::PhoneNumber">writePhone( const KABC::PhoneNumber &amp; phoneNumber )</slot>
+ <slot>writePhone( const QString &amp; id )</slot>
+ <slot>readPhone( const KABC::PhoneNumber &amp; p )</slot>
+ <slot>readPhone( const QString &amp; id )</slot>
+ <slot>newAddress()</slot>
+ <slot>removeAddress()</slot>
+ <slot>dumpAddressBook()</slot>
+ <slot>newEmail()</slot>
+ <slot>editEmail()</slot>
+ <slot>removeEmail()</slot>
+ <slot>newPhoneNumber()</slot>
+ <slot>removePhoneNumber()</slot>
+ <slot>newCategory()</slot>
+ <slot>editCategory()</slot>
+ <slot>removeCategory()</slot>
+ <slot>editCustom()</slot>
+ <slot>newCustom()</slot>
+ <slot>removeCustom()</slot>
+ <slot>addressBookChanged()</slot>
+ <slot>addressBookLocked()</slot>
+ <slot>addressBookUnlocked()</slot>
+ <slot>fileOpenStd()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/kabc/frontend/mainWindow.ui.h b/kabc/frontend/mainWindow.ui.h
new file mode 100644
index 00000000..e6a02474
--- /dev/null
+++ b/kabc/frontend/mainWindow.ui.h
@@ -0,0 +1,658 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename slots use Qt Designer which will
+** update this file, preserving your code. Create an init() slot in place of
+** a constructor, and a destroy() slot in place of a destructor.
+*****************************************************************************/
+
+#include <qfiledialog.h>
+#include <kinputdialog.h>
+#include <qmessagebox.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+#include <kabc/stdaddressbook.h>
+
+using namespace KABC;
+
+class AddresseeItem : public QListViewItem
+{
+ public:
+ AddresseeItem( QListView *parent, const Addressee &a ) :
+ QListViewItem( parent, a.realName(), a.uid() ), mAddressee( a ) {}
+
+ void setAddressee( const Addressee &a ) { mAddressee = a; }
+ Addressee &addressee() { return mAddressee; }
+
+ private:
+ Addressee mAddressee;
+};
+
+void MainWindow::init()
+{
+ mAddressBook = KABC::StdAddressBook::self( true );
+
+ mCurrentItem = 0;
+
+ mEmailListView->header()->hide();
+ mCategoryListView->header()->hide();
+
+ connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
+ SLOT( addressBookChanged() ) );
+ connect( mAddressBook, SIGNAL( addressBookLocked( AddressBook * ) ),
+ SLOT( addressBookLocked() ) );
+ connect( mAddressBook, SIGNAL( addressBookUnlocked( AddressBook * ) ),
+ SLOT( addressBookUnlocked() ) );
+}
+
+void MainWindow::destroy()
+{
+ delete mAddressBook;
+}
+
+void MainWindow::fileSave()
+{
+ updateAddressee( mAddresseeList->selectedItem() );
+
+ StdAddressBook::save();
+}
+
+void MainWindow::fileOpen()
+{
+ QString fileName = QFileDialog::getOpenFileName();
+
+ loadAddressBook( fileName );
+}
+
+void MainWindow::loadAddressBook( const QString &fileName )
+{
+ kdDebug() << "loadAddressBook(): '" << fileName << "'" << endl;
+
+ mAddresseeList->clear();
+ mCurrentItem = 0;
+ mCurrentAddress = QString::null;
+ readAddressee( Addressee() );
+
+ KABC::AddressBook::Iterator it;
+ for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
+ new AddresseeItem( mAddresseeList, (*it) );
+ }
+}
+
+void MainWindow::updateAddressee( QListViewItem *item )
+{
+ AddresseeItem *addresseeItem = dynamic_cast<AddresseeItem *>( item );
+ if ( !addresseeItem ) return;
+
+ if (mCurrentItem ) {
+ writeAddress( mCurrentAddress );
+ writePhone( mCurrentPhone );
+ Addressee a = writeAddressee( mCurrentItem->addressee() );
+ mCurrentItem->setAddressee( a );
+ mAddressBook->insertAddressee( a );
+ }
+ mCurrentItem = addresseeItem;
+
+ readAddressee( addresseeItem->addressee() );
+ updateAddress( mAddressIdCombo->currentItem() );
+ updatePhone( mPhoneIdCombo->currentItem() );
+}
+
+
+void MainWindow::readAddressee( const KABC::Addressee &a )
+{
+ kdDebug() << "MainWindow::readAddressee(): " << a.name() << endl;
+
+ mNameEdit->setText( a.name() );
+ mUrlEdit->setText( a.url().url() );
+ mAdditionalNameEdit->setText( a.additionalName() );
+ mSuffixEdit->setText( a.suffix() );
+ mGivenNameEdit->setText( a.givenName() );
+ mPrefixEdit->setText( a.prefix() );
+ mFamilyNameEdit->setText( a.familyName() );
+ mFormattedNameEdit->setText( a.formattedName() );
+ mNickNameEdit->setText( a.nickName() );
+ mSortStringEdit->setText( a.sortString() );
+ mTitleEdit->setText( a.title() );
+ mRoleEdit->setText( a.role() );
+ mOrganizationEdit->setText( a.organization() );
+ mNoteEdit->setText( a.note() );
+// mLabelEdit->setText( a.label() );
+
+ mEmailListView->clear();
+ QStringList emails = a.emails();
+ QStringList::ConstIterator it3;
+ for( it3 = emails.begin(); it3 != emails.end(); ++it3 ) {
+ new QListViewItem( mEmailListView, *it3 );
+ }
+
+ mCategoryListView->clear();
+ QStringList categories = a.categories();
+ QStringList::ConstIterator it4;
+ for( it4 = categories.begin(); it4 != categories.end(); ++it4 ) {
+ new QListViewItem( mCategoryListView, *it4 );
+ }
+
+ mCustomListView->clear();
+ QStringList customs = a.customs();
+ QStringList::ConstIterator it5;
+ for( it5 = customs.begin(); it5 != customs.end(); ++it5 ) {
+ int posDash = (*it5).find( "-" );
+ int posColon = (*it5).find( ":" );
+
+ QString app = (*it5).left( posDash );
+ QString cname = (*it5).mid( posDash + 1, posColon - posDash - 1 );
+ QString value = (*it5).mid( posColon + 1 );
+
+ new QListViewItem( mCustomListView, app, cname, value );
+ }
+
+ Address::List addresses = a.addresses();
+ mAddressIdCombo->clear();
+ Address::List::ConstIterator it;
+ for( it = addresses.begin(); it != addresses.end(); ++it ) {
+ mAddressIdCombo->insertItem( (*it).id() );
+ }
+ if ( mAddressIdCombo->count() > 0 ) mCurrentAddress = mAddressIdCombo->currentText();
+ else mCurrentAddress = QString::null;
+ readAddress( mCurrentAddress );
+
+ mPhoneIdCombo->clear();
+ PhoneNumber::List pl = a.phoneNumbers();
+ PhoneNumber::List::ConstIterator it2;
+ for( it2 = pl.begin(); it2 != pl.end(); ++it2) {
+ mPhoneIdCombo->insertItem( (*it2).id() );
+ }
+ if ( mPhoneIdCombo->count() > 0 ) mCurrentPhone = mPhoneIdCombo->currentText();
+ readPhone( mCurrentPhone );
+}
+
+KABC::Addressee MainWindow::writeAddressee( const KABC::Addressee &addressee )
+{
+ Addressee a( addressee );
+ a.setName( mNameEdit->text() );
+ if ( !mUrlEdit->text().isEmpty() ) {
+ a.setUrl( KURL( mUrlEdit->text() ) );
+ }
+
+ a.setAdditionalName( mAdditionalNameEdit->text() );
+ a.setSuffix( mSuffixEdit->text() );
+ a.setGivenName( mGivenNameEdit->text() );
+ a.setPrefix( mPrefixEdit->text() );
+ a.setFamilyName( mFamilyNameEdit->text() );
+ a.setFormattedName( mFormattedNameEdit->text() );
+ a.setNickName( mNickNameEdit->text() );
+ a.setSortString( mSortStringEdit->text() );
+ a.setTitle( mTitleEdit->text() );
+ a.setRole( mRoleEdit->text() );
+ a.setOrganization( mOrganizationEdit->text() );
+ a.setNote( mNoteEdit->text() );
+// a.setLabel( mLabelEdit->text() );
+
+ kdDebug() << "MainWindow::writeAddressee()" << endl;
+ a.dump();
+
+ return a;
+}
+
+void MainWindow::newEntry()
+{
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Address Book Entry"),
+ i18n("Please enter name:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ Addressee a;
+ a.setName( name );
+ mAddressBook->insertAddressee( a );
+
+ new AddresseeItem( mAddresseeList, a );
+}
+
+void MainWindow::removeEntry()
+{
+ AddresseeItem *item = dynamic_cast<AddresseeItem *>(mAddresseeList->selectedItem());
+ if ( item ) {
+ mAddressBook->removeAddressee( item->addressee() );
+ delete item;
+ mCurrentItem = 0;
+ }
+}
+
+
+void MainWindow::updateAddress( int id )
+{
+ if( !mCurrentItem ) return;
+
+ writeAddress( mCurrentAddress );
+ if ( mAddressIdCombo->count() > 0 ) {
+ mCurrentAddress = mAddressIdCombo->text( id );
+ } else {
+ mCurrentAddress = QString::null;
+ }
+ readAddress( mCurrentAddress );
+}
+
+KABC::Address MainWindow::writeAddress( const KABC::Address &address )
+{
+ Address a( address );
+
+ a.setPostOfficeBox( mAddressPostOfficeBoxEdit->text() );
+ a.setExtended( mAddressExtendedEdit->text() );
+ a.setStreet( mAddressStreetEdit->text() );
+ a.setLocality( mAddressLocalityEdit->text() );
+ a.setRegion( mAddressRegionEdit->text() );
+ a.setLabel( mAddressLabelEdit->text() );
+ a.setPostalCode( mAddressPostalCodeEdit->text() );
+ a.setCountry( mAddressCountryEdit->text() );
+
+ int type = 0;
+ if ( mAddressDomCheck->isChecked() ) type |= Address::Dom;
+ if ( mAddressIntlCheck->isChecked() ) type |= Address::Intl;
+ if ( mAddressParcelCheck->isChecked() ) type |= Address::Parcel;
+ if ( mAddressPostalCheck->isChecked() ) type |= Address::Postal;
+ if ( mAddressHomeCheck->isChecked() ) type |= Address::Home;
+ if ( mAddressPrefCheck->isChecked() ) type |= Address::Pref;
+ if ( mAddressWorkCheck->isChecked() ) type |= Address::Work;
+ a.setType( type );
+
+ return a;
+}
+
+void MainWindow::writeAddress( const QString &id )
+{
+ if ( !mCurrentItem ) return;
+
+ if ( id.isEmpty() ) return;
+
+ Address address;
+ address.setId( id );
+ address = writeAddress( address );
+
+ mCurrentItem->addressee().insertAddress( address );
+}
+
+void MainWindow::readAddress( const KABC::Address &a )
+{
+ mAddressPostOfficeBoxEdit->setText( a.postOfficeBox() );
+ mAddressExtendedEdit->setText( a.extended() );
+ mAddressStreetEdit->setText( a.street() );
+ mAddressLocalityEdit->setText( a.locality() );
+ mAddressRegionEdit->setText( a.region() );
+ mAddressLabelEdit->setText( a.label() );
+ mAddressPostalCodeEdit->setText( a.postalCode() );
+ mAddressCountryEdit->setText( a.country() );
+
+ int type = a.type();
+ if ( type & Address::Dom ) mAddressDomCheck->setChecked( true );
+ else mAddressDomCheck->setChecked( false );
+ if ( type & Address::Intl ) mAddressIntlCheck->setChecked( true );
+ else mAddressIntlCheck->setChecked( false );
+ if ( type & Address::Parcel ) mAddressParcelCheck->setChecked( true );
+ else mAddressParcelCheck->setChecked( false );
+ if ( type & Address::Postal ) mAddressPostalCheck->setChecked( true );
+ else mAddressPostalCheck->setChecked( false );
+ if ( type & Address::Home ) mAddressHomeCheck->setChecked( true );
+ else mAddressHomeCheck->setChecked( false );
+ if ( type & Address::Pref ) mAddressPrefCheck->setChecked( true );
+ else mAddressPrefCheck->setChecked( false );
+ if ( type & Address::Work ) mAddressWorkCheck->setChecked( true );
+ else mAddressWorkCheck->setChecked( false );
+}
+
+void MainWindow::readAddress( const QString &id )
+{
+ if ( !mCurrentItem || id.isEmpty() ) {
+ readAddress( Address() );
+ return;
+ }
+
+ Address address = mCurrentItem->addressee().findAddress( id );
+ readAddress( address );
+}
+
+void MainWindow::updatePhone( int id )
+{
+ if( !mCurrentItem ) return;
+
+ writePhone( mCurrentPhone );
+ if ( mPhoneIdCombo->count() > 0 ) {
+ mCurrentPhone = mPhoneIdCombo->text( id );
+ } else {
+ mCurrentPhone = QString::null;
+ }
+ readPhone( mCurrentPhone );
+}
+
+KABC::PhoneNumber MainWindow::writePhone( const KABC::PhoneNumber &phoneNumber )
+{
+ PhoneNumber p( phoneNumber );
+
+ p.setNumber( mPhoneNumberEdit->text() );
+
+ int type = 0;
+ if ( mPhoneMsgCheck->isChecked() ) type |= PhoneNumber::Msg;
+ if ( mPhoneVoiceCheck->isChecked() ) type |= PhoneNumber::Voice;
+ if ( mPhoneFaxCheck->isChecked() ) type |= PhoneNumber::Fax;
+ if ( mPhoneCellCheck->isChecked() ) type |= PhoneNumber::Cell;
+ if ( mPhoneHomeCheck->isChecked() ) type |= PhoneNumber::Home;
+ if ( mPhonePrefCheck->isChecked() ) type |= PhoneNumber::Pref;
+ if ( mPhoneWorkCheck->isChecked() ) type |= PhoneNumber::Work;
+ if ( mPhoneVideoCheck->isChecked() ) type |= PhoneNumber::Video;
+ if ( mPhoneBbsCheck->isChecked() ) type |= PhoneNumber::Bbs;
+ if ( mPhoneModemCheck->isChecked() ) type |= PhoneNumber::Modem;
+ if ( mPhoneCarCheck->isChecked() ) type |= PhoneNumber::Car;
+ if ( mPhoneIsdnCheck->isChecked() ) type |= PhoneNumber::Isdn;
+ if ( mPhonePcsCheck->isChecked() ) type |= PhoneNumber::Pcs;
+ if ( mPhonePagerCheck->isChecked() ) type |= PhoneNumber::Pager;
+ p.setType( type );
+
+ return p;
+}
+
+void MainWindow::writePhone( const QString &id )
+{
+ if ( !mCurrentItem ) return;
+
+ if ( id.isEmpty() ) return;
+
+ PhoneNumber p;
+ p.setId( id );
+ p = writePhone( p );
+
+ mCurrentItem->addressee().insertPhoneNumber( p );
+}
+
+void MainWindow::readPhone( const KABC::PhoneNumber &p )
+{
+ mPhoneNumberEdit->setText( p.number() );
+
+ int type = p.type();
+ if ( type & PhoneNumber::Msg ) mPhoneMsgCheck->setChecked( true );
+ else mPhoneMsgCheck->setChecked( false );
+ if ( type & PhoneNumber::Voice ) mPhoneVoiceCheck->setChecked( true );
+ else mPhoneVoiceCheck->setChecked( false );
+ if ( type & PhoneNumber::Fax ) mPhoneFaxCheck->setChecked( true );
+ else mPhoneFaxCheck->setChecked( false );
+ if ( type & PhoneNumber::Cell ) mPhoneCellCheck->setChecked( true );
+ else mPhoneCellCheck->setChecked( false );
+ if ( type & PhoneNumber::Home ) mPhoneHomeCheck->setChecked( true );
+ else mPhoneHomeCheck->setChecked( false );
+ if ( type & PhoneNumber::Pref ) mPhonePrefCheck->setChecked( true );
+ else mPhonePrefCheck->setChecked( false );
+ if ( type & PhoneNumber::Work ) mPhoneWorkCheck->setChecked( true );
+ else mPhoneWorkCheck->setChecked( false );
+ if ( type & PhoneNumber::Video ) mPhoneVideoCheck->setChecked( true );
+ else mPhoneVideoCheck->setChecked( false );
+ if ( type & PhoneNumber::Bbs ) mPhoneBbsCheck->setChecked( true );
+ else mPhoneBbsCheck->setChecked( false );
+ if ( type & PhoneNumber::Modem ) mPhoneModemCheck->setChecked( true );
+ else mPhoneModemCheck->setChecked( false );
+ if ( type & PhoneNumber::Car ) mPhoneCarCheck->setChecked( true );
+ else mPhoneCarCheck->setChecked( false );
+ if ( type & PhoneNumber::Isdn ) mPhoneIsdnCheck->setChecked( true );
+ else mPhoneIsdnCheck->setChecked( false );
+ if ( type & PhoneNumber::Pcs ) mPhonePcsCheck->setChecked( true );
+ else mPhonePcsCheck->setChecked( false );
+ if ( type & PhoneNumber::Pager ) mPhonePagerCheck->setChecked( true );
+ else mPhonePagerCheck->setChecked( false );
+}
+
+void MainWindow::readPhone( const QString &id )
+{
+ if ( !mCurrentItem || id.isEmpty() ) {
+ readPhone( PhoneNumber() );
+ return;
+ }
+
+ PhoneNumber p = mCurrentItem->addressee().findPhoneNumber( id );
+ readPhone( p );
+}
+
+
+void MainWindow::newAddress()
+{
+ if( !mCurrentItem ) return;
+
+ Address address;
+ mCurrentItem->addressee().insertAddress( address );
+
+ mAddressIdCombo->insertItem( address.id() );
+}
+
+void MainWindow::removeAddress()
+{
+ if ( !mCurrentItem ) return;
+
+ QString id = mAddressIdCombo->currentText();
+ if ( id.isEmpty() ) return;
+
+ Address address;
+ address.setId( id );
+ mCurrentItem->addressee().removeAddress( address );
+
+ readAddressee( mCurrentItem->addressee() );
+}
+
+
+void MainWindow::dumpAddressBook()
+{
+ mAddressBook->dump();
+}
+
+
+void MainWindow::newEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Email Address"),
+ i18n("Please enter email address:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ new QListViewItem( mEmailListView, name );
+ mCurrentItem->addressee().insertEmail( name );
+}
+
+void MainWindow::editEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mEmailListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("Edit Email Address"),
+ i18n("Please enter new email address:"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ item->setText( 0, name );
+ mCurrentItem->addressee().removeEmail( oldName );
+ mCurrentItem->addressee().insertEmail( name );
+}
+
+void MainWindow::removeEmail()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mEmailListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeEmail( item->text( 0 ) );
+ delete item;
+}
+
+void MainWindow::newPhoneNumber()
+{
+ if ( !mCurrentItem ) return;
+
+ PhoneNumber p;
+ mCurrentItem->addressee().insertPhoneNumber( p );
+
+ mPhoneIdCombo->insertItem( p.id() );
+}
+
+void MainWindow::removePhoneNumber()
+{
+ if ( !mCurrentItem ) return;
+
+ QString id = mPhoneIdCombo->currentText();
+ if ( id.isEmpty() ) return;
+
+ PhoneNumber p;
+ p.setId( id );
+ mCurrentItem->addressee().removePhoneNumber( p );
+
+ readAddressee( mCurrentItem->addressee() );
+}
+
+
+void MainWindow::newCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Category"),
+ i18n("Please enter category name:"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ new QListViewItem( mCategoryListView, name );
+ mCurrentItem->addressee().insertCategory( name );
+}
+
+void MainWindow::editCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCategoryListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("Edit Category"),
+ i18n("Please enter new category name:"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ item->setText( 0, name );
+ mCurrentItem->addressee().removeCategory( oldName );
+ mCurrentItem->addressee().insertCategory( name );
+}
+
+void MainWindow::removeCategory()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCategoryListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeCategory( item->text( 0 ) );
+ delete item;
+}
+
+
+void MainWindow::editCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCustomListView->selectedItem();
+ if( !item ) return;
+
+ QString oldName = item->text( 0 ) + "-" + item->text( 1 ) + ":" +
+ item->text( 2 );
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Custom Entry"),
+ i18n("Please enter custom entry.\n"
+ "Format: APP-NAME:VALUE"),
+ oldName, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ int posDash = name.find( "-" );
+ int posColon = name.find( ":" );
+
+ QString app = name.left( posDash );
+ QString cname = name.mid( posDash + 1, posColon - posDash - 1 );
+ QString value = name.mid( posColon + 1 );
+
+ item->setText( 0, app );
+ item->setText( 1, cname );
+ item->setText( 2, value );
+
+ mCurrentItem->addressee().removeCustom( app, cname );
+ mCurrentItem->addressee().insertCustom( app, cname, value );
+}
+
+void MainWindow::newCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ bool ok = false;
+ QString name = KInputDialog::getText( i18n("New Custom Entry"),
+ i18n("Please enter custom entry.\n"
+ "Format: APP-NAME:VALUE"),
+ QString::null, &ok,
+ this );
+ if ( !ok || name.isEmpty() ) return;
+
+ int posDash = name.find( "-" );
+ int posColon = name.find( ":" );
+
+ QString app = name.left( posDash );
+ QString cname = name.mid( posDash + 1, posColon - posDash - 1 );
+ QString value = name.mid( posColon + 1 );
+
+ new QListViewItem( mCustomListView, app, cname, value );
+
+ mCurrentItem->addressee().insertCustom( app, cname, value );
+}
+
+void MainWindow::removeCustom()
+{
+ if ( !mCurrentItem ) return;
+
+ QListViewItem *item = mCustomListView->selectedItem();
+ if( !item ) return;
+
+ mCurrentItem->addressee().removeCustom( item->text( 0 ), item->text( 1 ) );
+ delete item;
+}
+
+void MainWindow::addressBookChanged()
+{
+ QMessageBox::warning( this, i18n("Address Book Changed"),
+ i18n("The address book has changed on disk."),
+ i18n("Reload") );
+ loadAddressBook( "dummy" );
+}
+
+void MainWindow::addressBookLocked()
+{
+ kdDebug() << "AddressBook locked()" << endl;
+}
+
+void MainWindow::addressBookUnlocked()
+{
+ kdDebug() << "AddressBook unlocked()" << endl;
+}
+
+
+void MainWindow::fileOpenStd()
+{
+ loadAddressBook( StdAddressBook::fileName() );
+}