summaryrefslogtreecommitdiff
authordrw <drw>2005-05-06 21:54:49 (UTC)
committer drw <drw>2005-05-06 21:54:49 (UTC)
commit852f6cf4ff1c4010f998ee8cd68936e38001f032 (patch) (unidiff)
treef12269677f7a84dfe0c6b9aaa6db9875d3d8b8c4
parent1a4c6fd2efdb11c2bddc77126e509b5a47665715 (diff)
downloadopie-852f6cf4ff1c4010f998ee8cd68936e38001f032.zip
opie-852f6cf4ff1c4010f998ee8cd68936e38001f032.tar.gz
opie-852f6cf4ff1c4010f998ee8cd68936e38001f032.tar.bz2
Opie-fy ZSafe UI: clean up menus, use proper toolbar, use shared pics where possible and use OResource for image loading
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/main.cpp12
-rw-r--r--noncore/apps/zsafe/opie-zsafe.control2
-rw-r--r--noncore/apps/zsafe/pics/zsafe/copy.xpm124
-rw-r--r--noncore/apps/zsafe/pics/zsafe/cut.xpm89
-rw-r--r--noncore/apps/zsafe/pics/zsafe/edit.xpm108
-rw-r--r--noncore/apps/zsafe/pics/zsafe/editdelete.xpm95
-rw-r--r--noncore/apps/zsafe/pics/zsafe/find.xpm130
-rw-r--r--noncore/apps/zsafe/pics/zsafe/folder_open.xpm103
-rw-r--r--noncore/apps/zsafe/pics/zsafe/help_icon.xpm119
-rw-r--r--noncore/apps/zsafe/pics/zsafe/new.xpm115
-rw-r--r--noncore/apps/zsafe/pics/zsafe/pass.xpm20
-rw-r--r--noncore/apps/zsafe/pics/zsafe/paste.xpm159
-rw-r--r--noncore/apps/zsafe/pics/zsafe/quit_icon.xpm120
-rw-r--r--noncore/apps/zsafe/pics/zsafe/save.xpm117
-rw-r--r--noncore/apps/zsafe/pics/zsafe/trash.xpm127
-rw-r--r--noncore/apps/zsafe/pics/zsafe/zsafe.pngbin1427 -> 0 bytes
-rw-r--r--noncore/apps/zsafe/pics/zsafe/zsafe.xpm306
-rw-r--r--noncore/apps/zsafe/zsafe.cpp247
-rw-r--r--noncore/apps/zsafe/zsafe.h15
19 files changed, 80 insertions, 1928 deletions
diff --git a/noncore/apps/zsafe/main.cpp b/noncore/apps/zsafe/main.cpp
index 6dfd455..3d818f9 100644
--- a/noncore/apps/zsafe/main.cpp
+++ b/noncore/apps/zsafe/main.cpp
@@ -1,31 +1,19 @@
1/* 1/*
2** Author: Carsten Schneider <CarstenSchneider@t-online.de> 2** Author: Carsten Schneider <CarstenSchneider@t-online.de>
3** 3**
4** $Id$ 4** $Id$
5** 5**
6** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html 6** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html
7*/ 7*/
8 8
9 9
10#include "zsafe.h" 10#include "zsafe.h"
11 11
12/* OPIE */ 12/* OPIE */
13#include <opie2/odebug.h> 13#include <opie2/odebug.h>
14 14
15/* QT */ 15/* QT */
16#include <opie2/oapplicationfactory.h> 16#include <opie2/oapplicationfactory.h>
17 17
18void suspend (int signum)
19{
20 printf ("Suspend signal %d received\n", signum);
21}
22
23void resume (int signum)
24{
25 printf ("Resume signal %d received\n", signum);
26 zs->resume(signum);
27}
28
29
30OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<ZSafe> ) 18OPIE_EXPORT_APP( Opie::Core::OApplicationFactory<ZSafe> )
31 19
diff --git a/noncore/apps/zsafe/opie-zsafe.control b/noncore/apps/zsafe/opie-zsafe.control
index 6288fac..a00818f 100644
--- a/noncore/apps/zsafe/opie-zsafe.control
+++ b/noncore/apps/zsafe/opie-zsafe.control
@@ -1,9 +1,9 @@
1Package: opie-zsafe 1Package: opie-zsafe
2Files: bin/zsafe apps/Applications/zsafe.desktop pics/zsafe/*.png 2Files: bin/zsafe apps/Applications/zsafe.desktop pics/zsafe/*.png
3Priority: optional 3Priority: optional
4Section: opie/applications 4Section: opie/applications
5Version: $QPE_VERSION$EXTRAVERSION 5Version: $QPE_VERSION$EXTRAVERSION
6Architecture: arm 6Architecture: arm
7Depends: task-opie-minimal, libopieui2 7Depends: task-opie-minimal, libopiecore2, libopieui2
8Maintainer: Carsten Schneider <zcarsten@gmx.net> 8Maintainer: Carsten Schneider <zcarsten@gmx.net>
9Description: This is a password manager program for Opie. 9Description: This is a password manager program for Opie.
diff --git a/noncore/apps/zsafe/pics/zsafe/copy.xpm b/noncore/apps/zsafe/pics/zsafe/copy.xpm
deleted file mode 100644
index 03a143f..0000000
--- a/noncore/apps/zsafe/pics/zsafe/copy.xpm
+++ b/dev/null
@@ -1,124 +0,0 @@
1/* XPM */
2static char * copy_xpm[] = {
3"14 14 107 2",
4 " c None",
5 ". c #C9D1DA",
6 "+ c #CED5DD",
7 "@ c #D0D8DF",
8 "# c #CED6DE",
9 "$ c #A6B3C3",
10 "% c #8B9BB1",
11 "& c #C4CDD7",
12 "* c #E0E5EA",
13 "= c #E3E7EC",
14 "- c #D7DEE4",
15 "; c #D7DDE4",
16 "> c #ADBAC8",
17 ", c #9EADBD",
18 "' c #8394AB",
19 ") c #E2E6EB",
20 "! c #E6EAED",
21 "~ c #DDE3E8",
22 "{ c #C9D2DA",
23 "] c #B9C4CF",
24 "^ c #94A3B5",
25 "/ c #A0A2B0",
26 "( c #C0BBC6",
27 "_ c #D8DEE4",
28 ": c #EAEEF0",
29 "< c #DBE1E6",
30 "[ c #D5DCE2",
31 "} c #C0C9D4",
32 "| c #AFBAC7",
33 "1 c #9EA1AF",
34 "2 c #BEBAC2",
35 "3 c #D2CDD9",
36 "4 c #B2AABA",
37 "5 c #D0D7DF",
38 "6 c #E8ECEF",
39 "7 c #CED6DD",
40 "8 c #C3CCD6",
41 "9 c #C1C9D4",
42 "0 c #C0CAD3",
43 "a c #99A1AF",
44 "b c #B9B6BD",
45 "c c #C5BECB",
46 "d c #B2A7BB",
47 "e c #9C92A5",
48 "f c #CDD4DD",
49 "g c #E7ECEF",
50 "h c #DCE2E7",
51 "i c #CBD3DB",
52 "j c #C6CFD9",
53 "k c #C7D0D8",
54 "l c #9FA8B7",
55 "m c #B2B0B9",
56 "n c #CBC5CF",
57 "o c #CFC7D6",
58 "p c #B5ABBE",
59 "q c #DEE3E8",
60 "r c #CDD5DD",
61 "s c #CAD2DB",
62 "t c #C7CFD9",
63 "u c #D2D8E0",
64 "v c #AFB8C5",
65 "w c #A6A7B1",
66 "x c #BEB9C4",
67 "y c #D7D1DE",
68 "z c #BBB2C4",
69 "A c #DBE1E7",
70 "B c #DAE0E6",
71 "C c #D2D9E0",
72 "D c #C5CCD7",
73 "E c #A1ABBB",
74 "F c #9C9FAD",
75 "G c #B4AFBA",
76 "H c #D5D0DC",
77 "I c #BDB4C5",
78 "J c #CBD3DC",
79 "K c #D5DBE2",
80 "L c #C6CED8",
81 "M c #B3BBC8",
82 "N c #A5ADBA",
83 "O c #9EA5B4",
84 "P c #A9ABB9",
85 "Q c #B5B2BE",
86 "R c #D9D4DF",
87 "S c #BEB6C6",
88 "T c #9CA9BC",
89 "U c #B0B2C0",
90 "V c #C9C9D0",
91 "W c #C9C5CE",
92 "X c #D1CCD6",
93 "Y c #D5D0DB",
94 "Z c #D8D2DE",
95 "` c #E0DBE6",
96 " .c #BFB6C7",
97 "..c #DBD6E0",
98 "+.c #F2F1F4",
99 "@.c #E9E6ED",
100 "#.c #E9E5ED",
101 "$.c #E8E3EC",
102 "%.c #E5E1EA",
103 "&.c #E8E4ED",
104 "*.c #C0B8C8",
105 "=.c #BDB5C6",
106 "-.c #C6BFCC",
107 ";.c #C3BBCA",
108 ">.c #C2BAC9",
109 ",.c #C1B8C8",
110 "'.c #B0A6B9",
111" ",
112" . + @ # $ % ",
113"& * = - ; > , ' ",
114" ) ! - ~ { ] ^ / ( ",
115" _ : < [ . } | 1 2 3 4 ",
116" 5 6 < 7 8 9 0 a b c d e ",
117" f g h i . j k l m n o p ",
118" q q r s t u v w x y z ",
119" _ ! A B C D E F G H I ",
120" J K L M N O P Q ( R S ",
121" T U V W X Y Z ` . ",
122" ..+.@.#.$.%.&.*. ",
123" =.-.;.>.>.,.*.'. ",
124" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/cut.xpm b/noncore/apps/zsafe/pics/zsafe/cut.xpm
deleted file mode 100644
index cecd174..0000000
--- a/noncore/apps/zsafe/pics/zsafe/cut.xpm
+++ b/dev/null
@@ -1,89 +0,0 @@
1/* XPM */
2static char * cut_xpm[] = {
3"14 14 72 1",
4 " c None",
5 ".c #FDD900",
6 "+c #FBE601",
7 "@c #DD8000",
8 "#c #FDDC00",
9 "$c #EDDB02",
10 "%c #CFC305",
11 "&c #EE9600",
12 "*c #FEE600",
13 "=c #C9A607",
14 "-c #897905",
15 ";c #EC9300",
16 ">c #FCDA00",
17 ",c #DAB905",
18 "'c #AC9A06",
19 ")c #917000",
20 "!c #DFC503",
21 "~c #D5B606",
22 "{c #CF8B04",
23 "]c #F1C201",
24 "^c #EADA03",
25 "/c #F39900",
26 "(c #DCB502",
27 "_c #BBA105",
28 ":c #AD9705",
29 "<c #E49301",
30 "[c #D9961E",
31 "}c #FBB509",
32 "|c #ED8B0A",
33 "1c #DDBB05",
34 "2c #C3B204",
35 "3c #E3D400",
36 "4c #F09E00",
37 "5c #7EA5CE",
38 "6c #C5CFDB",
39 "7c #7393B6",
40 "8c #D07C09",
41 "9c #F7AF00",
42 "0c #F2A300",
43 "ac #B16200",
44 "bc #C7E5F5",
45 "cc #89C0E7",
46 "dc #BCD8FA",
47 "ec #4798E4",
48 "fc #35201A",
49 "gc #862F00",
50 "hc #702A00",
51 "ic #C1E0F3",
52 "jc #A0D3F6",
53 "kc #5CA0DD",
54 "lc #BED8FA",
55 "mc #4899E6",
56 "nc #AFD3ED",
57 "oc #A1D3F6",
58 "pc #3E80BF",
59 "qc #3578B9",
60 "rc #BFD8F8",
61 "sc #4E99E1",
62 "tc #81B6E7",
63 "uc #4385C4",
64 "vc #4479A8",
65 "wc #C1D9F8",
66 "xc #4F99E1",
67 "yc #367DC6",
68 "zc #4B86BB",
69 "Ac #BED9F9",
70 "Bc #5E9CD6",
71 "Cc #5592C8",
72 "Dc #60A6EE",
73 "Ec #2F5475",
74 "Fc #1D7DD3",
75 "Gc #11579E",
76" .+@ ",
77" #$%& ",
78" *=-; ",
79" >,';)!~{ ",
80" ]^/(_:< ",
81" [}|1234 ",
82" 567890a ",
83" bcdefgh ",
84" ijklm ",
85" nopqrs ",
86" tu vwx ",
87" y zAB ",
88" CDE ",
89" FG "};
diff --git a/noncore/apps/zsafe/pics/zsafe/edit.xpm b/noncore/apps/zsafe/pics/zsafe/edit.xpm
deleted file mode 100644
index 50fba51..0000000
--- a/noncore/apps/zsafe/pics/zsafe/edit.xpm
+++ b/dev/null
@@ -1,108 +0,0 @@
1/* XPM */
2static char * edit_xpm[] = {
3"14 14 91 1",
4 " c None",
5 ".c #D6DFED",
6 "+c #E5EAF4",
7 "@c #E3EAF4",
8 "#c #DAE3F2",
9 "$c #C5CEDC",
10 "%c #E4EAF4",
11 "&c #FFFFFF",
12 "*c #FBFEFF",
13 "=c #EDF3FD",
14 "-c #E5CE80",
15 ";c #F8CF69",
16 ">c #EBB785",
17 ",c #FEFFFF",
18 "'c #F3F1ED",
19 ")c #F8D625",
20 "!c #FEB006",
21 "~c #E99141",
22 "{c #F8E59F",
23 "]c #FDCD09",
24 "^c #FC9E10",
25 "/c #C49277",
26 "(c #9DADC9",
27 "_c #FEFAF3",
28 ":c #FCDB44",
29 "<c #FEC219",
30 "[c #EF9234",
31 "}c #C1BFCC",
32 "|c #A7B6D0",
33 "1c #FDEDBB",
34 "2c #FDD82E",
35 "3c #FEB832",
36 "4c #DAA27B",
37 "5c #CCD8EB",
38 "6c #AFBED6",
39 "7c #FEFDFB",
40 "8c #FBE072",
41 "9c #FED342",
42 "0c #F6A845",
43 "ac #D7D0D7",
44 "bc #D6E0F1",
45 "cc #B6C3D9",
46 "dc #F7EED3",
47 "ec #FDE35E",
48 "fc #FECD5C",
49 "gc #E4B184",
50 "hc #E1E9F7",
51 "ic #DCE4F3",
52 "jc #B5C1D7",
53 "kc #FCFEFF",
54 "lc #F7DEAD",
55 "mc #FEE483",
56 "nc #F6C471",
57 "oc #DECDC9",
58 "pc #D7DEEC",
59 "qc #CDD4E5",
60 "rc #AAB5CB",
61 "sc #FBFFFF",
62 "tc #ECD3B7",
63 "uc #F7DFC0",
64 "vc #D6BAA9",
65 "wc #D3D7E4",
66 "xc #CFD6E5",
67 "yc #CCD3E3",
68 "zc #ABB6CC",
69 "Ac #FAFEFF",
70 "Bc #C8B7AF",
71 "Cc #C2AEA9",
72 "Dc #D7DCE6",
73 "Ec #D4DAE7",
74 "Fc #D0D7E6",
75 "Gc #D1D8E7",
76 "Hc #B5C0D6",
77 "Ic #F9FEFF",
78 "Jc #ECE9EB",
79 "Kc #EAF0F7",
80 "Lc #E6ECF6",
81 "Mc #E0E6F3",
82 "Nc #E2E9F6",
83 "Oc #E2EAF8",
84 "Pc #BECADF",
85 "Qc #CDD7E6",
86 "Rc #D8DEE7",
87 "Sc #D4DDE7",
88 "Tc #D2DBE7",
89 "Uc #D0D9E7",
90 "Vc #CED7E6",
91 "Wc #CAD4E5",
92 "Xc #C6D1E3",
93 "Yc #C4CFE2",
94 "Zc #ACB9D1",
95".+++@#$ ",
96"%&&&*=-;> ",
97"%&&&,')!~ ",
98"%&&&&{]^/( ",
99"%&&&_:<[}| ",
100"%&&&123456 ",
101"%&&7890abc ",
102"%&&defghij ",
103"%&klmnopqr ",
104"%&stuvwxyz ",
105"%&ABCDEFGH ",
106"%,IJKLMNOP ",
107"QRSTUVWXYZ ",
108" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/editdelete.xpm b/noncore/apps/zsafe/pics/zsafe/editdelete.xpm
deleted file mode 100644
index 675b4eb..0000000
--- a/noncore/apps/zsafe/pics/zsafe/editdelete.xpm
+++ b/dev/null
@@ -1,95 +0,0 @@
1/* XPM */
2static char * editdelete_xpm[] = {
3"14 14 78 1",
4 " c None",
5 ".c #000000",
6 "+c #201313",
7 "@c #764747",
8 "#c #795353",
9 "$c #150D0D",
10 "%c #261818",
11 "&c #8B5F5F",
12 "*c #E08383",
13 "=c #7E3F3F",
14 "-c #946C6C",
15 ";c #E79696",
16 ">c #824141",
17 ",c #764848",
18 "'c #D37171",
19 ")c #CF6767",
20 "!c #783C3C",
21 "~c #020101",
22 "{c #040303",
23 "]c #E89B9B",
24 "^c #CA6969",
25 "/c #944A4A",
26 "(c #412121",
27 "_c #7F3F3F",
28 ":c #CF6868",
29 "<c #CD6666",
30 "[c #D46C6C",
31 "}c #683838",
32 "|c #795757",
33 "1c #E99A9A",
34 "2c #8A4444",
35 "3c #3D1E1E",
36 "4c #763B3B",
37 "5c #D46D6D",
38 "6c #CD6969",
39 "7c #D77878",
40 "8c #DB8383",
41 "9c #C76868",
42 "0c #8F4646",
43 "ac #3B1D1D",
44 "bc #683737",
45 "cc #D77777",
46 "dc #D06C6C",
47 "ec #CE6666",
48 "fc #AB5555",
49 "gc #361B1B",
50 "hc #785858",
51 "ic #DB8282",
52 "jc #CE6767",
53 "kc #C86363",
54 "lc #B95C5C",
55 "mc #572C2C",
56 "nc #926B6B",
57 "oc #EA9B9B",
58 "pc #C86868",
59 "qc #AB5454",
60 "rc #C86464",
61 "sc #C66363",
62 "tc #723939",
63 "uc #956C6C",
64 "vc #C76363",
65 "wc #D06868",
66 "xc #CA6565",
67 "yc #713939",
68 "zc #785050",
69 "Ac #E79595",
70 "Bc #3C1E1E",
71 "Cc #743A3A",
72 "Dc #BD5E5E",
73 "Ec #A15151",
74 "Fc #4E2727",
75 "Gc #884444",
76 "Hc #964A4A",
77 "Ic #3D1F1F",
78 "Jc #713838",
79 "Kc #A25050",
80 "Lc #542929",
81 "Mc #4B2525",
82" . . ",
83" +@. .#$ ",
84" %&*=. .-;>. ",
85".,*')!~{-]^/(~",
86" ._:<[}|1^23. ",
87" .4567890a. ",
88" .bcdefg. ",
89" .hijklm. ",
90" .nopqlrst. ",
91" .u]^0gmvwxy. ",
92".zA^2B.~CxDEF.",
93" .GHI. .JKL. ",
94" .(. .M. ",
95" . . "};
diff --git a/noncore/apps/zsafe/pics/zsafe/find.xpm b/noncore/apps/zsafe/pics/zsafe/find.xpm
deleted file mode 100644
index 9d67a41..0000000
--- a/noncore/apps/zsafe/pics/zsafe/find.xpm
+++ b/dev/null
@@ -1,130 +0,0 @@
1/* XPM */
2static char * find_xpm[] = {
3"14 14 113 2",
4 " c None",
5 ". c #A5B4CE",
6 "+ c #A0BFDF",
7 "@ c #A8CAE7",
8 "# c #A6C7E3",
9 "$ c #AABED6",
10 "% c #6A849D",
11 "& c #95AFD1",
12 "* c #96CCF2",
13 "= c #A8E0FA",
14 "- c #ACE4FB",
15 "; c #A9E1FB",
16 "> c #ABE2FA",
17 ", c #AACADF",
18 "' c #9DB3C5",
19 ") c #87A0B5",
20 "! c #748CA3",
21 "~ c #8E9EBD",
22 "{ c #93CAF1",
23 "] c #B5ECFC",
24 "^ c #CCFAFE",
25 "/ c #BFF1FD",
26 "( c #B8EEFC",
27 "_ c #B4EBFC",
28 ": c #BDF1FC",
29 "< c #A8C1D2",
30 "[ c #728FA8",
31 "} c #53728F",
32 "| c #6B849C",
33 "1 c #88A7CC",
34 "2 c #A4DDFA",
35 "3 c #C8F8FE",
36 "4 c #E8FFFF",
37 "5 c #CDF5FE",
38 "6 c #CCF9FE",
39 "7 c #CAFCFE",
40 "8 c #CCFDFF",
41 "9 c #BCE2E9",
42 "0 c #4F6E8B",
43 "a c #3C5A79",
44 "b c #76899F",
45 "c c #8EB0D2",
46 "d c #A8E1FB",
47 "e c #B6EBFC",
48 "f c #C8F3FD",
49 "g c #CAF9FE",
50 "h c #DBFFFF",
51 "i c #DAFFFF",
52 "j c #DCFFFF",
53 "k c #CEEEF1",
54 "l c #809FC4",
55 "m c #A7E0FA",
56 "n c #B1E8FB",
57 "o c #C4F5FE",
58 "p c #D7FEFF",
59 "q c #DEFFFF",
60 "r c #E7FFFF",
61 "s c #EBFFFF",
62 "t c #CCE0E7",
63 "u c #6A7DA1",
64 "v c #A4DBF6",
65 "w c #ACE5FB",
66 "x c #C0F5FD",
67 "y c #D4FFFF",
68 "z c #E2FFFF",
69 "A c #F0FFFF",
70 "B c #F7FEFF",
71 "C c #AEB7C6",
72 "D c #7C99BA",
73 "E c #B1E6F7",
74 "F c #C1F5FE",
75 "G c #D2FFFF",
76 "H c #E0FFFF",
77 "I c #ECFEFE",
78 "J c #C6CED8",
79 "K c #898AA2",
80 "L c #768CAA",
81 "M c #A0C4D5",
82 "N c #B7DCE4",
83 "O c #B9D4DD",
84 "P c #9EABBC",
85 "Q c #8789A1",
86 "R c #A7A5B2",
87 "S c #C89F68",
88 "T c #CF8A23",
89 "U c #B48549",
90 "V c #EFD28D",
91 "W c #ECB34D",
92 "X c #C37F21",
93 "Y c #8197AC",
94 "Z c #617C97",
95 "` c #CCA153",
96 " .c #F8E19E",
97 "..c #EAB24E",
98 "+.c #B77622",
99 "@.c #A4B9CA",
100 "#.c #7592AB",
101 "$.c #7A93AA",
102 "%.c #C29851",
103 "&.c #F8DF9B",
104 "*.c #E9B351",
105 "=.c #A26825",
106 "-.c #7592AA",
107 ";.c #51708D",
108 ">.c #405E7D",
109 ",.c #879DB1",
110 "'.c #BB9353",
111 ").c #E2C586",
112 "!.c #977964",
113 "~.c #7D94AA",
114 "{.c #3D5C7A",
115 "].c #5D758E",
116 "^.c #87644D",
117" . + @ # $ % ",
118" & * = - ; > , ' ) ! ",
119"~ { ] ^ / ( _ : < [ } | ",
120"1 2 3 4 5 6 7 8 9 0 a b ",
121"c d e f g h i j k ",
122"l m n o p q r s t ",
123"u v w x y z A B C ",
124" D E F G H I J K ",
125" L M N O P Q R S T ",
126" U V W X ",
127" Y Z ` ...+. ",
128"@.#.$. %.&.*.=.",
129"-.;.>.,. '.).!.",
130"~.{.]. ^. "};
diff --git a/noncore/apps/zsafe/pics/zsafe/folder_open.xpm b/noncore/apps/zsafe/pics/zsafe/folder_open.xpm
deleted file mode 100644
index 10b4d6c..0000000
--- a/noncore/apps/zsafe/pics/zsafe/folder_open.xpm
+++ b/dev/null
@@ -1,103 +0,0 @@
1/* XPM */
2static char * folder_open_xpm[] = {
3"14 14 86 1",
4 " c None",
5 ".c #E9EAF3",
6 "+c #DCDFEE",
7 "@c #EDEEF5",
8 "#c #ECECF4",
9 "$c #EAEAF3",
10 "%c #879ED4",
11 "&c #A2CAF6",
12 "*c #F1F2F7",
13 "=c #F2F2F8",
14 "-c #E6E6F0",
15 ";c #CFD4EA",
16 ">c #5880D6",
17 ",c #D1E6FC",
18 "'c #CFE4FF",
19 ")c #C3DAF8",
20 "!c #EFF2F7",
21 "~c #F8F8FB",
22 "{c #F3F2F7",
23 "]c #C2D1EB",
24 "^c #9FBCE8",
25 "/c #6FA2EA",
26 "(c #5197F1",
27 "_c #0045C7",
28 ":c #C3DFFB",
29 "<c #CAE1FF",
30 "[c #E0E6EE",
31 "}c #FEFEFE",
32 "|c #C1D5EE",
33 "1c #9BC6F7",
34 "2c #65A7F8",
35 "3c #5A9FF7",
36 "4c #3E7DE3",
37 "5c #002DB1",
38 "6c #ABD1F7",
39 "7c #C4DEFF",
40 "8c #BACDEA",
41 "9c #CEE3F6",
42 "0c #B2D4F3",
43 "ac #9FCBF7",
44 "bc #75B3FA",
45 "cc #589CF6",
46 "dc #3E78E2",
47 "ec #0C39BE",
48 "fc #002CAE",
49 "gc #C1DCFF",
50 "hc #9EC8F8",
51 "ic #C5E4F8",
52 "jc #AED9FD",
53 "kc #87BEFA",
54 "lc #5996F1",
55 "mc #336FE3",
56 "nc #2054CF",
57 "oc #6279C5",
58 "pc #5E71B0",
59 "qc #AFD0FA",
60 "rc #91C2F8",
61 "sc #ABD4F8",
62 "tc #98C9FA",
63 "uc #6FA8F4",
64 "vc #518BEB",
65 "wc #7596DB",
66 "xc #B2B6CF",
67 "yc #B4B4C6",
68 "zc #4C63A8",
69 "Ac #97BFF1",
70 "Bc #8BBEF7",
71 "Cc #94C9FE",
72 "Dc #7EB6F6",
73 "Ec #9DBDEE",
74 "Fc #CBD0E0",
75 "Gc #CBCBD8",
76 "Hc #9BA4C4",
77 "Ic #4A63A7",
78 "Jc #91C1F6",
79 "Kc #BBDCFC",
80 "Lc #E0E7F1",
81 "Mc #E3E2E9",
82 "Nc #B9C1D7",
83 "Oc #6178B6",
84 "Pc #9FC5F0",
85 "Qc #FAFAFB",
86 "Rc #DAE0EC",
87 "Sc #7C99CC",
88 "Tc #82AFE6",
89 "Uc #9CBCE4",
90" ",
91" .+ ",
92" @#$% ",
93" & *=#-; > ",
94" ,')!~{]^/(_ ",
95" :<[}~|12345 ",
96" 67890abcdef ",
97" ghijklmnop ",
98" qrstuvwxyz ",
99" ABCDEFGHI ",
100" JKLMNO ",
101" PQRS ",
102" TU ",
103" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/help_icon.xpm b/noncore/apps/zsafe/pics/zsafe/help_icon.xpm
deleted file mode 100644
index 58e6312..0000000
--- a/noncore/apps/zsafe/pics/zsafe/help_icon.xpm
+++ b/dev/null
@@ -1,119 +0,0 @@
1/* XPM */
2static char * help_icon_xpm[] = {
3"14 14 102 2",
4 " c None",
5 ". c #FBC4AC",
6 "+ c #FBBA9E",
7 "@ c #FEA391",
8 "# c #FDEAE2",
9 "$ c #FDFAF9",
10 "% c #FDFDFD",
11 "& c #FFBEBC",
12 "* c #FE8473",
13 "= c #F64A1B",
14 "- c #FF9687",
15 "; c #FFB7B6",
16 "> c #FDEFEF",
17 ", c #FCFCFC",
18 "' c #FBFBFB",
19 ") c #FBF5F5",
20 "! c #FDCDCD",
21 "~ c #FECCCC",
22 "{ c #FFB2AF",
23 "] c #EE502D",
24 "^ c #FE8F7C",
25 "/ c #FFABAA",
26 "( c #FEBFBF",
27 "_ c #F9B6B5",
28 ": c #EEC9BA",
29 "< c #DAA28A",
30 "[ c #DD7D62",
31 "} c #EF604C",
32 "| c #F7A9A8",
33 "1 c #FDBFBF",
34 "2 c #FEA9A7",
35 "3 c #D25735",
36 "4 c #FF877F",
37 "5 c #FEAAAA",
38 "6 c #F79696",
39 "7 c #E0533A",
40 "8 c #E13A19",
41 "9 c #F4BBBA",
42 "0 c #FBF2F2",
43 "a c #ECC4B8",
44 "b c #FDDCDB",
45 "c c #FAC5C5",
46 "d c #ED7061",
47 "e c #E5B9AA",
48 "f c #F8F8F8",
49 "g c #F9F4F2",
50 "h c #FBC3AB",
51 "i c #F6F6F6",
52 "j c #D9A189",
53 "k c #D7947E",
54 "l c #F5F5F5",
55 "m c #FAFAFA",
56 "n c #AE6A5A",
57 "o c #F4F4F4",
58 "p c #DC9C82",
59 "q c #D28470",
60 "r c #F3F0F0",
61 "s c #F9F9F9",
62 "t c #A66558",
63 "u c #FAF5F3",
64 "v c #F4F3F3",
65 "w c #E9917E",
66 "x c #D02C21",
67 "y c #EE6868",
68 "z c #F68988",
69 "A c #FBAF9E",
70 "B c #F76D6D",
71 "C c #E83838",
72 "D c #DB2908",
73 "E c #C11C08",
74 "F c #E03837",
75 "G c #F14040",
76 "H c #DB2622",
77 "I c #F6390B",
78 "J c #FC2926",
79 "K c #F12B2B",
80 "L c #E22525",
81 "M c #DA5748",
82 "N c #D6937D",
83 "O c #D2917D",
84 "P c #D69C91",
85 "Q c #DC2B2B",
86 "R c #EA2B2B",
87 "S c #F32726",
88 "T c #900D05",
89 "U c #ED2A06",
90 "V c #F91614",
91 "W c #F01616",
92 "X c #EDAAAA",
93 "Y c #ECECEC",
94 "Z c #EFEEEE",
95 "` c #EF7979",
96 " .c #F11514",
97 "..c #A80D06",
98 "+.c #D22301",
99 "@.c #EB1407",
100 "#.c #F5E0DF",
101 "$.c #F3EFEE",
102 "%.c #D8A6A1",
103 "&.c #900C04",
104 "*.c #AE6959",
105 "=.c #A66658",
106" . + ",
107" @ # $ % % & * = ",
108" - ; > , ' ) ! ~ { ] ",
109" ^ / ( _ : < [ } | 1 2 3 ",
110" 4 5 6 7 8 9 0 a ",
111" b c d e f g ",
112"h ' i j k l m n ",
113"+ m o p q r s t ",
114" u v w x y z ",
115" A B C D E F G H ",
116" I J K L M N O P Q R S T ",
117" U V W X Y Y Z ` ... ",
118" +.@.#.i i $.%.&. ",
119" *.=. "};
diff --git a/noncore/apps/zsafe/pics/zsafe/new.xpm b/noncore/apps/zsafe/pics/zsafe/new.xpm
deleted file mode 100644
index d5f7e25..0000000
--- a/noncore/apps/zsafe/pics/zsafe/new.xpm
+++ b/dev/null
@@ -1,115 +0,0 @@
1/* XPM */
2static char * new_xpm[] = {
3"14 14 98 2",
4 " c None",
5 ". c #CBD5E6",
6 "+ c #E1E6EF",
7 "@ c #E0E6EF",
8 "# c #DBE2EE",
9 "$ c #D1DAE9",
10 "% c #BCC7DC",
11 "& c #D9E1EE",
12 "* c #FFFFFF",
13 "= c #FDFFFF",
14 "- c #F2F7FE",
15 "; c #E4EAF5",
16 "> c #C8D2E4",
17 ", c #D3DCEB",
18 "' c #FEFFFF",
19 ") c #F7FAFF",
20 "! c #EAEEF8",
21 "~ c #CDD6E7",
22 "{ c #EAEEF5",
23 "] c #CCD5E5",
24 "^ c #F9FCFF",
25 "/ c #EDF2FB",
26 "( c #D9E1EF",
27 "_ c #B6C2D6",
28 ": c #A3B2CB",
29 "< c #94A5C0",
30 "[ c #FAFDFF",
31 "} c #F0F4FB",
32 "| c #EAC99F",
33 "1 c #C7C9D0",
34 "2 c #B7C4DA",
35 "3 c #A1B0CA",
36 "4 c #F8FBFF",
37 "5 c #ECE6E2",
38 "6 c #F7C05D",
39 "7 c #D2AE82",
40 "8 c #C2CDE0",
41 "9 c #AAB8CF",
42 "0 c #E9EFF8",
43 "a c #E8C9A0",
44 "b c #FDEA5A",
45 "c c #EABA5D",
46 "d c #CACED8",
47 "e c #B1BDD3",
48 "f c #FFFAF3",
49 "g c #FEE0AF",
50 "h c #F5D39F",
51 "i c #F1CA86",
52 "j c #F7CB5D",
53 "k c #FFFE4C",
54 "l c #FAE75A",
55 "m c #E1AE69",
56 "n c #CBA57C",
57 "o c #FFFAF2",
58 "p c #F9C671",
59 "q c #FEDF57",
60 "r c #FFF24A",
61 "s c #FFF643",
62 "t c #FFF838",
63 "u c #FFF83D",
64 "v c #FEF247",
65 "w c #FBE248",
66 "x c #E19226",
67 "y c #FEFEFF",
68 "z c #F2F1F0",
69 "A c #F0C47A",
70 "B c #FBCF23",
71 "C c #FFE324",
72 "D c #FDD426",
73 "E c #D6932B",
74 "F c #FDFEFF",
75 "G c #F1F5FD",
76 "H c #ECF0F6",
77 "I c #F3AB31",
78 "J c #FFCC10",
79 "K c #FFCB10",
80 "L c #F6AD11",
81 "M c #AC8C77",
82 "N c #FAFCFE",
83 "O c #EFF4FC",
84 "P c #ECE9E9",
85 "Q c #F6A113",
86 "R c #FDA902",
87 "S c #F2960B",
88 "T c #F8A403",
89 "U c #FAA402",
90 "V c #B2805C",
91 "W c #C3CEE0",
92 "X c #D1D8E3",
93 "Y c #CAD3E1",
94 "Z c #D1BEB1",
95 "` c #EE8208",
96 " .c #C77D33",
97 "..c #AF9A8F",
98 "+.c #B98B69",
99 "@.c #DA7614",
100 "#.c #B96730",
101 "$.c #983C0A",
102" . + + @ # $ % ",
103" & * * = - ; > , ",
104" & * * ' ) ! ~ { ] ",
105" & * * * ^ / ( _ : < ",
106" & * * * [ } | 1 2 3 ",
107" & * * ' 4 5 6 7 8 9 ",
108" & * ' [ 0 a b c d e ",
109" & f g h i j k l m n ",
110" & o p q r s t u v w x ",
111" & y z A B C C C D E ",
112" & F G H I J K J L M ",
113" & N O P Q R S T U V ",
114" W X Y Z ` ...+.@.#. ",
115" $. "};
diff --git a/noncore/apps/zsafe/pics/zsafe/pass.xpm b/noncore/apps/zsafe/pics/zsafe/pass.xpm
deleted file mode 100644
index 512c262..0000000
--- a/noncore/apps/zsafe/pics/zsafe/pass.xpm
+++ b/dev/null
@@ -1,20 +0,0 @@
1/* XPM */
2static char * pass_xpm[] = {
3"16 14 3 1",
4 " c None",
5 ".c #000000",
6 "+c #FFFF00",
7" ",
8" ",
9" ..... . ",
10" .+++. .+. ",
11" .+++. .+++. ",
12" .+++. .+++++. ",
13" .+++..+++++++.",
14"...+++....+++...",
15".+++++++..+++. ",
16" .+++++. .+++. ",
17" .+++. .+++. ",
18" .+. .+++. ",
19" . .+++. ",
20" ..... "};
diff --git a/noncore/apps/zsafe/pics/zsafe/paste.xpm b/noncore/apps/zsafe/pics/zsafe/paste.xpm
deleted file mode 100644
index 546366f..0000000
--- a/noncore/apps/zsafe/pics/zsafe/paste.xpm
+++ b/dev/null
@@ -1,159 +0,0 @@
1/* XPM */
2static char * paste_xpm[] = {
3"14 14 142 2",
4 " c None",
5 ". c #96A0AC",
6 "+ c #9BB0D4",
7 "@ c #5E7095",
8 "# c #EFBE61",
9 "$ c #F2D797",
10 "% c #EDCF86",
11 "& c #BAAF8F",
12 "* c #A7B4C7",
13 "= c #C9D6EB",
14 "- c #C0D1EB",
15 "; c #7E8289",
16 "> c #C39033",
17 ", c #D58C1D",
18 "' c #7E440B",
19 ") c #F0C470",
20 "! c #F5F0D4",
21 "~ c #DDD6B5",
22 "{ c #8695A8",
23 "] c #7285A7",
24 "^ c #7786A1",
25 "/ c #7A879C",
26 "( c #69748E",
27 "_ c #946339",
28 ": c #F67202",
29 "< c #A44102",
30 "[ c #F0C36E",
31 "} c #F4EBCC",
32 "| c #ECDCAF",
33 "1 c #CDC29B",
34 "2 c #C1B486",
35 "3 c #C3A86B",
36 "4 c #B8924A",
37 "5 c #B17B31",
38 "6 c #C66C1C",
39 "7 c #DE6610",
40 "8 c #944311",
41 "9 c #F3E7C5",
42 "0 c #F4E1AA",
43 "a c #F7DF9B",
44 "b c #F8D781",
45 "c c #F7C353",
46 "d c #CFA555",
47 "e c #B8B7AC",
48 "f c #C2B1AA",
49 "g c #B7AAAC",
50 "h c #9BA0B2",
51 "i c #55739A",
52 "j c #F3E3B5",
53 "k c #F3D893",
54 "l c #F3D485",
55 "m c #F4C663",
56 "n c #F3AA27",
57 "o c #BC9656",
58 "p c #C5E2FF",
59 "q c #BFDAFB",
60 "r c #ADCFFC",
61 "s c #A9CCFD",
62 "t c #6EABF2",
63 "u c #2061A8",
64 "v c #F0C36D",
65 "w c #F3E2AD",
66 "x c #F3D890",
67 "y c #F3CC73",
68 "z c #F4B63E",
69 "A c #F3A216",
70 "B c #BC9859",
71 "C c #CDE6FE",
72 "D c #C8DFFB",
73 "E c #BAD6FB",
74 "F c #A8CCFB",
75 "G c #5DA3F8",
76 "H c #218AF6",
77 "I c #F3E0AF",
78 "J c #F3D181",
79 "K c #F3C056",
80 "L c #F4B539",
81 "M c #F2AB22",
82 "N c #BC9C60",
83 "O c #CCE5FE",
84 "P c #C7DEFB",
85 "Q c #B8D5FB",
86 "R c #BBD5FD",
87 "S c #ABCAFE",
88 "T c #6CB0FF",
89 "U c #F3DDA7",
90 "V c #F3C564",
91 "W c #F3BC4C",
92 "X c #F4B63C",
93 "Y c #F3AC26",
94 "Z c #BC9E63",
95 "` c #CAE4FF",
96 " .c #BCD7FB",
97 "..c #A4C8FB",
98 "+.c #92BBFB",
99 "@.c #8EB7FB",
100 "#.c #72B3FE",
101 "$.c #F3D99A",
102 "%.c #F3BD50",
103 "&.c #F3BA45",
104 "*.c #F4B53B",
105 "=.c #F3AC25",
106 "-.c #BC9D63",
107 ";.c #CAE5FF",
108 ">.c #BBD6FB",
109 ",.c #A1C5FB",
110 "'.c #99C1FB",
111 ").c #9CC1FC",
112 "!.c #7CB9FE",
113 "~.c #F5C870",
114 "{.c #F8DC9B",
115 "].c #F8C65C",
116 "^.c #F8C252",
117 "/.c #F8BE49",
118 "(.c #F7B534",
119 "_.c #BFA46C",
120 ":.c #CBE4FF",
121 "<.c #B7D3FB",
122 "[.c #A4C6FB",
123 "}.c #A0C4FB",
124 "|.c #A2C4FC",
125 "1.c #80BDFF",
126 "2.c #B08749",
127 "3.c #B78958",
128 "4.c #B48041",
129 "5.c #B47D3A",
130 "6.c #B47C36",
131 "7.c #B3742B",
132 "8.c #927D68",
133 "9.c #C4E7FF",
134 "0.c #C1DEFE",
135 "a.c #B4D6FE",
136 "b.c #AED3FE",
137 "c.c #AED2FE",
138 "d.c #7DC1FF",
139 "e.c #303341",
140 "f.c #3A7CBA",
141 "g.c #3C78B3",
142 "h.c #3975B3",
143 "i.c #3774B3",
144 "j.c #3674B3",
145 "k.c #2570B9",
146" . + @ ",
147"# $ % & * = - ; > , ' ",
148") ! ~ { ] ^ / ( _ : < ",
149"[ } | 1 2 3 4 5 6 7 8 ",
150"[ 9 0 a b c d e f g h i ",
151"[ j k l m n o p q r s t u ",
152"v w x y z A B C D E F G H ",
153"v I J K L M N O P Q R S T ",
154"[ U V W X Y Z ` ...+.@.#. ",
155"v $.%.&.*.=.-.;.>.,.'.).!. ",
156"~.{.].^./.(._.:.<.[.}.|.1. ",
157"2.3.4.5.6.7.8.9.0.a.b.c.d. ",
158" e.f.g.h.i.j.k. ",
159" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/quit_icon.xpm b/noncore/apps/zsafe/pics/zsafe/quit_icon.xpm
deleted file mode 100644
index 5e1b983..0000000
--- a/noncore/apps/zsafe/pics/zsafe/quit_icon.xpm
+++ b/dev/null
@@ -1,120 +0,0 @@
1/* XPM */
2static char * quit_icon_xpm[] = {
3"14 14 103 2",
4 " c None",
5 ". c #C50000",
6 "+ c #C20000",
7 "@ c #CB0000",
8 "# c #D51313",
9 "$ c #E44A4A",
10 "% c #ED6F6F",
11 "& c #EC7070",
12 "* c #E05050",
13 "= c #C91A1A",
14 "- c #B30000",
15 "; c #CD0000",
16 "> c #E53B3B",
17 ", c #FBB1B1",
18 "' c #FFD6D6",
19 ") c #FFD9D9",
20 "! c #FFD7D7",
21 "~ c #FBBCBC",
22 "{ c #DB4C4C",
23 "] c #B00000",
24 "^ c #CA0000",
25 "/ c #E52F2F",
26 "( c #FEADAD",
27 "_ c #FFBDBD",
28 ": c #FFB3B3",
29 "< c #FEB1B1",
30 "[ c #D84343",
31 "} c #A60000",
32 "| c #D50808",
33 "1 c #FB7272",
34 "2 c #FFBCBC",
35 "3 c #FFFFFF",
36 "4 c #FFE7E7",
37 "5 c #FF9B9B",
38 "6 c #FFBBBB",
39 "7 c #FA7171",
40 "8 c #B90C0C",
41 "9 c #E41B1B",
42 "0 c #FF6464",
43 "a c #FF7474",
44 "b c #FFE0E0",
45 "c c #FCC6C6",
46 "d c #F63535",
47 "e c #F30E0E",
48 "f c #D00202",
49 "g c #EC1C1C",
50 "h c #FF3F3F",
51 "i c #FF5252",
52 "j c #FFD2D2",
53 "k c #F31C1C",
54 "l c #F20000",
55 "m c #DC0000",
56 "n c #9B0000",
57 "o c #C10000",
58 "p c #EC0A0A",
59 "q c #FF1616",
60 "r c #FF3131",
61 "s c #FFCECE",
62 "t c #F41C1C",
63 "u c #F40000",
64 "v c #970000",
65 "w c #E10000",
66 "x c #FE0101",
67 "y c #FE1B1B",
68 "z c #FFC5C5",
69 "A c #FFC6C6",
70 "B c #FDC4C4",
71 "C c #FA1A1A",
72 "D c #FA0000",
73 "E c #CF0000",
74 "F c #CB0202",
75 "G c #FC0909",
76 "H c #FF6D6D",
77 "I c #FFC8C8",
78 "J c #FF2525",
79 "K c #FB0909",
80 "L c #AE0202",
81 "M c #B30101",
82 "N c #DE1313",
83 "O c #FF2828",
84 "P c #FF7E7E",
85 "Q c #FF3A3A",
86 "R c #FF2323",
87 "S c #FE2828",
88 "T c #D01313",
89 "U c #8E0101",
90 "V c #B00404",
91 "W c #DB2121",
92 "X c #FC3B3B",
93 "Y c #FF3D3D",
94 "Z c #FB3B3B",
95 "` c #D02121",
96 " .c #930404",
97 "..c #A50202",
98 "+.c #BB1616",
99 "@.c #D73131",
100 "#.c #E63F3F",
101 "$.c #E53F3F",
102 "%.c #D33131",
103 "&.c #AF1616",
104 "*.c #8E0202",
105 "=.c #9B0505",
106 "-.c #970505",
107" . + ",
108" @ # $ % & * = - ",
109" ; > , ' ) ) ! ~ { ] ",
110" ^ / ( ' _ : : _ ' < [ } ",
111" | 1 2 3 4 5 5 4 3 6 7 8 ",
112" 9 0 a ) 3 b b 3 c d e f ",
113". g h h i j 3 3 c k l l m n ",
114"o p q q r s 3 3 c t u u m v ",
115" w x y z 3 A A 3 B C D E ",
116" F G H 3 I J J I 3 H K L ",
117" M N O P Q R R Q P S T U ",
118" V W X Y Y Y Y Z ` . ",
119" ..+.@.#.$.%.&.*. ",
120" =.-. "};
diff --git a/noncore/apps/zsafe/pics/zsafe/save.xpm b/noncore/apps/zsafe/pics/zsafe/save.xpm
deleted file mode 100644
index f7e5cf3..0000000
--- a/noncore/apps/zsafe/pics/zsafe/save.xpm
+++ b/dev/null
@@ -1,117 +0,0 @@
1/* XPM */
2static char * save_xpm[] = {
3"14 14 100 2",
4 " c None",
5 ". c #788F79",
6 "+ c #36B43E",
7 "@ c #52A357",
8 "# c #5E5E5E",
9 "$ c #949494",
10 "% c #9D9E9D",
11 "& c #E9F8E9",
12 "* c #E6F4E6",
13 "= c #E6F5E6",
14 "- c #E5F4E5",
15 "; c #E4F3E4",
16 "> c #C3CBC3",
17 ", c #595959",
18 "' c #8F8F8F",
19 ") c #999999",
20 "! c #FAFAFA",
21 "~ c #F6F6F6",
22 "{ c #F5F5F5",
23 "] c #F4F4F4",
24 "^ c #F2F2F2",
25 "/ c #EEEEEE",
26 "( c #EAEAEA",
27 "_ c #BEBEBE",
28 ": c #575757",
29 "< c #8E8E8E",
30 "[ c #9B9B9B",
31 "} c #F8F8F8",
32 "| c #F3F3F3",
33 "1 c #F1F1F1",
34 "2 c #EBEBEB",
35 "3 c #E5E5E5",
36 "4 c #DFDFDF",
37 "5 c #DBDBDB",
38 "6 c #AEAEAE",
39 "7 c #4D4D4D",
40 "8 c #9D9D9D",
41 "9 c #E7E7E7",
42 "0 c #E1E1E1",
43 "a c #DADADA",
44 "b c #D4D4D4",
45 "c c #CECECE",
46 "d c #C9C9C9",
47 "e c #484848",
48 "f c #909090",
49 "g c #8C8C8C",
50 "h c #C4C4C4",
51 "i c #BDBDBD",
52 "j c #B5B5B5",
53 "k c #AFAFAF",
54 "l c #AAAAAA",
55 "m c #A4A4A4",
56 "n c #9C9C9C",
57 "o c #797979",
58 "p c #444444",
59 "q c #7D7D7D",
60 "r c #767676",
61 "s c #6E6E6E",
62 "t c #656565",
63 "u c #5D5D5D",
64 "v c #5C5C5C",
65 "w c #585858",
66 "x c #515151",
67 "y c #3B3B3B",
68 "z c #888888",
69 "A c #737373",
70 "B c #C2C2C2",
71 "C c #C7C7C7",
72 "D c #ABABAB",
73 "E c #606060",
74 "F c #353535",
75 "G c #828282",
76 "H c #6D6D6D",
77 "I c #D9D9D9",
78 "J c #A9A9A9",
79 "K c #BFBFBF",
80 "L c #B3B3B3",
81 "M c #424242",
82 "N c #313131",
83 "O c #7E7E7E",
84 "P c #6B6B6B",
85 "Q c #747474",
86 "R c #979797",
87 "S c #A0A0A0",
88 "T c #9E9E9E",
89 "U c #A2A2A2",
90 "V c #404040",
91 "W c #2F2F2F",
92 "X c #636363",
93 "Y c #B0B0B0",
94 "Z c #929292",
95 "` c #B8B8B8",
96 " .c #3C3C3C",
97 "..c #252525",
98 "+.c #191919",
99 "@.c #1F1F1F",
100 "#.c #292929",
101 "$.c #282828",
102 "%.c #1A1A1A",
103 "&.c #101010",
104" ",
105" . + + + + + + + @ # ",
106" $ % & * = = = - ; > , ",
107" ' ) ! ~ { ] ^ / ( _ : ",
108" < [ } | 1 2 3 4 5 6 7 ",
109" ' 8 ^ 9 0 a b c d [ e ",
110" f g h i j k l m n o p ",
111" ' q r s t u v v w x y ",
112" z A h B C C B D E e F ",
113" G H I o J K L 8 : M N ",
114" O P C Q R S T U : V W ",
115" X Y Z < [ J ` , ... ",
116" +.@.#.#.#.#.$.%.&. ",
117" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/trash.xpm b/noncore/apps/zsafe/pics/zsafe/trash.xpm
deleted file mode 100644
index df85d02..0000000
--- a/noncore/apps/zsafe/pics/zsafe/trash.xpm
+++ b/dev/null
@@ -1,127 +0,0 @@
1/* XPM */
2static char * trash_xpm[] = {
3"14 14 110 2",
4 " c None",
5 ". c #BEBEBD",
6 "+ c #B2B2B2",
7 "@ c #A5A5A6",
8 "# c #979797",
9 "$ c #8B8B8C",
10 "% c #DCDDDD",
11 "& c #D4D4D4",
12 "* c #C2C3C3",
13 "= c #B4B5B4",
14 "- c #A5A5A5",
15 "; c #969698",
16 "> c #8C8C8D",
17 ", c #7D7E7E",
18 "' c #717071",
19 ") c #C8C8C8",
20 "! c #EAEAEA",
21 "~ c #C3C4C3",
22 "{ c #B9BABA",
23 "] c #AFAFB0",
24 "^ c #A2A2A2",
25 "/ c #959495",
26 "( c #8C8C8C",
27 "_ c #7B7C7C",
28 ": c #676767",
29 "< c #535353",
30 "[ c #ABACAC",
31 "} c #DBDBDA",
32 "| c #D1D1D1",
33 "1 c #C5C5C5",
34 "2 c #B5B5B5",
35 "3 c #A3A3A4",
36 "4 c #9A999A",
37 "5 c #848484",
38 "6 c #626262",
39 "7 c #474747",
40 "8 c #A4A5A5",
41 "9 c #C2C2C2",
42 "0 c #C6C6C5",
43 "a c #BBBBBB",
44 "b c #AEAEAE",
45 "c c #9D9D9D",
46 "d c #939393",
47 "e c #7B7B7C",
48 "f c #595959",
49 "g c #494949",
50 "h c #A1A1A1",
51 "i c #B6B6B6",
52 "j c #A9AAA9",
53 "k c #9B9B9B",
54 "l c #7F7F7F",
55 "m c #686868",
56 "n c #4E4E4E",
57 "o c #4B4A4B",
58 "p c #BEBEBE",
59 "q c #EDEDED",
60 "r c #CFCFCF",
61 "s c #ABABAB",
62 "t c #A0A0A0",
63 "u c #939394",
64 "v c #888889",
65 "w c #696969",
66 "x c #4D4D4D",
67 "y c #484848",
68 "z c #C0C0C0",
69 "A c #ECECEC",
70 "B c #CDCDCD",
71 "C c #AAAAAA",
72 "D c #9F9F9F",
73 "E c #929393",
74 "F c #8A8A8A",
75 "G c #7A7A7A",
76 "H c #5E5E5E",
77 "I c #BCBCBC",
78 "J c #E0E0E0",
79 "K c #C6C6C6",
80 "L c #A9A9A9",
81 "M c #9E9E9D",
82 "N c #909190",
83 "O c #868687",
84 "P c #757575",
85 "Q c #5C5C5C",
86 "R c #B9B9B9",
87 "S c #A8A8A8",
88 "T c #8F8F8E",
89 "U c #707070",
90 "V c #575757",
91 "W c #C9C9C9",
92 "X c #BABABA",
93 "Y c #A7A8A8",
94 "Z c #9C9C9C",
95 "` c #8E8D8C",
96 " .c #828281",
97 "..c #6C6C6C",
98 "+.c #525252",
99 "@.c #3C3C3C",
100 "#.c #BBBABB",
101 "$.c #A7A7A7",
102 "%.c #9A9A9A",
103 "&.c #8B8B8B",
104 "*.c #7E7E7E",
105 "=.c #4C4C4C",
106 "-.c #302F2F",
107 ";.c #ACACAC",
108 ">.c #A3A3A3",
109 ",.c #979798",
110 "'.c #868686",
111 ").c #777777",
112 "!.c #3E3E3E",
113 "~.c #212121",
114" . + @ # $ ",
115" % & * = - ; > , ' ",
116") ! ~ { ] ^ / ( _ : < ",
117"[ } | | 1 2 3 4 5 6 7 ",
118"8 9 1 0 a b c d e f g ",
119" h i 2 j k $ l m n o ",
120" p q r s t u v w x y ",
121" z A B C D E F G H g ",
122" I J K L M N O P Q n ",
123" R & z S c T 5 U V g ",
124" i W X Y Z ` ...+.@. ",
125" + #.+ $.%.&.*.: =.-. ",
126" ;.$.L >.,.'.).f !.~. ",
127" "};
diff --git a/noncore/apps/zsafe/pics/zsafe/zsafe.png b/noncore/apps/zsafe/pics/zsafe/zsafe.png
deleted file mode 100644
index 34f5170..0000000
--- a/noncore/apps/zsafe/pics/zsafe/zsafe.png
+++ b/dev/null
Binary files differ
diff --git a/noncore/apps/zsafe/pics/zsafe/zsafe.xpm b/noncore/apps/zsafe/pics/zsafe/zsafe.xpm
deleted file mode 100644
index 75a2551..0000000
--- a/noncore/apps/zsafe/pics/zsafe/zsafe.xpm
+++ b/dev/null
@@ -1,306 +0,0 @@
1/* XPM */
2static char * zsafe_xpm[] = {
3"32 32 271 2",
4 " c None",
5 ". c #8E8EA9",
6 "+ c #8F8FA9",
7 "@ c #8C8CA7",
8 "# c #8B8BA6",
9 "$ c #AEAEC1",
10 "% c #CACAD6",
11 "& c #DEDEE5",
12 "* c #DBDBE2",
13 "= c #CDCDD7",
14 "- c #A9A9BC",
15 "; c #8D8DA8",
16 "> c #83839C",
17 ", c #8686A2",
18 "' c #A4A4B9",
19 ") c #EEEEF1",
20 "! c #FEFEFE",
21 "~ c #FFFFFF",
22 "{ c #FDFDFD",
23 "] c #E4E4E8",
24 "^ c #9F9FB4",
25 "/ c #82829D",
26 "( c #80809D",
27 "_ c #B0B0C2",
28 ": c #FBFBFB",
29 "< c #F3F3F3",
30 "[ c #EDEDED",
31 "} c #EBEBEB",
32 "| c #ECECEC",
33 "1 c #F6F6F6",
34 "2 c #FAFAFA",
35 "3 c #A9A9BB",
36 "4 c #7B7B97",
37 "5 c #7A7A98",
38 "6 c #9B9BB1",
39 "7 c #F2F2F2",
40 "8 c #D3D3D9",
41 "9 c #B6B6C4",
42 "0 c #AEAEBD",
43 "a c #CACAD0",
44 "b c #D9D9D9",
45 "c c #E5E5E5",
46 "d c #FCFCFC",
47 "e c #9898AC",
48 "f c #6B6B85",
49 "g c #777795",
50 "h c #ECECEF",
51 "i c #F0F0F0",
52 "j c #E3E3E5",
53 "k c #9292A9",
54 "l c #757592",
55 "m c #666680",
56 "n c #676780",
57 "o c #72728F",
58 "p c #8888A1",
59 "q c #C0C0C5",
60 "r c #DADADA",
61 "s c #E5E5E6",
62 "t c #7B7B98",
63 "u c #6F6F8E",
64 "v c #A3A3B6",
65 "w c #F4F4F4",
66 "x c #E9E9E9",
67 "y c #8787A0",
68 "z c #60607B",
69 "A c #5E5E78",
70 "B c #767693",
71 "C c #C3C3C5",
72 "D c #E2E2E2",
73 "E c #9696AA",
74 "F c #6A6A89",
75 "G c #E8E8E8",
76 "H c #B7B7C3",
77 "I c #656583",
78 "J c #636380",
79 "K c #8C8CA0",
80 "L c #C4C4C4",
81 "M c #BFBFC9",
82 "N c #626280",
83 "O c #666686",
84 "P c #EFEFF1",
85 "Q c #F5F5F5",
86 "R c #E3E3E3",
87 "S c #85859D",
88 "T c #46465C",
89 "U c #6B6B8A",
90 "V c #BCBCBC",
91 "W c #EEEEEE",
92 "X c #DFDFE1",
93 "Y c #606082",
94 "Z c #F8F8F8",
95 "` c #DEDEDE",
96 " .c #7F7F98",
97 "..c #B7B7B7",
98 "+.c #5B5B7D",
99 "@.c #EAEAEA",
100 "#.c #7A7A93",
101 "$.c #B6B6B6",
102 "%.c #D7D7D7",
103 "&.c #E7E7E7",
104 "*.c #555578",
105 "=.c #D5D5D5",
106 "-.c #75758F",
107 ";.c #D3D3D3",
108 ">.c #E1E1E1",
109 ",.c #545477",
110 "'.c #E4E4E4",
111 ").c #DDDDDD",
112 "!.c #D0D0D0",
113 "~.c #73738D",
114 "{.c #CFCFCF",
115 "].c #DBDBDB",
116 "^.c #D7922A",
117 "/.c #977451",
118 "(.c #DCB985",
119 "_.c #D9B682",
120 ":.c #D3B07C",
121 "<.c #A6835B",
122 "[.c #A67632",
123 "}.c #C08326",
124 "|.c #CF8C29",
125 "1.c #D18E29",
126 "2.c #C8A571",
127 "3.c #D3B07B",
128 "4.c #D8B581",
129 "5.c #B17823",
130 "6.c #CB892A",
131 "7.c #D08C2A",
132 "8.c #DDAA48",
133 "9.c #EAC766",
134 "0.c #BD7F27",
135 "a.c #C1802A",
136 "b.c #E5C76C",
137 "c.c #FFFD99",
138 "d.c #FFFC75",
139 "e.c #FFFC6F",
140 "f.c #E5C760",
141 "g.c #B27529",
142 "h.c #ECD880",
143 "i.c #FFF242",
144 "j.c #FFF23C",
145 "k.c #FFE635",
146 "l.c #ECA41E",
147 "m.c #A46928",
148 "n.c #E8CF65",
149 "o.c #FFEA37",
150 "p.c #FFB81C",
151 "q.c #E89A1A",
152 "r.c #955E28",
153 "s.c #E5C863",
154 "t.c #FFE233",
155 "u.c #FFDF31",
156 "v.c #FFB51B",
157 "w.c #FFA814",
158 "x.c #E59418",
159 "y.c #875327",
160 "z.c #E1C161",
161 "A.c #FFDA2E",
162 "B.c #FFD42B",
163 "C.c #FFB319",
164 "D.c #FFA713",
165 "E.c #FFA412",
166 "F.c #E18E16",
167 "G.c #784726",
168 "H.c #DDBA5E",
169 "I.c #FFD12A",
170 "J.c #FFC523",
171 "K.c #FFAB15",
172 "L.c #FFA613",
173 "M.c #FFA311",
174 "N.c #FFA110",
175 "O.c #DD8814",
176 "P.c #744426",
177 "Q.c #DCB65C",
178 "R.c #FFC926",
179 "S.c #FFC624",
180 "T.c #FFB41A",
181 "U.c #FFA512",
182 "V.c #FFA211",
183 "W.c #FF9F0F",
184 "X.c #FF9D0E",
185 "Y.c #DC8513",
186 "Z.c #DCB15A",
187 "`.c #FFC121",
188 " +c #FFBF20",
189 ".+c #FFBE1F",
190 "++c #FFBD1F",
191 "@+c #FFB91D",
192 "#+c #FFA914",
193 "$+c #FF9E0E",
194 "%+c #FF9C0D",
195 "&+c #FF990C",
196 "*+c #DC8211",
197 "=+c #DCAD58",
198 "-+c #FFB81D",
199 ";+c #FFBC1F",
200 ">+c #FFBC1E",
201 ",+c #FFBA1D",
202 "'+c #FFB71C",
203 ")+c #FFB51A",
204 "!+c #FFB219",
205 "~+c #FFAF18",
206 "{+c #FFAD16",
207 "]+c #FFAA15",
208 "^+c #FFA813",
209 "/+c #FFA00F",
210 "(+c #FF9A0C",
211 "_+c #FF980B",
212 ":+c #FF950A",
213 "<+c #DC7F10",
214 "[+c #DCA955",
215 "}+c #FFB118",
216 "|+c #FFBB1E",
217 "1+c #FFB61B",
218 "2+c #FFB31A",
219 "3+c #FFAE17",
220 "4+c #FFAC16",
221 "5+c #FFA411",
222 "6+c #FF970A",
223 "7+c #FF9409",
224 "8+c #FF9108",
225 "9+c #DC7C0E",
226 "0+c #DCA553",
227 "a+c #FFB018",
228 "b+c #FF9B0D",
229 "c+c #FF9308",
230 "d+c #FF9007",
231 "e+c #FF8D06",
232 "f+c #DC790D",
233 "g+c #DCAC57",
234 "h+c #FFB119",
235 "i+c #FF970B",
236 "j+c #FF9208",
237 "k+c #FF8F06",
238 "l+c #FF8C05",
239 "m+c #FF8A04",
240 "n+c #DC760B",
241 "o+c #C29759",
242 "p+c #FFBE31",
243 "q+c #FF960A",
244 "r+c #FF9309",
245 "s+c #FF8E06",
246 "t+c #FF8B04",
247 "u+c #FF8803",
248 "v+c #FF8602",
249 "w+c #C26912",
250 "x+c #714225",
251 "y+c #9F713F",
252 "z+c #BA7E27",
253 "A+c #BA7A1F",
254 "B+c #BA781E",
255 "C+c #BA771D",
256 "D+c #BA761D",
257 "E+c #BA741C",
258 "F+c #BA731B",
259 "G+c #BA721B",
260 "H+c #BA711A",
261 "I+c #BA6F19",
262 "J+c #BA6E19",
263 "K+c #BA6D18",
264 "L+c #BA6B17",
265 "M+c #BA6A16",
266 "N+c #BA6916",
267 "O+c #BA6715",
268 "P+c #BA6614",
269 "Q+c #BA6514",
270 "R+c #9F581A",
271 "S+c #6A3E23",
272 "T+c #653B21",
273 "U+c #6B3F23",
274 "V+c #5B351E",
275" ",
276" . + . @ ",
277" # @ $ % & * = - ; > ",
278" , ' ) ! ~ ~ ~ ~ { ] ^ / ",
279" ( _ ! ~ : < [ } | 1 ~ 2 3 4 ",
280" 5 6 ! ! 7 } 8 9 0 a b c d d e f ",
281" g h ! i j k l m n o p q r ~ s t ",
282" u v ~ w x y z A B C D ~ E z ",
283" F = ! G H I J K L ~ M N ",
284" O P Q R S T U V W X O ",
285" Y Z i ` . Y ..r | Y ",
286" +.7 @.r #. +.$.%.&.+. ",
287" *.} R =.-. *.$.;.>.*. ",
288" ,.'.).!.~. ,.$.{.].,. ",
289" ^./.(._.:.<.[.}.|.1.1.1.1.1./.2.3.4./.5. ",
290" 6.7.8.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.9.8.7.0. ",
291" a.b.c.d.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.e.f.a. ",
292" g.h.i.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.k.l.g. ",
293" m.n.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.o.k.p.q.m. ",
294" r.s.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.u.v.w.x.r. ",
295" y.z.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.A.B.C.D.E.F.y. ",
296" G.H.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.J.K.L.M.N.O.G. ",
297" P.Q.R.R.R.R.R.R.R.R.R.R.R.R.R.S.T.D.U.V.W.X.Y.P. ",
298" P.Z.`.`.`.`.`.`. + +.+++++@+T.#+L.M.N.$+%+&+*+P. ",
299" P.=+-+-+;+++>+,+'+)+!+~+{+]+^+U.V./+X.(+_+:+<+P. ",
300" P.[+}+++.+|+@+1+2+}+3+4+#+L.5+N.W.%+&+6+7+8+9+P. ",
301" P.0+|+++,+p.v.!+a+{+]+w.U.M./+X.b+_+:+c+d+e+f+P. ",
302" P.g+>+@+1+T.h+3+4+#+D.E.N.W.%+&+i+7+j+k+l+m+n+P. ",
303" P.o+p+v.!+a+{+K.w.U.M./+$+b+_+q+r+d+s+t+u+v+w+P. ",
304" x+P.y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+P.S+ ",
305" T+U+S+S+S+S+S+S+S+S+S+S+S+S+S+S+S+S+S+S+S+V+ ",
306" "};
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index 2b182f9..f70f863 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -1,126 +1,110 @@
1/**************************************************************************** 1/****************************************************************************
2** 2**
3** Created: Sat Apr 6 17:57:45 2002 3** Created: Sat Apr 6 17:57:45 2002
4** 4**
5** Author: Carsten Schneider <CarstenSchneider@t-online.de> 5** Author: Carsten Schneider <CarstenSchneider@t-online.de>
6** 6**
7** $Id$ 7** $Id$
8** 8**
9** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html 9** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html
10** 10**
11** 11**
12****************************************************************************/ 12****************************************************************************/
13#include "zsafe.h" 13#include "zsafe.h"
14#include "newdialog.h" 14#include "newdialog.h"
15#include "searchdialog.h" 15#include "searchdialog.h"
16#include "categorydialog.h" 16#include "categorydialog.h"
17#include "passworddialog.h" 17#include "passworddialog.h"
18#include "infoform.h" 18#include "infoform.h"
19#include "zlistview.h" 19#include "zlistview.h"
20#include "shadedlistitem.h" 20#include "shadedlistitem.h"
21 21
22#include <opie2/oresource.h>
22#include <opie2/ofiledialog.h> 23#include <opie2/ofiledialog.h>
23#include <opie2/odebug.h> 24#include <opie2/odebug.h>
24using namespace Opie::Core; 25using namespace Opie::Core;
25using namespace Opie::Ui; 26using namespace Opie::Ui;
26 27
27#include <qclipboard.h> 28#include <qclipboard.h>
28 29
29#include <sys/types.h> 30#include <sys/types.h>
30#include <sys/stat.h> 31#include <sys/stat.h>
31#include <fcntl.h> 32#include <fcntl.h>
32#include <stdlib.h> 33#include <stdlib.h>
33#include <unistd.h> 34#include <unistd.h>
34#include <string.h> 35#include <string.h>
35#include <errno.h> 36#include <errno.h>
36 37
37#include <qmenubar.h> 38#include <qmenubar.h>
38#include <qpopupmenu.h> 39#include <qpopupmenu.h>
39 40
40#include <qfile.h> 41#include <qfile.h>
41#include <qpe/fileselector.h> 42#include <qpe/applnk.h>
42#include <qpe/global.h> 43#include <qpe/global.h>
43#include <qpe/qpeapplication.h> 44#include <qpe/qpeapplication.h>
44#include <qpe/resource.h>
45#include <qpe/config.h> 45#include <qpe/config.h>
46 46
47#include <qaction.h>
47#include <qtimer.h> 48#include <qtimer.h>
48#include <qlayout.h> 49#include <qlayout.h>
49#include <qmessagebox.h> 50#include <qmessagebox.h>
50#include <qfile.h> 51#include <qfile.h>
51#include <qtextstream.h> 52#include <qtextstream.h>
52#include <qheader.h> 53#include <qheader.h>
53#include <qlistview.h> 54#include <qlistview.h>
54#include <qtoolbutton.h>
55#include <qvariant.h> 55#include <qvariant.h>
56#include <qtooltip.h> 56#include <qtooltip.h>
57#include <qwhatsthis.h> 57#include <qwhatsthis.h>
58#include <qimage.h> 58#include <qimage.h>
59#include <qpixmap.h> 59#include <qpixmap.h>
60#include <qlineedit.h> 60#include <qlineedit.h>
61#include <qmultilineedit.h> 61#include <qmultilineedit.h>
62#include <qregexp.h> 62#include <qregexp.h>
63#include <qdir.h> 63#include <qdir.h>
64#include <qtextbrowser.h> 64#include <qtextbrowser.h>
65#include <qlabel.h> 65#include <qlabel.h>
66#include <qcombobox.h> 66#include <qcombobox.h>
67#include <qtoolbar.h>
67 68
68#include "krc2.h" 69#include "krc2.h"
69 70
70#include "wait.h" 71#include "wait.h"
71 72
72int DeskW, DeskH;
73QApplication *appl;
74ZSafe *zs;
75
76const QString APP_KEY = ""; 73const QString APP_KEY = "";
77 74
78// include xmp images 75// include xmp images
79#include "pics/zsafe/copy.xpm"
80#include "pics/zsafe/cut.xpm"
81#include "pics/zsafe/edit.xpm"
82#include "pics/zsafe/editdelete.xpm"
83#include "pics/zsafe/find.xpm"
84#include "pics/zsafe/folder_open.xpm"
85#include "pics/zsafe/help_icon.xpm"
86#include "pics/zsafe/new.xpm"
87#include "pics/zsafe/paste.xpm"
88#include "pics/zsafe/quit_icon.xpm"
89#include "pics/zsafe/save.xpm"
90#include "pics/zsafe/trash.xpm"
91#include "pics/zsafe/expand.xpm" 76#include "pics/zsafe/expand.xpm"
92#include "pics/zsafe/export.xpm" 77#include "pics/zsafe/export.xpm"
93#include "pics/zsafe/import.xpm" 78#include "pics/zsafe/import.xpm"
94#include "pics/zsafe/zsafe.xpm"
95 79
96static const char* const bank_cards_data[] = { 80static const char* const bank_cards_data[] = {
97"14 14 16 1", 81"14 14 16 1",
98". c None", 82". c None",
99"# c #000000", 83"# c #000000",
100"b c #0000de", 84"b c #0000de",
101"a c #0000e6", 85"a c #0000e6",
102"j c #41de83", 86"j c #41de83",
103"k c #4acecd", 87"k c #4acecd",
104"h c #4aced5", 88"h c #4aced5",
105"g c #5a40cd", 89"g c #5a40cd",
106"d c #5a44d5", 90"d c #5a44d5",
107"l c #9440d5", 91"l c #9440d5",
108"m c #b4ce4a", 92"m c #b4ce4a",
109"n c #cd4883", 93"n c #cd4883",
110"e c #d5ae10", 94"e c #d5ae10",
111"f c #de3ce6", 95"f c #de3ce6",
112"i c #e640e6", 96"i c #e640e6",
113"c c #ffffff", 97"c c #ffffff",
114"..............", 98"..............",
115".###########..", 99".###########..",
116".#ababababa#..", 100".#ababababa#..",
117".#babbbabbb#..", 101".#babbbabbb#..",
118".#ccccccccc#..", 102".#ccccccccc#..",
119".#cdcefcghc#..", 103".#cdcefcghc#..",
120".#ccccccccc#..", 104".#ccccccccc#..",
121".#cicjkclic#..", 105".#cicjkclic#..",
122".#ccccccccc#..", 106".#ccccccccc#..",
123".#cmchlcnec#..", 107".#cmchlcnec#..",
124".#ccccccccc#..", 108".#ccccccccc#..",
125".###########..", 109".###########..",
126"..............", 110"..............",
@@ -307,111 +291,104 @@ static const char* const general_data[] = {
307 291
308// exit ZSafe and clear the clipboard for security reasons 292// exit ZSafe and clear the clipboard for security reasons
309 void ZSafe::exitZs (int ec) 293 void ZSafe::exitZs (int ec)
310 { 294 {
311 QClipboard *cb = QApplication::clipboard(); 295 QClipboard *cb = QApplication::clipboard();
312 cb->clear(); 296 cb->clear();
313 297
314 exit (ec); 298 exit (ec);
315 } 299 }
316 300
317 301
318// save the configuration into the file 302// save the configuration into the file
319 void ZSafe::saveConf () 303 void ZSafe::saveConf ()
320 { 304 {
321 if (conf) 305 if (conf)
322 { 306 {
323 delete conf; 307 delete conf;
324 308
325 conf = new Config ("zsafe"); 309 conf = new Config ("zsafe");
326 conf->setGroup ("zsafe"); 310 conf->setGroup ("zsafe");
327 } 311 }
328 } 312 }
329 313
330 314
331/* 315/*
332 * Constructs a ZSafe which is a child of 'parent', with the 316 * Constructs a ZSafe which is a child of 'parent', with the
333 * name 'name' and widget flags set to 'f' 317 * name 'name' and widget flags set to 'f'
334 * 318 *
335 * The dialog will by default be modeless, unless you set 'modal' to 319 * The dialog will by default be modeless, unless you set 'modal' to
336 * TRUE to construct a modal dialog. 320 * TRUE to construct a modal dialog.
337 */ 321 */
338ZSafe::ZSafe( QWidget* parent, const char* name, WFlags fl ) 322ZSafe::ZSafe( QWidget* parent, const char* name, WFlags fl )
339 : QWidget( parent, name, fl), 323 : QMainWindow( parent, name, fl),
340 Edit(0l), Delete(0l), Find(0l), New(0l), ListView(0l) 324 ListView(0l)
341{ 325{
342 zs = this;
343 appl = qApp;
344 DeskW = qApp->desktop()->width();
345 DeskH = qApp->desktop()->height();
346
347 IsCut = false; 326 IsCut = false;
348 IsCopy = false; 327 IsCopy = false;
349 modified = false; 328 modified = false;
350 showpwd = false; 329 showpwd = false;
351 330
352 // set the config file 331 // set the config file
353 cfgFile=QDir::homeDirPath(); 332 cfgFile=QDir::homeDirPath();
354 cfgFile += "/.zsafe.cfg"; 333 cfgFile += "/.zsafe.cfg";
355 // set the icon path 334 // set the icon path
356 335
357 QString qpeDir = QPEApplication::qpeDir(); 336 QString qpeDir = QPEApplication::qpeDir();
358 337
359 conf = new Config ("zsafe"); 338 conf = new Config ("zsafe");
360 conf->setGroup ("zsafePrefs"); 339 conf->setGroup ("zsafePrefs");
361 340
362 expandTree = conf->readNumEntry(APP_KEY+"expandTree", 0); 341 expandTree = conf->readNumEntry(APP_KEY+"expandTree", 0);
363 conf->setGroup ("zsafe"); 342 conf->setGroup ("zsafe");
364 343
365 QPixmap copy_img((const char**) copy_xpm); 344 QPixmap new_img = Opie::Core::OResource::loadPixmap( "new", Opie::Core::OResource::SmallIcon );
366 QPixmap cut_img((const char**) cut_xpm); 345 QPixmap edit_img = Opie::Core::OResource::loadPixmap( "edit", Opie::Core::OResource::SmallIcon );
367 QPixmap edit_img((const char**) edit_xpm); 346 QPixmap trash_img = Opie::Core::OResource::loadPixmap( "trash", Opie::Core::OResource::SmallIcon );
368 QPixmap editdelete_img((const char**) editdelete_xpm); 347 QPixmap copy_img = Opie::Core::OResource::loadPixmap( "copy", Opie::Core::OResource::SmallIcon );
369 QPixmap find_img((const char**) find_xpm); 348 QPixmap cut_img = Opie::Core::OResource::loadPixmap( "cut", Opie::Core::OResource::SmallIcon );
370 QPixmap folder_open_img((const char**) folder_open_xpm); 349 QPixmap editdelete_img = Opie::Core::OResource::loadPixmap( "editdelete", Opie::Core::OResource::SmallIcon );
371 QPixmap help_icon_img((const char**) help_icon_xpm); 350 QPixmap folder_open_img = Opie::Core::OResource::loadPixmap( "folder_open", Opie::Core::OResource::SmallIcon );
372 QPixmap new_img((const char**) new_xpm); 351 QPixmap help_icon_img = Opie::Core::OResource::loadPixmap( "help_icon", Opie::Core::OResource::SmallIcon );
373 QPixmap paste_img((const char**) paste_xpm); 352 QPixmap paste_img = Opie::Core::OResource::loadPixmap( "paste", Opie::Core::OResource::SmallIcon );
374 QPixmap quit_icon_img((const char**) quit_icon_xpm); 353 QPixmap save_img = Opie::Core::OResource::loadPixmap( "save", Opie::Core::OResource::SmallIcon );
375 QPixmap save_img((const char**) save_xpm);
376 QPixmap trash_img((const char**) trash_xpm);
377 QPixmap expand_img((const char**) expand_xpm); 354 QPixmap expand_img((const char**) expand_xpm);
378 QPixmap export_img((const char**) export_xpm); 355 QPixmap export_img((const char**) export_xpm);
379 QPixmap import_img((const char**) import_xpm); 356 QPixmap import_img((const char**) import_xpm);
380 357
381 QPixmap bank_cards( ( const char** ) bank_cards_data ); 358 QPixmap bank_cards( ( const char** ) bank_cards_data );
382 QPixmap passwords( ( const char** ) passwords_data ); 359 QPixmap passwords( ( const char** ) passwords_data );
383 QPixmap software( ( const char** ) software_data ); 360 QPixmap software( ( const char** ) software_data );
384 QPixmap general( ( const char** ) general_data ); 361 QPixmap general( ( const char** ) general_data );
385 QPixmap image0( ( const char** ) zsafe_xpm ); 362 QPixmap image0 = Opie::Core::OResource::loadPixmap( "zsafe/zsafe", Opie::Core::OResource::SmallIcon );
386 363
387 if ( !name ) 364 if ( !name )
388 setName( "ZSafe" ); 365 setName( "ZSafe" );
389 366
390 setCaption( tr( "ZSafe" ) ); 367 setCaption( tr( "ZSafe" ) );
391 QString zsafeAppDirPath = QDir::homeDirPath() + "/Documents/application/zsafe"; 368 QString zsafeAppDirPath = QDir::homeDirPath() + "/Documents/application/zsafe";
392 369
393 filename = conf->readEntry(APP_KEY+"document"); 370 filename = conf->readEntry(APP_KEY+"document");
394 if ( !QFileInfo(filename).exists() || !QDir(zsafeAppDirPath).exists() ) 371 if ( !QFileInfo(filename).exists() || !QDir(zsafeAppDirPath).exists() )
395 { 372 {
396 // check if the directory application exists, if not 373 // check if the directory application exists, if not
397 // create it 374 // create it
398 QString d1(QDir::homeDirPath() + "/Documents/application"); 375 QString d1(QDir::homeDirPath() + "/Documents/application");
399 QDir pd1(d1); 376 QDir pd1(d1);
400 if (!pd1.exists()) 377 if (!pd1.exists())
401 { 378 {
402 QDir pd2(QDir::homeDirPath() + "/Documents"); 379 QDir pd2(QDir::homeDirPath() + "/Documents");
403 if (!pd2.exists()) { 380 if (!pd2.exists()) {
404 QDir pd3(QDir::homeDirPath()); 381 QDir pd3(QDir::homeDirPath());
405 if (!pd3.mkdir("Documents", FALSE)) { 382 if (!pd3.mkdir("Documents", FALSE)) {
406 } 383 }
407 } 384 }
408 385
409 if (!pd2.mkdir("application", FALSE)) 386 if (!pd2.mkdir("application", FALSE))
410 { 387 {
411 QMessageBox::critical( 0, tr("ZSafe"), 388 QMessageBox::critical( 0, tr("ZSafe"),
412 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d1)); 389 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d1));
413 exitZs (1); 390 exitZs (1);
414 } 391 }
415 } 392 }
416 QString d2(QDir::homeDirPath() + "/Documents/application/zsafe"); 393 QString d2(QDir::homeDirPath() + "/Documents/application/zsafe");
417 QDir pd2(d2); 394 QDir pd2(d2);
@@ -419,178 +396,155 @@ ZSafe::ZSafe( QWidget* parent, const char* name, WFlags fl )
419 { 396 {
420 if (!pd1.mkdir("zsafe", FALSE)) 397 if (!pd1.mkdir("zsafe", FALSE))
421 { 398 {
422 QMessageBox::critical( 0, tr("ZSafe"), 399 QMessageBox::critical( 0, tr("ZSafe"),
423 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2)); 400 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2));
424 exitZs (1); 401 exitZs (1);
425 } 402 }
426 } 403 }
427 404
428 filename = zsafeAppDirPath + "/passwords.zsf"; 405 filename = zsafeAppDirPath + "/passwords.zsf";
429 406
430 // save the current filename to the config file 407 // save the current filename to the config file
431 conf->writeEntry(APP_KEY+"document", filename); 408 conf->writeEntry(APP_KEY+"document", filename);
432 saveConf(); 409 saveConf();
433 } 410 }
434 //if (filename == "INVALIDPWD") 411 //if (filename == "INVALIDPWD")
435 //filename = ""; 412 //filename = "";
436 413
437 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 414 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
438 this->setCaption(tr("ZSafe: ") + ti); 415 this->setCaption(tr("ZSafe: ") + ti);
439 416
440 selectedItem = NULL; 417 selectedItem = NULL;
441 lastSearchedCategory = NULL; 418 lastSearchedCategory = NULL;
442 lastSearchedItem = NULL; 419 lastSearchedItem = NULL;
443 lastSearchedName = ""; 420 lastSearchedName = "";
444 lastSearchedUsername = ""; 421 lastSearchedUsername = "";
445 lastSearchedComment = ""; 422 lastSearchedComment = "";
446 423
447 infoForm = new InfoForm(this, "show_info", TRUE); 424 infoForm = new InfoForm(this, "show_info", TRUE);
448 categoryDialog = NULL; 425 categoryDialog = NULL;
449 infoForm->setIcon( image0); 426 infoForm->setIcon( image0);
450 427
428 // Create menu and tool bar dock
429 setToolBarsMovable( false );
430 QToolBar *dock = new QToolBar( this );
431 dock->setHorizontalStretchable( true );
432
451 // add a menu bar 433 // add a menu bar
452 QMenuBar *menu = new QMenuBar( this ); 434 QMenuBar *menu = new QMenuBar( dock );
435 menu->setMargin( 0 );
436
437 // Add a toolbar
438 QToolBar *toolbar = new QToolBar( this );
453 439
454 // add file menu 440 // add file menu
455 // QPopupMenu *file = new QPopupMenu( this ); 441 // QPopupMenu *file = new QPopupMenu( this );
456 file = new QPopupMenu( this ); 442 file = new QPopupMenu( this );
457 443
458 file->insertItem( new_img, tr("&New document"), this, SLOT(newDocument()) ); 444 // File menu
459 file->insertItem( folder_open_img, tr("&Open document"), this, SLOT(loadDocument()) ); 445 file->insertItem( new_img, tr("New document"), this, SLOT(newDocument()) );
460 file->insertItem( save_img, tr("&Save document as .."), this, SLOT(saveDocumentAs()) ); 446 file->insertItem( folder_open_img, tr("Open document"), this, SLOT(loadDocument()) );
447 file->insertItem( save_img, tr("Save document as"), this, SLOT(saveDocumentAs()) );
461 file->insertSeparator(); 448 file->insertSeparator();
462 449
463 file->insertItem( save_img, tr("&Save document"), this, SLOT(saveDocumentWithoutPwd()) ); 450 file->insertItem( save_img, tr("Save document"), this, SLOT(saveDocumentWithoutPwd()) );
464 file->insertItem( save_img, tr("S&ave document with new Password"), this, 451 file->insertItem( save_img, tr("Save document with new Password"), this,
465 SLOT(saveDocumentWithPwd()) ); 452 SLOT(saveDocumentWithPwd()) );
466 file->insertSeparator(); 453 file->insertSeparator();
467 file->insertItem( export_img, tr("&Export text file"), this, SLOT(writeAllEntries()) ); 454 file->insertItem( export_img, tr("Export text file"), this, SLOT(writeAllEntries()) );
468 file->insertItem( import_img, tr("&Import text file"), this, SLOT(readAllEntries()) ); 455 file->insertItem( import_img, tr("Import text file"), this, SLOT(readAllEntries()) );
469 file->insertItem( trash_img, tr("&Remove text file"), this, SLOT(removeAsciiFile()) ); 456 file->insertItem( trash_img, tr("Remove text file"), this, SLOT(removeAsciiFile()) );
470 file->insertSeparator(); 457 file->insertSeparator();
471 file->insertItem( expand_img, tr("&Open entries expanded"), this, 458 file->insertItem( expand_img, tr("Open entries expanded"), this,
472 SLOT(setExpandFlag()), 0, 'o'); 459 SLOT(setExpandFlag()), 0, 'o');
473 file->setItemChecked('o', expandTree); 460 file->setItemChecked('o', expandTree);
474 file->insertSeparator(); 461 menu->insertItem( tr("File"), file );
475 file->insertItem( quit_icon_img, tr("E&xit"), this, SLOT(quitMe()) );
476 menu->insertItem( tr("&File"), file );
477 462
463 // Category menu
478 QPopupMenu *cat = new QPopupMenu( this ); 464 QPopupMenu *cat = new QPopupMenu( this );
479 cat->insertItem( new_img, tr("&New"), this, SLOT(addCategory()) ); 465 cat->insertItem( new_img, tr("New"), this, SLOT(addCategory()) );
480 cat->insertItem( edit_img, tr("&Edit"), this, SLOT(editCategory()) ); 466 cat->insertItem( edit_img, tr("Edit"), this, SLOT(editCategory()) );
481 cat->insertItem( trash_img, tr("&Delete"), this, SLOT(delCategory()) ); 467 cat->insertItem( trash_img, tr("Delete"), this, SLOT(delCategory()) );
482 menu->insertItem( tr("&Category"), cat ); 468 menu->insertItem( tr("Category"), cat );
483 469
470 // Entry menu
484 QPopupMenu *it = new QPopupMenu( this ); 471 QPopupMenu *it = new QPopupMenu( this );
485 it->insertItem( cut_img, tr("&Cut"), this, SLOT(cutItem()) ); 472 it->insertItem( cut_img, tr("Cut"), this, SLOT(cutItem()) );
486 it->insertItem( copy_img, tr("C&opy"), this, SLOT(copyItem()) ); 473 it->insertItem( copy_img, tr("Copy"), this, SLOT(copyItem()) );
487 it->insertItem( paste_img, tr("&Paste"), this, SLOT(pasteItem()) ); 474 it->insertItem( paste_img, tr("Paste"), this, SLOT(pasteItem()) );
488 it->insertSeparator(); 475 it->insertSeparator();
489 it->insertItem( new_img, tr("&New"), this, SLOT(newPwd()) );
490 it->insertItem( edit_img, tr("&Edit"), this, SLOT(editPwd()) );
491 it->insertItem( trash_img, tr("&Delete"), this, SLOT(deletePwd()) );
492 it->insertItem( find_img, tr("&Search"), this, SLOT(findPwd()) );
493 menu->insertItem( tr("&Entry"), it );
494
495 QPopupMenu *help = new QPopupMenu( this );
496 help->insertItem( help_icon_img, tr("&About"), this, SLOT(about()) );
497 menu->insertItem( tr("&Help"), help );
498
499 // toolbar icons
500
501 New = new QToolButton( menu, "New" );
502 New->setGeometry( QRect( DeskW-84, 2, 20, 20 ) );
503 New->setMouseTracking( TRUE );
504 New->setText( "" );
505 New->setPixmap( new_img );
506 QToolTip::add( New, tr( "New entry" ) );
507
508 Edit = new QToolButton( menu, "Edit" );
509 Edit->setGeometry( QRect( DeskW-64, 2, 20, 20 ) );
510 Edit->setText( "" );
511 Edit->setPixmap( edit_img );
512 QToolTip::add( Edit, tr( "Edit category or entry" ) );
513
514 Delete = new QToolButton( menu, "Delete" );
515 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) );
516 Delete->setText( "" );
517 Delete->setPixmap( trash_img );
518 QToolTip::add( Delete, tr( "Delete category or entry" ) );
519
520 Find = new QToolButton( menu, "Find" );
521 Find->setGeometry( QRect( DeskW-24, 2, 20, 20 ) );
522 Find->setText( "" );
523 Find->setPixmap( find_img );
524 QToolTip::add( Find, tr( "Find entry" ) );
525
526/*
527 QBoxLayout * h = new QHBoxLayout( this );
528 h->addWidget (menu);
529 h->addWidget (New);
530 h->addWidget (Edit);
531 h->addWidget (Delete);
532 h->addWidget (Find);
533*/
534 476
477 QAction *a = new QAction( tr( "New" ), new_img, QString::null, 0, this, 0 );
478 connect( a, SIGNAL(activated()), this, SLOT(newPwd()) );
479 a->addTo( it );
480 a->addTo( toolbar );
481 a = new QAction( tr( "Edit" ), edit_img, QString::null, 0, this, 0 );
482 connect( a, SIGNAL(activated()), this, SLOT(editPwd()) );
483 a->addTo( it );
484 a->addTo( toolbar );
485 a = new QAction( tr( "Delete" ), trash_img, QString::null, 0, this, 0 );
486 connect( a, SIGNAL(activated()), this, SLOT(deletePwd()) );
487 a->addTo( it );
488 a->addTo( toolbar );
489 a = new QAction( tr( "Search" ), Opie::Core::OResource::loadPixmap( "find", Opie::Core::OResource::SmallIcon ),
490 QString::null, 0, this, 0 );
491 connect( a, SIGNAL(activated()), this, SLOT(findPwd()) );
492 a->addTo( it );
493 a->addTo( toolbar );
494 menu->insertItem( tr("Entry"), it );
495
496 // Add main view
535 ListView = new ZListView( this, "ListView" ); 497 ListView = new ZListView( this, "ListView" );
536 ListView->addColumn( tr( "Name" ) ); 498 ListView->addColumn( tr( "Name" ) );
537 ListView->addColumn( tr( "Field 2" ) ); 499 ListView->addColumn( tr( "Field 2" ) );
538 ListView->addColumn( tr( "Field 3" ) ); 500 ListView->addColumn( tr( "Field 3" ) );
539 ListView->addColumn( tr( "Comment" ) ); 501 ListView->addColumn( tr( "Comment" ) );
540 ListView->addColumn( tr( "Field 4" ) ); 502 ListView->addColumn( tr( "Field 4" ) );
541 ListView->addColumn( tr( "Field 5" ) ); 503 ListView->addColumn( tr( "Field 5" ) );
542 ListView->setAllColumnsShowFocus(TRUE); 504 ListView->setAllColumnsShowFocus(TRUE);
543 505
544 ListView->setResizePolicy(QScrollView::AutoOneFit); 506 ListView->setResizePolicy(QScrollView::AutoOneFit);
545 // ListView->setGeometry( QRect( 0, 22, 507 setCentralWidget( ListView );
546 // this->width(), this->height() - 30 ) );
547 // ListView->setMaximumSize( QSize( 440, 290 ) );
548 // ListView->setVScrollBarMode( QListView::Auto );
549 508
550 QBoxLayout * l = new QVBoxLayout( this ); 509 QBoxLayout * l = new QVBoxLayout( this );
551 l->addWidget (menu); 510 l->addWidget (menu);
552 l->addWidget (ListView); 511 l->addWidget (ListView);
553 512
554 // start a timer (100 ms) to load the default document 513 // start a timer (100 ms) to load the default document
555 docuTimer.start( 100, true ); 514 docuTimer.start( 100, true );
556 connect( &docuTimer, SIGNAL(timeout()), SLOT( slotLoadDocu() ) ); 515 connect( &docuTimer, SIGNAL(timeout()), SLOT( slotLoadDocu() ) );
557 raiseFlag = true; 516 raiseFlag = true;
558 connect( &raiseTimer, SIGNAL(timeout()), SLOT( slotRaiseTimer() ) ); 517 connect( &raiseTimer, SIGNAL(timeout()), SLOT( slotRaiseTimer() ) );
559 518
560 // signals and slots connections for QTollButton
561 connect( New, SIGNAL( clicked() ), this, SLOT( newPwd() ) );
562 connect( Edit, SIGNAL( clicked() ), this, SLOT( editPwd() ) );
563 connect( Delete, SIGNAL( clicked() ), this, SLOT( deletePwd() ) );
564 connect( Find, SIGNAL( clicked() ), this, SLOT( findPwd() ) );
565 // signals and slots connections for QListView 519 // signals and slots connections for QListView
566 connect( ListView, SIGNAL( selectionChanged(QListViewItem*) ), 520 connect( ListView, SIGNAL( selectionChanged(QListViewItem*) ),
567 this, SLOT( listViewSelected(QListViewItem*) ) ); 521 this, SLOT( listViewSelected(QListViewItem*) ) );
568 connect( ListView, SIGNAL( doubleClicked(QListViewItem*) ), 522 connect( ListView, SIGNAL( doubleClicked(QListViewItem*) ),
569 this, SLOT( showInfo(QListViewItem*) ) ); 523 this, SLOT( showInfo(QListViewItem*) ) );
570 connect( ListView, SIGNAL( returnPressed(QListViewItem*) ), 524 connect( ListView, SIGNAL( returnPressed(QListViewItem*) ),
571 this, SLOT( showInfo(QListViewItem*) ) ); 525 this, SLOT( showInfo(QListViewItem*) ) );
572 526
573 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); 527 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
574 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 528 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
575 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 529 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
576 530
577 this->setIcon( image0); 531 this->setIcon( image0);
578} 532}
579 533
580const QColor *ZSafe::evenRowColor = &Qt::white; 534const QColor *ZSafe::evenRowColor = &Qt::white;
581// const QColor *ZSafe::oddRowColor = &Qt::lightGray; 535// const QColor *ZSafe::oddRowColor = &Qt::lightGray;
582const QColor *ZSafe::oddRowColor = new QColor(216,240,255); 536const QColor *ZSafe::oddRowColor = new QColor(216,240,255);
583 537
584/* 538/*
585 * Destroys the object and frees any allocated resources 539 * Destroys the object and frees any allocated resources
586 */ 540 */
587ZSafe::~ZSafe() 541ZSafe::~ZSafe()
588{ 542{
589 // no need to delete child widgets, Qt does it all for us 543 // no need to delete child widgets, Qt does it all for us
590 quitMe(); 544 quitMe();
591} 545}
592 546
593// load the default document 547// load the default document
594void ZSafe::slotLoadDocu() 548void ZSafe::slotLoadDocu()
595{ 549{
596 openDocument (filename); 550 openDocument (filename);
@@ -2081,66 +2035,66 @@ bool ZSafe::saveDocument(const char* _filename,
2081 2035
2082 if (saveFinalize() == PWERR_DATA) { 2036 if (saveFinalize() == PWERR_DATA) {
2083#ifndef NO_OPIE 2037#ifndef NO_OPIE
2084 owarn << "2: Error writing file, contents not saved" << oendl; 2038 owarn << "2: Error writing file, contents not saved" << oendl;
2085#else 2039#else
2086 qWarning("2: Error writing file, contents not saved"); 2040 qWarning("2: Error writing file, contents not saved");
2087#endif 2041#endif
2088 return false; 2042 return false;
2089 } else { 2043 } else {
2090#ifndef DESKTOP 2044#ifndef DESKTOP
2091 Global::statusMessage (tr("Password file saved.")); 2045 Global::statusMessage (tr("Password file saved."));
2092#endif 2046#endif
2093 modified = false; 2047 modified = false;
2094 return true; 2048 return true;
2095 } 2049 }
2096} 2050}
2097 2051
2098PasswordForm *newPwdDialog; 2052PasswordForm *newPwdDialog;
2099bool newPwdDialogResult = false; 2053bool newPwdDialogResult = false;
2100void ZSafe::setPasswordDialogDone() 2054void ZSafe::setPasswordDialogDone()
2101{ 2055{
2102 newPwdDialogResult = true; 2056 newPwdDialogResult = true;
2103 newPwdDialog->close(); 2057 newPwdDialog->close();
2104} 2058}
2105 2059
2106void ZSafe::getDocPassword(QString title) 2060void ZSafe::getDocPassword(QString title)
2107{ 2061{
2108 // open the 'Password' dialog 2062 // open the 'Password' dialog
2109 PasswordForm *dialog = new PasswordForm(this, title, TRUE); 2063 PasswordForm *dialog = new PasswordForm(this, title, TRUE);
2110 newPwdDialog = dialog; 2064 newPwdDialog = dialog;
2111 newPwdDialogResult = false; 2065 newPwdDialogResult = false;
2112 2066
2113 QPixmap image0( ( const char** ) zsafe_xpm ); 2067// QPixmap image0 = Opie::Core::OResource::loadPixmap( "zsafe/zsafe", Opie::Core::OResource::SmallIcon );
2114 dialog->setIcon( image0); 2068 // dialog->setIcon( image0);
2115 2069
2116 connect( dialog->PasswordField, SIGNAL( returnPressed() ), 2070 connect( dialog->PasswordField, SIGNAL( returnPressed() ),
2117 this, SLOT( setPasswordDialogDone() ) ); 2071 this, SLOT( setPasswordDialogDone() ) );
2118 2072
2119 // CS: !!! 2073 // CS: !!!
2120 // int pos = filename.findRev ('/'); 2074 // int pos = filename.findRev ('/');
2121 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 2075 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
2122 dialog->setCaption(ti); 2076 dialog->setCaption(ti);
2123 // dialog->setCaption(title); 2077 // dialog->setCaption(title);
2124 2078
2125 dialog->PasswordField->setFocus(); 2079 dialog->PasswordField->setFocus();
2126 QDialog::DialogCode result = (QDialog::DialogCode) dialog->exec(); 2080 QDialog::DialogCode result = (QDialog::DialogCode) dialog->exec();
2127 2081
2128 QString password; 2082 QString password;
2129 if (result == QDialog::Accepted || newPwdDialogResult) 2083 if (result == QDialog::Accepted || newPwdDialogResult)
2130 { 2084 {
2131 m_password = dialog->PasswordField->text(); 2085 m_password = dialog->PasswordField->text();
2132 } 2086 }
2133 else 2087 else
2134 { 2088 {
2135 exitZs (1); 2089 exitZs (1);
2136 } 2090 }
2137} 2091}
2138 2092
2139int ZSafe::saveInit(const char *_filename, const char *password) 2093int ZSafe::saveInit(const char *_filename, const char *password)
2140{ 2094{
2141 char key[128]; 2095 char key[128];
2142 unsigned int j = 0; 2096 unsigned int j = 0;
2143 unsigned int keylength; 2097 unsigned int keylength;
2144 // int val; 2098 // int val;
2145 int count2; 2099 int count2;
2146 Krc2* krc2 = new Krc2(); 2100 Krc2* krc2 = new Krc2();
@@ -2378,68 +2332,65 @@ void ZSafe::addCategory()
2378 } 2332 }
2379 } 2333 }
2380 ++it; 2334 ++it;
2381 } 2335 }
2382 2336
2383 2337
2384 if (firstCategory.isEmpty()) 2338 if (firstCategory.isEmpty())
2385 setCategoryDialogFields(dialog); 2339 setCategoryDialogFields(dialog);
2386 else 2340 else
2387 setCategoryDialogFields(dialog, firstCategory); 2341 setCategoryDialogFields(dialog, firstCategory);
2388 2342
2389 // CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE); 2343 // CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE);
2390 2344
2391 if (initIcons) 2345 if (initIcons)
2392 { 2346 {
2393 Wait waitDialog(this, tr("Wait dialog")); 2347 Wait waitDialog(this, tr("Wait dialog"));
2394 waitDialog.waitLabel->setText(tr("Gathering icons...")); 2348 waitDialog.waitLabel->setText(tr("Gathering icons..."));
2395 waitDialog.show(); 2349 waitDialog.show();
2396 qApp->processEvents(); 2350 qApp->processEvents();
2397 2351
2398 QDir d(QPEApplication::qpeDir() + "pics/"); 2352 QDir d(QPEApplication::qpeDir() + "pics/");
2399 d.setFilter( QDir::Files); 2353 d.setFilter( QDir::Files);
2400 2354
2401 const QFileInfoList *list = d.entryInfoList(); 2355 const QFileInfoList *list = d.entryInfoList();
2402 QFileInfoListIterator it( *list ); // create list iterator 2356 QFileInfoListIterator it( *list ); // create list iterator
2403 QFileInfo *fi; // pointer for traversing 2357 QFileInfo *fi; // pointer for traversing
2404 2358
2405 dialog->IconField->insertItem("predefined"); 2359 dialog->IconField->insertItem("predefined");
2406 while ( (fi=it.current()) ) { // for each file... 2360 while ( (fi=it.current()) ) { // for each file...
2407 QString fileName = fi->fileName(); 2361 QString fileName = fi->fileName();
2408 if(fileName.right(4) == ".png"){ 2362 if(fileName.right(4) == ".png"){
2409 fileName = fileName.mid(0,fileName.length()-4); 2363 fileName = fileName.mid(0,fileName.length()-4);
2410 QPixmap imageOfFile(Resource::loadPixmap(fileName)); 2364 QPixmap imageOfFile(Opie::Core::OResource::loadPixmap(fileName,Opie::Core::OResource::SmallIcon));
2411 QImage foo = imageOfFile.convertToImage();
2412 foo = foo.smoothScale(16,16);
2413 imageOfFile.convertFromImage(foo);
2414 dialog->IconField->insertItem(imageOfFile,fileName); 2365 dialog->IconField->insertItem(imageOfFile,fileName);
2415 } 2366 }
2416 ++it; 2367 ++it;
2417 } 2368 }
2418 waitDialog.hide(); 2369 waitDialog.hide();
2419 } 2370 }
2420 2371
2421 QDialog::DialogCode result = (QDialog::DialogCode) dialog->exec(); 2372 QDialog::DialogCode result = (QDialog::DialogCode) dialog->exec();
2422 QString category; 2373 QString category;
2423 QString icon; 2374 QString icon;
2424 QString fullIconPath; 2375 QString fullIconPath;
2425 QPixmap *pix; 2376 QPixmap *pix;
2426 if (result == QDialog::Accepted) 2377 if (result == QDialog::Accepted)
2427 { 2378 {
2428 modified = true; 2379 modified = true;
2429 category = dialog->CategoryField->currentText(); 2380 category = dialog->CategoryField->currentText();
2430 icon = dialog->IconField->currentText()+".png"; 2381 icon = dialog->IconField->currentText()+".png";
2431 2382
2432 QListViewItem *li = new ShadedListItem( 1, ListView ); 2383 QListViewItem *li = new ShadedListItem( 1, ListView );
2433 Category *c1 = new Category(); 2384 Category *c1 = new Category();
2434 c1->setCategoryName(category); 2385 c1->setCategoryName(category);
2435 2386
2436 // if (!icon.isEmpty() && !icon.isNull()) 2387 // if (!icon.isEmpty() && !icon.isNull())
2437 if (icon != "predefined.png") 2388 if (icon != "predefined.png")
2438 { 2389 {
2439 // build the full path 2390 // build the full path
2440 fullIconPath = iconPath + icon; 2391 fullIconPath = iconPath + icon;
2441 pix = new QPixmap (fullIconPath); 2392 pix = new QPixmap (fullIconPath);
2442 // pix->resize(14, 14); 2393 // pix->resize(14, 14);
2443 if (!pix->isNull()) 2394 if (!pix->isNull())
2444 { 2395 {
2445 // save the full pixmap name into the config file 2396 // save the full pixmap name into the config file
@@ -2732,68 +2683,65 @@ void ZSafe::editCategory()
2732 Category *cat= categories.find (selectedItem->text(0)); 2683 Category *cat= categories.find (selectedItem->text(0));
2733 if (cat) 2684 if (cat)
2734 { 2685 {
2735 icon = cat->getIconName(); 2686 icon = cat->getIconName();
2736 } 2687 }
2737 2688
2738 if (initIcons) 2689 if (initIcons)
2739 { 2690 {
2740 2691
2741 Wait waitDialog(this, tr("Wait dialog")); 2692 Wait waitDialog(this, tr("Wait dialog"));
2742 waitDialog.waitLabel->setText(tr("Gathering icons...")); 2693 waitDialog.waitLabel->setText(tr("Gathering icons..."));
2743 waitDialog.show(); 2694 waitDialog.show();
2744 qApp->processEvents(); 2695 qApp->processEvents();
2745 2696
2746 QDir d(QPEApplication::qpeDir() + "pics/"); 2697 QDir d(QPEApplication::qpeDir() + "pics/");
2747 d.setFilter( QDir::Files); 2698 d.setFilter( QDir::Files);
2748 2699
2749 const QFileInfoList *list = d.entryInfoList(); 2700 const QFileInfoList *list = d.entryInfoList();
2750 int i=0; 2701 int i=0;
2751 QFileInfoListIterator it( *list ); // create list iterator 2702 QFileInfoListIterator it( *list ); // create list iterator
2752 QFileInfo *fi; // pointer for traversing 2703 QFileInfo *fi; // pointer for traversing
2753 if (icon.isEmpty() || icon.isNull()) 2704 if (icon.isEmpty() || icon.isNull())
2754 { 2705 {
2755 dialog->IconField->setCurrentItem(0); 2706 dialog->IconField->setCurrentItem(0);
2756 } 2707 }
2757 2708
2758 dialog->IconField->insertItem("predefined"); 2709 dialog->IconField->insertItem("predefined");
2759 while ( (fi=it.current()) ) { // for each file... 2710 while ( (fi=it.current()) ) { // for each file...
2760 QString fileName = fi->fileName(); 2711 QString fileName = fi->fileName();
2761 if(fileName.right(4) == ".png") 2712 if(fileName.right(4) == ".png")
2762 { 2713 {
2763 fileName = fileName.mid(0,fileName.length()-4); 2714 fileName = fileName.mid(0,fileName.length()-4);
2764 QPixmap imageOfFile(Resource::loadPixmap(fileName)); 2715 QPixmap imageOfFile(Opie::Core::OResource::loadPixmap(fileName,Opie::Core::OResource::SmallIcon));
2765 QImage foo = imageOfFile.convertToImage();
2766 foo = foo.smoothScale(16,16);
2767 imageOfFile.convertFromImage(foo);
2768 dialog->IconField->insertItem(imageOfFile,fileName); 2716 dialog->IconField->insertItem(imageOfFile,fileName);
2769 if(fileName+".png"==icon) 2717 if(fileName+".png"==icon)
2770 dialog->IconField->setCurrentItem(i+1); 2718 dialog->IconField->setCurrentItem(i+1);
2771 ++i; 2719 ++i;
2772 } 2720 }
2773 ++it; 2721 ++it;
2774 } 2722 }
2775 waitDialog.hide(); 2723 waitDialog.hide();
2776 } 2724 }
2777 else 2725 else
2778 { 2726 {
2779 QDir d(QPEApplication::qpeDir() + "pics/"); 2727 QDir d(QPEApplication::qpeDir() + "pics/");
2780 d.setFilter( QDir::Files); 2728 d.setFilter( QDir::Files);
2781 2729
2782 const QFileInfoList *list = d.entryInfoList(); 2730 const QFileInfoList *list = d.entryInfoList();
2783 int i=0; 2731 int i=0;
2784 QFileInfoListIterator it( *list ); // create list iterator 2732 QFileInfoListIterator it( *list ); // create list iterator
2785 QFileInfo *fi; // pointer for traversing 2733 QFileInfo *fi; // pointer for traversing
2786 if (icon.isEmpty() || icon.isNull()) 2734 if (icon.isEmpty() || icon.isNull())
2787 { 2735 {
2788 dialog->IconField->setCurrentItem(0); 2736 dialog->IconField->setCurrentItem(0);
2789 } 2737 }
2790 else 2738 else
2791 { 2739 {
2792 2740
2793 while ( (fi=it.current()) ) 2741 while ( (fi=it.current()) )
2794 { // for each file... 2742 { // for each file...
2795 QString fileName = fi->fileName(); 2743 QString fileName = fi->fileName();
2796 if(fileName.right(4) == ".png") 2744 if(fileName.right(4) == ".png")
2797 { 2745 {
2798 fileName = fileName.mid(0,fileName.length()-4); 2746 fileName = fileName.mid(0,fileName.length()-4);
2799 2747
@@ -3084,130 +3032,87 @@ QString newFile = zsaveDialog();
3084 { 3032 {
3085 // save the previous opened document 3033 // save the previous opened document
3086 if (!filename.isEmpty()) 3034 if (!filename.isEmpty())
3087 saveDocument(filename, FALSE); 3035 saveDocument(filename, FALSE);
3088 3036
3089 selectedItem = NULL; 3037 selectedItem = NULL;
3090 filename = newFile; 3038 filename = newFile;
3091 3039
3092 // save the current filename to the config file 3040 // save the current filename to the config file
3093 conf->setGroup("zsafe"); 3041 conf->setGroup("zsafe");
3094 conf->writeEntry(APP_KEY+"document", filename); 3042 conf->writeEntry(APP_KEY+"document", filename);
3095 saveConf(); 3043 saveConf();
3096 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 3044 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
3097 this->setCaption(tr("ZSafe: ") + ti); 3045 this->setCaption(tr("ZSafe: ") + ti);
3098 3046
3099 QMessageBox::information( this, tr("ZSafe"), 3047 QMessageBox::information( this, tr("ZSafe"),
3100 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0); 3048 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0);
3101 3049
3102 saveDocumentWithPwd(); 3050 saveDocumentWithPwd();
3103 } 3051 }
3104} 3052}
3105 3053
3106void ZSafe::saveDocumentWithoutPwd() 3054void ZSafe::saveDocumentWithoutPwd()
3107{ 3055{
3108 saveDocument(filename, FALSE); 3056 saveDocument(filename, FALSE);
3109} 3057}
3110 3058
3111void ZSafe::saveDocumentWithPwd() 3059void ZSafe::saveDocumentWithPwd()
3112{ 3060{
3113 saveDocument(filename, TRUE); 3061 saveDocument(filename, TRUE);
3114} 3062}
3115 3063
3116void ZSafe::about()
3117{
3118 QString info;
3119 info = tr("<html><body><div align=""center"">"
3120 "<b>"
3121 "Zaurus Password Manager<br>"
3122 "ZSafe version 2.1.2<br>"
3123 "</b>"
3124 "by Carsten Schneider<br>"
3125 "zcarsten@gmx.net<br>"
3126 "http://z-soft.z-portal.info/zsafe"
3127 "<br>"
3128 "Translations by Robert Ernst<br>"
3129 "robert.ernst@linux-solutions.at<br>"
3130 "<br></div>"
3131 "</body></html>");
3132
3133 // QMessageBox::information( this, tr("ZSafe"), info, tr("&OK"), 0);
3134
3135 QMessageBox mb( this, tr("ZSafe"));
3136 mb.setText (info);
3137 mb.setButtonText (QMessageBox::Ok, tr ("&OK"));
3138 QPixmap zsafe_img((const char**) zsafe_xpm);
3139 mb.setIconPixmap (zsafe_img);
3140 mb.exec();
3141}
3142
3143void ZSafe::setExpandFlag() 3064void ZSafe::setExpandFlag()
3144{ 3065{
3145 expandTree = !expandTree; 3066 expandTree = !expandTree;
3146 file->setItemChecked('o', expandTree); 3067 file->setItemChecked('o', expandTree);
3147 conf->setGroup ("zsafePrefs"); 3068 conf->setGroup ("zsafePrefs");
3148// #ifndef Q_WS_WIN 3069// #ifndef Q_WS_WIN
3149 conf->writeEntry (APP_KEY+"expandTree", expandTree); 3070 conf->writeEntry (APP_KEY+"expandTree", expandTree);
3150// #endif 3071// #endif
3151 saveConf(); 3072 saveConf();
3152 3073
3153} 3074}
3154 3075
3155void ZSafe::paintEvent( QPaintEvent * ) 3076void ZSafe::paintEvent( QPaintEvent * )
3156{ 3077{
3157 if (raiseFlag) 3078 if (raiseFlag)
3158 { 3079 {
3159 raiseFlag = false; 3080 raiseFlag = false;
3160 raiseTimer.start (1, true); 3081 raiseTimer.start (1, true);
3161 if (infoForm->isVisible()) 3082 if (infoForm->isVisible())
3162 infoForm->raise(); 3083 infoForm->raise();
3163 } 3084 }
3164} 3085}
3165 3086
3166void ZSafe::resizeEvent ( QResizeEvent * )
3167{
3168 // owarn << "resizeEvent" << oendl;
3169 DeskW = appl->desktop()->width();
3170 DeskH = appl->desktop()->height();
3171
3172 if (New)
3173 New->setGeometry ( QRect( DeskW-84, 2, 20, 20 ) );
3174 if (Edit)
3175 Edit->setGeometry ( QRect( DeskW-64, 2, 20, 20 ) );
3176 if (Delete)
3177 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) );
3178 if (Find)
3179 Find->setGeometry ( QRect( DeskW-24, 2, 20, 20 ) );
3180}
3181
3182void ZSafe::slotRaiseTimer() 3087void ZSafe::slotRaiseTimer()
3183{ 3088{
3184 if (infoForm->isVisible()) 3089 if (infoForm->isVisible())
3185 infoForm->raise(); 3090 infoForm->raise();
3186 raiseFlag = true; 3091 raiseFlag = true;
3187} 3092}
3188 3093
3189QPixmap * ZSafe::getPredefinedIcon(QString category) 3094QPixmap * ZSafe::getPredefinedIcon(QString category)
3190{ 3095{
3191 QPixmap *pm; 3096 QPixmap *pm;
3192 if (category == "Bank cards") 3097 if (category == "Bank cards")
3193 pm = new QPixmap((const char**)bank_cards_data); 3098 pm = new QPixmap((const char**)bank_cards_data);
3194 else if (category == "Passwords") 3099 else if (category == "Passwords")
3195 pm = new QPixmap((const char**)passwords_data); 3100 pm = new QPixmap((const char**)passwords_data);
3196 else if (category == "Software") 3101 else if (category == "Software")
3197 pm = new QPixmap((const char**)software_data); 3102 pm = new QPixmap((const char**)software_data);
3198 else if (category == "General") 3103 else if (category == "General")
3199 pm = new QPixmap((const char**)general_data); 3104 pm = new QPixmap((const char**)general_data);
3200 else 3105 else
3201 pm = new QPixmap((const char**)general_data); 3106 pm = new QPixmap((const char**)general_data);
3202 return pm; 3107 return pm;
3203} 3108}
3204 3109
3205void ZSafe::setDocument(const QString& fileref) 3110void ZSafe::setDocument(const QString& fileref)
3206{ 3111{
3207 // stop the timer to prevent loading of the default document 3112 // stop the timer to prevent loading of the default document
3208 docuTimer.stop(); 3113 docuTimer.stop();
3209 3114
3210 DocLnk link(fileref); 3115 DocLnk link(fileref);
3211 if ( link.isValid() ) 3116 if ( link.isValid() )
3212 { 3117 {
3213 // if (filename != link.file()) 3118 // if (filename != link.file())
@@ -3239,68 +3144,68 @@ void ZSafe::setDocument(const QString& fileref)
3239 3144
3240 c = i; 3145 c = i;
3241 // step through all subitems 3146 // step through all subitems
3242 QListViewItem *si; 3147 QListViewItem *si;
3243 for (si = i->firstChild(); 3148 for (si = i->firstChild();
3244 si != NULL; ) 3149 si != NULL; )
3245 { 3150 {
3246 QListViewItem *_si = si; 3151 QListViewItem *_si = si;
3247 si = si->nextSibling(); 3152 si = si->nextSibling();
3248 i->takeItem(_si); // remove from view list 3153 i->takeItem(_si); // remove from view list
3249 if (_si) delete _si; 3154 if (_si) delete _si;
3250 } 3155 }
3251 } 3156 }
3252 if (c) delete c; // delete the previous category 3157 if (c) delete c; // delete the previous category
3253 categories.clear(); 3158 categories.clear();
3254 3159
3255 m_password = ""; 3160 m_password = "";
3256 selectedItem = NULL; 3161 selectedItem = NULL;
3257 3162
3258 openDocument(filename); 3163 openDocument(filename);
3259} 3164}
3260 3165
3261 3166
3262void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) { 3167void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) {
3263 if(item ==0) return; 3168 if(item ==0) return;
3264 switch (mouse) { 3169 switch (mouse) {
3265 case 1: 3170 case 1:
3266 break; 3171 break;
3267 case 2: 3172 case 2:
3268 { 3173 {
3269 QClipboard *cb = QApplication::clipboard(); 3174 QClipboard *cb = QApplication::clipboard();
3270 3175
3271 QIconSet copy_img((const char**) copy_xpm); 3176 QIconSet copy_img = Opie::Core::OResource::loadPixmap( "copy", Opie::Core::OResource::SmallIcon );
3272 QIconSet edit_img((const char**) edit_xpm); 3177 QIconSet edit_img = Opie::Core::OResource::loadPixmap( "edit", Opie::Core::OResource::SmallIcon );
3273 QPixmap folder_open_img((const char**) folder_open_xpm); 3178 QPixmap folder_open_img = Opie::Core::OResource::loadPixmap( "folder_open", Opie::Core::OResource::SmallIcon );
3274 QPixmap editdelete_img((const char**) editdelete_xpm); 3179 QPixmap editdelete_img = Opie::Core::OResource::loadPixmap( "editdelete", Opie::Core::OResource::SmallIcon );
3275 3180
3276 QPopupMenu *m = new QPopupMenu(this); 3181 QPopupMenu *m = new QPopupMenu(this);
3277 int copyItem = m->insertItem( copy_img, tr( "Copy to Clipboard" )); 3182 int copyItem = m->insertItem( copy_img, tr( "Copy to Clipboard" ));
3278 int editItem = m->insertItem(edit_img, tr( "Edit" )); 3183 int editItem = m->insertItem(edit_img, tr( "Edit" ));
3279 int showItem = m->insertItem(folder_open_img, tr( "Show Info" )); 3184 int showItem = m->insertItem(folder_open_img, tr( "Show Info" ));
3280 int cancelItem = m->insertItem( editdelete_img, tr( "Cancel" )); 3185 int cancelItem = m->insertItem( editdelete_img, tr( "Cancel" ));
3281 m->setFocus(); 3186 m->setFocus();
3282 int me=m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y() ) ) ; 3187 int me=m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y() ) ) ;
3283 if(me == copyItem) { 3188 if(me == copyItem) {
3284 copyClip( item->text(column) ) ; 3189 copyClip( item->text(column) ) ;
3285 } else if (me == cancelItem) { 3190 } else if (me == cancelItem) {
3286 cb->clear(); 3191 cb->clear();
3287 } else if (me == editItem) { 3192 } else if (me == editItem) {
3288 editPwd(); 3193 editPwd();
3289 } else if (me == showItem) { 3194 } else if (me == showItem) {
3290 showInfo(item); 3195 showInfo(item);
3291 } 3196 }
3292 } 3197 }
3293 break; 3198 break;
3294 }; 3199 };
3295} 3200}
3296 3201
3297void ZSafe::copyClip( const QString &text) { 3202void ZSafe::copyClip( const QString &text) {
3298 QClipboard *cb = QApplication::clipboard(); 3203 QClipboard *cb = QApplication::clipboard();
3299 cb->setText( text); 3204 cb->setText( text);
3300} 3205}
3301 3206
3302 3207
3303QString ZSafe::zsaveDialog() { 3208QString ZSafe::zsaveDialog() {
3304 3209
3305 QString fn; 3210 QString fn;
3306 QMap<QString, QStringList> mimeTypes; 3211 QMap<QString, QStringList> mimeTypes;
diff --git a/noncore/apps/zsafe/zsafe.h b/noncore/apps/zsafe/zsafe.h
index 3d812f8..0be579c 100644
--- a/noncore/apps/zsafe/zsafe.h
+++ b/noncore/apps/zsafe/zsafe.h
@@ -1,103 +1,100 @@
1/**************************************************************************** 1/****************************************************************************
2** Form interface generated from reading ui file 'zsafe.ui' 2** Form interface generated from reading ui file 'zsafe.ui'
3** 3**
4** Created: Sat Apr 6 17:57:42 2002 4** Created: Sat Apr 6 17:57:42 2002
5** 5**
6** Author: Carsten Schneider <CarstenSchneider@t-online.de> 6** Author: Carsten Schneider <CarstenSchneider@t-online.de>
7** 7**
8** $Id$ 8** $Id$
9** 9**
10** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html 10** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html
11** 11**
12** WARNING! All changes made in this file will be lost! 12** WARNING! All changes made in this file will be lost!
13****************************************************************************/ 13****************************************************************************/
14#ifndef ZSAFE_H 14#ifndef ZSAFE_H
15#define ZSAFE_H 15#define ZSAFE_H
16 16
17#include <stdio.h> 17#include <stdio.h>
18 18
19#include "infoform.h" 19#include "infoform.h"
20#include "categorylist.h" 20#include "categorylist.h"
21#include "shadedlistitem.h" 21#include "shadedlistitem.h"
22 22
23#include <qmainwindow.h>
24
23#include <qvariant.h> 25#include <qvariant.h>
24#include <qdialog.h> 26#include <qdialog.h>
25#include <qwidgetstack.h> 27#include <qwidgetstack.h>
26#include <qtimer.h> 28#include <qtimer.h>
27 29
28class QVBoxLayout; 30class QVBoxLayout;
29class QHBoxLayout; 31class QHBoxLayout;
30class QGridLayout; 32class QGridLayout;
31class ZListView; 33class ZListView;
32class QListViewItem; 34class QListViewItem;
33class QToolButton; 35class QToolButton;
34class QTextBrowser; 36class QTextBrowser;
35class QPopupMenu; 37class QPopupMenu;
36#ifdef DESKTOP 38#ifdef DESKTOP
37// #ifndef WIN32 39// #ifndef WIN32
38class QSettings; 40class QSettings;
39// #endif 41// #endif
40#else 42#else
41class Config; 43class Config;
42#endif 44#endif
43class CategoryDialog; 45class CategoryDialog;
44class QPixmap; 46class QPixmap;
45 47
46// number of fields for one entry 48// number of fields for one entry
47#define FIELD_SIZE 7 49#define FIELD_SIZE 7
48 50
49class ZSafe : public QWidget 51class ZSafe : public QMainWindow
50{ 52{
51 Q_OBJECT 53 Q_OBJECT
52 54
53protected: 55protected:
54 void paintEvent( QPaintEvent * e ); 56 void paintEvent( QPaintEvent * e );
55 void resizeEvent ( QResizeEvent * );
56 57
57 bool raiseFlag; 58 bool raiseFlag;
58 QTimer raiseTimer; 59 QTimer raiseTimer;
59 60
60public: 61public:
61 ZSafe( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 62 ZSafe( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
62 ~ZSafe(); 63 ~ZSafe();
63 static QString appName() { return QString::fromLatin1( QUICKAPP_NAME ); } 64 static QString appName() { return QString::fromLatin1( QUICKAPP_NAME ); }
64 65
65 static const QColor *evenRowColor; 66 static const QColor *evenRowColor;
66 static const QColor *oddRowColor; 67 static const QColor *oddRowColor;
67 68
68 QToolButton* Edit;
69 QToolButton* Delete;
70 QToolButton* Find;
71 QToolButton* New;
72 ZListView* ListView; 69 ZListView* ListView;
73 70
74 QString cfgFile; 71 QString cfgFile;
75 QString iconPath; 72 QString iconPath;
76 73
77 InfoForm *infoForm; 74 InfoForm *infoForm;
78 CategoryDialog *categoryDialog; 75 CategoryDialog *categoryDialog;
79 76
80 QListViewItem *selectedItem; // current selected item 77 QListViewItem *selectedItem; // current selected item
81 QListViewItem *copiedItem; // copied item 78 QListViewItem *copiedItem; // copied item
82 bool IsCopy; 79 bool IsCopy;
83 bool IsCut; 80 bool IsCut;
84 bool modified; // true if database is modified 81 bool modified; // true if database is modified
85 bool showpwd; // show PWD Dialog 82 bool showpwd; // show PWD Dialog
86 83
87 QListViewItem *lastSearchedCategory; 84 QListViewItem *lastSearchedCategory;
88 QListViewItem *lastSearchedItem; 85 QListViewItem *lastSearchedItem;
89 QString lastSearchedName; 86 QString lastSearchedName;
90 QString lastSearchedUsername; 87 QString lastSearchedUsername;
91 QString lastSearchedComment; 88 QString lastSearchedComment;
92 89
93 90
94 CategoryList categories; // list of categories 91 CategoryList categories; // list of categories
95 92
96 bool isCategory(QListViewItem *_item); 93 bool isCategory(QListViewItem *_item);
97 void getDocPassword(QString title); 94 void getDocPassword(QString title);
98 QString filename; 95 QString filename;
99 96
100 enum { 97 enum {
101 PWERR_GOOD, // success 98 PWERR_GOOD, // success
102 PWERR_OPEN, // can't open filedescriptor / can't create file 99 PWERR_OPEN, // can't open filedescriptor / can't create file
103 PWERR_PERM, // permissions are bad 100 PWERR_PERM, // permissions are bad
@@ -152,53 +149,47 @@ public:
152 149
153 150
154 void resume(int signum); 151 void resume(int signum);
155 void exitZs (int ec); 152 void exitZs (int ec);
156 153
157 QString zsaveDialog(); 154 QString zsaveDialog();
158 155
159public slots: 156public slots:
160 virtual void deletePwd(); 157 virtual void deletePwd();
161 virtual void editPwd(); 158 virtual void editPwd();
162 virtual void newPwd(); 159 virtual void newPwd();
163 virtual void findPwd(); 160 virtual void findPwd();
164 virtual void quitMe(); 161 virtual void quitMe();
165 virtual void listViewSelected( QListViewItem *_item); 162 virtual void listViewSelected( QListViewItem *_item);
166 virtual void showInfo( QListViewItem *_item); 163 virtual void showInfo( QListViewItem *_item);
167 virtual void writeAllEntries(); 164 virtual void writeAllEntries();
168 virtual void readAllEntries(); 165 virtual void readAllEntries();
169 virtual void removeAsciiFile(); 166 virtual void removeAsciiFile();
170 virtual void setPasswordDialogDone(); 167 virtual void setPasswordDialogDone();
171 168
172 virtual void addCategory(); 169 virtual void addCategory();
173 virtual void delCategory(); 170 virtual void delCategory();
174 virtual void editCategory(); 171 virtual void editCategory();
175 virtual void cutItem(); 172 virtual void cutItem();
176 virtual void copyItem(); 173 virtual void copyItem();
177 virtual void pasteItem(); 174 virtual void pasteItem();
178 175
179 virtual void newDocument(); 176 virtual void newDocument();
180 virtual void loadDocument(); 177 virtual void loadDocument();
181 virtual void saveDocumentAs(); 178 virtual void saveDocumentAs();
182 virtual void saveDocumentWithoutPwd(); 179 virtual void saveDocumentWithoutPwd();
183 virtual void saveDocumentWithPwd(); 180 virtual void saveDocumentWithPwd();
184 virtual void about();
185 virtual void setExpandFlag(); 181 virtual void setExpandFlag();
186 182
187 virtual void categoryFieldActivated( const QString& str); 183 virtual void categoryFieldActivated( const QString& str);
188 184
189 virtual void ListPressed(int, QListViewItem *, const QPoint&, int); 185 virtual void ListPressed(int, QListViewItem *, const QPoint&, int);
190 virtual void copyClip( const QString &text); 186 virtual void copyClip( const QString &text);
191 187
192private slots: 188private slots:
193 void setDocument(const QString& fileref); 189 void setDocument(const QString& fileref);
194 void slotLoadDocu(); 190 void slotLoadDocu();
195 void slotRaiseTimer(); 191 void slotRaiseTimer();
196 192
197}; 193};
198 194
199
200extern ZSafe *zs;
201extern QApplication *appl;
202extern int DeskW;
203extern int DeskH;
204#endif // ZSAFE_H 195#endif // ZSAFE_H