-rw-r--r-- | libkdepim/phoneaccess.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/libkdepim/phoneaccess.cpp b/libkdepim/phoneaccess.cpp index 89db22b..0ea73f5 100644 --- a/libkdepim/phoneaccess.cpp +++ b/libkdepim/phoneaccess.cpp | |||
@@ -1,216 +1,219 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of libkdepim. | 2 | This file is part of libkdepim. |
3 | 3 | ||
4 | Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org> | 4 | Copyright (c) 2004 Lutz Rogowski <rogowski@kde.org> |
5 | 5 | ||
6 | This library is free software; you can redistribute it and/or | 6 | This library is free software; you can redistribute it and/or |
7 | modify it under the terms of the GNU Library General Public | 7 | modify it under the terms of the GNU Library General Public |
8 | License as published by the Free Software Foundation; either | 8 | License as published by the Free Software Foundation; either |
9 | version 2 of the License, or (at your option) any later version. | 9 | version 2 of the License, or (at your option) any later version. |
10 | 10 | ||
11 | This library is distributed in the hope that it will be useful, | 11 | This library is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | Library General Public License for more details. | 14 | Library General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU Library General Public License | 16 | You should have received a copy of the GNU Library General Public License |
17 | along with this library; see the file COPYING.LIB. If not, write to | 17 | along with this library; see the file COPYING.LIB. If not, write to |
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | Boston, MA 02111-1307, USA. | 19 | Boston, MA 02111-1307, USA. |
20 | */ | 20 | */ |
21 | 21 | ||
22 | 22 | ||
23 | #include <qstring.h> | 23 | #include <qstring.h> |
24 | #include <qapplication.h> | 24 | #include <qapplication.h> |
25 | #include <qptrlist.h> | 25 | #include <QDesktopWidget> |
26 | #include <q3ptrlist.h> | ||
26 | #include <qregexp.h> | 27 | #include <qregexp.h> |
27 | #include <qfile.h> | 28 | #include <qfile.h> |
28 | #include <qlabel.h> | 29 | #include <qlabel.h> |
29 | #include <qtextstream.h> | 30 | #include <q3textstream.h> |
30 | #include <qtextcodec.h> | 31 | #include <qtextcodec.h> |
31 | #include <qdir.h> | 32 | #include <qdir.h> |
32 | #include <kmessagebox.h> | 33 | #include <kmessagebox.h> |
33 | #include <stdlib.h> | 34 | #include <stdlib.h> |
34 | #include "phoneaccess.h" | 35 | #include "phoneaccess.h" |
35 | 36 | ||
36 | void PhoneAccess::writeConfig( QString device, QString connection, QString model ) | 37 | void PhoneAccess::writeConfig( QString device, QString connection, QString model ) |
37 | { | 38 | { |
38 | #ifdef _WIN32_ | 39 | #ifdef _WIN32_ |
39 | QString fileName = qApp->applicationDirPath () +"\\gammurc"; | 40 | QString fileName = qApp->applicationDirPath () +"\\gammurc"; |
40 | #else | 41 | #else |
41 | QString fileName = QDir::homeDirPath() +"/.gammurc"; | 42 | QString fileName = QDir::homeDirPath() +"/.gammurc"; |
42 | #endif | 43 | #endif |
43 | //qDebug("save %d ", load ); | 44 | //qDebug("save %d ", load ); |
44 | QString content = "[gammu]\n";; | 45 | QString content = "[gammu]\n";; |
45 | bool write = false; | 46 | bool write = false; |
46 | bool addPort = true, addConnection = true, addModel = true; | 47 | bool addPort = true, addConnection = true, addModel = true; |
47 | QFile file( fileName ); | 48 | QFile file( fileName ); |
48 | if ( QFile::exists( fileName) ) { | 49 | if ( QFile::exists( fileName) ) { |
49 | if (!file.open( IO_ReadOnly ) ) { | 50 | if (!file.open( QIODevice::ReadOnly ) ) { |
50 | qDebug("Error: cannot open %s ", fileName.latin1() ); | 51 | qDebug("Error: cannot open %s ", fileName.latin1() ); |
51 | return; | 52 | return; |
52 | } | 53 | } |
53 | QString line; | 54 | QString line; |
54 | while ( file.readLine( line, 1024 ) > 0 ) { | 55 | char tmp[1024]; |
56 | while ( file.readLine( tmp, 1024 ) > 0 ) { | ||
57 | line = tmp; | ||
55 | //qDebug("*%s* ", line.latin1() ); | 58 | //qDebug("*%s* ", line.latin1() ); |
56 | if ( line.left(7 ) == "[gammu]" ) { | 59 | if ( line.left(7 ) == "[gammu]" ) { |
57 | ; | 60 | ; |
58 | } else | 61 | } else |
59 | if ( line.left(4 ) == "port" ) { | 62 | if ( line.left(4 ) == "port" ) { |
60 | if ( line == "port = " + device+"\n" ) { | 63 | if ( line == "port = " + device+"\n" ) { |
61 | content += line ; | 64 | content += line ; |
62 | addPort = false; | 65 | addPort = false; |
63 | //qDebug("port found" ); | 66 | //qDebug("port found" ); |
64 | } | 67 | } |
65 | 68 | ||
66 | } else if ( line.left(5 ) == "model" ) { | 69 | } else if ( line.left(5 ) == "model" ) { |
67 | if ( line == "model = " + model +"\n") { | 70 | if ( line == "model = " + model +"\n") { |
68 | content += line ; | 71 | content += line ; |
69 | addModel = false; | 72 | addModel = false; |
70 | //qDebug("model found" ); | 73 | //qDebug("model found" ); |
71 | } | 74 | } |
72 | 75 | ||
73 | } else if ( line.left( 10 ) == "connection" ) { | 76 | } else if ( line.left( 10 ) == "connection" ) { |
74 | if ( line == "connection = " + connection +"\n") { | 77 | if ( line == "connection = " + connection +"\n") { |
75 | addConnection = false; | 78 | addConnection = false; |
76 | content += line ; | 79 | content += line ; |
77 | //qDebug("con found" ); | 80 | //qDebug("con found" ); |
78 | } | 81 | } |
79 | 82 | ||
80 | } else { | 83 | } else { |
81 | content += line ; | 84 | content += line ; |
82 | } | 85 | } |
83 | } | 86 | } |
84 | file.close(); | 87 | file.close(); |
85 | } else { | 88 | } else { |
86 | if ( ! connection.isEmpty() ) { | 89 | if ( ! connection.isEmpty() ) { |
87 | addConnection = true; | 90 | addConnection = true; |
88 | } | 91 | } |
89 | if ( ! device.isEmpty() ) { | 92 | if ( ! device.isEmpty() ) { |
90 | addPort = true; | 93 | addPort = true; |
91 | 94 | ||
92 | } | 95 | } |
93 | if ( ! model.isEmpty() ) { | 96 | if ( ! model.isEmpty() ) { |
94 | addModel = true; | 97 | addModel = true; |
95 | } | 98 | } |
96 | } | 99 | } |
97 | 100 | ||
98 | if ( addConnection ) { | 101 | if ( addConnection ) { |
99 | write = true; | 102 | write = true; |
100 | content += "connection = "; | 103 | content += "connection = "; |
101 | content += connection; | 104 | content += connection; |
102 | content += "\n"; | 105 | content += "\n"; |
103 | } | 106 | } |
104 | if ( addPort ) { | 107 | if ( addPort ) { |
105 | write = true; | 108 | write = true; |
106 | content += "port = "; | 109 | content += "port = "; |
107 | content += device; | 110 | content += device; |
108 | content += "\n"; | 111 | content += "\n"; |
109 | 112 | ||
110 | } | 113 | } |
111 | if ( addModel ) { | 114 | if ( addModel ) { |
112 | write = true; | 115 | write = true; |
113 | content += "model = "; | 116 | content += "model = "; |
114 | content += model; | 117 | content += model; |
115 | content += "\n"; | 118 | content += "\n"; |
116 | } | 119 | } |
117 | if ( write ) { | 120 | if ( write ) { |
118 | if (!file.open( IO_WriteOnly ) ) { | 121 | if (!file.open( QIODevice::WriteOnly ) ) { |
119 | qDebug("Error: cannot write file %s ", fileName.latin1() ); | 122 | qDebug("Error: cannot write file %s ", fileName.latin1() ); |
120 | return; | 123 | return; |
121 | } | 124 | } |
122 | qDebug("Writing file %s ", fileName.latin1() ); | 125 | qDebug("Writing file %s ", fileName.latin1() ); |
123 | QTextStream ts( &file ); | 126 | Q3TextStream ts( &file ); |
124 | ts << content ; | 127 | ts << content ; |
125 | file.close(); | 128 | file.close(); |
126 | } | 129 | } |
127 | 130 | ||
128 | } | 131 | } |
129 | 132 | ||
130 | 133 | ||
131 | bool PhoneAccess::writeToPhone( QString fileName) | 134 | bool PhoneAccess::writeToPhone( QString fileName) |
132 | { | 135 | { |
133 | 136 | ||
134 | #ifdef DESKTOP_VERSION | 137 | #ifdef DESKTOP_VERSION |
135 | #ifdef _WIN32_ | 138 | #ifdef _WIN32_ |
136 | QString command ="kammu --restore " + fileName ; | 139 | QString command ="kammu --restore " + fileName ; |
137 | #else | 140 | #else |
138 | QString command ="./kammu --restore " + fileName ; | 141 | QString command ="./kammu --restore " + fileName ; |
139 | #endif | 142 | #endif |
140 | #else | 143 | #else |
141 | QString command ="kammu --restore " + fileName ; | 144 | QString command ="kammu --restore " + fileName ; |
142 | #endif | 145 | #endif |
143 | int ret = 1; | 146 | int ret = 1; |
144 | while ( ret != 0 ) { | 147 | while ( ret != 0 ) { |
145 | QLabel* status = new QLabel( i18n(" This may take 1-3 minutes!"), 0 ); | 148 | QLabel* status = new QLabel( i18n(" This may take 1-3 minutes!"), 0 ); |
146 | int w = 235; | 149 | int w = 235; |
147 | int h = status->sizeHint().height()+20 ; | 150 | int h = status->sizeHint().height()+20 ; |
148 | int dw = QApplication::desktop()->width(); | 151 | int dw = QApplication::desktop()->width(); |
149 | int dh = QApplication::desktop()->height(); | 152 | int dh = QApplication::desktop()->height(); |
150 | if ( dw > 310 ) | 153 | if ( dw > 310 ) |
151 | w = 310; | 154 | w = 310; |
152 | status->setCaption(i18n("Writing to phone...") ); | 155 | status->setCaption(i18n("Writing to phone...") ); |
153 | status->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); | 156 | status->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); |
154 | status->show(); | 157 | status->show(); |
155 | status->raise(); | 158 | status->raise(); |
156 | status->update(); | 159 | status->update(); |
157 | qApp->processEvents(); | 160 | qApp->processEvents(); |
158 | status->update(); | 161 | status->update(); |
159 | qApp->processEvents(); | 162 | qApp->processEvents(); |
160 | ret = system ( command.latin1()); | 163 | ret = system ( command.latin1()); |
161 | delete status; | 164 | delete status; |
162 | qApp->processEvents(); | 165 | qApp->processEvents(); |
163 | if ( ret ) { | 166 | if ( ret ) { |
164 | qDebug("Error S::command returned %d.", ret); | 167 | qDebug("Error S::command returned %d.", ret); |
165 | int retval = KMessageBox::warningContinueCancel(0, | 168 | int retval = KMessageBox::warningContinueCancel(0, |
166 | i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KDE/Pim phone access"),i18n("Retry"),i18n("Cancel")); | 169 | i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KDE/Pim phone access"),i18n("Retry"),i18n("Cancel")); |
167 | if ( retval != KMessageBox::Continue ) | 170 | if ( retval != KMessageBox::Continue ) |
168 | return false; | 171 | return false; |
169 | } | 172 | } |
170 | } | 173 | } |
171 | return true; | 174 | return true; |
172 | } | 175 | } |
173 | bool PhoneAccess::readFromPhone( QString fileName) | 176 | bool PhoneAccess::readFromPhone( QString fileName) |
174 | { | 177 | { |
175 | 178 | ||
176 | #ifdef DESKTOP_VERSION | 179 | #ifdef DESKTOP_VERSION |
177 | #ifdef _WIN32_ | 180 | #ifdef _WIN32_ |
178 | QString command ="kammu --backup " + fileName + " -yes" ; | 181 | QString command ="kammu --backup " + fileName + " -yes" ; |
179 | #else | 182 | #else |
180 | QString command ="./kammu --backup " + fileName + " -yes" ; | 183 | QString command ="./kammu --backup " + fileName + " -yes" ; |
181 | #endif | 184 | #endif |
182 | #else | 185 | #else |
183 | QString command ="kammu --backup " + fileName + " -yes" ; | 186 | QString command ="kammu --backup " + fileName + " -yes" ; |
184 | #endif | 187 | #endif |
185 | int ret = 1; | 188 | int ret = 1; |
186 | while ( ret != 0 ) { | 189 | while ( ret != 0 ) { |
187 | QLabel* status = new QLabel( i18n(" This may take 1-3 minutes!"), 0 ); | 190 | QLabel* status = new QLabel( i18n(" This may take 1-3 minutes!"), 0 ); |
188 | int w = 235; | 191 | int w = 235; |
189 | int h = status->sizeHint().height()+20 ; | 192 | int h = status->sizeHint().height()+20 ; |
190 | int dw = QApplication::desktop()->width(); | 193 | int dw = QApplication::desktop()->width(); |
191 | int dh = QApplication::desktop()->height(); | 194 | int dh = QApplication::desktop()->height(); |
192 | if ( dw > 310 ) | 195 | if ( dw > 310 ) |
193 | w = 310; | 196 | w = 310; |
194 | status->setCaption(i18n("Reading from phone...") ); | 197 | status->setCaption(i18n("Reading from phone...") ); |
195 | status->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); | 198 | status->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); |
196 | status->show(); | 199 | status->show(); |
197 | status->raise(); | 200 | status->raise(); |
198 | status->update(); | 201 | status->update(); |
199 | qApp->processEvents(); | 202 | qApp->processEvents(); |
200 | status->update(); | 203 | status->update(); |
201 | qApp->processEvents(); | 204 | qApp->processEvents(); |
202 | ret = system ( command.latin1() ); | 205 | ret = system ( command.latin1() ); |
203 | delete status; | 206 | delete status; |
204 | qApp->processEvents(); | 207 | qApp->processEvents(); |
205 | if ( ret ) { | 208 | if ( ret ) { |
206 | qDebug("Error reading from phone:Command returned %d", ret); | 209 | qDebug("Error reading from phone:Command returned %d", ret); |
207 | int retval = KMessageBox::warningContinueCancel(0, | 210 | int retval = KMessageBox::warningContinueCancel(0, |
208 | i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KDE/Pim phone access"),i18n("Retry"),i18n("Cancel")); | 211 | i18n("Error accessing device!\nPlease turn on connection\nand retry!"),i18n("KDE/Pim phone access"),i18n("Retry"),i18n("Cancel")); |
209 | if ( retval != KMessageBox::Continue ) | 212 | if ( retval != KMessageBox::Continue ) |
210 | return false; | 213 | return false; |
211 | 214 | ||
212 | } | 215 | } |
213 | } | 216 | } |
214 | qApp->processEvents(); | 217 | qApp->processEvents(); |
215 | return true; | 218 | return true; |
216 | } | 219 | } |