summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-09-24 19:51:43 (UTC)
committer ulf69 <ulf69>2004-09-24 19:51:43 (UTC)
commita884dac6f756b3702a10ae97aa8782e4d2a84b20 (patch) (unidiff)
tree08e50146a3176848455db29e0c0ff0309c6f7b4c
parentae069aa892b29a96a923e49254cc89e65d0393eb (diff)
downloadkdepimpi-a884dac6f756b3702a10ae97aa8782e4d2a84b20.zip
kdepimpi-a884dac6f756b3702a10ae97aa8782e4d2a84b20.tar.gz
kdepimpi-a884dac6f756b3702a10ae97aa8782e4d2a84b20.tar.bz2
*** empty log message ***
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/addentrywnd_emb.cpp2
-rw-r--r--pwmanager/pwmanager/findwnd_emb.cpp123
-rw-r--r--pwmanager/pwmanager/findwnd_emb.h62
-rw-r--r--pwmanager/pwmanager/findwndimpl.cpp13
-rw-r--r--pwmanager/pwmanager/findwndimpl.h8
-rw-r--r--pwmanager/pwmanager/getmasterpwwnd_emb.cpp86
-rw-r--r--pwmanager/pwmanager/getmasterpwwnd_emb.h48
-rw-r--r--pwmanager/pwmanager/getmasterpwwndimpl.cpp14
-rw-r--r--pwmanager/pwmanager/getmasterpwwndimpl.h7
-rw-r--r--pwmanager/pwmanager/listviewpwm.cpp15
-rw-r--r--pwmanager/pwmanager/main.cpp2
-rw-r--r--pwmanager/pwmanager/pwgenwnd_emb.cpp3
-rw-r--r--pwmanager/pwmanager/pwm.cpp35
-rw-r--r--pwmanager/pwmanager/pwmanagerE.pro12
-rw-r--r--pwmanager/pwmanager/pwmdocui.cpp15
-rw-r--r--pwmanager/pwmanager/pwmviewstyle.cpp14
-rw-r--r--pwmanager/pwmanager/serializer.cpp2
-rw-r--r--pwmanager/pwmanager/setmasterpwwnd_emb.cpp163
-rw-r--r--pwmanager/pwmanager/setmasterpwwnd_emb.h62
-rw-r--r--pwmanager/pwmanager/setmasterpwwndimpl.cpp43
-rw-r--r--pwmanager/pwmanager/setmasterpwwndimpl.h8
21 files changed, 699 insertions, 38 deletions
diff --git a/pwmanager/pwmanager/addentrywnd_emb.cpp b/pwmanager/pwmanager/addentrywnd_emb.cpp
index 3a40cfc..ed02e6d 100644
--- a/pwmanager/pwmanager/addentrywnd_emb.cpp
+++ b/pwmanager/pwmanager/addentrywnd_emb.cpp
@@ -1,93 +1,93 @@
1/* 1/*
2 This file is part of PwManager/Platform independent. 2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22 22
23$Id$ 23$Id$
24*/ 24*/
25 25
26#include "addentrywnd_emb.h" 26#include "addentrywnd_emb.h"
27 27
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qlabel.h> 29#include <qlabel.h>
30#include <qtabwidget.h> 30#include <qtabwidget.h>
31#include <qgroupbox.h> 31#include <qgroupbox.h>
32#include <klocale.h> 32#include <klocale.h>
33#include <kcombobox.h> 33#include <kcombobox.h>
34#include <klineedit.h> 34#include <klineedit.h>
35#include <qpushbutton.h> 35#include <qpushbutton.h>
36 36
37/* 37/*
38 * Constructs a addEntryWnd as a child of 'parent', with the 38 * Constructs a addEntryWnd as a child of 'parent', with the
39 * name 'name' and widget flags set to 'f'. 39 * name 'name' and widget flags set to 'f'.
40 * 40 *
41 * The dialog will by default be modeless, unless you set 'modal' to 41 * The dialog will by default be modeless, unless you set 'modal' to
42 * TRUE to construct a modal dialog. 42 * TRUE to construct a modal dialog.
43 */ 43 */
44addEntryWnd::addEntryWnd( QWidget* parent, const char* name) 44addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
45 : KDialogBase( KDialogBase::Plain, i18n( "Edit Password" ), 45 : KDialogBase( KDialogBase::Plain, i18n( "edit/add a password entry" ),
46 KDialogBase::Ok | KDialogBase::Cancel, 46 KDialogBase::Ok | KDialogBase::Cancel,
47 KDialogBase::Ok, parent, name, true ) 47 KDialogBase::Ok, parent, name, true )
48{ 48{
49 QWidget *page = plainPage(); 49 QWidget *page = plainPage();
50 QVBoxLayout *pageLayout = new QVBoxLayout( page ); 50 QVBoxLayout *pageLayout = new QVBoxLayout( page );
51 51
52 QTabWidget* mTabWidget = new QTabWidget( page ); 52 QTabWidget* mTabWidget = new QTabWidget( page );
53 pageLayout->addWidget( mTabWidget ); 53 pageLayout->addWidget( mTabWidget );
54 54
55 //////////////////////////////////////////////////////////////////// 55 ////////////////////////////////////////////////////////////////////
56 // This is the Password tab 56 // This is the Password tab
57 QWidget *tab1 = new QWidget( mTabWidget ); 57 QWidget *tab1 = new QWidget( mTabWidget );
58 58
59 QGridLayout *layout = new QGridLayout( tab1, 3, 1 ); 59 QGridLayout *layout = new QGridLayout( tab1, 3, 1 );
60 layout->setMargin( KDialogBase::marginHint() ); 60 layout->setMargin( KDialogBase::marginHint() );
61 layout->setSpacing( KDialogBase::spacingHint() ); 61 layout->setSpacing( KDialogBase::spacingHint() );
62 62
63 63
64 64
65 int i = 0; 65 int i = 0;
66 descLineEdit = new KLineEdit( tab1, "descLineEdit" ); 66 descLineEdit = new KLineEdit( tab1, "descLineEdit" );
67 QLabel* label = new QLabel( descLineEdit, i18n("Description:"), tab1 ); 67 QLabel* label = new QLabel( descLineEdit, i18n("Description:"), tab1 );
68 layout->addWidget( label, i, 0 ); 68 layout->addWidget( label, i, 0 );
69 layout->addWidget( descLineEdit, i, 1 ); 69 layout->addWidget( descLineEdit, i, 1 );
70 i++; 70 i++;
71 71
72 categoryComboBox = new KComboBox( tab1 ); 72 categoryComboBox = new KComboBox( tab1 );
73 label = new QLabel( categoryComboBox, i18n("Category:"), tab1 ); 73 label = new QLabel( categoryComboBox, i18n("Category:"), tab1 );
74 layout->addWidget( label, i, 0 ); 74 layout->addWidget( label, i, 0 );
75 layout->addWidget( categoryComboBox, i, 1 ); 75 layout->addWidget( categoryComboBox, i, 1 );
76 i++; 76 i++;
77 categoryComboBox->setEditable( TRUE ); 77 categoryComboBox->setEditable( TRUE );
78 categoryComboBox->setSizeLimit( 100 ); 78 categoryComboBox->setSizeLimit( 100 );
79 categoryComboBox->setAutoCompletion( TRUE ); 79 categoryComboBox->setAutoCompletion( TRUE );
80 categoryComboBox->setDuplicatesEnabled( FALSE ); 80 categoryComboBox->setDuplicatesEnabled( FALSE );
81 81
82 usernameLineEdit = new KLineEdit( tab1, "usernameLineEdit" ); 82 usernameLineEdit = new KLineEdit( tab1, "usernameLineEdit" );
83 label = new QLabel( usernameLineEdit, i18n("Username:"), tab1 ); 83 label = new QLabel( usernameLineEdit, i18n("Username:"), tab1 );
84 layout->addWidget( label, i, 0 ); 84 layout->addWidget( label, i, 0 );
85 layout->addWidget( usernameLineEdit, i, 1 ); 85 layout->addWidget( usernameLineEdit, i, 1 );
86 i++; 86 i++;
87 87
88 pwLineEdit = new KLineEdit( tab1, "pwLineEdit" ); 88 pwLineEdit = new KLineEdit( tab1, "pwLineEdit" );
89 pwLineEdit->setEchoMode( QLineEdit::Password ); 89 pwLineEdit->setEchoMode( QLineEdit::Password );
90 label = new QLabel( pwLineEdit, i18n("Password:"), tab1 ); 90 label = new QLabel( pwLineEdit, i18n("Password:"), tab1 );
91 layout->addWidget( label, i, 0 ); 91 layout->addWidget( label, i, 0 );
92 layout->addWidget( pwLineEdit, i, 1 ); 92 layout->addWidget( pwLineEdit, i, 1 );
93 i++; 93 i++;
diff --git a/pwmanager/pwmanager/findwnd_emb.cpp b/pwmanager/pwmanager/findwnd_emb.cpp
new file mode 100644
index 0000000..6db2684
--- a/dev/null
+++ b/pwmanager/pwmanager/findwnd_emb.cpp
@@ -0,0 +1,123 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26#include "findwnd_emb.h"
27
28#include <klocale.h>
29
30#include <qcheckbox.h>
31#include <qbuttongroup.h>
32#include <qradiobutton.h>
33#include <qlayout.h>
34#include <klineedit.h>
35#include <qlabel.h>
36
37/*
38#include <qvariant.h>
39#include <qlabel.h>
40#include <qlineedit.h>
41#include <qpushbutton.h>
42#include <qcheckbox.h>
43#include <qbuttongroup.h>
44#include <qradiobutton.h>
45#include <qlayout.h>
46#include <qtooltip.h>
47#include <qwhatsthis.h>
48*/
49
50/*
51 * Constructs a findWnd as a child of 'parent', with the
52 * name 'name'.
53 */
54findWnd::findWnd( QWidget* parent, const char* name )
55 : KDialogBase( KDialogBase::Plain, i18n( "Find" ),
56 KDialogBase::Ok | KDialogBase::Cancel,
57 KDialogBase::Ok, parent, name, true )
58{
59 QWidget *page = plainPage();
60 QVBoxLayout *layout = new QVBoxLayout( page );
61 layout->setMargin( KDialogBase::marginHint() );
62 layout->setSpacing( KDialogBase::spacingHint() );
63
64 exactCheckBox = new QCheckBox( i18n( "&Exact match" ), page );
65 layout->addWidget( exactCheckBox );
66
67 caseSensCheckBox = new QCheckBox( i18n( "&Case sensitive" ), page );
68 layout->addWidget( caseSensCheckBox );
69
70
71 QButtonGroup* buttonGroup1 = new QButtonGroup(1, Qt::Horizontal, i18n( "Search in Column" ), page );
72 layout->addWidget( buttonGroup1 );
73
74 descRadioButton = new QRadioButton( i18n( "&Description" ), buttonGroup1 );
75 pwRadioButton = new QRadioButton( i18n( "&Password" ), buttonGroup1 );
76 commentRadioButton = new QRadioButton( i18n( "C&omment" ), buttonGroup1 );
77 nameRadioButton = new QRadioButton( i18n( "&Username" ), buttonGroup1 );
78 urlRadioButton = new QRadioButton( i18n( "U&RL" ), buttonGroup1 );
79 launcherRadioButton = new QRadioButton( i18n( "&Launcher" ), buttonGroup1 );
80 descRadioButton->setChecked( TRUE );
81
82 findLineEdit = new KLineEdit( page );
83 QLabel* label = new QLabel( findLineEdit, i18n( "Find:" ), page );
84 layout->addWidget( label );
85 layout->addWidget( findLineEdit );
86
87 setButtonText( KDialogBase::Ok, "&Find" );
88 setButtonText( KDialogBase::Cancel, "&Close" );
89
90
91 // resize( QSize(200, 150) );
92
93
94 connect( buttonGroup1, SIGNAL( clicked(int) ), this, SLOT( selectionChanged_slot() ) );
95 connect( findLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( selectionChanged_slot() ) );
96 connect( caseSensCheckBox, SIGNAL( stateChanged(int) ), this, SLOT( selectionChanged_slot() ) );
97 connect( exactCheckBox, SIGNAL( stateChanged(int) ), this, SLOT( selectionChanged_slot() ) );
98
99}
100
101/*
102 * Destroys the object and frees any allocated resources
103 */
104findWnd::~findWnd()
105{
106 // no need to delete child widgets, Qt does it all for us
107}
108
109void findWnd::findButton_slot()
110{
111 qWarning( "findWnd::findButton_slot(): Not implemented yet" );
112}
113
114void findWnd::selectionChanged_slot()
115{
116 qWarning( "findWnd::selectionChanged_slot(): Not implemented yet" );
117}
118
119void findWnd::closeButton_slot()
120{
121 qWarning( "findWnd::closeButton_slot(): Not implemented yet" );
122}
123
diff --git a/pwmanager/pwmanager/findwnd_emb.h b/pwmanager/pwmanager/findwnd_emb.h
new file mode 100644
index 0000000..9ad5a73
--- a/dev/null
+++ b/pwmanager/pwmanager/findwnd_emb.h
@@ -0,0 +1,62 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26
27#ifndef FINDWND_EMB_H
28#define FINDWND_EMB_H
29
30#include <kdialogbase.h>
31
32
33class QLineEdit;
34class QCheckBox;
35class QRadioButton;
36
37
38class findWnd : public KDialogBase
39{
40 Q_OBJECT
41
42public:
43 findWnd( QWidget* parent = 0, const char* name = 0 );
44 ~findWnd();
45
46 QLineEdit* findLineEdit;
47 QCheckBox* exactCheckBox;
48 QCheckBox* caseSensCheckBox;
49 QRadioButton* descRadioButton;
50 QRadioButton* pwRadioButton;
51 QRadioButton* commentRadioButton;
52 QRadioButton* nameRadioButton;
53 QRadioButton* urlRadioButton;
54 QRadioButton* launcherRadioButton;
55
56public slots:
57 virtual void findButton_slot();
58 virtual void selectionChanged_slot();
59 virtual void closeButton_slot();
60};
61
62#endif // FINDWND_H
diff --git a/pwmanager/pwmanager/findwndimpl.cpp b/pwmanager/pwmanager/findwndimpl.cpp
index fec1a6a..059219f 100644
--- a/pwmanager/pwmanager/findwndimpl.cpp
+++ b/pwmanager/pwmanager/findwndimpl.cpp
@@ -63,63 +63,76 @@ void FindWndImpl::findButton_slot()
63 } else if (nameRadioButton->isChecked()) { 63 } else if (nameRadioButton->isChecked()) {
64 searchIn = SEARCH_IN_NAME; 64 searchIn = SEARCH_IN_NAME;
65 findThis.name = findLineEdit->text().latin1(); 65 findThis.name = findLineEdit->text().latin1();
66 } else if (pwRadioButton->isChecked()) { 66 } else if (pwRadioButton->isChecked()) {
67 searchIn = SEARCH_IN_PW; 67 searchIn = SEARCH_IN_PW;
68 findThis.pw = findLineEdit->text().latin1(); 68 findThis.pw = findLineEdit->text().latin1();
69 } else if (commentRadioButton->isChecked()) { 69 } else if (commentRadioButton->isChecked()) {
70 searchIn = SEARCH_IN_COMMENT; 70 searchIn = SEARCH_IN_COMMENT;
71 findThis.comment = findLineEdit->text().latin1(); 71 findThis.comment = findLineEdit->text().latin1();
72 } else if (urlRadioButton->isChecked()) { 72 } else if (urlRadioButton->isChecked()) {
73 searchIn = SEARCH_IN_URL; 73 searchIn = SEARCH_IN_URL;
74 findThis.url = findLineEdit->text().latin1(); 74 findThis.url = findLineEdit->text().latin1();
75 } else if (launcherRadioButton->isChecked()) { 75 } else if (launcherRadioButton->isChecked()) {
76 searchIn = SEARCH_IN_LAUNCHER; 76 searchIn = SEARCH_IN_LAUNCHER;
77 findThis.launcher = findLineEdit->text().latin1(); 77 findThis.launcher = findLineEdit->text().latin1();
78 } 78 }
79 79
80 if (pwRadioButton->isChecked()) { 80 if (pwRadioButton->isChecked()) {
81 if (!doc->unlockAll_tempoary()) 81 if (!doc->unlockAll_tempoary())
82 return; 82 return;
83 unlockedTempoary = true; 83 unlockedTempoary = true;
84 } 84 }
85 doc->findEntry(parent->getCurrentCategory(), findThis, 85 doc->findEntry(parent->getCurrentCategory(), findThis,
86 searchIn, &foundPositions, false, 86 searchIn, &foundPositions, false,
87 caseSensCheckBox->isChecked(), 87 caseSensCheckBox->isChecked(),
88 exactCheckBox->isChecked(), 88 exactCheckBox->isChecked(),
89 true); 89 true);
90 if (unlockedTempoary) { 90 if (unlockedTempoary) {
91 doc->unlockAll_tempoary(true); 91 doc->unlockAll_tempoary(true);
92 } 92 }
93 93
94 if (!foundPositions.size()) { 94 if (!foundPositions.size()) {
95 KMessageBox::information(this, 95 KMessageBox::information(this,
96 i18n("No entry found."), 96 i18n("No entry found."),
97 i18n("not found")); 97 i18n("not found"));
98 return; 98 return;
99 } 99 }
100 currFoundPos = 0; 100 currFoundPos = 0;
101 } 101 }
102 102
103 int lvp = doc->getListViewPos(parent->getCurrentCategory(), 103 int lvp = doc->getListViewPos(parent->getCurrentCategory(),
104 foundPositions[currFoundPos++]); 104 foundPositions[currFoundPos++]);
105 emit foundAt(numEntries - 1 - lvp); 105 emit foundAt(numEntries - 1 - lvp);
106 106
107 if (currFoundPos + 1 > static_cast<int>(foundPositions.size())) 107 if (currFoundPos + 1 > static_cast<int>(foundPositions.size()))
108 currFoundPos = 0; 108 currFoundPos = 0;
109} 109}
110 110
111
112#ifdef PWM_EMBEDDED
113void FindWndImpl::slotOk()
114{
115 findButton_slot();
116
117 //do not call KDialogBase::slotOk() here
118 // user should press the close button instead
119}
120#endif
121
111void FindWndImpl::closeButton_slot() 122void FindWndImpl::closeButton_slot()
112{ 123{
124#ifndef PWM_EMBEDDED
113 done(0); 125 done(0);
126#endif
114} 127}
115 128
116void FindWndImpl::selectionChanged_slot() 129void FindWndImpl::selectionChanged_slot()
117{ 130{
118 fAt = 0; 131 fAt = 0;
119 refVal = 0; 132 refVal = 0;
120 currFoundPos = -1; 133 currFoundPos = -1;
121} 134}
122 135
123#ifndef PWM_EMBEDDED 136#ifndef PWM_EMBEDDED
124#include "findwndimpl.moc" 137#include "findwndimpl.moc"
125#endif 138#endif
diff --git a/pwmanager/pwmanager/findwndimpl.h b/pwmanager/pwmanager/findwndimpl.h
index d8cb65d..b601390 100644
--- a/pwmanager/pwmanager/findwndimpl.h
+++ b/pwmanager/pwmanager/findwndimpl.h
@@ -1,61 +1,69 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003 by Michael Buesch * 3 * copyright (C) 2003 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#ifndef FINDWNDIMPL_H 20#ifndef FINDWNDIMPL_H
21#define FINDWNDIMPL_H 21#define FINDWNDIMPL_H
22 22
23#ifndef PWM_EMBEDDED
23#include "findwnd.h" 24#include "findwnd.h"
25#else
26#include "findwnd_emb.h"
27#endif
24 28
25class PwMView; 29class PwMView;
26 30
27/** "add" Window */ 31/** "add" Window */
28class FindWndImpl : public findWnd 32class FindWndImpl : public findWnd
29{ 33{
30 Q_OBJECT 34 Q_OBJECT
31public: 35public:
32 FindWndImpl(PwMView *_parent); 36 FindWndImpl(PwMView *_parent);
33 ~FindWndImpl(); 37 ~FindWndImpl();
34 38
35signals: 39signals:
36 void foundAt(int index); 40 void foundAt(int index);
37 41
38public slots: 42public slots:
39 /** find button pressed */ 43 /** find button pressed */
40 void findButton_slot(); 44 void findButton_slot();
41 /** close button pressed */ 45 /** close button pressed */
42 void closeButton_slot(); 46 void closeButton_slot();
43 /** selection of one of the radio buttons changed */ 47 /** selection of one of the radio buttons changed */
44 void selectionChanged_slot(); 48 void selectionChanged_slot();
45 49
50#ifdef PWM_EMBEDDED
51 virtual void slotOk();
52#endif
53
46protected: 54protected:
47 /** parent view */ 55 /** parent view */
48 PwMView *parent; 56 PwMView *parent;
49 /** entry found at */ 57 /** entry found at */
50 unsigned int fAt; 58 unsigned int fAt;
51 /** reference value */ 59 /** reference value */
52 unsigned int refVal; 60 unsigned int refVal;
53 /** current position in the found-items-vector */ 61 /** current position in the found-items-vector */
54 int currFoundPos; 62 int currFoundPos;
55 /** the number of entries in the current category */ 63 /** the number of entries in the current category */
56 unsigned int numEntries; 64 unsigned int numEntries;
57 /** index number of the current category */ 65 /** index number of the current category */
58 unsigned int catIndex; 66 unsigned int catIndex;
59}; 67};
60 68
61#endif 69#endif
diff --git a/pwmanager/pwmanager/getmasterpwwnd_emb.cpp b/pwmanager/pwmanager/getmasterpwwnd_emb.cpp
new file mode 100644
index 0000000..3519de8
--- a/dev/null
+++ b/pwmanager/pwmanager/getmasterpwwnd_emb.cpp
@@ -0,0 +1,86 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26#include "getmasterpwwnd_emb.h"
27
28#include "klocale.h"
29/*
30#include <qvariant.h>
31#include <qpushbutton.h>
32#include <qlabel.h>
33#include <qlineedit.h>
34#include <qlayout.h>
35#include <qtooltip.h>
36#include <qwhatsthis.h>
37*/
38
39#include <qwidget.h>
40#include <qlayout.h>
41#include <qlabel.h>
42#include <qlineedit.h>
43
44/*
45 * Constructs a getMasterPwWnd as a child of 'parent', with the
46 * name 'name'
47 */
48getMasterPwWnd::getMasterPwWnd( QWidget* parent, const char* name)
49 : KDialogBase( KDialogBase::Plain, i18n( "Master-password" ),
50 KDialogBase::Ok | KDialogBase::Cancel,
51 KDialogBase::Ok, parent, name, true )
52{
53 QWidget *page = plainPage();
54 QVBoxLayout *pageLayout = new QVBoxLayout( page );
55
56 pwLineEdit = new QLineEdit( page, "pwLineEdit" );
57 pwLineEdit->setEchoMode( QLineEdit::Password );
58
59 QLabel* textLabel1 = new QLabel( pwLineEdit, i18n("Please enter the master-password:"), page, "textLabel1" );
60 textLabel1->setAlignment( int( QLabel::WordBreak | QLabel::AlignCenter ) );
61 pageLayout->addWidget(textLabel1);
62 pageLayout->addWidget(pwLineEdit);
63
64
65 resize( QSize(200, 100) );
66
67}
68
69/*
70 * Destroys the object and frees any allocated resources
71 */
72getMasterPwWnd::~getMasterPwWnd()
73{
74 // no need to delete child widgets, Qt does it all for us
75}
76
77void getMasterPwWnd::okButton_slot()
78{
79 qWarning( "getMasterPwWnd::okButton_slot(): Not implemented yet" );
80}
81
82void getMasterPwWnd::cancelButton_slot()
83{
84 qWarning( "getMasterPwWnd::cancelButton_slot(): Not implemented yet" );
85}
86
diff --git a/pwmanager/pwmanager/getmasterpwwnd_emb.h b/pwmanager/pwmanager/getmasterpwwnd_emb.h
new file mode 100644
index 0000000..64121c4
--- a/dev/null
+++ b/pwmanager/pwmanager/getmasterpwwnd_emb.h
@@ -0,0 +1,48 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26#ifndef GETMASTERPWWND_EMB_H
27#define GETMASTERPWWND_EMB_H
28
29#include <kdialogbase.h>
30
31class QLineEdit;
32
33class getMasterPwWnd : public KDialogBase
34{
35 Q_OBJECT
36
37public:
38 getMasterPwWnd( QWidget* parent = 0, const char* name = 0);
39 ~getMasterPwWnd();
40
41 QLineEdit* pwLineEdit;
42
43public slots:
44 virtual void okButton_slot();
45 virtual void cancelButton_slot();
46};
47
48#endif // GETMASTERPWWND_H
diff --git a/pwmanager/pwmanager/getmasterpwwndimpl.cpp b/pwmanager/pwmanager/getmasterpwwndimpl.cpp
index db0223e..6be9618 100644
--- a/pwmanager/pwmanager/getmasterpwwndimpl.cpp
+++ b/pwmanager/pwmanager/getmasterpwwndimpl.cpp
@@ -1,46 +1,60 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003 by Michael Buesch * 3 * copyright (C) 2003 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#include "getmasterpwwndimpl.h" 20#include "getmasterpwwndimpl.h"
21 21
22#include <qlineedit.h> 22#include <qlineedit.h>
23 23
24GetMasterPwWndImpl::GetMasterPwWndImpl(QWidget * parent, const char *name) 24GetMasterPwWndImpl::GetMasterPwWndImpl(QWidget * parent, const char *name)
25: getMasterPwWnd(parent, name) 25: getMasterPwWnd(parent, name)
26{ 26{
27} 27}
28 28
29GetMasterPwWndImpl::~GetMasterPwWndImpl() 29GetMasterPwWndImpl::~GetMasterPwWndImpl()
30{ 30{
31} 31}
32 32
33void GetMasterPwWndImpl::okButton_slot() 33void GetMasterPwWndImpl::okButton_slot()
34{ 34{
35#ifndef PWM_EMBEDDED
35 if (pwLineEdit->text() != "") 36 if (pwLineEdit->text() != "")
36 done(1); 37 done(1);
38#endif
37} 39}
38 40
39void GetMasterPwWndImpl::cancelButton_slot() 41void GetMasterPwWndImpl::cancelButton_slot()
40{ 42{
43#ifndef PWM_EMBEDDED
41 done(2); 44 done(2);
45#endif
46}
47
48#ifdef PWM_EMBEDDED
49void GetMasterPwWndImpl::slotOk()
50{
51 if (pwLineEdit->text() != "")
52 getMasterPwWnd::slotOk();
53 else
54 return;
42} 55}
56#endif
43 57
44#ifndef PWM_EMBEDDED 58#ifndef PWM_EMBEDDED
45#include "getmasterpwwndimpl.moc" 59#include "getmasterpwwndimpl.moc"
46#endif 60#endif
diff --git a/pwmanager/pwmanager/getmasterpwwndimpl.h b/pwmanager/pwmanager/getmasterpwwndimpl.h
index 28aa427..8a4c03e 100644
--- a/pwmanager/pwmanager/getmasterpwwndimpl.h
+++ b/pwmanager/pwmanager/getmasterpwwndimpl.h
@@ -1,40 +1,47 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003 by Michael Buesch * 3 * copyright (C) 2003 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#ifndef GETMASTERPWWNDIMPL_H 20#ifndef GETMASTERPWWNDIMPL_H
21#define GETMASTERPWWNDIMPL_H 21#define GETMASTERPWWNDIMPL_H
22 22
23#ifndef PWM_EMBEDDED
23#include "getmasterpwwnd.h" 24#include "getmasterpwwnd.h"
25#else
26#include "getmasterpwwnd_emb.h"
27#endif
24 28
25/** set master pw wnd */ 29/** set master pw wnd */
26class GetMasterPwWndImpl : public getMasterPwWnd 30class GetMasterPwWndImpl : public getMasterPwWnd
27{ 31{
28 Q_OBJECT 32 Q_OBJECT
29public: 33public:
30 GetMasterPwWndImpl(QWidget* parent = 0, const char *name = 0); 34 GetMasterPwWndImpl(QWidget* parent = 0, const char *name = 0);
31 ~GetMasterPwWndImpl(); 35 ~GetMasterPwWndImpl();
32 36
33public slots: 37public slots:
34 /** ok button pressed */ 38 /** ok button pressed */
35 void okButton_slot(); 39 void okButton_slot();
36 /** cancel button pressed */ 40 /** cancel button pressed */
37 void cancelButton_slot(); 41 void cancelButton_slot();
42#ifdef PWM_EMBEDDED
43 virtual void slotOk();
44#endif
38}; 45};
39 46
40#endif 47#endif
diff --git a/pwmanager/pwmanager/listviewpwm.cpp b/pwmanager/pwmanager/listviewpwm.cpp
index b987c9e..c53cfd7 100644
--- a/pwmanager/pwmanager/listviewpwm.cpp
+++ b/pwmanager/pwmanager/listviewpwm.cpp
@@ -1,86 +1,97 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2004 by Michael Buesch * 3 * copyright (C) 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#include "listviewpwm.h" 20#include "listviewpwm.h"
21#include "pwmexception.h" 21#include "pwmexception.h"
22 22
23#include <qpainter.h> 23#include <qpainter.h>
24#include <qpixmap.h> 24#include <qpixmap.h>
25 25
26#include <kiconloader.h> 26#include <kiconloader.h>
27 27
28#ifdef PWM_EMBEDDED
29#include <kglobal.h>
30#endif
28 31
29ListViewPwM::ListViewPwM(QWidget *parent, const char *name) 32ListViewPwM::ListViewPwM(QWidget *parent, const char *name)
30 : KListView(parent, name) 33 : KListView(parent, name)
31{ 34{
32 //setResizeMode(QListView::AllColumns); 35 //setResizeMode(QListView::AllColumns);
33} 36}
34 37
35bool ListViewPwM::event(QEvent *e) 38bool ListViewPwM::event(QEvent *e)
36{ 39{
37 if (e->type() == QEvent::LayoutHint) 40 if (e->type() == QEvent::LayoutHint)
38 emit layoutChanged(); 41 emit layoutChanged();
39 return KListView::event(e); 42 return KListView::event(e);
40} 43}
41 44
42 45
43QPixmap * ListViewItemPwM::onPix = 0; 46QPixmap * ListViewItemPwM::onPix = 0;
44QPixmap * ListViewItemPwM::offPix = 0; 47QPixmap * ListViewItemPwM::offPix = 0;
45 48
46ListViewItemPwM::ListViewItemPwM(QListView *parent) 49ListViewItemPwM::ListViewItemPwM(QListView *parent)
47 : QCheckListItem(parent, "", QCheckListItem::CheckBox) 50 : QCheckListItem(parent, "", QCheckListItem::CheckBox)
48{ 51{
49 if (!onPix) { 52 if (!onPix) {
50 PWM_ASSERT(!offPix); 53 PWM_ASSERT(!offPix);
54 KIconLoader* picons;
55#ifndef PWM_EMBEDDED
56 KIconLoader il;
57 picons = &il;
58#else
59 picons = KGlobal::iconLoader();
60#endif
61
51 KIconLoader il; 62 KIconLoader il;
52 static QPixmap onP(il.loadIcon("button_ok", KIcon::Small)); 63 static QPixmap onP(picons->loadIcon("button_ok", KIcon::Small));
53 onPix = &onP; 64 onPix = &onP;
54 static QPixmap offP(il.loadIcon("encrypted", KIcon::Small)); 65 static QPixmap offP(picons->loadIcon("encrypted", KIcon::Small));
55 offPix = &offP; 66 offPix = &offP;
56 } 67 }
57} 68}
58 69
59void ListViewItemPwM::paintCell(QPainter *p, const QColorGroup &cg, 70void ListViewItemPwM::paintCell(QPainter *p, const QColorGroup &cg,
60 int column, int width, int align) 71 int column, int width, int align)
61{ 72{
62 if (!p) 73 if (!p)
63 return; 74 return;
64 if (column != 0) { 75 if (column != 0) {
65 QCheckListItem::paintCell(p, cg, column, width, align); 76 QCheckListItem::paintCell(p, cg, column, width, align);
66 return; 77 return;
67 } 78 }
68 QPixmap *curPix = isOn() ? onPix : offPix; 79 QPixmap *curPix = isOn() ? onPix : offPix;
69 int pixSpace = curPix->width(); 80 int pixSpace = curPix->width();
70 pixSpace += 4; 81 pixSpace += 4;
71#ifndef PWM_EMBEDDED 82#ifndef PWM_EMBEDDED
72 QRect window(p->viewport()); 83 QRect window(p->viewport());
73 // clear the rectangle (we have to clear it first. see QT doc) 84 // clear the rectangle (we have to clear it first. see QT doc)
74 p->eraseRect(0, 0, pixSpace, window.height()); 85 p->eraseRect(0, 0, pixSpace, window.height());
75 // now draw the pixmap 86 // now draw the pixmap
76 int y = (height() - curPix->height()) / 2; 87 int y = (height() - curPix->height()) / 2;
77 p->drawPixmap(1, y, *curPix); 88 p->drawPixmap(1, y, *curPix);
78 window.moveLeft(pixSpace); 89 window.moveLeft(pixSpace);
79 p->setViewport(window); 90 p->setViewport(window);
80#endif 91#endif
81 QListViewItem::paintCell(p, cg, column, width - pixSpace, align); 92 QListViewItem::paintCell(p, cg, column, width - pixSpace, align);
82} 93}
83 94
84#ifndef PWM_EMBEDDED 95#ifndef PWM_EMBEDDED
85#include "listviewpwm.moc" 96#include "listviewpwm.moc"
86#endif 97#endif
diff --git a/pwmanager/pwmanager/main.cpp b/pwmanager/pwmanager/main.cpp
index d720e1f..3ae4d55 100644
--- a/pwmanager/pwmanager/main.cpp
+++ b/pwmanager/pwmanager/main.cpp
@@ -1,72 +1,73 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003, 2004 by Michael Buesch * 3 * copyright (C) 2003, 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#ifndef PWM_EMBEDDED 20#ifndef PWM_EMBEDDED
21#include <kcmdlineargs.h> 21#include <kcmdlineargs.h>
22#include <kaboutdata.h> 22#include <kaboutdata.h>
23#else 23#else
24#include <qdir.h> 24#include <qdir.h>
25#include <kpimglobalprefs.h>
25#endif 26#endif
26 27
27#include <klocale.h> 28#include <klocale.h>
28#include <kstandarddirs.h> 29#include <kstandarddirs.h>
29 30
30#include "pwmexception.h" 31#include "pwmexception.h"
31#include "pwminit.h" 32#include "pwminit.h"
32 33
33 #define LICENSE_FILE(::locate("data", "pwmanager/pwmanager_license_text")) 34 #define LICENSE_FILE(::locate("data", "pwmanager/pwmanager_license_text"))
34 35
35int PwMApplication::newInstance() 36int PwMApplication::newInstance()
36{ 37{
37 static bool initial = true; 38 static bool initial = true;
38 if (initial) { 39 if (initial) {
39 initial = false; 40 initial = false;
40 init = new PwMInit(this); 41 init = new PwMInit(this);
41 init->initializeApp(); 42 init->initializeApp();
42 } else { 43 } else {
43 BUG_ON(!init); 44 BUG_ON(!init);
44 printInfo("passing parameters to old instance."); 45 printInfo("passing parameters to old instance.");
45 init->handleCmdLineArgs(false); 46 init->handleCmdLineArgs(false);
46 } 47 }
47 return EXIT_SUCCESS; 48 return EXIT_SUCCESS;
48} 49}
49 50
50 51
51static const char *description = I18N_NOOP("PwManager\n" 52static const char *description = I18N_NOOP("PwManager\n"
52 "The convenient way of managing passwords"); 53 "The convenient way of managing passwords");
53 54
54#ifndef PWM_EMBEDDED 55#ifndef PWM_EMBEDDED
55static KCmdLineOptions options[] = 56static KCmdLineOptions options[] =
56{ 57{
57 { "minimized", I18N_NOOP("Windows minimized"), 0 }, 58 { "minimized", I18N_NOOP("Windows minimized"), 0 },
58 { "mintray", I18N_NOOP("Windows minimized to tray"),0 }, 59 { "mintray", I18N_NOOP("Windows minimized to tray"),0 },
59 { "open-deeplocked", I18N_NOOP("Open all \"files\" deeplocked"),0 }, 60 { "open-deeplocked", I18N_NOOP("Open all \"files\" deeplocked"),0 },
60 { "skip-self-test", I18N_NOOP("Don't run a self-test on startup"),0 }, 61 { "skip-self-test", I18N_NOOP("Don't run a self-test on startup"),0 },
61 { "+[files...]", I18N_NOOP("Files to open on startup"), 0 }, 62 { "+[files...]", I18N_NOOP("Files to open on startup"), 0 },
62 { 0, 0, 0 } 63 { 0, 0, 0 }
63}; 64};
64#endif 65#endif
65 66
66#ifdef PWM_DEBUG 67#ifdef PWM_DEBUG
67static void printDebugConfigureInfo() 68static void printDebugConfigureInfo()
68{ 69{
69 cout << "================================" << endl; 70 cout << "================================" << endl;
70 cout << PROG_NAME " version " PACKAGE_VER << endl; 71 cout << PROG_NAME " version " PACKAGE_VER << endl;
71#ifdef CONFIG_KEYCARD 72#ifdef CONFIG_KEYCARD
72 cout << "CONFIG_KEYCARD: enabled" << endl; 73 cout << "CONFIG_KEYCARD: enabled" << endl;
@@ -140,71 +141,72 @@ int main(int argc, char *argv[])
140 PACKAGE_VER, description, KAboutData::License_File, 141 PACKAGE_VER, description, KAboutData::License_File,
141 "(c) 2003, 2004 Michael Buesch and the PwManager Team", 0, 142 "(c) 2003, 2004 Michael Buesch and the PwManager Team", 0,
142 "http://passwordmanager.sourceforge.net/", 143 "http://passwordmanager.sourceforge.net/",
143 "mbuesch@freenet.de"); 144 "mbuesch@freenet.de");
144 addAuthors(&aboutData); 145 addAuthors(&aboutData);
145 146
146 KCmdLineArgs::init(argc, argv, &aboutData); 147 KCmdLineArgs::init(argc, argv, &aboutData);
147 KCmdLineArgs::addCmdLineOptions(options); 148 KCmdLineArgs::addCmdLineOptions(options);
148 149
149 KUniqueApplication::addCmdLineOptions(); 150 KUniqueApplication::addCmdLineOptions();
150 if (!KUniqueApplication::start()) { 151 if (!KUniqueApplication::start()) {
151 printInfo("already running."); 152 printInfo("already running.");
152 return EXIT_SUCCESS; 153 return EXIT_SUCCESS;
153 } 154 }
154 PwMApplication a; 155 PwMApplication a;
155 aboutData.setLicenseTextFile(LICENSE_FILE); 156 aboutData.setLicenseTextFile(LICENSE_FILE);
156 return a.exec(); 157 return a.exec();
157#else 158#else
158 159
159 bool exitHelp = false; 160 bool exitHelp = false;
160 if ( argc > 1 ) { 161 if ( argc > 1 ) {
161 QString command = argv[1]; 162 QString command = argv[1];
162 if ( command == "-help" ){ 163 if ( command == "-help" ){
163 printf("PWM/PI command line commands:\n"); 164 printf("PWM/PI command line commands:\n");
164 printf(" no command: Start PWM/PI in usual way\n"); 165 printf(" no command: Start PWM/PI in usual way\n");
165 printf(" -help: This output\n"); 166 printf(" -help: This output\n");
166 printf(" PWM/PI is exiting now. Bye!\n"); 167 printf(" PWM/PI is exiting now. Bye!\n");
167 exitHelp = true; 168 exitHelp = true;
168 } 169 }
169 } 170 }
170 if ( ! exitHelp ) { 171 if ( ! exitHelp ) {
171 172
172 PwMApplication a(argc, argv); 173 PwMApplication a(argc, argv);
173 174
174 KGlobal::setAppName( "pwmanager" ); 175 KGlobal::setAppName( "pwmanager" );
175#ifndef DESKTOP_VERSION 176#ifndef DESKTOP_VERSION
176 //US if ( QApplication::desktop()->width() > 320 ) 177 //US if ( QApplication::desktop()->width() > 320 )
177 //US KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons22/"); 178 //US KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons22/");
178 //US else 179 //US else
179 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons16/"); 180 KGlobal::iconLoader()->setIconPath(QString(getenv("QPEDIR"))+"/pics/kdepim/pwmanager/icons16/");
180#else 181#else
181 QString fileName ; 182 QString fileName ;
182 fileName = qApp->applicationDirPath () + "/kdepim/pwmanager/icons22/"; 183 fileName = qApp->applicationDirPath () + "/kdepim/pwmanager/icons22/";
183 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 184 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
184 QApplication::addLibraryPath ( qApp->applicationDirPath () ); 185 QApplication::addLibraryPath ( qApp->applicationDirPath () );
185 186
186#endif 187#endif
187 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "pwmanager"))); 188 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "pwmanager")));
189 KPimGlobalPrefs::instance()->setGlobalConfig();
188 190
189 a.newInstance(); 191 a.newInstance();
190 192
191 //US KAddressBookMain m ; 193 //US KAddressBookMain m ;
192 194
193 //US QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 195 //US QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
194 /*US 196 /*US
195#ifndef DESKTOP_VERSION 197#ifndef DESKTOP_VERSION
196 a.showMainWidget( &m ); 198 a.showMainWidget( &m );
197#else 199#else
198 a.setMainWidget( &m ); 200 a.setMainWidget( &m );
199 m.resize (640, 480 ); 201 m.resize (640, 480 );
200 m.show(); 202 m.show();
201#endif 203#endif
202 */ 204 */
203 a.exec(); 205 a.exec();
204 206
205 } 207 }
206 qDebug("PWMPI: Bye! "); 208 qDebug("PWMPI: Bye! ");
207 209
208#endif 210#endif
209 211
210} 212}
diff --git a/pwmanager/pwmanager/pwgenwnd_emb.cpp b/pwmanager/pwmanager/pwgenwnd_emb.cpp
index 9655e9f..429904c 100644
--- a/pwmanager/pwmanager/pwgenwnd_emb.cpp
+++ b/pwmanager/pwmanager/pwgenwnd_emb.cpp
@@ -1,98 +1,95 @@
1/* 1/*
2 This file is part of PwManager/Platform independent. 2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22 22
23$Id$ 23$Id$
24*/ 24*/
25 25
26#include "pwgenwnd_emb.h" 26#include "pwgenwnd_emb.h"
27 27
28#include <qpushbutton.h> 28#include <qpushbutton.h>
29#include <qgroupbox.h> 29#include <qgroupbox.h>
30#include <qcheckbox.h> 30#include <qcheckbox.h>
31#include <qlabel.h> 31#include <qlabel.h>
32#include <qlineedit.h> 32#include <qlineedit.h>
33#include <qspinbox.h> 33#include <qspinbox.h>
34#include <qlayout.h> 34#include <qlayout.h>
35 35
36#include "klocale.h" 36#include "klocale.h"
37 37
38/* 38/*
39 * Constructs a pwGenWnd as a child of 'parent', with the 39 * Constructs a pwGenWnd as a child of 'parent', with the
40 * name 'name'. 40 * name 'name'.
41 * 41 *
42 */ 42 */
43pwGenWnd::pwGenWnd( QWidget* parent, const char* name) 43pwGenWnd::pwGenWnd( QWidget* parent, const char* name)
44 : KDialogBase( KDialogBase::Plain, i18n( "Password generator" ), 44 : KDialogBase( KDialogBase::Plain, i18n( "Password generator" ),
45 KDialogBase::Ok | KDialogBase::Cancel, 45 KDialogBase::Ok | KDialogBase::Cancel,
46 KDialogBase::Ok, parent, name, true ) 46 KDialogBase::Ok, parent, name, true )
47{ 47{
48 if ( !name )
49 setName( "pwGenWnd" );
50
51 QWidget *page = plainPage(); 48 QWidget *page = plainPage();
52 QVBoxLayout* pwGenWndLayout = new QVBoxLayout( page, 11, 6, "pwGenWndLayout"); 49 QVBoxLayout* pwGenWndLayout = new QVBoxLayout( page, 11, 6, "pwGenWndLayout");
53 50
54 QGroupBox* groupBox1 = new QGroupBox( page, "groupBox1" ); 51 QGroupBox* groupBox1 = new QGroupBox( page, "groupBox1" );
55 groupBox1->setTitle( i18n( "Character set:" ) ); 52 groupBox1->setTitle( i18n( "Character set:" ) );
56 groupBox1->setColumnLayout(0, Qt::Vertical ); 53 groupBox1->setColumnLayout(0, Qt::Vertical );
57 groupBox1->layout()->setSpacing( 6 ); 54 groupBox1->layout()->setSpacing( 6 );
58 groupBox1->layout()->setMargin( 11 ); 55 groupBox1->layout()->setMargin( 11 );
59 QVBoxLayout* groupBox1Layout = new QVBoxLayout( groupBox1->layout() ); 56 QVBoxLayout* groupBox1Layout = new QVBoxLayout( groupBox1->layout() );
60 groupBox1Layout->setAlignment( Qt::AlignTop ); 57 groupBox1Layout->setAlignment( Qt::AlignTop );
61 58
62 int_charLowerCheckBox = new QCheckBox( i18n("Lowercase (abc)"), groupBox1, "int_charLowerCheckBox" ); 59 int_charLowerCheckBox = new QCheckBox( i18n("Lowercase (abc)"), groupBox1, "int_charLowerCheckBox" );
63 int_charLowerCheckBox->setChecked( TRUE ); 60 int_charLowerCheckBox->setChecked( TRUE );
64 groupBox1Layout->addWidget( int_charLowerCheckBox ); 61 groupBox1Layout->addWidget( int_charLowerCheckBox );
65 62
66 int_charUpperCheckBox = new QCheckBox( i18n("Uppercase (ABC)"), groupBox1, "int_charUpperCheckBox" ); 63 int_charUpperCheckBox = new QCheckBox( i18n("Uppercase (ABC)"), groupBox1, "int_charUpperCheckBox" );
67 int_charUpperCheckBox->setChecked( TRUE ); 64 int_charUpperCheckBox->setChecked( TRUE );
68 groupBox1Layout->addWidget( int_charUpperCheckBox ); 65 groupBox1Layout->addWidget( int_charUpperCheckBox );
69 66
70 67
71 int_charNumCheckBox = new QCheckBox( i18n("Numbers (123)"), groupBox1, "int_charNumCheckBox" ); 68 int_charNumCheckBox = new QCheckBox( i18n("Numbers (123)"), groupBox1, "int_charNumCheckBox" );
72 int_charNumCheckBox->setChecked( TRUE ); 69 int_charNumCheckBox->setChecked( TRUE );
73 groupBox1Layout->addWidget( int_charNumCheckBox ); 70 groupBox1Layout->addWidget( int_charNumCheckBox );
74 71
75 int_charSpecCheckBox = new QCheckBox( i18n("Special characters:"), groupBox1, "int_charSpecCheckBox" ); 72 int_charSpecCheckBox = new QCheckBox( i18n("Special characters:"), groupBox1, "int_charSpecCheckBox" );
76 groupBox1Layout->addWidget( int_charSpecCheckBox ); 73 groupBox1Layout->addWidget( int_charSpecCheckBox );
77 74
78 QLabel* textLabel7 = new QLabel( groupBox1, "textLabel7" ); 75 QLabel* textLabel7 = new QLabel( groupBox1, "textLabel7" );
79 QString st("\x21\x22\xc2\xa7\x24\x25\x26\x2f\x28\x29\x3d\x3f\x2c\x2e\x2d\x3b\x3a\x5f\x2b"); 76 QString st("\x21\x22\xc2\xa7\x24\x25\x26\x2f\x28\x29\x3d\x3f\x2c\x2e\x2d\x3b\x3a\x5f\x2b");
80 textLabel7->setText( st.utf8() ); 77 textLabel7->setText( st.utf8() );
81 groupBox1Layout->addWidget( textLabel7 ); 78 groupBox1Layout->addWidget( textLabel7 );
82 79
83 int_charBlankCheckBox = new QCheckBox( i18n( "Spaces (blank characters)"), groupBox1, "int_charBlankCheckBox" ); 80 int_charBlankCheckBox = new QCheckBox( i18n( "Spaces (blank characters)"), groupBox1, "int_charBlankCheckBox" );
84 groupBox1Layout->addWidget( int_charBlankCheckBox ); 81 groupBox1Layout->addWidget( int_charBlankCheckBox );
85 82
86 QHBoxLayout* layout7 = new QHBoxLayout( 0, 0, 6, "layout7"); 83 QHBoxLayout* layout7 = new QHBoxLayout( 0, 0, 6, "layout7");
87 84
88 int_charUserCheckBox = new QCheckBox( i18n("User defined:"), groupBox1, "int_charUserCheckBox" ); 85 int_charUserCheckBox = new QCheckBox( i18n("User defined:"), groupBox1, "int_charUserCheckBox" );
89 layout7->addWidget( int_charUserCheckBox ); 86 layout7->addWidget( int_charUserCheckBox );
90 87
91 int_userDefLineEdit = new QLineEdit( groupBox1, "int_userDefLineEdit" ); 88 int_userDefLineEdit = new QLineEdit( groupBox1, "int_userDefLineEdit" );
92 int_userDefLineEdit->setEnabled( FALSE ); 89 int_userDefLineEdit->setEnabled( FALSE );
93 layout7->addWidget( int_userDefLineEdit ); 90 layout7->addWidget( int_userDefLineEdit );
94 groupBox1Layout->addLayout( layout7 ); 91 groupBox1Layout->addLayout( layout7 );
95 pwGenWndLayout->addWidget( groupBox1 ); 92 pwGenWndLayout->addWidget( groupBox1 );
96 93
97 94
98 QHBoxLayout* layout8 = new QHBoxLayout( 0, 0, 6, "layout8"); 95 QHBoxLayout* layout8 = new QHBoxLayout( 0, 0, 6, "layout8");
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp
index 107e845..bd07c80 100644
--- a/pwmanager/pwmanager/pwm.cpp
+++ b/pwmanager/pwmanager/pwm.cpp
@@ -312,103 +312,108 @@ void PwM::initMenubar()
312 i18n("&Deep-lock all entries"), this, 312 i18n("&Deep-lock all entries"), this,
313 SLOT(deepLockWnd_slot()), 0, 313 SLOT(deepLockWnd_slot()), 0,
314 BUTTON_POPUP_VIEW_DEEPLOCK); 314 BUTTON_POPUP_VIEW_DEEPLOCK);
315 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)), 315 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)),
316 i18n("&Unlock all entries"), this, 316 i18n("&Unlock all entries"), this,
317 SLOT(unlockWnd_slot()), 0, 317 SLOT(unlockWnd_slot()), 0,
318 BUTTON_POPUP_VIEW_UNLOCK); 318 BUTTON_POPUP_VIEW_UNLOCK);
319 menuBar()->insertItem(i18n("&View"), viewPopup); 319 menuBar()->insertItem(i18n("&View"), viewPopup);
320// "options" popup menu 320// "options" popup menu
321 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), 321 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)),
322 i18n("&Configure..."), this, 322 i18n("&Configure..."), this,
323 SLOT(config_slot()), 323 SLOT(config_slot()),
324 BUTTON_POPUP_OPTIONS_CONFIG); 324 BUTTON_POPUP_OPTIONS_CONFIG);
325 menuBar()->insertItem(i18n("&Options"), optionsPopup); 325 menuBar()->insertItem(i18n("&Options"), optionsPopup);
326// "help" popup menu 326// "help" popup menu
327#ifndef PWM_EMBEDDED 327#ifndef PWM_EMBEDDED
328 helpPopup = helpMenu(QString::null, false); 328 helpPopup = helpMenu(QString::null, false);
329#else 329#else
330 helpPopup = new KPopupMenu(this); 330 helpPopup = new KPopupMenu(this);
331 331
332 332
333 helpPopup->insertItem(i18n("&License"), this, 333 helpPopup->insertItem(i18n("&License"), this,
334 SLOT(showLicense_slot()), 0, 334 SLOT(showLicense_slot()), 0,
335 BUTTON_POPUP_HELP_LICENSE); 335 BUTTON_POPUP_HELP_LICENSE);
336 336
337 helpPopup->insertItem(i18n("&Faq"), this, 337 helpPopup->insertItem(i18n("&Faq"), this,
338 SLOT(faq_slot()), 0, 338 SLOT(faq_slot()), 0,
339 BUTTON_POPUP_HELP_FAQ); 339 BUTTON_POPUP_HELP_FAQ);
340 340
341 helpPopup->insertItem(i18n("&About PwManager"), this, 341 helpPopup->insertItem(i18n("&About PwManager"), this,
342 SLOT(createAboutData_slot()), 0, 342 SLOT(createAboutData_slot()), 0,
343 BUTTON_POPUP_HELP_ABOUT); 343 BUTTON_POPUP_HELP_ABOUT);
344 344
345#endif 345#endif
346 menuBar()->insertItem(i18n("&Help"), helpPopup); 346 menuBar()->insertItem(i18n("&Help"), helpPopup);
347 347
348} 348}
349 349
350void PwM::initToolbar() 350void PwM::initToolbar()
351{ 351{
352 KIconLoader* picons; 352 KIconLoader* picons;
353#ifndef PWM_EMBEDDED 353#ifndef PWM_EMBEDDED
354 KIconLoader icons; 354 KIconLoader icons;
355 picons = &icons; 355 picons = &icons;
356#else 356#else
357 picons = KGlobal::iconLoader(); 357 picons = KGlobal::iconLoader();
358#endif 358#endif
359 359
360#ifdef PWM_EMBEDDED
361 if ( QApplication::desktop()->width() > 320 )
362#endif
363 {
360 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar), 364 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar),
361 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this, 365 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this,
362 SLOT(new_slot()), true, i18n("New")); 366 SLOT(new_slot()), true, i18n("New"));
363 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar), 367 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar),
364 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this, 368 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this,
365 SLOT(open_slot()), true, i18n("Open")); 369 SLOT(open_slot()), true, i18n("Open"));
366 toolBar()->insertSeparator(); 370 toolBar()->insertSeparator();
371 }
367 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar), 372 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar),
368 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this, 373 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this,
369 SLOT(save_slot()), true, i18n("Save")); 374 SLOT(save_slot()), true, i18n("Save"));
370 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar), 375 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar),
371 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this, 376 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this,
372 SLOT(saveAs_slot()), true, i18n("Save as")); 377 SLOT(saveAs_slot()), true, i18n("Save as"));
373 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar), 378 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar),
374 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this, 379 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this,
375 SLOT(print_slot()), true, i18n("Print...")); 380 SLOT(print_slot()), true, i18n("Print..."));
376 toolBar()->insertSeparator(); 381 toolBar()->insertSeparator();
377 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar), 382 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar),
378 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this, 383 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this,
379 SLOT(addPwd_slot()), true, 384 SLOT(addPwd_slot()), true,
380 i18n("Add password")); 385 i18n("Add password"));
381 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar), 386 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar),
382 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this, 387 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this,
383 SLOT(editPwd_slot()), true, 388 SLOT(editPwd_slot()), true,
384 i18n("Edit password")); 389 i18n("Edit password"));
385 toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar), 390 toolBar()->insertButton(picons->loadIcon("editdelete", KIcon::Toolbar),
386 BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this, 391 BUTTON_TOOL_DEL, SIGNAL(clicked(int)), this,
387 SLOT(deletePwd_slot()), true, 392 SLOT(deletePwd_slot()), true,
388 i18n("Delete password")); 393 i18n("Delete password"));
389 toolBar()->insertSeparator(); 394 toolBar()->insertSeparator();
390 toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar), 395 toolBar()->insertButton(picons->loadIcon("find", KIcon::Toolbar),
391 BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this, 396 BUTTON_TOOL_FIND, SIGNAL(clicked(int)), this,
392 SLOT(find_slot()), true, i18n("Find entry")); 397 SLOT(find_slot()), true, i18n("Find entry"));
393 toolBar()->insertSeparator(); 398 toolBar()->insertSeparator();
394 toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar), 399 toolBar()->insertButton(picons->loadIcon("halfencrypted", KIcon::Toolbar),
395 BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this, 400 BUTTON_TOOL_LOCK, SIGNAL(clicked(int)), this,
396 SLOT(lockWnd_slot()), true, 401 SLOT(lockWnd_slot()), true,
397 i18n("Lock all entries")); 402 i18n("Lock all entries"));
398 toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar), 403 toolBar()->insertButton(picons->loadIcon("encrypted", KIcon::Toolbar),
399 BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this, 404 BUTTON_TOOL_DEEPLOCK, SIGNAL(clicked(int)), this,
400 SLOT(deepLockWnd_slot()), true, 405 SLOT(deepLockWnd_slot()), true,
401 i18n("Deep-Lock all entries")); 406 i18n("Deep-Lock all entries"));
402 toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar), 407 toolBar()->insertButton(picons->loadIcon("decrypted", KIcon::Toolbar),
403 BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this, 408 BUTTON_TOOL_UNLOCK, SIGNAL(clicked(int)), this,
404 SLOT(unlockWnd_slot()), true, 409 SLOT(unlockWnd_slot()), true,
405 i18n("Unlock all entries")); 410 i18n("Unlock all entries"));
406} 411}
407 412
408void PwM::initMetrics() 413void PwM::initMetrics()
409{ 414{
410 QSize s = conf()->confWndMainWndSize(); 415 QSize s = conf()->confWndMainWndSize();
411 if (s.isValid()) 416 if (s.isValid())
412 resize(s); 417 resize(s);
413 else 418 else
414 resize(DEFAULT_SIZE); 419 resize(DEFAULT_SIZE);
@@ -680,98 +685,98 @@ void PwM::editPwd_slot(const QString *category, const int *index,
680 w.setComment(currItem.comment.c_str()); 685 w.setComment(currItem.comment.c_str());
681 if (w.exec() == 1) { 686 if (w.exec() == 1) {
682 currItem.desc = w.getDescription().latin1(); 687 currItem.desc = w.getDescription().latin1();
683 currItem.name = w.getUsername().latin1(); 688 currItem.name = w.getUsername().latin1();
684 currItem.pw = w.getPassword().latin1(); 689 currItem.pw = w.getPassword().latin1();
685 currItem.comment = w.getComment().latin1(); 690 currItem.comment = w.getComment().latin1();
686 currItem.url = w.getUrl().latin1(); 691 currItem.url = w.getUrl().latin1();
687 currItem.launcher = w.getLauncher().latin1(); 692 currItem.launcher = w.getLauncher().latin1();
688 if (!doc->editEntry(curCategory, w.getCategory(), 693 if (!doc->editEntry(curCategory, w.getCategory(),
689 curEntryIndex, &currItem)) { 694 curEntryIndex, &currItem)) {
690 KMessageBox::error(this, 695 KMessageBox::error(this,
691 i18n("Couldn't edit the entry.\n" 696 i18n("Couldn't edit the entry.\n"
692 "Maybe you changed the category and " 697 "Maybe you changed the category and "
693 "this entry is already present in the new " 698 "this entry is already present in the new "
694 "category?"), 699 "category?"),
695 i18n("couldn't edit entry.")); 700 i18n("couldn't edit entry."));
696 doc->timer()->putLock(DocTimer::id_autoLockTimer); 701 doc->timer()->putLock(DocTimer::id_autoLockTimer);
697 return; 702 return;
698 } 703 }
699 } 704 }
700 doc->timer()->putLock(DocTimer::id_autoLockTimer); 705 doc->timer()->putLock(DocTimer::id_autoLockTimer);
701} 706}
702 707
703void PwM::deletePwd_slot() 708void PwM::deletePwd_slot()
704{ 709{
705 PWM_ASSERT(curDoc()); 710 PWM_ASSERT(curDoc());
706 if (curDoc()->isDocEmpty()) 711 if (curDoc()->isDocEmpty())
707 return; 712 return;
708 if (curDoc()->isDeepLocked()) 713 if (curDoc()->isDeepLocked())
709 return; 714 return;
710 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 715 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
711 unsigned int curEntryIndex = 0; 716 unsigned int curEntryIndex = 0;
712 if (!(view->getCurEntryIndex(&curEntryIndex))) { 717 if (!(view->getCurEntryIndex(&curEntryIndex))) {
713 printDebug("couldn't get index"); 718 printDebug("couldn't get index");
714 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 719 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
715 return; 720 return;
716 } 721 }
717 722
718 PwMDataItem currItem; 723 PwMDataItem currItem;
719 QString curCategory = view->getCurrentCategory(); 724 QString curCategory = view->getCurrentCategory();
720 if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) { 725 if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) {
721 printDebug("couldn't get entry"); 726 printDebug("couldn't get entry");
722 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 727 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
723 return; 728 return;
724 } 729 }
725 if (KMessageBox:: 730 if (KMessageBox::
726 questionYesNo(this, 731 questionYesNo(this,
727 i18n 732 i18n
728 ("Do you really want to delete the selected entry") + 733 ("Do you really want to delete\nthe selected entry") +
729 " \"" + QString(currItem.desc.c_str()) 734 " \n\"" + QString(currItem.desc.c_str())
730 + "\" ?", i18n("delete?")) 735 + "\" ?", i18n("delete?"))
731 == KMessageBox::Yes) { 736 == KMessageBox::Yes) {
732 737
733 curDoc()->delEntry(curCategory, curEntryIndex); 738 curDoc()->delEntry(curCategory, curEntryIndex);
734 } 739 }
735 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 740 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
736} 741}
737 742
738void PwM::changeMasterPwd_slot() 743void PwM::changeMasterPwd_slot()
739{ 744{
740 PWM_ASSERT(curDoc()); 745 PWM_ASSERT(curDoc());
741 curDoc()->changeCurrentPw(); 746 curDoc()->changeCurrentPw();
742} 747}
743 748
744void PwM::lockWnd_slot() 749void PwM::lockWnd_slot()
745{ 750{
746 PWM_ASSERT(curDoc()); 751 PWM_ASSERT(curDoc());
747 curDoc()->lockAll(true); 752 curDoc()->lockAll(true);
748} 753}
749 754
750void PwM::deepLockWnd_slot() 755void PwM::deepLockWnd_slot()
751{ 756{
752 PWM_ASSERT(curDoc()); 757 PWM_ASSERT(curDoc());
753 curDoc()->deepLock(); 758 curDoc()->deepLock();
754} 759}
755 760
756void PwM::unlockWnd_slot() 761void PwM::unlockWnd_slot()
757{ 762{
758 PWM_ASSERT(curDoc()); 763 PWM_ASSERT(curDoc());
759 curDoc()->lockAll(false); 764 curDoc()->lockAll(false);
760} 765}
761 766
762void PwM::config_slot() 767void PwM::config_slot()
763{ 768{
764 int oldStyle = conf()->confWndMainViewStyle(); 769 int oldStyle = conf()->confWndMainViewStyle();
765#ifdef PWM_EMBEDDED 770#ifdef PWM_EMBEDDED
766 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"pwmconfigdialog", true ); 771 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"pwmconfigdialog", true );
767 772
768 KCMPwmConfig* pwmcfg = new KCMPwmConfig( ConfigureDialog->getNewVBoxPage(i18n( "PwManager")) , "KCMPwmConfig" ); 773 KCMPwmConfig* pwmcfg = new KCMPwmConfig( ConfigureDialog->getNewVBoxPage(i18n( "PwManager")) , "KCMPwmConfig" );
769 ConfigureDialog->addModule(pwmcfg ); 774 ConfigureDialog->addModule(pwmcfg );
770 775
771 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); 776 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" );
772 ConfigureDialog->addModule(kdelibcfg ); 777 ConfigureDialog->addModule(kdelibcfg );
773 778
774#ifndef DESKTOP_VERSION 779#ifndef DESKTOP_VERSION
775 ConfigureDialog->showMaximized(); 780 ConfigureDialog->showMaximized();
776#endif 781#endif
777 if ( ConfigureDialog->exec() ) 782 if ( ConfigureDialog->exec() )
@@ -1237,73 +1242,69 @@ void PwM::copyToClipboard(const QString &s)
1237void PwM::showStatMsg(const QString &msg) 1242void PwM::showStatMsg(const QString &msg)
1238{ 1243{
1239#ifndef PWM_EMBEDDED 1244#ifndef PWM_EMBEDDED
1240 KStatusBar *statBar = statusBar(); 1245 KStatusBar *statBar = statusBar();
1241 statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000); 1246 statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000);
1242#else 1247#else
1243 qDebug("Statusbar : %s",msg.latin1()); 1248 qDebug("Statusbar : %s",msg.latin1());
1244#endif 1249#endif
1245} 1250}
1246 1251
1247void PwM::focusInEvent(QFocusEvent *e) 1252void PwM::focusInEvent(QFocusEvent *e)
1248{ 1253{
1249 if (e->gotFocus()) { 1254 if (e->gotFocus()) {
1250 emit gotFocus(this); 1255 emit gotFocus(this);
1251 } else if (e->lostFocus()) { 1256 } else if (e->lostFocus()) {
1252 emit lostFocus(this); 1257 emit lostFocus(this);
1253 } 1258 }
1254} 1259}
1255 1260
1256 1261
1257#ifdef PWM_EMBEDDED 1262#ifdef PWM_EMBEDDED
1258 1263
1259void PwM::showLicense_slot() 1264void PwM::showLicense_slot()
1260{ 1265{
1261 KApplication::showLicence(); 1266 KApplication::showLicence();
1262} 1267}
1263 1268
1264void PwM::faq_slot() 1269void PwM::faq_slot()
1265{ 1270{
1266 KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" ); 1271 KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" );
1267} 1272}
1268 1273
1269void PwM::createAboutData_slot() 1274void PwM::createAboutData_slot()
1270{ 1275{
1271 QString version; 1276 QString version;
1272#include <../version> 1277#include <../version>
1273 QMessageBox::about( this, "About PwManager/Pi", 1278 QMessageBox::about( this, "About PwManager/Pi",
1274 "PwManager/Platform-independent\n" 1279 "PwManager/Platform-independent\n"
1275 "(PWM/Pi) " +version + " - " + 1280 "(PWM/Pi) " +version + " - " +
1276#ifdef DESKTOP_VERSION 1281#ifdef DESKTOP_VERSION
1277 "Desktop Edition\n" 1282 "Desktop Edition\n"
1278#else 1283#else
1279 "PDA-Edition\n" 1284 "PDA-Edition\n"
1280 "for: Zaurus 5500 / 7x0 / 8x0\n" 1285 "for: Zaurus 5500 / 7x0 / 8x0\n"
1281#endif 1286#endif
1282 1287
1283 "(c) 2004 Ulf Schenk\n" 1288 "(c) 2004 Ulf Schenk\n"
1284 "(c) 2004 Lutz Rogowski\n" 1289 "(c) 2004 Lutz Rogowski\n"
1285 "(c) 1997-2003, The KDE PIM Team\n" 1290 "(c) 1997-2004, The KDE PIM Team\n"
1286 1291
1287 "Michael Buesch - main programming and current maintainer\nmbuesch@freenet.de\n" 1292 "(c) Michael Buesch - main programming\nand current maintainer\nmbuesch@freenet.de\n"
1288 "Matt Scifo - original implementaion of \n" 1293 "Matt Scifo - mscifo@o1.com\n"
1289 "\"categories\" and the password-tree \n" 1294 "Elias Probst - elias.probst@gmx.de\n"
1290 "in the system-tray. Original implementations of \n" 1295 "George Staikos - staikos@kde.org\n"
1291 "numerous view-improvements.\n" 1296 "Matthew Palmer - mjp16@uow.edu.au\n"
1292 "mscifo@o1.com\n" 1297 "Olivier Sessink - gpasman@nl.linux.org\n"
1293 "Elias Probst - Gentoo ebuild maintainer.\nelias.probst@gmx.de\n" 1298 "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n"
1294 "George Staikos - KWallet\nstaikos@kde.org\n" 1299 "Troy Engel - tengel@sonic.net\n"
1295 "Matthew Palmer - rc2 code\nmjp16@uow.edu.au\n" 1300 "Wickey - wickey@gmx.at\n"
1296 "Olivier Sessink - gpasman\ngpasman@nl.linux.org\n"
1297 "The libgcrypt developers - Blowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n"
1298 "Troy Engel - kpasman\n tengel@sonic.net\n"
1299 "Wickey - graphics-design in older versions\nwickey@gmx.at\n"
1300 "Ian MacGregor - original documentation author.\n" 1301 "Ian MacGregor - original documentation author.\n"
1301 ); 1302 );
1302} 1303}
1303 1304
1304#endif 1305#endif
1305 1306
1306 1307
1307#ifndef PWM_EMBEDDED 1308#ifndef PWM_EMBEDDED
1308#include "pwm.moc" 1309#include "pwm.moc"
1309#endif 1310#endif
diff --git a/pwmanager/pwmanager/pwmanagerE.pro b/pwmanager/pwmanager/pwmanagerE.pro
index 87142b7..b0c9236 100644
--- a/pwmanager/pwmanager/pwmanagerE.pro
+++ b/pwmanager/pwmanager/pwmanagerE.pro
@@ -3,151 +3,151 @@ CONFIG += qt warn_on
3 3
4 4
5 TARGET = pwmpi 5 TARGET = pwmpi
6OBJECTS_DIR = obj/$(PLATFORM) 6OBJECTS_DIR = obj/$(PLATFORM)
7MOC_DIR = moc/$(PLATFORM) 7MOC_DIR = moc/$(PLATFORM)
8DESTDIR=$(QPEDIR)/bin 8DESTDIR=$(QPEDIR)/bin
9 9
10INCLUDEPATH += . ../../qtcompat ../../qtcompat/xml ../../libkdepim ../../microkde ../../microkde/kdecore ../../microkde/kdeui ../../microkde/kutils $(QPEDIR)/include 10INCLUDEPATH += . ../../qtcompat ../../qtcompat/xml ../../libkdepim ../../microkde ../../microkde/kdecore ../../microkde/kdeui ../../microkde/kutils $(QPEDIR)/include
11DEFINES += PWM_EMBEDDED PWM_DEBUG 11DEFINES += PWM_EMBEDDED PWM_DEBUG
12LIBS += -lmicrokde 12LIBS += -lmicrokde
13LIBS += -lmicroqtcompat 13LIBS += -lmicroqtcompat
14LIBS += -lmicrokdepim 14LIBS += -lmicrokdepim
15LIBS += -L$(QPEDIR)/lib 15LIBS += -L$(QPEDIR)/lib
16LIBS += -lqpe 16LIBS += -lqpe
17LIBS += -lbz2 17LIBS += -lbz2
18LIBS += $(QTOPIALIB) 18LIBS += $(QTOPIALIB)
19 19
20#INTERFACES = \ 20#INTERFACES = \
21#addentrywnd.ui \ 21#addentrywnd.ui \
22#configwnd.ui \ 22#configwnd.ui \
23#findwnd.ui \ 23#findwnd.ui \
24#getmasterpwwnd.ui \ 24#getmasterpwwnd.ui \
25#pwgenwnd.ui \ 25#pwgenwnd.ui \
26#setmasterpwwnd.ui \ 26#setmasterpwwnd.ui \
27#subtbledit.ui 27#subtbledit.ui
28 28
29#INTERFACES = \ 29#INTERFACES = \
30#subtbledit.ui \ 30#subtbledit.ui \
31 31
32 32
33 33
34#HEADERS = \ 34#HEADERS = \
35#configuration_31compat.h \ 35#configuration_31compat.h \
36#configuration.h \ 36#configuration.h \
37#configwnd.h \ 37#configwnd.h \
38#configwndimpl.h \ 38#configwndimpl.h \
39#selftest.h 39#selftest.h
40 40
41HEADERS = \ 41HEADERS = \
42addentrywnd_emb.h \ 42addentrywnd_emb.h \
43addentrywndimpl.h \ 43addentrywndimpl.h \
44base64.h \ 44base64.h \
45binentrygen.h \ 45binentrygen.h \
46blowfish.h \ 46blowfish.h \
47commentbox.h \ 47commentbox.h \
48compiler.h \ 48compiler.h \
49compressbzip2.h \ 49compressbzip2.h \
50compressgzip.h \ 50compressgzip.h \
51findwnd.h \ 51findwnd_emb.h \
52findwndimpl.h \ 52findwndimpl.h \
53genpasswd.h \ 53genpasswd.h \
54getkeycardwnd.h \ 54getkeycardwnd.h \
55getmasterpwwnd.h \ 55getmasterpwwnd_emb.h \
56getmasterpwwndimpl.h \ 56getmasterpwwndimpl.h \
57globalstuff.h \ 57globalstuff.h \
58gpasmanfile.h \ 58gpasmanfile.h \
59htmlgen.h \ 59htmlgen.h \
60htmlparse.h \ 60htmlparse.h \
61ipc.h \ 61ipc.h \
62listobjselectwnd.h \ 62listobjselectwnd.h \
63listviewpwm.h \ 63listviewpwm.h \
64printtext.h \ 64printtext.h \
65pwgenwnd_emb.h \ 65pwgenwnd_emb.h \
66pwgenwndimpl.h \ 66pwgenwndimpl.h \
67pwmdoc.h \ 67pwmdoc.h \
68pwmdocui.h \ 68pwmdocui.h \
69pwmexception.h \ 69pwmexception.h \
70pwm.h \ 70pwm.h \
71pwminit.h \ 71pwminit.h \
72pwmprefs.h \ 72pwmprefs.h \
73pwmprint.h \ 73pwmprint.h \
74pwmtray.h \ 74pwmtray.h \
75pwmview.h \ 75pwmview.h \
76pwmviewstyle_0.h \ 76pwmviewstyle_0.h \
77pwmviewstyle_1.h \ 77pwmviewstyle_1.h \
78pwmviewstyle.h \ 78pwmviewstyle.h \
79randomizer.h \ 79randomizer.h \
80rc2.h \ 80rc2.h \
81rencatwnd.h \ 81rencatwnd.h \
82serializer.h \ 82serializer.h \
83setmasterpwwnd.h \ 83setmasterpwwnd_emb.h \
84setmasterpwwndimpl.h \ 84setmasterpwwndimpl.h \
85sha1.h \ 85sha1.h \
86subtbledit.h \ 86subtbledit.h \
87subtbleditimpl.h \ 87subtbleditimpl.h \
88waitwnd.h \ 88waitwnd.h \
89kcmconfigs/kcmpwmconfig.h \ 89kcmconfigs/kcmpwmconfig.h \
90kcmconfigs/pwmconfigwidget.h \ 90kcmconfigs/pwmconfigwidget.h \
91 91
92#sources that need not be build 92#sources that need not be build
93#SOURCES = \ 93#SOURCES = \
94#advcommeditimpl.cpp \ 94#advcommeditimpl.cpp \
95#configuration.cpp \ 95#configuration.cpp \
96#configwnd.cpp \ 96#configwnd.cpp \
97#configwndimpl.cpp \ 97#configwndimpl.cpp \
98#configuration_31compat.cpp \ 98#configuration_31compat.cpp \
99#htmlparse.cpp \ 99#htmlparse.cpp \
100#printtext.cpp \ 100#printtext.cpp \
101#selftest.cpp \ 101#selftest.cpp \
102#pwmprint.cpp \ 102#pwmprint.cpp \
103#spinforsignal.cpp 103#spinforsignal.cpp
104 104
105SOURCES = \ 105SOURCES = \
106addentrywnd_emb.cpp \ 106addentrywnd_emb.cpp \
107addentrywndimpl.cpp \ 107addentrywndimpl.cpp \
108base64.cpp \ 108base64.cpp \
109binentrygen.cpp \ 109binentrygen.cpp \
110blowfish.cpp \ 110blowfish.cpp \
111commentbox.cpp \ 111commentbox.cpp \
112compressbzip2.cpp \ 112compressbzip2.cpp \
113compressgzip.cpp \ 113compressgzip.cpp \
114findwnd.cpp \ 114findwnd_emb.cpp \
115findwndimpl.cpp \ 115findwndimpl.cpp \
116genpasswd.cpp \ 116genpasswd.cpp \
117getkeycardwnd.cpp \ 117getkeycardwnd.cpp \
118getmasterpwwnd.cpp \ 118getmasterpwwnd_emb.cpp \
119getmasterpwwndimpl.cpp \ 119getmasterpwwndimpl.cpp \
120globalstuff.cpp \ 120globalstuff.cpp \
121gpasmanfile.cpp \ 121gpasmanfile.cpp \
122htmlgen.cpp \ 122htmlgen.cpp \
123ipc.cpp \ 123ipc.cpp \
124listobjselectwnd.cpp \ 124listobjselectwnd.cpp \
125listviewpwm.cpp \ 125listviewpwm.cpp \
126main.cpp \ 126main.cpp \
127pwgenwnd_emb.cpp \ 127pwgenwnd_emb.cpp \
128pwgenwndimpl.cpp \ 128pwgenwndimpl.cpp \
129pwm.cpp \ 129pwm.cpp \
130pwmdoc.cpp \ 130pwmdoc.cpp \
131pwmdocui.cpp \ 131pwmdocui.cpp \
132pwmexception.cpp \ 132pwmexception.cpp \
133pwminit.cpp \ 133pwminit.cpp \
134pwmprefs.cpp \ 134pwmprefs.cpp \
135pwmtray.cpp \ 135pwmtray.cpp \
136pwmview.cpp \ 136pwmview.cpp \
137pwmviewstyle_0.cpp \ 137pwmviewstyle_0.cpp \
138pwmviewstyle_1.cpp \ 138pwmviewstyle_1.cpp \
139pwmviewstyle.cpp \ 139pwmviewstyle.cpp \
140randomizer.cpp \ 140randomizer.cpp \
141rc2.cpp \ 141rc2.cpp \
142rencatwnd.cpp \ 142rencatwnd.cpp \
143serializer.cpp \ 143serializer.cpp \
144setmasterpwwnd.cpp \ 144setmasterpwwnd_emb.cpp \
145setmasterpwwndimpl.cpp \ 145setmasterpwwndimpl.cpp \
146sha1.cpp \ 146sha1.cpp \
147subtbledit.cpp \ 147subtbledit.cpp \
148subtbleditimpl.cpp \ 148subtbleditimpl.cpp \
149waitwnd.cpp \ 149waitwnd.cpp \
150kcmconfigs/kcmpwmconfig.cpp \ 150kcmconfigs/kcmpwmconfig.cpp \
151kcmconfigs/pwmconfigwidget.cpp \ 151kcmconfigs/pwmconfigwidget.cpp \
152 152
153 153
diff --git a/pwmanager/pwmanager/pwmdocui.cpp b/pwmanager/pwmanager/pwmdocui.cpp
index 3993fa8..e42dd9d 100644
--- a/pwmanager/pwmanager/pwmdocui.cpp
+++ b/pwmanager/pwmanager/pwmdocui.cpp
@@ -34,181 +34,183 @@
34 34
35#ifndef PWM_EMBEDDED 35#ifndef PWM_EMBEDDED
36#include <kwin.h> 36#include <kwin.h>
37#else 37#else
38#include <qdir.h> 38#include <qdir.h>
39#include "pwmprefs.h" 39#include "pwmprefs.h"
40#endif 40#endif
41 41
42 42
43#ifdef CONFIG_KEYCARD 43#ifdef CONFIG_KEYCARD
44# include "pwmkeycard.h" 44# include "pwmkeycard.h"
45#endif 45#endif
46 46
47 47
48PwMDocUi::PwMDocUi(QObject *parent, const char *name) 48PwMDocUi::PwMDocUi(QObject *parent, const char *name)
49 : QObject(parent, name) 49 : QObject(parent, name)
50{ 50{
51 currentView = 0; 51 currentView = 0;
52 keyCard = 0; 52 keyCard = 0;
53} 53}
54 54
55PwMDocUi::~PwMDocUi() 55PwMDocUi::~PwMDocUi()
56{ 56{
57} 57}
58 58
59QString PwMDocUi::requestMpw(bool chipcard) 59QString PwMDocUi::requestMpw(bool chipcard)
60{ 60{
61 QString pw; 61 QString pw;
62 62
63 if (chipcard) { 63 if (chipcard) {
64#ifdef CONFIG_KEYCARD 64#ifdef CONFIG_KEYCARD
65 PWM_ASSERT(keyCard); 65 PWM_ASSERT(keyCard);
66 uint32_t id; 66 uint32_t id;
67 string ret; 67 string ret;
68 SpinForSignal *spinner = keyCard->getSpinner(); 68 SpinForSignal *spinner = keyCard->getSpinner();
69 connect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)), 69 connect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)),
70 spinner, SLOT(u32_str_slot(uint32_t, const string &))); 70 spinner, SLOT(u32_str_slot(uint32_t, const string &)));
71 keyCard->getKey(); 71 keyCard->getKey();
72 spinner->spin(&id, &ret); 72 spinner->spin(&id, &ret);
73 disconnect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)), 73 disconnect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)),
74 spinner, SLOT(u32_str_slot(uint32_t, const string &))); 74 spinner, SLOT(u32_str_slot(uint32_t, const string &)));
75 if (ret == "") 75 if (ret == "")
76 return ""; 76 return "";
77 pw = ret.c_str(); 77 pw = ret.c_str();
78#else // CONFIG_KEYCARD 78#else // CONFIG_KEYCARD
79 no_keycard_support_msg_box(currentView); 79 no_keycard_support_msg_box(currentView);
80#endif // CONFIG_KEYCARD 80#endif // CONFIG_KEYCARD
81 } else { 81 } else {
82 GetMasterPwWndImpl pwWnd;
83#ifndef PWM_EMBEDDED 82#ifndef PWM_EMBEDDED
83 GetMasterPwWndImpl pwWnd;
84 KWin::setState(pwWnd.winId(), NET::StaysOnTop); 84 KWin::setState(pwWnd.winId(), NET::StaysOnTop);
85#else
86 GetMasterPwWndImpl pwWnd;
85#endif 87#endif
86 if (pwWnd.exec() != 1) 88 if (pwWnd.exec() != 1)
87 return ""; 89 return "";
88 pw = pwWnd.pwLineEdit->text(); 90 pw = pwWnd.pwLineEdit->text();
89 } 91 }
90 92
91 return pw; 93 return pw;
92} 94}
93 95
94QString PwMDocUi::requestNewMpw(bool *chipcard) 96QString PwMDocUi::requestNewMpw(bool *chipcard)
95{ 97{
96 QString pw; 98 QString pw;
97 SetMasterPwWndImpl pwWnd(currentView); 99 SetMasterPwWndImpl pwWnd(currentView);
98 pwWnd.setPwMKeyCard(keyCard); 100 pwWnd.setPwMKeyCard(keyCard);
99#ifndef PWM_EMBEDDED
100 if (!chipcard) { 101 if (!chipcard) {
102#ifndef PWM_EMBEDDED
101 pwWnd.mainTab->removePage(pwWnd.mainTab->page(1)); 103 pwWnd.mainTab->removePage(pwWnd.mainTab->page(1));
102 }
103#else 104#else
104 qDebug("PwMDocUi::requestNewMpw must be implemented"); 105 pwWnd.mainTab->removePage(pwWnd.tab_2);
105#endif 106#endif
107 }
106 108
107 if (pwWnd.exec() != 1) 109 if (pwWnd.exec() != 1)
108 return ""; 110 return "";
109 pw = pwWnd.getPw(chipcard).c_str(); 111 pw = pwWnd.getPw(chipcard).c_str();
110 112
111 return pw; 113 return pw;
112} 114}
113 115
114QString PwMDocUi::requestMpwChange(const QString *currentPw, bool *chipcard) 116QString PwMDocUi::requestMpwChange(const QString *currentPw, bool *chipcard)
115{ 117{
116 QString pw(requestMpw(*chipcard)); 118 QString pw(requestMpw(*chipcard));
117 if (pw == "") 119 if (pw == "")
118 return ""; 120 return "";
119 if (pw != *currentPw) { 121 if (pw != *currentPw) {
120 wrongMpwMsgBox(*chipcard); 122 wrongMpwMsgBox(*chipcard);
121 return ""; 123 return "";
122 } 124 }
123 125
124 pw = requestNewMpw(chipcard); 126 pw = requestNewMpw(chipcard);
125 if (pw == "") 127 if (pw == "")
126 return ""; 128 return "";
127 return pw; 129 return pw;
128} 130}
129 131
130void PwMDocUi::wrongMpwMsgBox(bool chipcard, QString prefix, QString postfix) 132void PwMDocUi::wrongMpwMsgBox(bool chipcard, QString prefix, QString postfix)
131{ 133{
132 QString msg; 134 QString msg;
133 if (prefix != "") { 135 if (prefix != "") {
134 msg += prefix; 136 msg += prefix;
135 msg += "\n"; 137 msg += "\n";
136 } 138 }
137 139
138 if (chipcard) { 140 if (chipcard) {
139 msg += i18n("Wrong key-card!\n" 141 msg += i18n("Wrong key-card!\n"
140 "Please try again with the " 142 "Please try again with the\n"
141 "correct key-card."); 143 "correct key-card.");
142 } else { 144 } else {
143 msg += i18n("Wrong master-password!\n" 145 msg += i18n("Wrong master-password!\n"
144 "Please try again."); 146 "Please try again.");
145 } 147 }
146 148
147 if (postfix != "") { 149 if (postfix != "") {
148 msg += "\n"; 150 msg += "\n";
149 msg += postfix; 151 msg += postfix;
150 } 152 }
151 KMessageBox::error(currentView, msg, 153 KMessageBox::error(currentView, msg,
152 (chipcard) ? (i18n("wrong chipcard")) 154 (chipcard) ? (i18n("wrong chipcard"))
153 : (i18n("password error"))); 155 : (i18n("password error")));
154} 156}
155 157
156void PwMDocUi::noMpwMsgBox(bool chipcard, QString prefix, QString postfix) 158void PwMDocUi::noMpwMsgBox(bool chipcard, QString prefix, QString postfix)
157{ 159{
158 QString msg; 160 QString msg;
159 if (prefix != "") { 161 if (prefix != "") {
160 msg += prefix; 162 msg += prefix;
161 msg += "\n"; 163 msg += "\n";
162 } 164 }
163 165
164 if (chipcard) { 166 if (chipcard) {
165 msg += i18n("No key-card found!\n" 167 msg += i18n("No key-card found!\n"
166 "Please insert the " 168 "Please insert the\n"
167 "correct key-card."); 169 "correct key-card.");
168 } else { 170 } else {
169 msg += i18n("No master-password given!"); 171 msg += i18n("No master-password given!");
170 } 172 }
171 173
172 if (postfix != "") { 174 if (postfix != "") {
173 msg += "\n"; 175 msg += "\n";
174 msg += postfix; 176 msg += postfix;
175 } 177 }
176 KMessageBox::error(currentView, msg, 178 KMessageBox::error(currentView, msg,
177 (chipcard) ? (i18n("no chipcard")) 179 (chipcard) ? (i18n("no chipcard"))
178 : (i18n("password error"))); 180 : (i18n("password error")));
179} 181}
180 182
181void PwMDocUi::rootAlertMsgBox() 183void PwMDocUi::rootAlertMsgBox()
182{ 184{
183 KMessageBox::error(currentView, 185 KMessageBox::error(currentView,
184 i18n("This feature is not available, " 186 i18n("This feature is not available, "
185 "if you execute PwM with \"root\" " 187 "if you execute PwM with \"root\" "
186 "UID 0 privileges, for security reasons!"), 188 "UID 0 privileges, for security reasons!"),
187 i18n("not allowed as root!")); 189 i18n("not allowed as root!"));
188} 190}
189 191
190void PwMDocUi::cantDeeplock_notSavedMsgBox() 192void PwMDocUi::cantDeeplock_notSavedMsgBox()
191{ 193{
192 KMessageBox::error(currentView, 194 KMessageBox::error(currentView,
193 i18n("Can't deep-lock, because the document " 195 i18n("Can't deep-lock, because the document "
194 "hasn't been saved, yet. Please save " 196 "hasn't been saved, yet. Please save "
195 "to a file and try again."), 197 "to a file and try again."),
196 i18n("not saved, yet")); 198 i18n("not saved, yet"));
197} 199}
198 200
199void PwMDocUi::gpmPwLenErrMsgBox() 201void PwMDocUi::gpmPwLenErrMsgBox()
200{ 202{
201 KMessageBox::error(currentView, 203 KMessageBox::error(currentView,
202 i18n("GPasman does not support passwords " 204 i18n("GPasman does not support passwords "
203 "shorter than 4 characters! Please try " 205 "shorter than 4 characters! Please try "
204 "again with a longer password."), 206 "again with a longer password."),
205 i18n("password too short")); 207 i18n("password too short"));
206} 208}
207 209
208int PwMDocUi::dirtyAskSave(const QString &docTitle) 210int PwMDocUi::dirtyAskSave(const QString &docTitle)
209{ 211{
210 int ret; 212 int ret;
211#ifndef PWM_EMBEDDED 213#ifndef PWM_EMBEDDED
212 ret = KMessageBox::questionYesNoCancel(currentView, 214 ret = KMessageBox::questionYesNoCancel(currentView,
213 i18n("The list \"") + 215 i18n("The list \"") +
214 docTitle + 216 docTitle +
@@ -315,96 +317,97 @@ bool PwMDocUi::saveAsDocUi(PwMDoc *doc)
315 if (fn.right(4) != ".pwm") 317 if (fn.right(4) != ".pwm")
316 fn += ".pwm"; 318 fn += ".pwm";
317 319
318 PwMerror ret = doc->saveDoc(conf()->confGlobCompression(), &fn); 320 PwMerror ret = doc->saveDoc(conf()->confGlobCompression(), &fn);
319 if (ret != e_success) { 321 if (ret != e_success) {
320 KMessageBox::error(currentView, 322 KMessageBox::error(currentView,
321 i18n("Error: Couldn't write to file.\n" 323 i18n("Error: Couldn't write to file.\n"
322 "Please check if you have permission to " 324 "Please check if you have permission to "
323 "write to the file in that directory."), 325 "write to the file in that directory."),
324 i18n("error while writing")); 326 i18n("error while writing"));
325 doc->timer()->putLock(DocTimer::id_autoLockTimer); 327 doc->timer()->putLock(DocTimer::id_autoLockTimer);
326 return false; 328 return false;
327 } 329 }
328 doc->timer()->putLock(DocTimer::id_autoLockTimer); 330 doc->timer()->putLock(DocTimer::id_autoLockTimer);
329 return true; 331 return true;
330} 332}
331 333
332bool PwMDocUi::openDocUi(PwMDoc *doc, 334bool PwMDocUi::openDocUi(PwMDoc *doc,
333 QString filename, 335 QString filename,
334 bool openDeepLocked) 336 bool openDeepLocked)
335{ 337{
336 if (filename.isEmpty()) 338 if (filename.isEmpty())
337 { 339 {
338#ifndef PWM_EMBEDDED 340#ifndef PWM_EMBEDDED
339 filename = KFileDialog::getOpenFileName(QString::null, 341 filename = KFileDialog::getOpenFileName(QString::null,
340 i18n("*.pwm|PwManager Password file\n" 342 i18n("*.pwm|PwManager Password file\n"
341 "*|All files"), getCurrentView()); 343 "*|All files"), getCurrentView());
342#else 344#else
343 filename = locateLocal( "data", KGlobal::getAppName() + "/*.pwm"); 345 filename = locateLocal( "data", KGlobal::getAppName() + "/*.pwm");
344 filename = KFileDialog::getOpenFileName(filename, 346 filename = KFileDialog::getOpenFileName(filename,
345 i18n("password filename(*.pwm)"), getCurrentView()); 347 i18n("password filename(*.pwm)"), getCurrentView());
346#endif 348#endif
347 } 349 }
348 if (filename.isEmpty()) 350 if (filename.isEmpty())
349 goto cancelOpen; 351 goto cancelOpen;
350 PwMerror ret; 352 PwMerror ret;
351 while (true) { 353 while (true) {
352 int lockStat = -1; 354 int lockStat = -1;
353 if (openDeepLocked) { 355 if (openDeepLocked) {
354 lockStat = 2; 356 lockStat = 2;
355 } else { 357 } else {
356 if (conf()->confGlobUnlockOnOpen()) { 358 if (conf()->confGlobUnlockOnOpen()) {
357 lockStat = 0; 359 lockStat = 0;
358 } else { 360 } else {
359 lockStat = 1; 361 lockStat = 1;
360 } 362 }
361 } 363 }
362 ret = doc->openDoc(&filename, lockStat); 364 ret = doc->openDoc(&filename, lockStat);
365 qDebug("pwmdocui::OpenDocui %i", ret);
363 if (ret != e_success) { 366 if (ret != e_success) {
364 if (ret == e_readFile || ret == e_openFile) { 367 if (ret == e_readFile || ret == e_openFile) {
365 KMessageBox::error(getCurrentView(), 368 KMessageBox::error(getCurrentView(),
366 i18n("Could not read file!") 369 i18n("Could not read file!")
367 + "\n" 370 + "\n"
368 + filename, 371 + filename,
369 i18n("file error")); 372 i18n("file error"));
370 goto cancelOpen; 373 goto cancelOpen;
371 } 374 }
372 if (ret == e_alreadyOpen) { 375 if (ret == e_alreadyOpen) {
373 KMessageBox::error(getCurrentView(), 376 KMessageBox::error(getCurrentView(),
374 i18n("This file is already open."), 377 i18n("This file is already open."),
375 i18n("already open")); 378 i18n("already open"));
376 goto cancelOpen; 379 goto cancelOpen;
377 } 380 }
378 if (ret == e_fileVer) { 381 if (ret == e_fileVer) {
379 KMessageBox::error(getCurrentView(), 382 KMessageBox::error(getCurrentView(),
380 i18n 383 i18n
381 ("File-version is not supported!\n" 384 ("File-version is not supported!\n"
382 "Did you create this file with an older or newer version of PwM?"), 385 "Did you create this file with an older or newer version of PwM?"),
383 i18n 386 i18n
384 ("incompatible version")); 387 ("incompatible version"));
385 goto cancelOpen; 388 goto cancelOpen;
386 } 389 }
387 if (ret == e_wrongPw) { 390 if (ret == e_wrongPw) {
388 continue; 391 continue;
389 } 392 }
390 if (ret == e_noPw) { 393 if (ret == e_noPw) {
391 goto cancelOpen; 394 goto cancelOpen;
392 } 395 }
393 if (ret == e_fileFormat) { 396 if (ret == e_fileFormat) {
394 KMessageBox::error(getCurrentView(), 397 KMessageBox::error(getCurrentView(),
395 i18n 398 i18n
396 ("Sorry, this file has not been recognized " 399 ("Sorry, this file has not been recognized "
397 "as a PwM Password file.\n" 400 "as a PwM Password file.\n"
398 "Probably you have selected the wrong file."), 401 "Probably you have selected the wrong file."),
399 i18n 402 i18n
400 ("no PwM password-file")); 403 ("no PwM password-file"));
401 goto cancelOpen; 404 goto cancelOpen;
402 } 405 }
403 if (ret == e_fileCorrupt) { 406 if (ret == e_fileCorrupt) {
404 KMessageBox::error(getCurrentView(), 407 KMessageBox::error(getCurrentView(),
405 i18n 408 i18n
406 ("File corrupt!\n" 409 ("File corrupt!\n"
407 "Maybe the media, you stored this file on, " 410 "Maybe the media, you stored this file on, "
408 "had bad sectors?"), 411 "had bad sectors?"),
409 i18n 412 i18n
410 ("checksum error")); 413 ("checksum error"));
diff --git a/pwmanager/pwmanager/pwmviewstyle.cpp b/pwmanager/pwmanager/pwmviewstyle.cpp
index 67b5197..51d8f6c 100644
--- a/pwmanager/pwmanager/pwmviewstyle.cpp
+++ b/pwmanager/pwmanager/pwmviewstyle.cpp
@@ -1,129 +1,141 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2004 by Michael Buesch * 3 * copyright (C) 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12 12
13/*************************************************************************** 13/***************************************************************************
14 * copyright (C) 2004 by Ulf Schenk 14 * copyright (C) 2004 by Ulf Schenk
15 * This file is originaly based on version 1.0.1 of pwmanager 15 * This file is originaly based on version 1.0.1 of pwmanager
16 * and was modified to run on embedded devices that run microkde 16 * and was modified to run on embedded devices that run microkde
17 * 17 *
18 * $Id$ 18 * $Id$
19 **************************************************************************/ 19 **************************************************************************/
20 20
21#include "pwmviewstyle.h" 21#include "pwmviewstyle.h"
22#include "pwmexception.h" 22#include "pwmexception.h"
23#include "pwmviewstyle_0.h" 23#include "pwmviewstyle_0.h"
24#include "pwmviewstyle_1.h" 24#include "pwmviewstyle_1.h"
25#include "listviewpwm.h" 25#include "listviewpwm.h"
26#include "pwmview.h" 26#include "pwmview.h"
27#include "commentbox.h" 27#include "commentbox.h"
28 28#ifndef PWM_EMBEDDED
29#include "configuration.h"
30#else
31#include "pwmprefs.h"
32#endif
29 33
30PwMViewStyle::PwMViewStyle(QWidget *parent, const char *name) 34PwMViewStyle::PwMViewStyle(QWidget *parent, const char *name)
31 : QWidget(parent, name) 35 : QWidget(parent, name)
32{ 36{
33 curStyle = style_notset; 37 curStyle = style_notset;
34 s0 = 0; 38 s0 = 0;
35 s1 = 0; 39 s1 = 0;
36} 40}
37 41
38PwMViewStyle::~PwMViewStyle() 42PwMViewStyle::~PwMViewStyle()
39{ 43{
44 //US ENH : load and store the size of the listviewcolumns
45 lv->saveLayout(conf()->getConfig(), "listview");
46 conf()->getConfig()->sync();
47
40 delete_ifnot_null(s0); 48 delete_ifnot_null(s0);
41 delete_ifnot_null(s1); 49 delete_ifnot_null(s1);
42} 50}
43 51
44void PwMViewStyle::initStyle(style_t style) 52void PwMViewStyle::initStyle(style_t style)
45{ 53{
46 printDebug(string("initializing style ") + tostr(style)); 54 printDebug(string("initializing style ") + tostr(style));
47 bool wasMaximized = v->isMaximized(); 55 bool wasMaximized = v->isMaximized();
48 if (v->isVisible()) 56 if (v->isVisible())
49 v->hide(); 57 v->hide();
50 switch (style) { 58 switch (style) {
51 case style_0: 59 case style_0:
52 delete_ifnot_null(s0); 60 delete_ifnot_null(s0);
53 delete_ifnot_null(s1); 61 delete_ifnot_null(s1);
54 s0 = new PwMViewStyle_0(v); 62 s0 = new PwMViewStyle_0(v);
55 lv = s0->getLv(); 63 lv = s0->getLv();
56 commentBox = s0->getCommentBox(); 64 commentBox = s0->getCommentBox();
57 break; 65 break;
58 case style_1: 66 case style_1:
59 delete_ifnot_null(s0); 67 delete_ifnot_null(s0);
60 delete_ifnot_null(s1); 68 delete_ifnot_null(s1);
61 s1 = new PwMViewStyle_1(v); 69 s1 = new PwMViewStyle_1(v);
62 lv = s1->getLv(); 70 lv = s1->getLv();
63 commentBox = s1->getCommentBox(); 71 commentBox = s1->getCommentBox();
64 break; 72 break;
65 default: 73 default:
66 BUG(); 74 BUG();
67 return; 75 return;
68 } 76 }
69 curStyle = style; 77 curStyle = style;
70 connect(lv, SIGNAL(pressed(QListViewItem *)), 78 connect(lv, SIGNAL(pressed(QListViewItem *)),
71 v, SLOT(handleToggle(QListViewItem *))); 79 v, SLOT(handleToggle(QListViewItem *)));
72 connect(lv, SIGNAL(rightButtonClicked(QListViewItem *, const QPoint &, int)), 80 connect(lv, SIGNAL(rightButtonClicked(QListViewItem *, const QPoint &, int)),
73 v, SLOT(handleRightClick(QListViewItem *, const QPoint &, int))); 81 v, SLOT(handleRightClick(QListViewItem *, const QPoint &, int)));
74 connect(lv, SIGNAL(clicked(QListViewItem *)), 82 connect(lv, SIGNAL(clicked(QListViewItem *)),
75 v, SLOT(refreshCommentTextEdit(QListViewItem *))); 83 v, SLOT(refreshCommentTextEdit(QListViewItem *)));
76 lv->addColumn(i18n("Description"), 180); 84 lv->addColumn(i18n("Description"), 180);
77 lv->addColumn(i18n("Username"), 150); 85 lv->addColumn(i18n("Username"), 150);
78 lv->addColumn(i18n("Password"), 150); 86 lv->addColumn(i18n("Password"), 150);
79 lv->addColumn(i18n("URL"), 180); 87 lv->addColumn(i18n("URL"), 180);
80 lv->addColumn(i18n("Launcher"), 120); 88 lv->addColumn(i18n("Launcher"), 120);
81 v->tmpReEnableSort(); 89 v->tmpReEnableSort();
90
91 //US ENH : load and store the size of the listviewcolumns
92 lv->restoreLayout(conf()->getConfig(), "listview");
93
82 resizeView(v->size()); 94 resizeView(v->size());
83 v->updateView(); 95 v->updateView();
84 if (wasMaximized) { 96 if (wasMaximized) {
85 v->showMaximized(); 97 v->showMaximized();
86 } else { 98 } else {
87 v->show(); 99 v->show();
88 } 100 }
89 connect(lv, SIGNAL(layoutChanged()), 101 connect(lv, SIGNAL(layoutChanged()),
90 v, SLOT(reorgLp())); 102 v, SLOT(reorgLp()));
91} 103}
92 104
93void PwMViewStyle::resizeView(const QSize &size) 105void PwMViewStyle::resizeView(const QSize &size)
94{ 106{
95 switch (curStyle) { 107 switch (curStyle) {
96 case style_0: 108 case style_0:
97 PWM_ASSERT(s0); 109 PWM_ASSERT(s0);
98 s0->resize(size); 110 s0->resize(size);
99 return; 111 return;
100 case style_1: 112 case style_1:
101 PWM_ASSERT(s1); 113 PWM_ASSERT(s1);
102 s1->resize(size); 114 s1->resize(size);
103 return; 115 return;
104 default: 116 default:
105 BUG(); 117 BUG();
106 } 118 }
107} 119}
108 120
109QString PwMViewStyle::getCurrentCategory() 121QString PwMViewStyle::getCurrentCategory()
110{ 122{
111 switch (curStyle) { 123 switch (curStyle) {
112 case style_0: 124 case style_0:
113 PWM_ASSERT(s0); 125 PWM_ASSERT(s0);
114 return s0->getCurrentCategory(); 126 return s0->getCurrentCategory();
115 case style_1: 127 case style_1:
116 PWM_ASSERT(s1); 128 PWM_ASSERT(s1);
117 return s1->getCurrentCategory(); 129 return s1->getCurrentCategory();
118 default: 130 default:
119 BUG(); 131 BUG();
120 } 132 }
121 return ""; 133 return "";
122} 134}
123 135
124void PwMViewStyle::addCategory(const QString &cat) 136void PwMViewStyle::addCategory(const QString &cat)
125{ 137{
126 switch (curStyle) { 138 switch (curStyle) {
127 case style_0: 139 case style_0:
128 PWM_ASSERT(s0); 140 PWM_ASSERT(s0);
129 s0->addCategory(cat); 141 s0->addCategory(cat);
diff --git a/pwmanager/pwmanager/serializer.cpp b/pwmanager/pwmanager/serializer.cpp
index f29ef6c..2810b48 100644
--- a/pwmanager/pwmanager/serializer.cpp
+++ b/pwmanager/pwmanager/serializer.cpp
@@ -1,78 +1,78 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2004 by Michael Buesch * 3 * copyright (C) 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12 12
13/*************************************************************************** 13/***************************************************************************
14 * copyright (C) 2004 by Ulf Schenk 14 * copyright (C) 2004 by Ulf Schenk
15 * This file is originaly based on version 2.0 of pwmanager 15 * This file is originaly based on version 2.0 of pwmanager
16 * and was modified to run on embedded devices that run microkde 16 * and was modified to run on embedded devices that run microkde
17 * 17 *
18 * $Id$ 18 * $Id$
19 **************************************************************************/ 19 **************************************************************************/
20 20
21#include "serializer.h" 21#include "serializer.h"
22#include "pwmexception.h" 22#include "pwmexception.h"
23 23
24#ifdef PWM_EMBEDDED 24#ifdef PWM_EMBEDDED
25#include <kglobal.h> 25#include <kglobal.h>
26#include <klocale.h> 26#include <klocale.h>
27#endif 27#endif
28 28
29/* enable/disable serializer debugging (0/1) */ 29/* enable/disable serializer debugging (0/1) */
30 #define SERIALIZER_DEBUG0 30 #define SERIALIZER_DEBUG1
31/* use the old xml tags for writing (0/1) */ 31/* use the old xml tags for writing (0/1) */
32 #define USE_OLD_TAGS 0 32 #define USE_OLD_TAGS 0
33/* write a CDATA section (0/1) */ 33/* write a CDATA section (0/1) */
34 #define WRITE_CDATA_SEC 0 34 #define WRITE_CDATA_SEC 0
35 35
36 36
37 #define META_CREATE_DATE"c" 37 #define META_CREATE_DATE"c"
38 #define META_VALID_DATE "v" 38 #define META_VALID_DATE "v"
39 #define META_EXPIRE_DATE"e" 39 #define META_EXPIRE_DATE"e"
40 #define META_UPDATE_DATE"u" 40 #define META_UPDATE_DATE"u"
41 #define META_UPDATE_INT "i" 41 #define META_UPDATE_INT "i"
42//US ENH : uniqueid 42//US ENH : uniqueid
43#define META_UNIQUEID "n" 43#define META_UNIQUEID "n"
44 44
45/* This is compatibility stuff. 45/* This is compatibility stuff.
46 * The names of the entries have changed and here are the 46 * The names of the entries have changed and here are the
47 * new and old ones 47 * new and old ones
48 */ 48 */
49 #define ROOT_MAGIC_OLD "PwM-xml-dat" 49 #define ROOT_MAGIC_OLD "PwM-xml-dat"
50 #define VER_STR_OLD "ver" 50 #define VER_STR_OLD "ver"
51 #define COMPAT_VER_OLD "0x02" 51 #define COMPAT_VER_OLD "0x02"
52 #define CAT_ROOT_OLD "categories" 52 #define CAT_ROOT_OLD "categories"
53 #define CAT_PREFIX_OLD "cat_" 53 #define CAT_PREFIX_OLD "cat_"
54 #define CAT_NAME_OLD "name" 54 #define CAT_NAME_OLD "name"
55 #define ENTRY_PREFIX_OLD"entry_" 55 #define ENTRY_PREFIX_OLD"entry_"
56 #define ENTRY_DESC_OLD "desc" 56 #define ENTRY_DESC_OLD "desc"
57 #define ENTRY_NAME_OLD "name" 57 #define ENTRY_NAME_OLD "name"
58 #define ENTRY_PW_OLD "pw" 58 #define ENTRY_PW_OLD "pw"
59 #define ENTRY_COMMENT_OLD"comment" 59 #define ENTRY_COMMENT_OLD"comment"
60 #define ENTRY_URL_OLD "url" 60 #define ENTRY_URL_OLD "url"
61 #define ENTRY_LAUNCHER_OLD"launcher" 61 #define ENTRY_LAUNCHER_OLD"launcher"
62 #define ENTRY_LVP_OLD "listViewPos" 62 #define ENTRY_LVP_OLD "listViewPos"
63 #define ENTRY_BIN_OLD "b" 63 #define ENTRY_BIN_OLD "b"
64 #define ENTRY_META_OLD "m" 64 #define ENTRY_META_OLD "m"
65 65
66 #define ROOT_MAGIC_NEW "P" 66 #define ROOT_MAGIC_NEW "P"
67 #define VER_STR_NEW "v" 67 #define VER_STR_NEW "v"
68 #define COMPAT_VER_NEW "2" 68 #define COMPAT_VER_NEW "2"
69 #define CAT_ROOT_NEW "c" 69 #define CAT_ROOT_NEW "c"
70 #define CAT_PREFIX_NEW "c" 70 #define CAT_PREFIX_NEW "c"
71 #define CAT_NAME_NEW "n" 71 #define CAT_NAME_NEW "n"
72 #define ENTRY_PREFIX_NEW"e" 72 #define ENTRY_PREFIX_NEW"e"
73 #define ENTRY_DESC_NEW "d" 73 #define ENTRY_DESC_NEW "d"
74 #define ENTRY_NAME_NEW "n" 74 #define ENTRY_NAME_NEW "n"
75 #define ENTRY_PW_NEW "p" 75 #define ENTRY_PW_NEW "p"
76 #define ENTRY_COMMENT_NEW"c" 76 #define ENTRY_COMMENT_NEW"c"
77 #define ENTRY_URL_NEW "u" 77 #define ENTRY_URL_NEW "u"
78 #define ENTRY_LAUNCHER_NEW"l" 78 #define ENTRY_LAUNCHER_NEW"l"
diff --git a/pwmanager/pwmanager/setmasterpwwnd_emb.cpp b/pwmanager/pwmanager/setmasterpwwnd_emb.cpp
new file mode 100644
index 0000000..e6471e6
--- a/dev/null
+++ b/pwmanager/pwmanager/setmasterpwwnd_emb.cpp
@@ -0,0 +1,163 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26#include "setmasterpwwnd_emb.h"
27
28#include <qpushbutton.h>
29#include <qtabwidget.h>
30#include <qwidget.h>
31#include <qlabel.h>
32#include <qlineedit.h>
33#include <qlayout.h>
34
35#include <klocale.h>
36
37/*US
38#include <qvariant.h>
39#include <qpushbutton.h>
40#include <qtabwidget.h>
41#include <qwidget.h>
42#include <qlabel.h>
43#include <qlineedit.h>
44#include <qlayout.h>
45#include <qtooltip.h>
46#include <qwhatsthis.h>
47*/
48
49/*
50 * Constructs a setMasterPwWnd as a child of 'parent', with the
51 * name 'name'
52 *
53 */
54setMasterPwWnd::setMasterPwWnd( QWidget* parent, const char* name )
55 : KDialogBase( KDialogBase::Plain, i18n( "Set master-password" ),
56 KDialogBase::Ok | KDialogBase::Cancel,
57 KDialogBase::Ok, parent, name, true )
58{
59 QWidget *page = plainPage();
60 QVBoxLayout *pageLayout = new QVBoxLayout( page );
61
62 mainTab = new QTabWidget( page );
63 pageLayout->addWidget( mainTab );
64
65
66 if ( !name )
67 setName( "setMasterPwWnd" );
68
69 ////////////////////////////////////////////////////////////////////
70 // This is the Password tab1
71 tab = new QWidget( mainTab );
72
73 QGridLayout *layout = new QGridLayout( tab, 5, 1 );
74 layout->setMargin( KDialogBase::marginHint() );
75 layout->setSpacing( KDialogBase::spacingHint() );
76
77 QLabel* label = new QLabel( i18n( "Using a normal password-string to encrypt the data." ), tab );
78 label->setAlignment( int( QLabel::WordBreak | QLabel::AlignCenter ) );
79 layout->addWidget(label, 0, 0);
80
81 pwEdit_1 = new QLineEdit( tab, "pwEdit_1" );
82 pwEdit_1->setEchoMode( QLineEdit::Password );
83
84 label = new QLabel( pwEdit_1, i18n( "Please enter the new master-password:" ), tab );
85 layout->addWidget(label, 1, 0);
86 layout->addWidget(pwEdit_1, 2, 0);
87
88 pwEdit_2 = new QLineEdit( tab, "pwEdit_2" );
89 pwEdit_2->setEchoMode( QLineEdit::Password );
90
91 label = new QLabel( pwEdit_2, i18n( "Please enter the password again:" ), tab );
92 layout->addWidget(label, 3, 0);
93 layout->addWidget(pwEdit_2, 4, 0);
94
95 mainTab->insertTab( tab, i18n("Normal password") );
96
97
98 ////////////////////////////////////////////////////////////////////
99 // This is the Password tab2
100 tab_2 = new QWidget( mainTab );
101
102 layout = new QGridLayout( tab_2, 5, 1 );
103 layout->setMargin( KDialogBase::marginHint() );
104 layout->setSpacing( KDialogBase::spacingHint() );
105
106 label = new QLabel( i18n( "Using a PwM key-card to encrypt the data." ), tab_2 );
107 label->setAlignment( int( QLabel::WordBreak | QLabel::AlignCenter ) );
108 layout->addWidget(label, 0, 0);
109
110 label = new QLabel( i18n( "selected card:" ), tab_2 );
111 label->setAlignment( int( QLabel::AlignVCenter | QLabel::AlignRight ) );
112 layout->addWidget(label, 1, 0);
113
114 selCardButton = new QPushButton( i18n( "&Select the currently inserted card as key-card" ), tab_2 );
115 layout->addWidget(selCardButton, 2, 0);
116
117 genCardButton = new QPushButton( i18n( "&generate new key-card") , tab_2 );
118 layout->addWidget(genCardButton, 3, 0);
119
120 curCardIdLabel = new QLabel( QString("") , tab_2 );
121 layout->addWidget(curCardIdLabel, 4, 0);
122
123 mainTab->insertTab( tab_2, i18n("Key-card (chipcard)" ) );
124
125
126 // resize( QSize(411, 313).expandedTo(minimumSizeHint()) );
127
128 // signals and slots connections
129 // connect( okButton, SIGNAL( clicked() ), this, SLOT( okButton_slot() ) );
130 // connect( cancelButton, SIGNAL( clicked() ), this, SLOT( cancelButton_slot() ) );
131 connect( genCardButton, SIGNAL( clicked() ), this, SLOT( genCardButton_slot() ) );
132 connect( selCardButton, SIGNAL( clicked() ), this, SLOT( selCardButton_slot() ) );
133
134}
135
136/*
137 * Destroys the object and frees any allocated resources
138 */
139setMasterPwWnd::~setMasterPwWnd()
140{
141 // no need to delete child widgets, Qt does it all for us
142}
143
144void setMasterPwWnd::okButton_slot()
145{
146 qWarning( "setMasterPwWnd::okButton_slot(): Not implemented yet" );
147}
148
149void setMasterPwWnd::cancelButton_slot()
150{
151 qWarning( "setMasterPwWnd::cancelButton_slot(): Not implemented yet" );
152}
153
154void setMasterPwWnd::genCardButton_slot()
155{
156 qWarning( "setMasterPwWnd::genCardButton_slot(): Not implemented yet" );
157}
158
159void setMasterPwWnd::selCardButton_slot()
160{
161 qWarning( "setMasterPwWnd::selCardButton_slot(): Not implemented yet" );
162}
163
diff --git a/pwmanager/pwmanager/setmasterpwwnd_emb.h b/pwmanager/pwmanager/setmasterpwwnd_emb.h
new file mode 100644
index 0000000..c8ddec6
--- a/dev/null
+++ b/pwmanager/pwmanager/setmasterpwwnd_emb.h
@@ -0,0 +1,62 @@
1/*
2 This file is part of PwManager/Platform independent.
3 Copyright (c) 2004 Ulf Schenk
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22
23$Id$
24*/
25
26#ifndef SETMASTERPWWND_EMB_H
27#define SETMASTERPWWND_EMB_H
28
29#include <kdialogbase.h>
30
31class QLineEdit;
32class QPushButton;
33class QLabel;
34class QTabWidget;
35class QWidget;
36
37class setMasterPwWnd : public KDialogBase
38{
39 Q_OBJECT
40
41public:
42 setMasterPwWnd( QWidget* parent = 0, const char* name = 0 );
43 ~setMasterPwWnd();
44
45 QTabWidget* mainTab;
46 QWidget* tab;
47 QWidget* tab_2;
48 QLineEdit* pwEdit_1;
49 QLineEdit* pwEdit_2;
50 QPushButton* selCardButton;
51 QPushButton* genCardButton;
52 QLabel* curCardIdLabel;
53
54public slots:
55 virtual void okButton_slot();
56 virtual void cancelButton_slot();
57 virtual void genCardButton_slot();
58 virtual void selCardButton_slot();
59
60};
61
62#endif // SETMASTERPWWND_H
diff --git a/pwmanager/pwmanager/setmasterpwwndimpl.cpp b/pwmanager/pwmanager/setmasterpwwndimpl.cpp
index aac0408..3482643 100644
--- a/pwmanager/pwmanager/setmasterpwwndimpl.cpp
+++ b/pwmanager/pwmanager/setmasterpwwndimpl.cpp
@@ -1,145 +1,186 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003, 2004 by Michael Buesch * 3 * copyright (C) 2003, 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12 12
13/*************************************************************************** 13/***************************************************************************
14 * copyright (C) 2004 by Ulf Schenk 14 * copyright (C) 2004 by Ulf Schenk
15 * This file is originaly based on version 1.0.1 of pwmanager 15 * This file is originaly based on version 1.0.1 of pwmanager
16 * and was modified to run on embedded devices that run microkde 16 * and was modified to run on embedded devices that run microkde
17 * 17 *
18 * $Id$ 18 * $Id$
19 **************************************************************************/ 19 **************************************************************************/
20 20
21#include "setmasterpwwndimpl.h" 21#include "setmasterpwwndimpl.h"
22#include "pwm.h" 22#include "pwm.h"
23#include "globalstuff.h" 23#include "globalstuff.h"
24 24
25#include <kmessagebox.h> 25#include <kmessagebox.h>
26 26
27#include <qlineedit.h> 27#include <qlineedit.h>
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qtabwidget.h> 29#include <qtabwidget.h>
30 30
31#include <stdio.h> 31#include <stdio.h>
32 32
33#ifdef CONFIG_KEYCARD 33#ifdef CONFIG_KEYCARD
34# include "pwmkeycard.h" 34# include "pwmkeycard.h"
35#endif 35#endif
36 36
37 #define STRING_CARD_NONE(SetMasterPwWndImpl::string_cardNone()) 37 #define STRING_CARD_NONE(SetMasterPwWndImpl::string_cardNone())
38 38
39 39
40SetMasterPwWndImpl::SetMasterPwWndImpl(QWidget * parent, const char *name) 40SetMasterPwWndImpl::SetMasterPwWndImpl(QWidget * parent, const char *name)
41: setMasterPwWnd(parent, name) 41: setMasterPwWnd(parent, name)
42{ 42{
43#ifdef CONFIG_KEYCARD 43#ifdef CONFIG_KEYCARD
44 curCardIdLabel->setText(STRING_CARD_NONE); 44 curCardIdLabel->setText(STRING_CARD_NONE);
45#else // CONFIG_KEYCARD 45#else // CONFIG_KEYCARD
46#ifndef PWM_EMBEDDED 46#ifndef PWM_EMBEDDED
47 mainTab->removePage(mainTab->page(1)); 47 mainTab->removePage(mainTab->page(1));
48#else 48#else
49 qDebug("SetMasterPwWndImpl::SetMasterPwWndImpl has to be fixed"); 49 mainTab->removePage(tab_2);
50#endif 50#endif
51
51#endif // CONFIG_KEYCARD 52#endif // CONFIG_KEYCARD
52 keyCard = 0; 53 keyCard = 0;
53} 54}
54 55
55SetMasterPwWndImpl::~SetMasterPwWndImpl() 56SetMasterPwWndImpl::~SetMasterPwWndImpl()
56{ 57{
57} 58}
58 59
59void SetMasterPwWndImpl::okButton_slot() 60void SetMasterPwWndImpl::okButton_slot()
60{ 61{
62#ifndef PWM_EMBEDDED
61 int index = mainTab->currentPageIndex(); 63 int index = mainTab->currentPageIndex();
62 if (index == 0) { 64 if (index == 0) {
63 // normal password 65 // normal password
64 if (pwEdit_1->text() != pwEdit_2->text()) { 66 if (pwEdit_1->text() != pwEdit_2->text()) {
65 KMessageBox::error(this, 67 KMessageBox::error(this,
66 i18n 68 i18n
67 ("The two passwords you have entered don't match.\n" 69 ("The two passwords you have entered don't match.\n"
68 "Please try entering them again."), 70 "Please try entering them again."),
69 i18n("Different passwords")); 71 i18n("Different passwords"));
70 return; 72 return;
71 } 73 }
72 if (pwEdit_1->text() == "") { 74 if (pwEdit_1->text() == "") {
73 KMessageBox::error(this, 75 KMessageBox::error(this,
74 i18n("No password entered. " 76 i18n("No password entered. "
75 "Please type in a password, that " 77 "Please type in a password, that "
76 "you want to use for the encryption."), 78 "you want to use for the encryption."),
77 i18n("no password")); 79 i18n("no password"));
78 return; 80 return;
79 } 81 }
80 } else { 82 } else {
81 // key-card 83 // key-card
82 if (curCardIdLabel->text() == STRING_CARD_NONE) { 84 if (curCardIdLabel->text() == STRING_CARD_NONE) {
83 KMessageBox::error(this, 85 KMessageBox::error(this,
84 i18n("You didn't select a card as " 86 i18n("You didn't select a card as "
85 "PwM-key-card."), 87 "PwM-key-card."),
86 i18n("no card")); 88 i18n("no card"));
87 return; 89 return;
88 } 90 }
89 } 91 }
90 done(1); 92 done(1);
93#endif
91} 94}
92 95
93void SetMasterPwWndImpl::cancelButton_slot() 96void SetMasterPwWndImpl::cancelButton_slot()
94{ 97{
98#ifndef PWM_EMBEDDED
95 done(2); 99 done(2);
100#endif
101}
102
103void SetMasterPwWndImpl::slotOk()
104{
105 int index = mainTab->currentPageIndex();
106 if (index == 0) {
107 // normal password
108 if (pwEdit_1->text() != pwEdit_2->text()) {
109 KMessageBox::error(this,
110 i18n
111 ("The two passwords you have entered\ndon't match.\n"
112 "Please try entering them again."),
113 i18n("Different passwords"));
114 return;
115 }
116 if (pwEdit_1->text() == "") {
117 KMessageBox::error(this,
118 i18n("No password entered.\n"
119 "Please type in a password,\nthat "
120 "you want to use for\nthe encryption."),
121 i18n("no password"));
122 return;
123 }
124 } else {
125 // key-card
126 if (curCardIdLabel->text() == STRING_CARD_NONE) {
127 KMessageBox::error(this,
128 i18n("You didn't select a card as\n"
129 "PwM-key-card."),
130 i18n("no card"));
131 return;
132 }
133 }
134
135 setMasterPwWnd::slotOk();
96} 136}
97 137
138
98void SetMasterPwWndImpl::genCardButton_slot() 139void SetMasterPwWndImpl::genCardButton_slot()
99{ 140{
100#ifdef CONFIG_KEYCARD 141#ifdef CONFIG_KEYCARD
101 PWM_ASSERT(keyCard); 142 PWM_ASSERT(keyCard);
102 keyCard->genNewCard(); 143 keyCard->genNewCard();
103#endif // CONFIG_KEYCARD 144#endif // CONFIG_KEYCARD
104} 145}
105 146
106void SetMasterPwWndImpl::selCardButton_slot() 147void SetMasterPwWndImpl::selCardButton_slot()
107{ 148{
108#ifdef CONFIG_KEYCARD 149#ifdef CONFIG_KEYCARD
109 PWM_ASSERT(keyCard); 150 PWM_ASSERT(keyCard);
110 connect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)), 151 connect(keyCard, SIGNAL(keyAvailable(uint32_t, const string &)),
111 this, SLOT(keyAvailable_slot(uint32_t, const string &))); 152 this, SLOT(keyAvailable_slot(uint32_t, const string &)));
112 keyCard->getKey(); 153 keyCard->getKey();
113#endif // CONFIG_KEYCARD 154#endif // CONFIG_KEYCARD
114} 155}
115 156
116void SetMasterPwWndImpl::keyAvailable_slot(uint32_t cardId, 157void SetMasterPwWndImpl::keyAvailable_slot(uint32_t cardId,
117 const string &key) 158 const string &key)
118{ 159{
119 if (key == "") 160 if (key == "")
120 return; 161 return;
121 curCardKey = key; 162 curCardKey = key;
122 char id_buf[(sizeof(cardId) * 2) + 2 /* "0x" */ + 1 /* NULL */]; 163 char id_buf[(sizeof(cardId) * 2) + 2 /* "0x" */ + 1 /* NULL */];
123 memcpy(id_buf, "0x", 2); 164 memcpy(id_buf, "0x", 2);
124 sprintf(id_buf + 2, "%X", cardId); 165 sprintf(id_buf + 2, "%X", cardId);
125 curCardIdLabel->setText(id_buf); 166 curCardIdLabel->setText(id_buf);
126} 167}
127 168
128string SetMasterPwWndImpl::getPw(bool *useCard) 169string SetMasterPwWndImpl::getPw(bool *useCard)
129{ 170{
130 int index = mainTab->currentPageIndex(); 171 int index = mainTab->currentPageIndex();
131 if (index == 0) { 172 if (index == 0) {
132 // normal password 173 // normal password
133 if (useCard) 174 if (useCard)
134 *useCard = false; 175 *useCard = false;
135 PWM_ASSERT(pwEdit_1->text() == pwEdit_2->text()); 176 PWM_ASSERT(pwEdit_1->text() == pwEdit_2->text());
136 return pwEdit_1->text().latin1(); 177 return pwEdit_1->text().latin1();
137 } else { 178 } else {
138#ifdef CONFIG_KEYCARD 179#ifdef CONFIG_KEYCARD
139 // key-card 180 // key-card
140 if (useCard) 181 if (useCard)
141 *useCard = true; 182 *useCard = true;
142 PWM_ASSERT(curCardKey != ""); 183 PWM_ASSERT(curCardKey != "");
143 PWM_ASSERT(curCardIdLabel->text() != STRING_CARD_NONE); 184 PWM_ASSERT(curCardIdLabel->text() != STRING_CARD_NONE);
144 return curCardKey; 185 return curCardKey;
145#endif // CONFIG_KEYCARD 186#endif // CONFIG_KEYCARD
diff --git a/pwmanager/pwmanager/setmasterpwwndimpl.h b/pwmanager/pwmanager/setmasterpwwndimpl.h
index 56effc1..3203d4d 100644
--- a/pwmanager/pwmanager/setmasterpwwndimpl.h
+++ b/pwmanager/pwmanager/setmasterpwwndimpl.h
@@ -1,72 +1,80 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003 by Michael Buesch * 3 * copyright (C) 2003 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12 12
13/*************************************************************************** 13/***************************************************************************
14 * copyright (C) 2004 by Ulf Schenk 14 * copyright (C) 2004 by Ulf Schenk
15 * This file is originaly based on version 1.0.1 of pwmanager 15 * This file is originaly based on version 1.0.1 of pwmanager
16 * and was modified to run on embedded devices that run microkde 16 * and was modified to run on embedded devices that run microkde
17 * 17 *
18 * $Id$ 18 * $Id$
19 **************************************************************************/ 19 **************************************************************************/
20 20
21#ifndef SETMASTERPWWNDIMPL_H 21#ifndef SETMASTERPWWNDIMPL_H
22#define SETMASTERPWWNDIMPL_H 22#define SETMASTERPWWNDIMPL_H
23 23
24#ifndef PWM_EMBEDDED
24#include "setmasterpwwnd.h" 25#include "setmasterpwwnd.h"
26#else
27#include "setmasterpwwnd_emb.h"
28#endif
25 29
26#include <klocale.h> 30#include <klocale.h>
27 31
28#include <stdint.h> 32#include <stdint.h>
29#include <string> 33#include <string>
30using std::string; 34using std::string;
31 35
32class PwMKeyCard; 36class PwMKeyCard;
33 37
34/** set master pw wnd */ 38/** set master pw wnd */
35class SetMasterPwWndImpl : public setMasterPwWnd 39class SetMasterPwWndImpl : public setMasterPwWnd
36{ 40{
37 Q_OBJECT 41 Q_OBJECT
38public: 42public:
39 SetMasterPwWndImpl(QWidget* parent = 0, const char *name = 0); 43 SetMasterPwWndImpl(QWidget* parent = 0, const char *name = 0);
40 ~SetMasterPwWndImpl(); 44 ~SetMasterPwWndImpl();
41 45
42 static QString string_cardNone() 46 static QString string_cardNone()
43 { return i18n("NONE"); } 47 { return i18n("NONE"); }
44 48
45 /** returns the selected pw (or the key on the card) */ 49 /** returns the selected pw (or the key on the card) */
46 string getPw(bool *useCard); 50 string getPw(bool *useCard);
47 /** set pointer to the keycard-access object */ 51 /** set pointer to the keycard-access object */
48 void setPwMKeyCard(PwMKeyCard *_keyCard) 52 void setPwMKeyCard(PwMKeyCard *_keyCard)
49 { keyCard = _keyCard; } 53 { keyCard = _keyCard; }
50 54
51public slots: 55public slots:
52 /** ok button pressed */ 56 /** ok button pressed */
53 void okButton_slot(); 57 void okButton_slot();
54 /** cancel button pressed */ 58 /** cancel button pressed */
55 void cancelButton_slot(); 59 void cancelButton_slot();
56 /** "generate a new card" button pressed */ 60 /** "generate a new card" button pressed */
57 void genCardButton_slot(); 61 void genCardButton_slot();
58 /** "select current card" button pressed */ 62 /** "select current card" button pressed */
59 void selCardButton_slot(); 63 void selCardButton_slot();
60 64
65#ifdef PWM_EMBEDDED
66 virtual void slotOk();
67#endif
68
61protected slots: 69protected slots:
62 /** key from PwMKeyCard is available */ 70 /** key from PwMKeyCard is available */
63 void keyAvailable_slot(uint32_t cardId, const string &key); 71 void keyAvailable_slot(uint32_t cardId, const string &key);
64 72
65protected: 73protected:
66 /** key of currently inserted card */ 74 /** key of currently inserted card */
67 string curCardKey; 75 string curCardKey;
68 /** pointer to the keycard-access object */ 76 /** pointer to the keycard-access object */
69 PwMKeyCard *keyCard; 77 PwMKeyCard *keyCard;
70}; 78};
71 79
72#endif 80#endif