summaryrefslogtreecommitdiffabout
path: root/kabc
Unidiff
Diffstat (limited to 'kabc') (more/less context) (show whitespace changes)
-rw-r--r--kabc/addresseedialog.cpp18
-rw-r--r--kabc/addresseedialog.h2
2 files changed, 16 insertions, 4 deletions
diff --git a/kabc/addresseedialog.cpp b/kabc/addresseedialog.cpp
index e89584d..3e7b72c 100644
--- a/kabc/addresseedialog.cpp
+++ b/kabc/addresseedialog.cpp
@@ -35,24 +35,25 @@
35#include "addresseedialog.h" 35#include "addresseedialog.h"
36#include "KDGanttMinimizeSplitter.h" 36#include "KDGanttMinimizeSplitter.h"
37//#include "addresseedialog.moc" 37//#include "addresseedialog.moc"
38 38
39using namespace KABC; 39using namespace KABC;
40 40
41AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) : 41AddresseeItem::AddresseeItem( QListView *parent, const Addressee &addressee ) :
42 QListViewItem( parent ), 42 QListViewItem( parent ),
43 mAddressee( addressee ) 43 mAddressee( addressee )
44{ 44{
45 setText( Name,addressee.realName()); 45 setText( Name,addressee.realName());
46 setText( Email, addressee.preferredEmail() ); 46 setText( Email, addressee.preferredEmail() );
47 setText( Category, addressee.categories().join(";") );
47} 48}
48 49
49QString AddresseeItem::key( int column, bool ) const 50QString AddresseeItem::key( int column, bool ) const
50{ 51{
51 52
52 if (column == Email) { 53 if (column == Email) {
53 QString value = text(Email); 54 QString value = text(Email);
54 int val = value.findRev("@"); 55 int val = value.findRev("@");
55 return value.mid( val) + value.left( val ); 56 return value.mid( val) + value.left( val );
56 } 57 }
57 return text(column).lower(); 58 return text(column).lower();
58} 59}
@@ -71,57 +72,67 @@ AddresseeDialog::AddresseeDialog( QWidget *parent, bool multiple ) :
71 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 72 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
72 73
73 topLayout->addWidget(mMiniSplitter ); 74 topLayout->addWidget(mMiniSplitter );
74 75
75 QWidget *listWidget = new QWidget( mMiniSplitter ); 76 QWidget *listWidget = new QWidget( mMiniSplitter );
76 77
77 QBoxLayout *listLayout = new QVBoxLayout (listWidget) ; 78 QBoxLayout *listLayout = new QVBoxLayout (listWidget) ;
78 //topLayout->addLayout( listLayout ); 79 //topLayout->addLayout( listLayout );
79 80
80 mAddresseeList = new KListView( listWidget ); 81 mAddresseeList = new KListView( listWidget );
81 mAddresseeList->addColumn( i18n("Name") ); 82 mAddresseeList->addColumn( i18n("Name") );
82 mAddresseeList->addColumn( i18n("Email") ); 83 mAddresseeList->addColumn( i18n("Email") );
84 mAddresseeList->addColumn( i18n("Category") );
83 mAddresseeList->setAllColumnsShowFocus( true ); 85 mAddresseeList->setAllColumnsShowFocus( true );
84 mAddresseeList->setFullWidth( true ); 86 mAddresseeList->setFullWidth( true );
85 listLayout->addWidget( mAddresseeList ); 87 listLayout->addWidget( mAddresseeList );
86 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ), 88 connect( mAddresseeList, SIGNAL( doubleClicked( QListViewItem * ) ),
87 SLOT( slotOk() ) ); 89 SLOT( slotOk() ) );
88 90
89 mAddresseeEdit = new QLineEdit( listWidget ); 91 QHBox* searchBox = new QHBox ( listWidget );
92 mAddresseeEdit = new QLineEdit( searchBox );
90 connect( mAddresseeEdit, SIGNAL( returnPressed() ), 93 connect( mAddresseeEdit, SIGNAL( returnPressed() ),
91 SLOT( loadAddressBook() ) ); 94 SLOT( loadAddressBook() ) );
92 mAddresseeEdit->setFocus(); 95 mAddresseeEdit->setFocus();
96 QPushButton *searchButton = new QPushButton( i18n("Search!"), searchBox );
97 connect ( searchButton, SIGNAL( clicked() ), SLOT( loadAddressBook() ) );
93 98
94 listLayout->addWidget( mAddresseeEdit ); 99 listLayout->addWidget( searchBox );
95 100
96 if ( mMultiple ) { 101 if ( mMultiple ) {
97 //QBoxLayout *selectedLayout = new QVBoxLayout; 102 //QBoxLayout *selectedLayout = new QVBoxLayout;
98 //topLayout->addLayout( selectedLayout ); 103 //topLayout->addLayout( selectedLayout );
99 //topLayout->setSpacing( spacingHint() ); 104 //topLayout->setSpacing( spacingHint() );
100 105
101 QVBox *selectedGroup = new QVBox( mMiniSplitter ); 106 QVBox *selectedGroup = new QVBox( mMiniSplitter );
102 new QLabel ( i18n("Selected:"), selectedGroup ); 107 new QLabel ( i18n("Selected:"), selectedGroup );
103 //selectedLayout->addWidget( selectedGroup ); 108 //selectedLayout->addWidget( selectedGroup );
104 109
105 mSelectedList = new KListView( selectedGroup ); 110 mSelectedList = new KListView( selectedGroup );
106 mSelectedList->addColumn( i18n("Name") ); 111 mSelectedList->addColumn( i18n("Name") );
107 mSelectedList->addColumn( i18n("Email") ); 112 mSelectedList->addColumn( i18n("Email") );
108 mSelectedList->setAllColumnsShowFocus( true ); 113 mSelectedList->setAllColumnsShowFocus( true );
109 mSelectedList->setFullWidth( true ); 114 mSelectedList->setFullWidth( true );
110 connect( mSelectedList, SIGNAL( doubleClicked( QListViewItem * ) ), 115 //connect( mSelectedList, SIGNAL( doubleClicked( QListViewItem * ) ),
116 // SLOT( removeSelected() ) );
117 connect( mSelectedList, SIGNAL( clicked( QListViewItem * ) ),
118 SLOT( removeSelected() ) );
119 connect( mSelectedList, SIGNAL( returnPressed( QListViewItem *) ),
111 SLOT( removeSelected() ) ); 120 SLOT( removeSelected() ) );
112 121
122#if 0
113 QPushButton *unselectButton = new QPushButton( i18n("Unselect"), selectedGroup ); 123 QPushButton *unselectButton = new QPushButton( i18n("Unselect"), selectedGroup );
114 connect ( unselectButton, SIGNAL( clicked() ), SLOT( removeSelected() ) ); 124 connect ( unselectButton, SIGNAL( clicked() ), SLOT( removeSelected() ) );
115 125
126#endif
116 connect( mAddresseeList, SIGNAL( clicked( QListViewItem * ) ), 127 connect( mAddresseeList, SIGNAL( clicked( QListViewItem * ) ),
117 SLOT( addSelected( QListViewItem * ) ) ); 128 SLOT( addSelected( QListViewItem * ) ) );
118 connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ), 129 connect( mAddresseeList, SIGNAL( returnPressed( QListViewItem * ) ),
119 SLOT( selectNextItem( QListViewItem * ) ) ); 130 SLOT( selectNextItem( QListViewItem * ) ) );
120 131
121 } 132 }
122 133
123 mAddressBook = StdAddressBook::self( true ); 134 mAddressBook = StdAddressBook::self( true );
124 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ), 135 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook* ) ),
125 SLOT( addressBookChanged() ) ); 136 SLOT( addressBookChanged() ) );
126#if 0 137#if 0
127 connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ), 138 connect( mAddressBook, SIGNAL( loadingFinished( Resource* ) ),
@@ -155,24 +166,25 @@ void AddresseeDialog::loadAddressBook()
155 //mAddresseeEdit->completionObject()->clear(); 166 //mAddresseeEdit->completionObject()->clear();
156 QRegExp re; 167 QRegExp re;
157 re.setWildcard(true); // most people understand these better. 168 re.setWildcard(true); // most people understand these better.
158 re.setCaseSensitive(false); 169 re.setCaseSensitive(false);
159 re.setPattern( "*"+ mAddresseeEdit->text() + "*"); 170 re.setPattern( "*"+ mAddresseeEdit->text() + "*");
160 171
161 AddressBook::Iterator it; 172 AddressBook::Iterator it;
162 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 173 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
163 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 174 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
164 continue; 175 continue;
165 QString name = (*it).realName(); 176 QString name = (*it).realName();
166 name += (*it).preferredEmail(); 177 name += (*it).preferredEmail();
178 name += (*it).categories().join(";");
167#if QT_VERSION >= 0x030000 179#if QT_VERSION >= 0x030000
168 if (re.search(name) != -1) 180 if (re.search(name) != -1)
169#else 181#else
170 if (re.match(name) != -1) 182 if (re.match(name) != -1)
171#endif 183#endif
172 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) ); 184 AddresseeItem *item = new AddresseeItem( mAddresseeList, (*it) );
173 } 185 }
174} 186}
175 187
176void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item ) 188void AddresseeDialog::addCompletionItem( const QString &str, QListViewItem *item )
177{ 189{
178 if ( str.isEmpty() ) return; 190 if ( str.isEmpty() ) return;
diff --git a/kabc/addresseedialog.h b/kabc/addresseedialog.h
index 99c74bd..6fab62d 100644
--- a/kabc/addresseedialog.h
+++ b/kabc/addresseedialog.h
@@ -34,25 +34,25 @@ namespace KABC {
34/** 34/**
35 @short Special ListViewItem, that is used by the AddresseeDialog. 35 @short Special ListViewItem, that is used by the AddresseeDialog.
36*/ 36*/
37class AddresseeItem : public QListViewItem 37class AddresseeItem : public QListViewItem
38{ 38{
39 public: 39 public:
40 40
41 /** 41 /**
42 Type of column 42 Type of column
43 @li @p Name - Name in Addressee 43 @li @p Name - Name in Addressee
44 @li @p Email - Email in Addressee 44 @li @p Email - Email in Addressee
45 */ 45 */
46 enum columns { Name = 0, Email = 1 }; 46 enum columns { Name = 0, Email = 1,Category = 2 };
47 47
48 /** 48 /**
49 Constructor. 49 Constructor.
50 50
51 @param parent The parent listview. 51 @param parent The parent listview.
52 @param addressee The associated addressee. 52 @param addressee The associated addressee.
53 */ 53 */
54 AddresseeItem( QListView *parent, const Addressee &addressee ); 54 AddresseeItem( QListView *parent, const Addressee &addressee );
55 55
56 /** 56 /**
57 Returns the addressee. 57 Returns the addressee.
58 */ 58 */