summaryrefslogtreecommitdiff
authoreilers <eilers>2003-03-27 11:56:44 (UTC)
committer eilers <eilers>2003-03-27 11:56:44 (UTC)
commitff43585778968407bb08473e45ddd1d942f8d8c8 (patch) (unidiff)
tree7f9b364543337ee14c93175b7a0d02d9a61d8608
parent7a7370388ef30efd303c3ffb4f84b8e8f6830db9 (diff)
downloadopie-ff43585778968407bb08473e45ddd1d942f8d8c8.zip
opie-ff43585778968407bb08473e45ddd1d942f8d8c8.tar.gz
opie-ff43585778968407bb08473e45ddd1d942f8d8c8.tar.bz2
Bugfix: If menu-button is pressed, the mainmenu will now open as expected
To have the same look and feel as the other pim applications, the moveable toolbar is disabled. This behaviour is changeable in the configuration.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abconfig.cpp14
-rw-r--r--core/pim/addressbook/abconfig.h3
-rw-r--r--core/pim/addressbook/addressbook.cpp32
-rw-r--r--core/pim/addressbook/configdlg.cpp5
-rw-r--r--core/pim/addressbook/configdlg_base.ui61
-rw-r--r--core/pim/addressbook/version.h2
6 files changed, 101 insertions, 16 deletions
diff --git a/core/pim/addressbook/abconfig.cpp b/core/pim/addressbook/abconfig.cpp
index e58fa76..0b61614 100644
--- a/core/pim/addressbook/abconfig.cpp
+++ b/core/pim/addressbook/abconfig.cpp
@@ -1,184 +1,198 @@
1#include "abconfig.h" 1#include "abconfig.h"
2#include "version.h" 2#include "version.h"
3 3
4#include <qpe/config.h> 4#include <qpe/config.h>
5#include <qpe/recordfields.h> 5#include <qpe/recordfields.h>
6 6
7AbConfig::AbConfig( ): 7AbConfig::AbConfig( ):
8 m_useQtMail( true ), 8 m_useQtMail( true ),
9 m_useOpieMail( false ), 9 m_useOpieMail( false ),
10 m_useRegExp( false ), 10 m_useRegExp( false ),
11 m_beCaseSensitive( false ), 11 m_beCaseSensitive( false ),
12 m_fontSize( 1 ), 12 m_fontSize( 1 ),
13 m_barPos( QMainWindow::Top ), 13 m_barPos( QMainWindow::Top ),
14 m_fixedBars( true ),
14 m_changed( false ) 15 m_changed( false )
15{ 16{
16} 17}
17 18
18AbConfig::~AbConfig() 19AbConfig::~AbConfig()
19{ 20{
20} 21}
21 22
22bool AbConfig::useRegExp() const 23bool AbConfig::useRegExp() const
23{ 24{
24 return m_useRegExp; 25 return m_useRegExp;
25} 26}
26bool AbConfig::useWildCards() const 27bool AbConfig::useWildCards() const
27{ 28{
28 return !m_useRegExp; 29 return !m_useRegExp;
29} 30}
30bool AbConfig::useQtMail() const 31bool AbConfig::useQtMail() const
31{ 32{
32 return m_useQtMail; 33 return m_useQtMail;
33} 34}
34bool AbConfig::useOpieMail() const 35bool AbConfig::useOpieMail() const
35{ 36{
36 return m_useOpieMail; 37 return m_useOpieMail;
37} 38}
38bool AbConfig::beCaseSensitive() const 39bool AbConfig::beCaseSensitive() const
39{ 40{
40 return m_beCaseSensitive; 41 return m_beCaseSensitive;
41} 42}
42int AbConfig::fontSize() const 43int AbConfig::fontSize() const
43{ 44{
44 return m_fontSize; 45 return m_fontSize;
45} 46}
46 47
47QValueList<int> AbConfig::orderList() const 48QValueList<int> AbConfig::orderList() const
48{ 49{
49 return m_ordered; 50 return m_ordered;
50} 51}
51 52
52QMainWindow::ToolBarDock AbConfig::getToolBarPos() const 53QMainWindow::ToolBarDock AbConfig::getToolBarPos() const
53{ 54{
54 return (QMainWindow::ToolBarDock) m_barPos; 55 return (QMainWindow::ToolBarDock) m_barPos;
55} 56}
56 57
58bool AbConfig::fixedBars() const
59{
60 return m_fixedBars;
61}
57 62
58void AbConfig::setUseRegExp( bool v ) 63void AbConfig::setUseRegExp( bool v )
59{ 64{
60 m_useRegExp = v ; 65 m_useRegExp = v ;
61 m_changed = true; 66 m_changed = true;
62} 67}
63void AbConfig::setUseWildCards( bool v ) 68void AbConfig::setUseWildCards( bool v )
64{ 69{
65 m_useRegExp = !v; 70 m_useRegExp = !v;
66 m_changed = true; 71 m_changed = true;
67} 72}
68void AbConfig::setBeCaseSensitive( bool v ) 73void AbConfig::setBeCaseSensitive( bool v )
69{ 74{
70 m_beCaseSensitive = v; 75 m_beCaseSensitive = v;
71 m_changed = true; 76 m_changed = true;
72} 77}
73void AbConfig::setUseQtMail( bool v ) 78void AbConfig::setUseQtMail( bool v )
74{ 79{
75 m_useQtMail = v; 80 m_useQtMail = v;
76 m_changed = true; 81 m_changed = true;
77} 82}
78void AbConfig::setUseOpieMail( bool v ) 83void AbConfig::setUseOpieMail( bool v )
79{ 84{
80 m_useOpieMail = v; 85 m_useOpieMail = v;
81 m_changed = true; 86 m_changed = true;
82} 87}
83void AbConfig::setFontSize( int v ) 88void AbConfig::setFontSize( int v )
84{ 89{
85 m_fontSize = v; 90 m_fontSize = v;
86 m_changed = true; 91 m_changed = true;
87} 92}
88 93
89void AbConfig::setOrderList( const QValueList<int>& list ) 94void AbConfig::setOrderList( const QValueList<int>& list )
90{ 95{
91 m_ordered = list; 96 m_ordered = list;
92 m_changed = true; 97 m_changed = true;
93} 98}
94 99
95void AbConfig::setToolBarDock( const QMainWindow::ToolBarDock v ) 100void AbConfig::setToolBarDock( const QMainWindow::ToolBarDock v )
96{ 101{
97 m_barPos = v; 102 m_barPos = v;
98 m_changed = true; 103 m_changed = true;
99} 104}
100 105
106void AbConfig::setFixedBars( const bool fixed )
107{
108 m_fixedBars = fixed;
109 m_changed = true;
110}
111
101void AbConfig::load() 112void AbConfig::load()
102{ 113{
103 // Read Config settings 114 // Read Config settings
104 Config cfg("AddressBook"); 115 Config cfg("AddressBook");
105 116
106 cfg.setGroup("Font"); 117 cfg.setGroup("Font");
107 m_fontSize = cfg.readNumEntry( "fontSize", 1 ); 118 m_fontSize = cfg.readNumEntry( "fontSize", 1 );
108 119
109 cfg.setGroup("Search"); 120 cfg.setGroup("Search");
110 m_useRegExp = cfg.readBoolEntry( "useRegExp" ); 121 m_useRegExp = cfg.readBoolEntry( "useRegExp" );
111 m_beCaseSensitive = cfg.readBoolEntry( "caseSensitive" ); 122 m_beCaseSensitive = cfg.readBoolEntry( "caseSensitive" );
112 123
113 cfg.setGroup("Mail"); 124 cfg.setGroup("Mail");
114 m_useQtMail = cfg.readBoolEntry( "useQtMail", true ); 125 m_useQtMail = cfg.readBoolEntry( "useQtMail", true );
115 m_useOpieMail=cfg.readBoolEntry( "useOpieMail" ); 126 m_useOpieMail=cfg.readBoolEntry( "useOpieMail" );
116 127
117 cfg.setGroup("ContactOrder"); 128 cfg.setGroup("ContactOrder");
118 int ID = 0; 129 int ID = 0;
119 int i = 0; 130 int i = 0;
120 ID = cfg.readNumEntry( "ContactID_"+QString::number(i++), 0 ); 131 ID = cfg.readNumEntry( "ContactID_"+QString::number(i++), 0 );
121 while ( ID != 0 ){ 132 while ( ID != 0 ){
122 m_ordered.append( ID ); 133 m_ordered.append( ID );
123 ID = cfg.readNumEntry( "ContactID_"+QString::number(i++), 0 ); 134 ID = cfg.readNumEntry( "ContactID_"+QString::number(i++), 0 );
124 } 135 }
125 136
126 // If no contact order is defined, we set the default 137 // If no contact order is defined, we set the default
127 if ( m_ordered.count() == 0 ) { 138 if ( m_ordered.count() == 0 ) {
128 m_ordered.append( Qtopia::DefaultEmail ); 139 m_ordered.append( Qtopia::DefaultEmail );
129 m_ordered.append( Qtopia::HomePhone); 140 m_ordered.append( Qtopia::HomePhone);
130 m_ordered.append( Qtopia::HomeMobile); 141 m_ordered.append( Qtopia::HomeMobile);
131 m_ordered.append( Qtopia::BusinessPhone); 142 m_ordered.append( Qtopia::BusinessPhone);
132 } 143 }
133 144
134 cfg.setGroup("ToolBar"); 145 cfg.setGroup("ToolBar");
135 m_barPos = cfg.readNumEntry( "Position", QMainWindow::Top ); 146 m_barPos = cfg.readNumEntry( "Position", QMainWindow::Top );
147 m_fixedBars= cfg.readBoolEntry( "fixedBars", true );
136 148
137 m_changed = false; 149 m_changed = false;
138} 150}
139 151
140void AbConfig::save() 152void AbConfig::save()
141{ 153{
142 if ( m_changed ){ 154 if ( m_changed ){
143 Config cfg("AddressBook"); 155 Config cfg("AddressBook");
144 cfg.setGroup("Font"); 156 cfg.setGroup("Font");
145 cfg.writeEntry("fontSize", m_fontSize); 157 cfg.writeEntry("fontSize", m_fontSize);
146 158
147 cfg.setGroup("Search"); 159 cfg.setGroup("Search");
148 cfg.writeEntry("useRegExp", m_useRegExp); 160 cfg.writeEntry("useRegExp", m_useRegExp);
149 cfg.writeEntry("caseSensitive", m_beCaseSensitive); 161 cfg.writeEntry("caseSensitive", m_beCaseSensitive);
150 162
151 cfg.setGroup("Mail"); 163 cfg.setGroup("Mail");
152 cfg.writeEntry( "useQtMail", m_useQtMail ); 164 cfg.writeEntry( "useQtMail", m_useQtMail );
153 cfg.writeEntry( "useOpieMail", m_useOpieMail); 165 cfg.writeEntry( "useOpieMail", m_useOpieMail);
154 166
155 cfg.setGroup("ContactOrder"); 167 cfg.setGroup("ContactOrder");
156 cfg.clearGroup(); 168 cfg.clearGroup();
157 for ( uint i = 0; i < m_ordered.count(); i++ ){ 169 for ( uint i = 0; i < m_ordered.count(); i++ ){
158 cfg.writeEntry( "ContactID_"+QString::number(i), m_ordered[i] ); 170 cfg.writeEntry( "ContactID_"+QString::number(i), m_ordered[i] );
159 } 171 }
160 172
161 cfg.setGroup("ToolBar"); 173 cfg.setGroup("ToolBar");
162 cfg.writeEntry( "Position", m_barPos ); 174 cfg.writeEntry( "Position", m_barPos );
175 cfg.writeEntry( "fixedBars", m_fixedBars );
163 176
164 cfg.setGroup("Version"); 177 cfg.setGroup("Version");
165 cfg.writeEntry( "AppName", APPNAME + QString(" V" ) + MAINVERSION + QString(".") + SUBVERSION + QString(".") + PATCHVERSION); 178 cfg.writeEntry( "AppName", APPNAME + QString(" V" ) + MAINVERSION + QString(".") + SUBVERSION + QString(".") + PATCHVERSION);
166 cfg.writeEntry( "Mainversion", MAINVERSION ); 179 cfg.writeEntry( "Mainversion", MAINVERSION );
167 cfg.writeEntry( "SubVersion", SUBVERSION ); 180 cfg.writeEntry( "SubVersion", SUBVERSION );
168 cfg.writeEntry( "PatchVersion", PATCHVERSION ); 181 cfg.writeEntry( "PatchVersion", PATCHVERSION );
169 182
170 } 183 }
171 184
172} 185}
173 186
174void AbConfig::operator= ( const AbConfig& cnf ) 187void AbConfig::operator= ( const AbConfig& cnf )
175{ 188{
176 m_useQtMail = cnf.m_useQtMail; 189 m_useQtMail = cnf.m_useQtMail;
177 m_useOpieMail = cnf.m_useOpieMail; 190 m_useOpieMail = cnf.m_useOpieMail;
178 m_useRegExp = cnf.m_useRegExp; 191 m_useRegExp = cnf.m_useRegExp;
179 m_beCaseSensitive = cnf.m_beCaseSensitive; 192 m_beCaseSensitive = cnf.m_beCaseSensitive;
180 m_fontSize = cnf.m_fontSize; 193 m_fontSize = cnf.m_fontSize;
181 m_ordered = cnf.m_ordered; 194 m_ordered = cnf.m_ordered;
182 m_barPos = cnf.m_barPos; 195 m_barPos = cnf.m_barPos;
196 m_fixedBars = cnf.m_fixedBars;
183} 197}
184 198
diff --git a/core/pim/addressbook/abconfig.h b/core/pim/addressbook/abconfig.h
index b8460d7..ce51b4c 100644
--- a/core/pim/addressbook/abconfig.h
+++ b/core/pim/addressbook/abconfig.h
@@ -1,55 +1,58 @@
1#ifndef _ABCONFIG_H_ 1#ifndef _ABCONFIG_H_
2#define _ABCONFIG_H_ 2#define _ABCONFIG_H_
3 3
4#include <qstringlist.h> 4#include <qstringlist.h>
5#include <qmainwindow.h> 5#include <qmainwindow.h>
6 6
7class AbConfig 7class AbConfig
8{ 8{
9public: 9public:
10 AbConfig(); 10 AbConfig();
11 ~AbConfig(); 11 ~AbConfig();
12 12
13 // Search Settings 13 // Search Settings
14 bool useRegExp() const; 14 bool useRegExp() const;
15 bool useWildCards() const; 15 bool useWildCards() const;
16 bool beCaseSensitive() const; 16 bool beCaseSensitive() const;
17 bool useQtMail() const; 17 bool useQtMail() const;
18 bool useOpieMail() const; 18 bool useOpieMail() const;
19 int fontSize() const; 19 int fontSize() const;
20 QValueList<int> orderList() const; 20 QValueList<int> orderList() const;
21 QMainWindow::ToolBarDock getToolBarPos() const; 21 QMainWindow::ToolBarDock getToolBarPos() const;
22 bool fixedBars() const;
22 23
23 void setUseRegExp( bool v ); 24 void setUseRegExp( bool v );
24 void setUseWildCards( bool v ); 25 void setUseWildCards( bool v );
25 void setBeCaseSensitive( bool v ); 26 void setBeCaseSensitive( bool v );
26 void setUseQtMail( bool v ); 27 void setUseQtMail( bool v );
27 void setUseOpieMail( bool v ); 28 void setUseOpieMail( bool v );
28 void setFontSize( int v ); 29 void setFontSize( int v );
29 void setOrderList( const QValueList<int>& list ); 30 void setOrderList( const QValueList<int>& list );
30 void setToolBarDock( const QMainWindow::ToolBarDock v ); 31 void setToolBarDock( const QMainWindow::ToolBarDock v );
32 void setFixedBars( const bool fixed );
31 33
32 void operator= ( const AbConfig& cnf ); 34 void operator= ( const AbConfig& cnf );
33 35
34 void load(); 36 void load();
35 void save(); 37 void save();
36 38
37protected: 39protected:
38/* virtual void itemUp(); */ 40/* virtual void itemUp(); */
39/* virtual void itemDown(); */ 41/* virtual void itemDown(); */
40 42
41 QStringList contFields; 43 QStringList contFields;
42 44
43 bool m_useQtMail; 45 bool m_useQtMail;
44 bool m_useOpieMail; 46 bool m_useOpieMail;
45 bool m_useRegExp; 47 bool m_useRegExp;
46 bool m_beCaseSensitive; 48 bool m_beCaseSensitive;
47 int m_fontSize; 49 int m_fontSize;
48 QValueList<int> m_ordered; 50 QValueList<int> m_ordered;
49 int m_barPos; 51 int m_barPos;
52 bool m_fixedBars;
50 53
51 bool m_changed; 54 bool m_changed;
52}; 55};
53 56
54 57
55#endif 58#endif
diff --git a/core/pim/addressbook/addressbook.cpp b/core/pim/addressbook/addressbook.cpp
index 14e5b3f..a5bf19b 100644
--- a/core/pim/addressbook/addressbook.cpp
+++ b/core/pim/addressbook/addressbook.cpp
@@ -1,349 +1,355 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qt Palmtop Environment. 4** This file is part of Qt Palmtop Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** OContact info@trolltech.com if any conditions of this licensing are 16** OContact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#define QTOPIA_INTERNAL_FD 21#define QTOPIA_INTERNAL_FD
22 22
23#include "contacteditor.h" 23#include "contacteditor.h"
24#include "ablabel.h" 24#include "ablabel.h"
25#include "abview.h" 25#include "abview.h"
26#include "abtable.h" 26#include "abtable.h"
27// #include "addresssettings.h" 27// #include "addresssettings.h"
28#include "addressbook.h" 28#include "addressbook.h"
29 29
30 30
31#include <opie/ofileselector.h> 31#include <opie/ofileselector.h>
32#include <opie/ofiledialog.h> 32#include <opie/ofiledialog.h>
33#include <opie/ocontact.h> 33#include <opie/ocontact.h>
34#include <opie/ocontactaccessbackend_vcard.h> 34#include <opie/ocontactaccessbackend_vcard.h>
35 35
36#include <qpe/resource.h> 36#include <qpe/resource.h>
37#include <qpe/ir.h> 37#include <qpe/ir.h>
38#include <qpe/qpemessagebox.h> 38#include <qpe/qpemessagebox.h>
39#include <qpe/qcopenvelope_qws.h> 39#include <qpe/qcopenvelope_qws.h>
40#include <qpe/qpetoolbar.h> 40#include <qpe/qpetoolbar.h>
41#include <qpe/qpemenubar.h> 41#include <qpe/qpemenubar.h>
42// #include <qtoolbar.h> 42// #include <qtoolbar.h>
43// #include <qmenubar.h> 43// #include <qmenubar.h>
44#include <qpe/qpeapplication.h> 44#include <qpe/qpeapplication.h>
45#include <qpe/config.h> 45#include <qpe/config.h>
46 46
47#include <qaction.h> 47#include <qaction.h>
48#include <qdialog.h> 48#include <qdialog.h>
49#include <qdir.h> 49#include <qdir.h>
50#include <qfile.h> 50#include <qfile.h>
51#include <qimage.h> 51#include <qimage.h>
52#include <qlayout.h> 52#include <qlayout.h>
53#include <qmessagebox.h> 53#include <qmessagebox.h>
54#include <qpixmap.h> 54#include <qpixmap.h>
55#include <qpopupmenu.h> 55#include <qpopupmenu.h>
56#include <qstringlist.h> 56#include <qstringlist.h>
57#include <qtoolbutton.h> 57#include <qtoolbutton.h>
58#include <qwhatsthis.h> 58#include <qwhatsthis.h>
59#include <qdatetime.h> 59#include <qdatetime.h>
60 60
61#include <stdlib.h> 61#include <stdlib.h>
62#include <sys/stat.h> 62#include <sys/stat.h>
63#include <sys/types.h> 63#include <sys/types.h>
64#include <fcntl.h> 64#include <fcntl.h>
65#include <unistd.h> 65#include <unistd.h>
66 66
67 67
68#include "picker.h" 68#include "picker.h"
69#include "configdlg.h" 69#include "configdlg.h"
70 70
71extern QString addressbookPersonalVCardName(); 71extern QString addressbookPersonalVCardName();
72 72
73AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name, 73AddressbookWindow::AddressbookWindow( QWidget *parent, const char *name,
74 WFlags f ) 74 WFlags f )
75 : QMainWindow( parent, name, f ), 75 : QMainWindow( parent, name, f ),
76 catMenu (0l), 76 catMenu (0l),
77 abEditor(0l), 77 abEditor(0l),
78 syncing(FALSE), 78 syncing(FALSE),
79 m_tableViewButton(0l), 79 m_tableViewButton(0l),
80 m_cardViewButton(0l) 80 m_cardViewButton(0l)
81{ 81{
82 isLoading = true; 82 isLoading = true;
83 83
84 m_config.load(); 84 m_config.load();
85 85
86 setCaption( tr("Contacts") ); 86 setCaption( tr("Contacts") );
87 setIcon( Resource::loadPixmap( "AddressBook" ) ); 87 setIcon( Resource::loadPixmap( "AddressBook" ) );
88 88
89 // Settings for Main Menu 89 // Settings for Main Menu
90 setToolBarsMovable( true ); 90 // setToolBarsMovable( false );
91 setToolBarsMovable( !m_config.fixedBars() );
91 setRightJustification( true ); 92 setRightJustification( true );
92 93
93 // Create Toolbar 94 QPEToolBar *bar = new QPEToolBar( this );
94 listTools = new QPEToolBar( this, "list operations" ); 95 bar->setHorizontalStretchable( TRUE );
95 listTools->setHorizontalStretchable( true );
96 addToolBar( listTools );
97 moveToolBar( listTools, m_config.getToolBarPos() );
98 96
99 QPEMenuBar *mbList = new QPEMenuBar( this ); 97 QPEMenuBar *mbList = new QPEMenuBar( bar );
100 mbList->setMargin( 0 ); 98 mbList->setMargin( 0 );
101 99
102 QPopupMenu *edit = new QPopupMenu( mbList ); 100 QPopupMenu *edit = new QPopupMenu( mbList );
103 mbList->insertItem( tr( "Contact" ), edit ); 101 mbList->insertItem( tr( "Contact" ), edit );
104 102
103 // Category Menu
104 catMenu = new QPopupMenu( this );
105 catMenu->setCheckable( TRUE );
106 connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) );
107 mbList->insertItem( tr("View"), catMenu );
108
109 // Create Toolbar
110 listTools = new QPEToolBar( this, "list operations" );
111 listTools->setHorizontalStretchable( true );
112 addToolBar( listTools );
113 moveToolBar( listTools, m_config.getToolBarPos() );
105 114
106 // View Icons 115 // View Icons
107 m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "addressbook/weeklst" ), 116 m_tableViewButton = new QAction( tr( "List" ), Resource::loadPixmap( "addressbook/weeklst" ),
108 QString::null, 0, this, 0 ); 117 QString::null, 0, this, 0 );
109 connect( m_tableViewButton, SIGNAL( activated() ), this, SLOT( slotListView() ) ); 118 connect( m_tableViewButton, SIGNAL( activated() ), this, SLOT( slotListView() ) );
110 m_tableViewButton->setToggleAction( true ); 119 m_tableViewButton->setToggleAction( true );
111 m_tableViewButton->addTo( listTools ); 120 m_tableViewButton->addTo( listTools );
112 m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "day" ), QString::null, 0, this, 0 ); 121 m_cardViewButton = new QAction( tr( "Card" ), Resource::loadPixmap( "day" ), QString::null, 0, this, 0 );
113 connect( m_cardViewButton, SIGNAL( activated() ), this, SLOT( slotCardView() ) ); 122 connect( m_cardViewButton, SIGNAL( activated() ), this, SLOT( slotCardView() ) );
114 m_cardViewButton->setToggleAction( true ); 123 m_cardViewButton->setToggleAction( true );
115 m_cardViewButton->addTo( listTools ); 124 m_cardViewButton->addTo( listTools );
116 125
117 listTools->addSeparator(); 126 listTools->addSeparator();
118 127
119 // Other Buttons 128 // Other Buttons
120 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 129 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null,
121 0, this, 0 ); 130 0, this, 0 );
122 actionNew = a; 131 actionNew = a;
123 connect( a, SIGNAL( activated() ), this, SLOT( slotListNew() ) ); 132 connect( a, SIGNAL( activated() ), this, SLOT( slotListNew() ) );
124 a->addTo( edit ); 133 a->addTo( edit );
125 a->addTo( listTools ); 134 a->addTo( listTools );
126 135
127 a = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null, 136 a = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null,
128 0, this, 0 ); 137 0, this, 0 );
129 actionEdit = a; 138 actionEdit = a;
130 connect( a, SIGNAL( activated() ), this, SLOT( slotViewEdit() ) ); 139 connect( a, SIGNAL( activated() ), this, SLOT( slotViewEdit() ) );
131 a->addTo( edit ); 140 a->addTo( edit );
132 a->addTo( listTools ); 141 a->addTo( listTools );
133 142
134 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null, 143 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null,
135 0, this, 0 ); 144 0, this, 0 );
136 actionTrash = a; 145 actionTrash = a;
137 connect( a, SIGNAL( activated() ), this, SLOT( slotListDelete() ) ); 146 connect( a, SIGNAL( activated() ), this, SLOT( slotListDelete() ) );
138 a->addTo( edit ); 147 a->addTo( edit );
139 a->addTo( listTools ); 148 a->addTo( listTools );
140 149
141 150
142 // make it possible to go directly to businesscard via qcop call 151 // make it possible to go directly to businesscard via qcop call
143 //#if defined(Q_WS_QWS) // Why this ? (se) 152 //#if defined(Q_WS_QWS) // Why this ? (se)
144#if !defined(QT_NO_COP) 153#if !defined(QT_NO_COP)
145 QCopChannel *addressChannel = new QCopChannel("QPE/Addressbook" , this ); 154 QCopChannel *addressChannel = new QCopChannel("QPE/Addressbook" , this );
146 connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)), 155 connect (addressChannel, SIGNAL( received(const QCString &, const QByteArray &)),
147 this, SLOT ( appMessage(const QCString &, const QByteArray &) ) ); 156 this, SLOT ( appMessage(const QCString &, const QByteArray &) ) );
148#endif 157#endif
149 // #endif 158 // #endif
150 a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ), 159 a = new QAction( tr( "Find" ), Resource::loadPixmap( "mag" ),
151 QString::null, 0, this, 0 ); 160 QString::null, 0, this, 0 );
152 actionFind = a; 161 actionFind = a;
153 connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) ); 162 connect( a, SIGNAL(activated()), this, SLOT( slotFindOpen()) );
154 a->addTo( edit ); 163 a->addTo( edit );
155 a->addTo( listTools ); 164 a->addTo( listTools );
156 165
157 // Much better search widget, taken from QTReader.. (se) 166 // Much better search widget, taken from QTReader.. (se)
158 searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE ); 167 searchBar = new OFloatBar( "Search", this, QMainWindow::Top, TRUE );
159 searchBar->setHorizontalStretchable( TRUE ); 168 searchBar->setHorizontalStretchable( TRUE );
160 searchBar->hide(); 169 searchBar->hide();
161 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 170 searchEdit = new QLineEdit( searchBar, "searchEdit" );
162 171
163 // QFont f("unifont", 16 /*, QFont::Bold*/); 172 // QFont f("unifont", 16 /*, QFont::Bold*/);
164 // searchEdit->setFont( f ); 173 // searchEdit->setFont( f );
165 174
166 searchBar->setStretchableWidget( searchEdit ); 175 searchBar->setStretchableWidget( searchEdit );
167 connect( searchEdit, SIGNAL( returnPressed( ) ), 176 connect( searchEdit, SIGNAL( returnPressed( ) ),
168 this, SLOT( slotFind( ) ) ); 177 this, SLOT( slotFind( ) ) );
169 178
170 a = new QAction( tr( "Start Search" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 ); 179 a = new QAction( tr( "Start Search" ), Resource::loadPixmap( "enter" ), QString::null, 0, this, 0 );
171 connect( a, SIGNAL( activated() ), this, SLOT( slotFind() ) ); 180 connect( a, SIGNAL( activated() ), this, SLOT( slotFind() ) );
172 a->addTo( searchBar ); 181 a->addTo( searchBar );
173 182
174 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 183 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
175 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) ); 184 connect( a, SIGNAL( activated() ), this, SLOT( slotFindClose() ) );
176 a->addTo( searchBar ); 185 a->addTo( searchBar );
177 186
178 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "addressbook/sendmail" ), 187 a = new QAction( tr( "Write Mail To" ), Resource::loadPixmap( "addressbook/sendmail" ),
179 QString::null, 0, this, 0 ); 188 QString::null, 0, this, 0 );
180 //a->setEnabled( FALSE ); we got support for it now :) zecke 189 //a->setEnabled( FALSE ); we got support for it now :) zecke
181 actionMail = a; 190 actionMail = a;
182 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) ); 191 connect( a, SIGNAL( activated() ), this, SLOT( writeMail() ) );
183 a->addTo( edit ); 192 a->addTo( edit );
184 a->addTo( listTools ); 193 a->addTo( listTools );
185 194
186 if ( Ir::supported() ) { 195 if ( Ir::supported() ) {
187 a = new QAction( tr ("Beam Entry" ), Resource::loadPixmap( "beam" ), QString::null, 196 a = new QAction( tr ("Beam Entry" ), Resource::loadPixmap( "beam" ), QString::null,
188 0, this, 0 ); 197 0, this, 0 );
189 actionBeam = a; 198 actionBeam = a;
190 connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) ); 199 connect( a, SIGNAL( activated() ), this, SLOT( slotBeam() ) );
191 a->addTo( edit ); 200 a->addTo( edit );
192 a->addTo( listTools ); 201 a->addTo( listTools );
193 } 202 }
194 203
195 edit->insertSeparator(); 204 edit->insertSeparator();
196 205
197 a = new QAction( tr("Import vCard"), Resource::loadPixmap( "addressbook/fileimport"), QString::null, 206 a = new QAction( tr("Import vCard"), Resource::loadPixmap( "addressbook/fileimport"), QString::null,
198 0, this, 0); 207 0, this, 0);
199 actionPersonal = a; 208 actionPersonal = a;
200 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) ); 209 connect( a, SIGNAL( activated() ), this, SLOT( importvCard() ) );
201 a->addTo( edit ); 210 a->addTo( edit );
202 211
203 edit->insertSeparator(); 212 edit->insertSeparator();
204 213
205 a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ), 214 a = new QAction( tr("My Personal Details"), Resource::loadPixmap( "addressbook/identity" ),
206 QString::null, 0, this, 0 , TRUE ); 215 QString::null, 0, this, 0 , TRUE );
207 actionPersonal = a; 216 actionPersonal = a;
208 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) ); 217 connect( a, SIGNAL( activated() ), this, SLOT( slotPersonalView() ) );
209 a->addTo( edit ); 218 a->addTo( edit );
210 219
211 220
212#ifdef __DEBUG_RELEASE 221#ifdef __DEBUG_RELEASE
213 // Remove this function for public Release ! This is only 222 // Remove this function for public Release ! This is only
214 // for debug purposes .. 223 // for debug purposes ..
215 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 ); 224 a = new QAction( tr( "Save all Data"), QString::null, 0, 0 );
216 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) ); 225 connect( a, SIGNAL( activated() ), this , SLOT( slotSave() ) );
217 a->addTo( edit ); 226 a->addTo( edit );
218#endif 227#endif
219 a = new QAction( tr( "Config" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 228 a = new QAction( tr( "Config" ), Resource::loadPixmap( "SettingsIcon" ), QString::null,
220 0, this, 0 ); 229 0, this, 0 );
221 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) ); 230 connect( a, SIGNAL( activated() ), this, SLOT( slotConfig() ) );
222 a->addTo( edit ); 231 a->addTo( edit );
223 232
224 // Create Views 233 // Create Views
225 listContainer = new QWidget( this ); 234 listContainer = new QWidget( this );
226 QVBoxLayout *vb = new QVBoxLayout( listContainer ); 235 QVBoxLayout *vb = new QVBoxLayout( listContainer );
227 236
228 m_abView = new AbView( listContainer, m_config.orderList() ); 237 m_abView = new AbView( listContainer, m_config.orderList() );
229 vb->addWidget( m_abView ); 238 vb->addWidget( m_abView );
230 // abList->setHScrollBarMode( QScrollView::AlwaysOff ); 239 // abList->setHScrollBarMode( QScrollView::AlwaysOff );
231 connect( m_abView, SIGNAL( signalViewSwitched ( int ) ), 240 connect( m_abView, SIGNAL( signalViewSwitched ( int ) ),
232 this, SLOT( slotViewSwitched( int ) ) ); 241 this, SLOT( slotViewSwitched( int ) ) );
233 242
234 243
235 QObject::connect( m_abView, SIGNAL(signalNotFound()), this, SLOT(slotNotFound()) ); 244 QObject::connect( m_abView, SIGNAL(signalNotFound()), this, SLOT(slotNotFound()) );
236 245
237 m_abView->load(); 246 m_abView->load();
238 247
239 // Letter Picker 248 // Letter Picker
240 pLabel = new LetterPicker( listContainer ); 249 pLabel = new LetterPicker( listContainer );
241 connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char))); 250 connect(pLabel, SIGNAL(letterClicked(char)), this, SLOT(slotSetLetter(char)));
242 connect(m_abView, SIGNAL( signalClearLetterPicker() ), pLabel, SLOT( clear() ) ); 251 connect(m_abView, SIGNAL( signalClearLetterPicker() ), pLabel, SLOT( clear() ) );
243 252
244 vb->addWidget( pLabel ); 253 vb->addWidget( pLabel );
245 254
246 // Category Menu 255 // All Categories into view-menu..
247 catMenu = new QPopupMenu( this );
248 catMenu->setCheckable( TRUE );
249 connect( catMenu, SIGNAL(activated(int)), this, SLOT(slotSetCategory(int)) );
250 populateCategories(); 256 populateCategories();
251 mbList->insertItem( tr("View"), catMenu );
252 257
253 defaultFont = new QFont( m_abView->font() ); 258 // Fontsize
259 defaultFont = new QFont( m_abView->font() );
254 slotSetFont(m_config.fontSize()); 260 slotSetFont(m_config.fontSize());
255 m_curFontSize = m_config.fontSize(); 261 m_curFontSize = m_config.fontSize();
256 262
257 setCentralWidget(listContainer); 263 setCentralWidget(listContainer);
258 264
259 // qDebug("adressbook contrsuction: t=%d", t.elapsed() ); 265 // qDebug("adressbook contrsuction: t=%d", t.elapsed() );
260 266
261 267
262 isLoading = false; 268 isLoading = false;
263} 269}
264 270
265 271
266void AddressbookWindow::slotConfig() 272void AddressbookWindow::slotConfig()
267{ 273{
268 ConfigDlg* dlg = new ConfigDlg( this, "Config" ); 274 ConfigDlg* dlg = new ConfigDlg( this, "Config" );
269 dlg -> setConfig( m_config ); 275 dlg -> setConfig( m_config );
270 dlg -> showMaximized(); 276 dlg -> showMaximized();
271 if ( dlg -> exec() ) { 277 if ( dlg -> exec() ) {
272 qWarning ("Config Dialog accepted!"); 278 qWarning ("Config Dialog accepted!");
273 m_config = dlg -> getConfig(); 279 m_config = dlg -> getConfig();
274 if ( m_curFontSize != m_config.fontSize() ){ 280 if ( m_curFontSize != m_config.fontSize() ){
275 qWarning("Font was changed!"); 281 qWarning("Font was changed!");
276 m_curFontSize = m_config.fontSize(); 282 m_curFontSize = m_config.fontSize();
277 emit slotSetFont( m_curFontSize ); 283 emit slotSetFont( m_curFontSize );
278 } 284 }
279 m_abView -> setListOrder( m_config.orderList() ); 285 m_abView -> setListOrder( m_config.orderList() );
280 } 286 }
281 287
282 delete dlg; 288 delete dlg;
283} 289}
284 290
285 291
286void AddressbookWindow::slotSetFont( int size ) 292void AddressbookWindow::slotSetFont( int size )
287{ 293{
288 qWarning("void AddressbookWindow::slotSetFont( %d )", size); 294 qWarning("void AddressbookWindow::slotSetFont( %d )", size);
289 295
290 if (size > 2 || size < 0) 296 if (size > 2 || size < 0)
291 size = 1; 297 size = 1;
292 298
293 m_config.setFontSize( size ); 299 m_config.setFontSize( size );
294 300
295 QFont *currentFont; 301 QFont *currentFont;
296 302
297 switch (size) { 303 switch (size) {
298 case 0: 304 case 0:
299 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() - 2 ) ); 305 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() - 2 ) );
300 currentFont = new QFont (m_abView->font()); 306 currentFont = new QFont (m_abView->font());
301 // abList->resizeRows(currentFont->pixelSize() + 7); :SX 307 // abList->resizeRows(currentFont->pixelSize() + 7); :SX
302 // abList->resizeRows(); 308 // abList->resizeRows();
303 break; 309 break;
304 case 1: 310 case 1:
305 m_abView->setFont( *defaultFont ); 311 m_abView->setFont( *defaultFont );
306 currentFont = new QFont (m_abView->font()); 312 currentFont = new QFont (m_abView->font());
307 // // abList->resizeRows(currentFont->pixelSize() + 7); 313 // // abList->resizeRows(currentFont->pixelSize() + 7);
308 // abList->resizeRows(); 314 // abList->resizeRows();
309 break; 315 break;
310 case 2: 316 case 2:
311 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) ); 317 m_abView->setFont( QFont( defaultFont->family(), defaultFont->pointSize() + 2 ) );
312 currentFont = new QFont (m_abView->font()); 318 currentFont = new QFont (m_abView->font());
313 // //abList->resizeRows(currentFont->pixelSize() + 7); 319 // //abList->resizeRows(currentFont->pixelSize() + 7);
314 // abList->resizeRows(); 320 // abList->resizeRows();
315 break; 321 break;
316 } 322 }
317} 323}
318 324
319 325
320 326
321void AddressbookWindow::importvCard() { 327void AddressbookWindow::importvCard() {
322 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this ); 328 QString str = OFileDialog::getOpenFileName( 1,"/");//,"", "*", this );
323 if(!str.isEmpty() ){ 329 if(!str.isEmpty() ){
324 setDocument((const QString&) str ); 330 setDocument((const QString&) str );
325 } 331 }
326 332
327} 333}
328 334
329void AddressbookWindow::setDocument( const QString &filename ) 335void AddressbookWindow::setDocument( const QString &filename )
330{ 336{
331 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() ); 337 qWarning( "void AddressbookWindow::setDocument( %s )", filename.latin1() );
332 338
333 if ( filename.find(".vcf") != int(filename.length()) - 4 ){ 339 if ( filename.find(".vcf") != int(filename.length()) - 4 ){
334 340
335 341
336 342
337 switch( QMessageBox::information( this, tr ( "Right file type ?" ), 343 switch( QMessageBox::information( this, tr ( "Right file type ?" ),
338 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ), 344 tr( "The selected file \n does not end with \".vcf\".\n Do you really want to open it?" ),
339 tr( "&Yes" ), tr( "&No" ), QString::null, 345 tr( "&Yes" ), tr( "&No" ), QString::null,
340 0, // Enter == button 0 346 0, // Enter == button 0
341 2 ) ) { // Escape == button 2 347 2 ) ) { // Escape == button 2
342 case 0: 348 case 0:
343 qWarning("YES clicked"); 349 qWarning("YES clicked");
344 break; 350 break;
345 case 1: 351 case 1:
346 qWarning("NO clicked"); 352 qWarning("NO clicked");
347 return; 353 return;
348 break; 354 break;
349 } 355 }
diff --git a/core/pim/addressbook/configdlg.cpp b/core/pim/addressbook/configdlg.cpp
index f2f4141..629feef 100644
--- a/core/pim/addressbook/configdlg.cpp
+++ b/core/pim/addressbook/configdlg.cpp
@@ -29,123 +29,126 @@ ConfigDlg::ConfigDlg( QWidget *parent, const char *name):
29 m_downButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/down" ) ) ); 29 m_downButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/down" ) ) );
30 m_addButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/add" ) ) ); 30 m_addButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/add" ) ) );
31 m_removeButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/sub" ) ) ); 31 m_removeButton->setIconSet( QIconSet( Resource::loadPixmap( "addressbook/sub" ) ) );
32 32
33 33
34 // Get the translation maps between Field ID and translated strings 34 // Get the translation maps between Field ID and translated strings
35 m_mapStrToID = OContactFields::trFieldsToId(); 35 m_mapStrToID = OContactFields::trFieldsToId();
36 m_mapIDToStr = OContactFields::idToTrFields(); 36 m_mapIDToStr = OContactFields::idToTrFields();
37 37
38 connect ( m_addButton, SIGNAL( clicked() ), this, SLOT( slotItemAdd() ) ); 38 connect ( m_addButton, SIGNAL( clicked() ), this, SLOT( slotItemAdd() ) );
39 connect ( m_removeButton, SIGNAL( clicked() ), this, SLOT( slotItemRemove() ) ); 39 connect ( m_removeButton, SIGNAL( clicked() ), this, SLOT( slotItemRemove() ) );
40 connect ( m_upButton, SIGNAL( clicked() ), this, SLOT( slotItemUp() ) ); 40 connect ( m_upButton, SIGNAL( clicked() ), this, SLOT( slotItemUp() ) );
41 connect ( m_downButton, SIGNAL( clicked() ), this, SLOT( slotItemDown() ) ); 41 connect ( m_downButton, SIGNAL( clicked() ), this, SLOT( slotItemDown() ) );
42} 42}
43 43
44void ConfigDlg::slotItemUp() 44void ConfigDlg::slotItemUp()
45{ 45{
46 qWarning( "void ConfigDlg::slotItemUp()" ); 46 qWarning( "void ConfigDlg::slotItemUp()" );
47 47
48 int i = fieldListBox->currentItem(); 48 int i = fieldListBox->currentItem();
49 if ( i > 0 ) { 49 if ( i > 0 ) {
50 QString item = fieldListBox->currentText(); 50 QString item = fieldListBox->currentText();
51 fieldListBox->removeItem( i ); 51 fieldListBox->removeItem( i );
52 fieldListBox->insertItem( item, i-1 ); 52 fieldListBox->insertItem( item, i-1 );
53 fieldListBox->setCurrentItem( i-1 ); 53 fieldListBox->setCurrentItem( i-1 );
54 } 54 }
55 55
56} 56}
57 57
58void ConfigDlg::slotItemDown() 58void ConfigDlg::slotItemDown()
59{ 59{
60 qWarning( "void ConfigDlg::slotItemDown()" ); 60 qWarning( "void ConfigDlg::slotItemDown()" );
61 61
62 int i = fieldListBox->currentItem(); 62 int i = fieldListBox->currentItem();
63 if ( i < (int)fieldListBox->count() - 1 ) { 63 if ( i < (int)fieldListBox->count() - 1 ) {
64 QString item = fieldListBox->currentText(); 64 QString item = fieldListBox->currentText();
65 fieldListBox->removeItem( i ); 65 fieldListBox->removeItem( i );
66 fieldListBox->insertItem( item, i+1 ); 66 fieldListBox->insertItem( item, i+1 );
67 fieldListBox->setCurrentItem( i+1 ); 67 fieldListBox->setCurrentItem( i+1 );
68 } 68 }
69} 69}
70 70
71void ConfigDlg::slotItemAdd() 71void ConfigDlg::slotItemAdd()
72{ 72{
73 qWarning( "void ConfigDlg::slotItemAdd()" ); 73 qWarning( "void ConfigDlg::slotItemAdd()" );
74 74
75 int i = allFieldListBox->currentItem(); 75 int i = allFieldListBox->currentItem();
76 if ( i > 0 ) { 76 if ( i > 0 ) {
77 QString item = allFieldListBox->currentText(); 77 QString item = allFieldListBox->currentText();
78 qWarning("ADding %s", item.latin1()); 78 qWarning("ADding %s", item.latin1());
79 fieldListBox->insertItem( item ); 79 fieldListBox->insertItem( item );
80 } 80 }
81} 81}
82 82
83void ConfigDlg::slotItemRemove() 83void ConfigDlg::slotItemRemove()
84{ 84{
85 qWarning( "void ConfigDlg::slotItemRemove()" ); 85 qWarning( "void ConfigDlg::slotItemRemove()" );
86 86
87 int i = fieldListBox->currentItem(); 87 int i = fieldListBox->currentItem();
88 if ( i > 0 ) { 88 if ( i > 0 ) {
89 fieldListBox->removeItem( i ); 89 fieldListBox->removeItem( i );
90 } 90 }
91} 91}
92 92
93void ConfigDlg::setConfig( const AbConfig& cnf ) 93void ConfigDlg::setConfig( const AbConfig& cnf )
94{ 94{
95 m_config = cnf; 95 m_config = cnf;
96 96
97 m_useRegExp->setChecked( m_config.useRegExp() ); 97 m_useRegExp->setChecked( m_config.useRegExp() );
98 m_useWildCard->setChecked( m_config.useWildCards() ); 98 m_useWildCard->setChecked( m_config.useWildCards() );
99 m_useQtMail->setChecked( m_config.useQtMail() ); 99 m_useQtMail->setChecked( m_config.useQtMail() );
100 m_useOpieMail->setChecked( m_config.useOpieMail() ); 100 m_useOpieMail->setChecked( m_config.useOpieMail() );
101 m_useCaseSensitive->setChecked( m_config.beCaseSensitive() ); 101 m_useCaseSensitive->setChecked( m_config.beCaseSensitive() );
102 102
103 switch( m_config.fontSize() ){ 103 switch( m_config.fontSize() ){
104 case 0: 104 case 0:
105 m_smallFont->setChecked( true ); 105 m_smallFont->setChecked( true );
106 m_normalFont->setChecked( false ); 106 m_normalFont->setChecked( false );
107 m_largeFont->setChecked( false ); 107 m_largeFont->setChecked( false );
108 break; 108 break;
109 case 1: 109 case 1:
110 m_smallFont->setChecked( false ); 110 m_smallFont->setChecked( false );
111 m_normalFont->setChecked( true ); 111 m_normalFont->setChecked( true );
112 m_largeFont->setChecked( false ); 112 m_largeFont->setChecked( false );
113 break; 113 break;
114 case 2: 114 case 2:
115 m_smallFont->setChecked( false ); 115 m_smallFont->setChecked( false );
116 m_normalFont->setChecked( false ); 116 m_normalFont->setChecked( false );
117 m_largeFont->setChecked( true ); 117 m_largeFont->setChecked( true );
118 break; 118 break;
119 } 119 }
120 120
121 for( uint i = 0; i < m_config.orderList().count(); i++ ) { 121 for( uint i = 0; i < m_config.orderList().count(); i++ ) {
122 fieldListBox -> insertItem ( m_mapIDToStr[ m_config.orderList()[i] ] ); 122 fieldListBox -> insertItem ( m_mapIDToStr[ m_config.orderList()[i] ] );
123 } 123 }
124 124
125 125 m_fixedBars->setChecked( m_config.fixedBars() );
126 m_moveBars->setChecked( !m_config.fixedBars() );
126} 127}
127 128
128AbConfig ConfigDlg::getConfig() 129AbConfig ConfigDlg::getConfig()
129{ 130{
130 m_config.setUseRegExp( m_useRegExp->isOn() ); 131 m_config.setUseRegExp( m_useRegExp->isOn() );
131 m_config.setUseWildCards( m_useWildCard->isOn() ); 132 m_config.setUseWildCards( m_useWildCard->isOn() );
132 m_config.setUseQtMail( m_useQtMail->isOn() ); 133 m_config.setUseQtMail( m_useQtMail->isOn() );
133 m_config.setUseOpieMail( m_useOpieMail->isOn() ); 134 m_config.setUseOpieMail( m_useOpieMail->isOn() );
134 m_config.setBeCaseSensitive( m_useCaseSensitive->isChecked() ); 135 m_config.setBeCaseSensitive( m_useCaseSensitive->isChecked() );
135 136
136 if ( m_smallFont->isChecked() ) 137 if ( m_smallFont->isChecked() )
137 m_config.setFontSize( 0 ); 138 m_config.setFontSize( 0 );
138 if ( m_normalFont->isChecked() ) 139 if ( m_normalFont->isChecked() )
139 m_config.setFontSize( 1 ); 140 m_config.setFontSize( 1 );
140 if ( m_largeFont->isChecked() ) 141 if ( m_largeFont->isChecked() )
141 m_config.setFontSize( 2 ); 142 m_config.setFontSize( 2 );
142 143
143 QValueList<int> orderlist; 144 QValueList<int> orderlist;
144 for( int i = 0; i < (int)fieldListBox->count(); i++ ) { 145 for( int i = 0; i < (int)fieldListBox->count(); i++ ) {
145 orderlist.append( m_mapStrToID[ fieldListBox->text(i) ] ); 146 orderlist.append( m_mapStrToID[ fieldListBox->text(i) ] );
146 } 147 }
147 m_config.setOrderList( orderlist ); 148 m_config.setOrderList( orderlist );
148 149
150 m_config.setFixedBars( m_fixedBars->isChecked() );
151
149 return m_config; 152 return m_config;
150} 153}
151 154
diff --git a/core/pim/addressbook/configdlg_base.ui b/core/pim/addressbook/configdlg_base.ui
index 308e138..1b5ac17 100644
--- a/core/pim/addressbook/configdlg_base.ui
+++ b/core/pim/addressbook/configdlg_base.ui
@@ -1,353 +1,412 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>ConfigDlg_Base</class> 2<class>ConfigDlg_Base</class>
3<author>Stefan Eilers</author> 3<author>Stefan Eilers</author>
4<include location="global">qwhatsthis.h</include> 4<include location="global">qwhatsthis.h</include>
5<widget> 5<widget>
6 <class>QDialog</class> 6 <class>QDialog</class>
7 <property stdset="1"> 7 <property stdset="1">
8 <name>name</name> 8 <name>name</name>
9 <cstring>Configuration</cstring> 9 <cstring>Configuration</cstring>
10 </property> 10 </property>
11 <property stdset="1"> 11 <property stdset="1">
12 <name>geometry</name> 12 <name>geometry</name>
13 <rect> 13 <rect>
14 <x>0</x> 14 <x>0</x>
15 <y>0</y> 15 <y>0</y>
16 <width>284</width> 16 <width>284</width>
17 <height>327</height> 17 <height>327</height>
18 </rect> 18 </rect>
19 </property> 19 </property>
20 <property stdset="1"> 20 <property stdset="1">
21 <name>sizePolicy</name> 21 <name>sizePolicy</name>
22 <sizepolicy> 22 <sizepolicy>
23 <hsizetype>5</hsizetype> 23 <hsizetype>5</hsizetype>
24 <vsizetype>5</vsizetype> 24 <vsizetype>5</vsizetype>
25 </sizepolicy> 25 </sizepolicy>
26 </property> 26 </property>
27 <property stdset="1"> 27 <property stdset="1">
28 <name>caption</name> 28 <name>caption</name>
29 <string>Configuration</string> 29 <string>Configuration</string>
30 </property> 30 </property>
31 <property stdset="1"> 31 <property stdset="1">
32 <name>sizeGripEnabled</name> 32 <name>sizeGripEnabled</name>
33 <bool>true</bool> 33 <bool>true</bool>
34 </property> 34 </property>
35 <property> 35 <property>
36 <name>layoutMargin</name> 36 <name>layoutMargin</name>
37 </property> 37 </property>
38 <vbox> 38 <vbox>
39 <property stdset="1"> 39 <property stdset="1">
40 <name>margin</name> 40 <name>margin</name>
41 <number>1</number> 41 <number>1</number>
42 </property> 42 </property>
43 <property stdset="1"> 43 <property stdset="1">
44 <name>spacing</name> 44 <name>spacing</name>
45 <number>6</number> 45 <number>6</number>
46 </property> 46 </property>
47 <widget> 47 <widget>
48 <class>QTabWidget</class> 48 <class>QTabWidget</class>
49 <property stdset="1"> 49 <property stdset="1">
50 <name>name</name> 50 <name>name</name>
51 <cstring>configDlg_base</cstring> 51 <cstring>configDlg_base</cstring>
52 </property> 52 </property>
53 <property stdset="1"> 53 <property stdset="1">
54 <name>sizePolicy</name> 54 <name>sizePolicy</name>
55 <sizepolicy> 55 <sizepolicy>
56 <hsizetype>7</hsizetype> 56 <hsizetype>7</hsizetype>
57 <vsizetype>7</vsizetype> 57 <vsizetype>7</vsizetype>
58 </sizepolicy> 58 </sizepolicy>
59 </property> 59 </property>
60 <property> 60 <property>
61 <name>layoutMargin</name> 61 <name>layoutMargin</name>
62 </property> 62 </property>
63 <property> 63 <property>
64 <name>layoutSpacing</name> 64 <name>layoutSpacing</name>
65 </property> 65 </property>
66 <property> 66 <property>
67 <name>whatsThis</name> 67 <name>whatsThis</name>
68 <string>Click on tab to select one</string> 68 <string>Click on tab to select one</string>
69 </property> 69 </property>
70 <widget> 70 <widget>
71 <class>QWidget</class> 71 <class>QWidget</class>
72 <property stdset="1"> 72 <property stdset="1">
73 <name>name</name> 73 <name>name</name>
74 <cstring>Widget5</cstring> 74 <cstring>Widget5</cstring>
75 </property> 75 </property>
76 <attribute> 76 <attribute>
77 <name>title</name> 77 <name>title</name>
78 <string>Misc</string> 78 <string>Misc</string>
79 </attribute> 79 </attribute>
80 <vbox> 80 <vbox>
81 <property stdset="1"> 81 <property stdset="1">
82 <name>margin</name> 82 <name>margin</name>
83 <number>5</number> 83 <number>2</number>
84 </property> 84 </property>
85 <property stdset="1"> 85 <property stdset="1">
86 <name>spacing</name> 86 <name>spacing</name>
87 <number>6</number> 87 <number>6</number>
88 </property> 88 </property>
89 <widget> 89 <widget>
90 <class>QGroupBox</class> 90 <class>QGroupBox</class>
91 <property stdset="1"> 91 <property stdset="1">
92 <name>name</name> 92 <name>name</name>
93 <cstring>GroupBox2</cstring> 93 <cstring>GroupBox2</cstring>
94 </property> 94 </property>
95 <property stdset="1"> 95 <property stdset="1">
96 <name>title</name> 96 <name>title</name>
97 <string>Search Settings</string> 97 <string>Search Settings</string>
98 </property> 98 </property>
99 <vbox> 99 <vbox>
100 <property stdset="1"> 100 <property stdset="1">
101 <name>margin</name> 101 <name>margin</name>
102 <number>11</number> 102 <number>11</number>
103 </property> 103 </property>
104 <property stdset="1"> 104 <property stdset="1">
105 <name>spacing</name> 105 <name>spacing</name>
106 <number>6</number> 106 <number>6</number>
107 </property> 107 </property>
108 <widget> 108 <widget>
109 <class>QButtonGroup</class> 109 <class>QButtonGroup</class>
110 <property stdset="1"> 110 <property stdset="1">
111 <name>name</name> 111 <name>name</name>
112 <cstring>ButtonGroup1</cstring> 112 <cstring>ButtonGroup1</cstring>
113 </property> 113 </property>
114 <property stdset="1"> 114 <property stdset="1">
115 <name>title</name> 115 <name>title</name>
116 <string>Query Style</string> 116 <string>Query Style</string>
117 </property> 117 </property>
118 <property> 118 <property>
119 <name>whatsThis</name> 119 <name>whatsThis</name>
120 <string>Settings for the search query style</string> 120 <string>Settings for the search query style</string>
121 </property> 121 </property>
122 <vbox> 122 <vbox>
123 <property stdset="1"> 123 <property stdset="1">
124 <name>margin</name> 124 <name>margin</name>
125 <number>11</number> 125 <number>11</number>
126 </property> 126 </property>
127 <property stdset="1"> 127 <property stdset="1">
128 <name>spacing</name> 128 <name>spacing</name>
129 <number>6</number> 129 <number>6</number>
130 </property> 130 </property>
131 <widget> 131 <widget>
132 <class>QRadioButton</class> 132 <class>QRadioButton</class>
133 <property stdset="1"> 133 <property stdset="1">
134 <name>name</name> 134 <name>name</name>
135 <cstring>m_useRegExp</cstring> 135 <cstring>m_useRegExp</cstring>
136 </property> 136 </property>
137 <property stdset="1"> 137 <property stdset="1">
138 <name>text</name> 138 <name>text</name>
139 <string>Use Regular Expressions</string> 139 <string>Use Regular Expressions</string>
140 </property> 140 </property>
141 <property> 141 <property>
142 <name>whatsThis</name> 142 <name>whatsThis</name>
143 <string>Search widget expects regular expressions if selected</string> 143 <string>Search widget expects regular expressions if selected</string>
144 </property> 144 </property>
145 </widget> 145 </widget>
146 <widget> 146 <widget>
147 <class>QRadioButton</class> 147 <class>QRadioButton</class>
148 <property stdset="1"> 148 <property stdset="1">
149 <name>name</name> 149 <name>name</name>
150 <cstring>m_useWildCard</cstring> 150 <cstring>m_useWildCard</cstring>
151 </property> 151 </property>
152 <property stdset="1"> 152 <property stdset="1">
153 <name>text</name> 153 <name>text</name>
154 <string>Use Wildcards (*,?)</string> 154 <string>Use Wildcards (*,?)</string>
155 </property> 155 </property>
156 <property stdset="1"> 156 <property stdset="1">
157 <name>checked</name> 157 <name>checked</name>
158 <bool>true</bool> 158 <bool>true</bool>
159 </property> 159 </property>
160 <property> 160 <property>
161 <name>whatsThis</name> 161 <name>whatsThis</name>
162 <string>Search widget just expects simple wildcards</string> 162 <string>Search widget just expects simple wildcards</string>
163 </property> 163 </property>
164 </widget> 164 </widget>
165 </vbox> 165 </vbox>
166 </widget> 166 </widget>
167 <widget> 167 <widget>
168 <class>QCheckBox</class> 168 <class>QCheckBox</class>
169 <property stdset="1"> 169 <property stdset="1">
170 <name>name</name> 170 <name>name</name>
171 <cstring>m_useCaseSensitive</cstring> 171 <cstring>m_useCaseSensitive</cstring>
172 </property> 172 </property>
173 <property stdset="1"> 173 <property stdset="1">
174 <name>text</name> 174 <name>text</name>
175 <string>Case Sensitive</string> 175 <string>Case Sensitive</string>
176 </property> 176 </property>
177 <property> 177 <property>
178 <name>whatsThis</name> 178 <name>whatsThis</name>
179 <string>If selected, search differs between upper and lower chars</string> 179 <string>If selected, search differs between upper and lower chars</string>
180 </property> 180 </property>
181 </widget> 181 </widget>
182 </vbox> 182 </vbox>
183 </widget> 183 </widget>
184 <widget> 184 <widget>
185 <class>QButtonGroup</class> 185 <class>QButtonGroup</class>
186 <property stdset="1"> 186 <property stdset="1">
187 <name>name</name> 187 <name>name</name>
188 <cstring>ButtonGroup3</cstring> 188 <cstring>ButtonGroup3</cstring>
189 </property> 189 </property>
190 <property stdset="1"> 190 <property stdset="1">
191 <name>title</name> 191 <name>title</name>
192 <string>Font</string> 192 <string>Font</string>
193 </property> 193 </property>
194 <property> 194 <property>
195 <name>whatsThis</name> 195 <name>whatsThis</name>
196 <string></string> 196 <string></string>
197 </property> 197 </property>
198 <hbox> 198 <hbox>
199 <property stdset="1"> 199 <property stdset="1">
200 <name>margin</name> 200 <name>margin</name>
201 <number>11</number> 201 <number>11</number>
202 </property> 202 </property>
203 <property stdset="1"> 203 <property stdset="1">
204 <name>spacing</name> 204 <name>spacing</name>
205 <number>6</number> 205 <number>6</number>
206 </property> 206 </property>
207 <widget> 207 <widget>
208 <class>QRadioButton</class> 208 <class>QRadioButton</class>
209 <property stdset="1"> 209 <property stdset="1">
210 <name>name</name> 210 <name>name</name>
211 <cstring>m_smallFont</cstring> 211 <cstring>m_smallFont</cstring>
212 </property> 212 </property>
213 <property stdset="1"> 213 <property stdset="1">
214 <name>text</name> 214 <name>text</name>
215 <string>Small</string> 215 <string>Small</string>
216 </property> 216 </property>
217 <property> 217 <property>
218 <name>whatsThis</name> 218 <name>whatsThis</name>
219 <string>Font size for list- and card view</string> 219 <string>Font size for list- and card view</string>
220 </property> 220 </property>
221 </widget> 221 </widget>
222 <widget> 222 <widget>
223 <class>QRadioButton</class> 223 <class>QRadioButton</class>
224 <property stdset="1"> 224 <property stdset="1">
225 <name>name</name> 225 <name>name</name>
226 <cstring>m_normalFont</cstring> 226 <cstring>m_normalFont</cstring>
227 </property> 227 </property>
228 <property stdset="1"> 228 <property stdset="1">
229 <name>text</name> 229 <name>text</name>
230 <string>Normal</string> 230 <string>Normal</string>
231 </property> 231 </property>
232 <property stdset="1"> 232 <property stdset="1">
233 <name>checked</name> 233 <name>checked</name>
234 <bool>true</bool> 234 <bool>true</bool>
235 </property> 235 </property>
236 <property> 236 <property>
237 <name>whatsThis</name> 237 <name>whatsThis</name>
238 <string>Font size for list- and card view</string> 238 <string>Font size for list- and card view</string>
239 </property> 239 </property>
240 </widget> 240 </widget>
241 <widget> 241 <widget>
242 <class>QRadioButton</class> 242 <class>QRadioButton</class>
243 <property stdset="1"> 243 <property stdset="1">
244 <name>name</name> 244 <name>name</name>
245 <cstring>m_largeFont</cstring> 245 <cstring>m_largeFont</cstring>
246 </property> 246 </property>
247 <property stdset="1"> 247 <property stdset="1">
248 <name>text</name> 248 <name>text</name>
249 <string>Large</string> 249 <string>Large</string>
250 </property> 250 </property>
251 <property> 251 <property>
252 <name>whatsThis</name> 252 <name>whatsThis</name>
253 <string>Font size for list- and card view</string> 253 <string>Font size for list- and card view</string>
254 </property> 254 </property>
255 </widget> 255 </widget>
256 </hbox> 256 </hbox>
257 </widget> 257 </widget>
258 <widget>
259 <class>QButtonGroup</class>
260 <property stdset="1">
261 <name>name</name>
262 <cstring>ButtonGroup4</cstring>
263 </property>
264 <property stdset="1">
265 <name>title</name>
266 <string>Tool-/Menubar</string>
267 </property>
268 <hbox>
269 <property stdset="1">
270 <name>margin</name>
271 <number>11</number>
272 </property>
273 <property stdset="1">
274 <name>spacing</name>
275 <number>6</number>
276 </property>
277 <widget>
278 <class>QRadioButton</class>
279 <property stdset="1">
280 <name>name</name>
281 <cstring>m_fixedBars</cstring>
282 </property>
283 <property stdset="1">
284 <name>text</name>
285 <string>Fixed</string>
286 </property>
287 <property stdset="1">
288 <name>checked</name>
289 <bool>true</bool>
290 </property>
291 <property>
292 <name>toolTip</name>
293 <string></string>
294 </property>
295 <property>
296 <name>whatsThis</name>
297 <string>Switch to fixed menu-/toolbars after restarting application !</string>
298 </property>
299 </widget>
300 <widget>
301 <class>QRadioButton</class>
302 <property stdset="1">
303 <name>name</name>
304 <cstring>m_moveBars</cstring>
305 </property>
306 <property stdset="1">
307 <name>text</name>
308 <string>Movable</string>
309 </property>
310 <property>
311 <name>whatsThis</name>
312 <string>Switch to moveable menu-/toolbars after restarting application !</string>
313 </property>
314 </widget>
315 </hbox>
316 </widget>
258 <spacer> 317 <spacer>
259 <property> 318 <property>
260 <name>name</name> 319 <name>name</name>
261 <cstring>Spacer3</cstring> 320 <cstring>Spacer3</cstring>
262 </property> 321 </property>
263 <property stdset="1"> 322 <property stdset="1">
264 <name>orientation</name> 323 <name>orientation</name>
265 <enum>Vertical</enum> 324 <enum>Vertical</enum>
266 </property> 325 </property>
267 <property stdset="1"> 326 <property stdset="1">
268 <name>sizeType</name> 327 <name>sizeType</name>
269 <enum>Expanding</enum> 328 <enum>Expanding</enum>
270 </property> 329 </property>
271 <property> 330 <property>
272 <name>sizeHint</name> 331 <name>sizeHint</name>
273 <size> 332 <size>
274 <width>20</width> 333 <width>20</width>
275 <height>20</height> 334 <height>20</height>
276 </size> 335 </size>
277 </property> 336 </property>
278 </spacer> 337 </spacer>
279 </vbox> 338 </vbox>
280 </widget> 339 </widget>
281 <widget> 340 <widget>
282 <class>QWidget</class> 341 <class>QWidget</class>
283 <property stdset="1"> 342 <property stdset="1">
284 <name>name</name> 343 <name>name</name>
285 <cstring>tab</cstring> 344 <cstring>tab</cstring>
286 </property> 345 </property>
287 <attribute> 346 <attribute>
288 <name>title</name> 347 <name>title</name>
289 <string>Mail</string> 348 <string>Mail</string>
290 </attribute> 349 </attribute>
291 <vbox> 350 <vbox>
292 <property stdset="1"> 351 <property stdset="1">
293 <name>margin</name> 352 <name>margin</name>
294 <number>5</number> 353 <number>5</number>
295 </property> 354 </property>
296 <property stdset="1"> 355 <property stdset="1">
297 <name>spacing</name> 356 <name>spacing</name>
298 <number>6</number> 357 <number>6</number>
299 </property> 358 </property>
300 <widget> 359 <widget>
301 <class>QButtonGroup</class> 360 <class>QButtonGroup</class>
302 <property stdset="1"> 361 <property stdset="1">
303 <name>name</name> 362 <name>name</name>
304 <cstring>ButtonGroup2</cstring> 363 <cstring>ButtonGroup2</cstring>
305 </property> 364 </property>
306 <property stdset="1"> 365 <property stdset="1">
307 <name>title</name> 366 <name>title</name>
308 <string>Mail</string> 367 <string>Mail</string>
309 </property> 368 </property>
310 <property> 369 <property>
311 <name>whatsThis</name> 370 <name>whatsThis</name>
312 <string>Fontsettings for list and card view</string> 371 <string>Fontsettings for list and card view</string>
313 </property> 372 </property>
314 <vbox> 373 <vbox>
315 <property stdset="1"> 374 <property stdset="1">
316 <name>margin</name> 375 <name>margin</name>
317 <number>11</number> 376 <number>11</number>
318 </property> 377 </property>
319 <property stdset="1"> 378 <property stdset="1">
320 <name>spacing</name> 379 <name>spacing</name>
321 <number>6</number> 380 <number>6</number>
322 </property> 381 </property>
323 <widget> 382 <widget>
324 <class>QRadioButton</class> 383 <class>QRadioButton</class>
325 <property stdset="1"> 384 <property stdset="1">
326 <name>name</name> 385 <name>name</name>
327 <cstring>m_useQtMail</cstring> 386 <cstring>m_useQtMail</cstring>
328 </property> 387 </property>
329 <property stdset="1"> 388 <property stdset="1">
330 <name>text</name> 389 <name>text</name>
331 <string>Prefer QT-Mail </string> 390 <string>Prefer QT-Mail </string>
332 </property> 391 </property>
333 <property stdset="1"> 392 <property stdset="1">
334 <name>checked</name> 393 <name>checked</name>
335 <bool>true</bool> 394 <bool>true</bool>
336 </property> 395 </property>
337 <property> 396 <property>
338 <name>whatsThis</name> 397 <name>whatsThis</name>
339 <string>Use Sharp's mail application if available</string> 398 <string>Use Sharp's mail application if available</string>
340 </property> 399 </property>
341 </widget> 400 </widget>
342 <widget> 401 <widget>
343 <class>QRadioButton</class> 402 <class>QRadioButton</class>
344 <property stdset="1"> 403 <property stdset="1">
345 <name>name</name> 404 <name>name</name>
346 <cstring>m_useOpieMail</cstring> 405 <cstring>m_useOpieMail</cstring>
347 </property> 406 </property>
348 <property stdset="1"> 407 <property stdset="1">
349 <name>text</name> 408 <name>text</name>
350 <string>Prefer Opie-Mail</string> 409 <string>Prefer Opie-Mail</string>
351 </property> 410 </property>
352 <property> 411 <property>
353 <name>whatsThis</name> 412 <name>whatsThis</name>
diff --git a/core/pim/addressbook/version.h b/core/pim/addressbook/version.h
index 999ce67..d590a86 100644
--- a/core/pim/addressbook/version.h
+++ b/core/pim/addressbook/version.h
@@ -1,10 +1,10 @@
1#ifndef _VERSION_H_ 1#ifndef _VERSION_H_
2#define _VERSION_H_ 2#define _VERSION_H_
3 3
4#define MAINVERSION "0" 4#define MAINVERSION "0"
5#define SUBVERSION "9" 5#define SUBVERSION "9"
6#define PATCHVERSION "2" 6#define PATCHVERSION "3"
7 7
8#define APPNAME "OPIE_ADDRESSBOOK" 8#define APPNAME "OPIE_ADDRESSBOOK"
9 9
10#endif 10#endif