summaryrefslogtreecommitdiff
path: root/noncore/apps/checkbook/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/apps/checkbook/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/checkbook/mainwindow.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/noncore/apps/checkbook/mainwindow.cpp b/noncore/apps/checkbook/mainwindow.cpp
index f29001a..60aea42 100644
--- a/noncore/apps/checkbook/mainwindow.cpp
+++ b/noncore/apps/checkbook/mainwindow.cpp
@@ -15,53 +15,53 @@
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
18..}^=.=       =       ; Public License for more details. 18..}^=.=       =       ; Public License for more details.
19++=   -.     .`     .: 19++=   -.     .`     .:
20 :     =  ...= . :.=- You should have received a copy of the GNU 20 :     =  ...= . :.=- You should have received a copy of the GNU
21 -.   .:....=;==+<; General Public License along with this file; 21 -.   .:....=;==+<; General Public License along with this file;
22  -_. . .   )=.  = see the file COPYING. If not, write to the 22  -_. . .   )=.  = see the file COPYING. If not, write to the
23    --        :-=` Free Software Foundation, Inc., 23    --        :-=` Free Software Foundation, Inc.,
24 59 Temple Place - Suite 330, 24 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include "mainwindow.h" 29#include "mainwindow.h"
30#include "cbinfo.h" 30#include "cbinfo.h"
31#include "configuration.h" 31#include "configuration.h"
32#include "password.h" 32#include "password.h"
33#include "checkbook.h" 33#include "checkbook.h"
34#include "listedit.h" 34#include "listedit.h"
35 35
36#include <qpe/config.h> 36#include <qpe/config.h>
37#include <qpe/global.h> 37#include <qpe/global.h>
38#include <qpe/qpeapplication.h> 38#include <qpe/qpeapplication.h>
39#include <qmenubar.h>
40#include <qpe/qpemessagebox.h> 39#include <qpe/qpemessagebox.h>
41#include <qpe/qpetoolbar.h> 40#include <qpe/qpetoolbar.h>
42#include <qpe/resource.h> 41#include <qpe/resource.h>
43 42
43#include <qmenubar.h>
44#include <qaction.h> 44#include <qaction.h>
45#include <qcheckbox.h> 45#include <qcheckbox.h>
46#include <qdir.h> 46#include <qdir.h>
47#include <qlineedit.h> 47#include <qlineedit.h>
48#include <qwhatsthis.h> 48#include <qwhatsthis.h>
49 49
50 50
51MainWindow::MainWindow( QWidget* parent, const char* name, WFlags /*fl*/ ) 51MainWindow::MainWindow( QWidget* parent, const char* name, WFlags /*fl*/ )
52 : QMainWindow( parent, name, WStyle_ContextHelp ) 52 : QMainWindow( parent, name, WStyle_ContextHelp )
53{ 53{
54 setCaption( tr( "Checkbook" ) ); 54 setCaption( tr( "Checkbook" ) );
55 55
56 cbDir = Global::applicationFileName( "checkbook", "" ); 56 cbDir = Global::applicationFileName( "checkbook", "" );
57 lockIcon = Resource::loadPixmap( "locked" ); 57 lockIcon = Resource::loadPixmap( "locked" );
58 58
59 // Load configuration options 59 // Load configuration options
60 Config config( "checkbook" ); 60 Config config( "checkbook" );
61 _cfg.readConfig( config ); 61 _cfg.readConfig( config );
62 62
63 63
64 // Build menu and tool bars 64 // Build menu and tool bars
65 setToolBarsMovable( FALSE ); 65 setToolBarsMovable( FALSE );
66 66
67 QToolBar *bar = new QToolBar( this ); 67 QToolBar *bar = new QToolBar( this );
@@ -193,50 +193,49 @@ void MainWindow::addCheckbook( CBInfo *cb )
193 { 193 {
194 lvi->setPixmap( 0, lockIcon ); 194 lvi->setPixmap( 0, lockIcon );
195 } 195 }
196 lvi->setText( posName, cb->name() ); 196 lvi->setText( posName, cb->name() );
197 if ( _cfg.getShowBalances() ) 197 if ( _cfg.getShowBalances() )
198 { 198 {
199 QString balance; 199 QString balance;
200 balance.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() ); 200 balance.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() );
201 lvi->setText( posName + 1, balance ); 201 lvi->setText( posName + 1, balance );
202 } 202 }
203} 203}
204 204
205void MainWindow::buildFilename( const QString &name ) 205void MainWindow::buildFilename( const QString &name )
206{ 206{
207 tempFilename = cbDir; 207 tempFilename = cbDir;
208 tempFilename.append( name ); 208 tempFilename.append( name );
209 tempFilename.append( ".qcb" ); 209 tempFilename.append( ".qcb" );
210} 210}
211 211
212void MainWindow::slotNew() 212void MainWindow::slotNew()
213{ 213{
214 CBInfo *cb = new CBInfo(); 214 CBInfo *cb = new CBInfo();
215 215
216 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 216 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
217 currcb->showMaximized(); 217 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
218 if ( currcb->exec() == QDialog::Accepted )
219 { 218 {
220 // Save new checkbook 219 // Save new checkbook
221 buildFilename( cb->name() ); 220 buildFilename( cb->name() );
222 _cfg.setLastBook( cb->name() ); 221 _cfg.setLastBook( cb->name() );
223 cb->setFilename( tempFilename ); 222 cb->setFilename( tempFilename );
224 cb->write(); 223 cb->write();
225 224
226 // Add to listbox 225 // Add to listbox
227 checkbooks->inSort( cb ); 226 checkbooks->inSort( cb );
228 addCheckbook( cb ); 227 addCheckbook( cb );
229 } 228 }
230 delete currcb; 229 delete currcb;
231} 230}
232 231
233// --- slotEdit --------------------------------------------------------------- 232// --- slotEdit ---------------------------------------------------------------
234void MainWindow::slotEdit() 233void MainWindow::slotEdit()
235{ 234{
236 // get name and open it 235 // get name and open it
237 QListViewItem *curritem = cbList->currentItem(); 236 QListViewItem *curritem = cbList->currentItem();
238 if ( !curritem ) 237 if ( !curritem )
239 return; 238 return;
240 openBook( curritem ); 239 openBook( curritem );
241} 240}
242 241
@@ -251,50 +250,49 @@ void MainWindow::openBook(QListViewItem *curritem)
251 if ( cb->name() == currname ) 250 if ( cb->name() == currname )
252 break; 251 break;
253 cb = checkbooks->next(); 252 cb = checkbooks->next();
254 } 253 }
255 if ( !cb ) return; 254 if ( !cb ) return;
256 255
257 // 256 //
258 buildFilename( currname ); 257 buildFilename( currname );
259 float currbalance = cb->balance(); 258 float currbalance = cb->balance();
260 bool currlock = !cb->password().isNull(); 259 bool currlock = !cb->password().isNull();
261 260
262 if ( currlock ) 261 if ( currlock )
263 { 262 {
264 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) ); 263 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) );
265 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() ) 264 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() )
266 { 265 {
267 delete pw; 266 delete pw;
268 return; 267 return;
269 } 268 }
270 delete pw; 269 delete pw;
271 } 270 }
272 271
273 _cfg.setLastBook( currname ); 272 _cfg.setLastBook( currname );
274 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 273 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
275 currcb->showMaximized(); 274 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
276 if ( currcb->exec() == QDialog::Accepted )
277 { 275 {
278 QString newname = cb->name(); 276 QString newname = cb->name();
279 if ( currname != newname ) 277 if ( currname != newname )
280 { 278 {
281 // Update name if changed 279 // Update name if changed
282 if( curritem ) { 280 if( curritem ) {
283 curritem->setText( posName, newname ); 281 curritem->setText( posName, newname );
284 cbList->sort(); 282 cbList->sort();
285 } 283 }
286 _cfg.setLastBook( newname ); 284 _cfg.setLastBook( newname );
287 285
288 // Remove old file 286 // Remove old file
289 QFile f( tempFilename ); 287 QFile f( tempFilename );
290 if ( f.exists() ) 288 if ( f.exists() )
291 f.remove(); 289 f.remove();
292 290
293 // Get new filename 291 // Get new filename
294 buildFilename( newname ); 292 buildFilename( newname );
295 cb->setFilename( tempFilename ); 293 cb->setFilename( tempFilename );
296 } 294 }
297 295
298 cb->write(); 296 cb->write();
299 297
300 // Update lock if changed 298 // Update lock if changed
@@ -324,42 +322,41 @@ void MainWindow::openBook(QListViewItem *curritem)
324} 322}
325 323
326// --- slotDelete ------------------------------------------------------------- 324// --- slotDelete -------------------------------------------------------------
327void MainWindow::slotDelete() 325void MainWindow::slotDelete()
328{ 326{
329 QString currname = cbList->currentItem()->text( posName ); 327 QString currname = cbList->currentItem()->text( posName );
330 328
331 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) ) 329 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) )
332 { 330 {
333 buildFilename( currname ); 331 buildFilename( currname );
334 QFile f( tempFilename ); 332 QFile f( tempFilename );
335 if ( f.exists() ) 333 if ( f.exists() )
336 { 334 {
337 f.remove(); 335 f.remove();
338 } 336 }
339 337
340 delete cbList->currentItem(); 338 delete cbList->currentItem();
341 } 339 }
342} 340}
343 341
344// --- slotConfigure ---------------------------------------------------------- 342// --- slotConfigure ----------------------------------------------------------
345void MainWindow::slotConfigure() 343void MainWindow::slotConfigure()
346{ 344{
347 Configuration *cfgdlg = new Configuration( this, _cfg ); 345 Configuration *cfgdlg = new Configuration( this, _cfg );
348 cfgdlg->showMaximized(); 346 if ( QPEApplication::execDialog( cfgdlg ) == QDialog::Accepted )
349 if ( cfgdlg->exec() == QDialog::Accepted )
350 { 347 {
351 // read data from config dialog & save it 348 // read data from config dialog & save it
352 cfgdlg->saveConfig( _cfg ); 349 cfgdlg->saveConfig( _cfg );
353 writeConfig(); 350 writeConfig();
354 buildList(); 351 buildList();
355 } 352 }
356 delete cfgdlg; 353 delete cfgdlg;
357} 354}
358 355
359 356
360// --- writeConfig -------------------------------------------------------------- 357// --- writeConfig --------------------------------------------------------------
361void MainWindow::writeConfig() 358void MainWindow::writeConfig()
362{ 359{
363 Config config("checkbook"); 360 Config config("checkbook");
364 _cfg.writeConfig( config ); 361 _cfg.writeConfig( config );
365} 362}