Diffstat (limited to 'noncore/net/wellenreiter/gui/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.cpp | 62 |
1 files changed, 53 insertions, 9 deletions
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp index 0ef89d4..9065351 100644 --- a/noncore/net/wellenreiter/gui/mainwindow.cpp +++ b/noncore/net/wellenreiter/gui/mainwindow.cpp | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <qcombobox.h> | 23 | #include <qcombobox.h> |
24 | #include <qdatastream.h> | 24 | #include <qdatastream.h> |
25 | #include <qfile.h> | 25 | #include <qfile.h> |
26 | #include <qfileinfo.h> | ||
26 | #include <qiconset.h> | 27 | #include <qiconset.h> |
27 | #include <qmenubar.h> | 28 | #include <qmenubar.h> |
28 | #include <qmessagebox.h> | 29 | #include <qmessagebox.h> |
@@ -33,8 +34,10 @@ | |||
33 | 34 | ||
34 | #ifdef QWS | 35 | #ifdef QWS |
35 | #include <qpe/resource.h> | 36 | #include <qpe/resource.h> |
37 | #include <opie/ofiledialog.h> | ||
36 | #else | 38 | #else |
37 | #include "resource.h" | 39 | #include "resource.h" |
40 | #include <qfiledialog.h> | ||
38 | #endif | 41 | #endif |
39 | 42 | ||
40 | WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) | 43 | WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) |
@@ -102,11 +105,11 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n | |||
102 | QMenuBar* mb = menuBar(); | 105 | QMenuBar* mb = menuBar(); |
103 | 106 | ||
104 | QPopupMenu* fileSave = new QPopupMenu( mb ); | 107 | QPopupMenu* fileSave = new QPopupMenu( mb ); |
105 | fileSave->insertItem( "&Session", this, SLOT( fileSaveSession() ) ); | 108 | fileSave->insertItem( "&Session...", this, SLOT( fileSaveSession() ) ); |
106 | fileSave->insertItem( "&Log", this, SLOT( fileSaveLog() ) ); | 109 | fileSave->insertItem( "&Log...", this, SLOT( fileSaveLog() ) ); |
107 | 110 | ||
108 | QPopupMenu* fileLoad = new QPopupMenu( mb ); | 111 | QPopupMenu* fileLoad = new QPopupMenu( mb ); |
109 | fileLoad->insertItem( "&Session", this, SLOT( fileLoadSession() ) ); | 112 | fileLoad->insertItem( "&Session...", this, SLOT( fileLoadSession() ) ); |
110 | //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); | 113 | //fileLoad->insertItem( "&Log", this, SLOT( fileLoadLog() ) ); |
111 | 114 | ||
112 | QPopupMenu* file = new QPopupMenu( mb ); | 115 | QPopupMenu* file = new QPopupMenu( mb ); |
@@ -198,9 +201,45 @@ void WellenreiterMainWindow::demoAddStations() | |||
198 | mw->netView()->addNewItem( "adhoc", "ELAN", "00:B0:8E:E7:56:E2", false, 3, 20 ); | 201 | mw->netView()->addNewItem( "adhoc", "ELAN", "00:B0:8E:E7:56:E2", false, 3, 20 ); |
199 | } | 202 | } |
200 | 203 | ||
204 | QString WellenreiterMainWindow::getFileName( bool save ) | ||
205 | { | ||
206 | QMap<QString, QStringList> map; | ||
207 | map.insert( tr("All"), QStringList() ); | ||
208 | QStringList text; | ||
209 | text << "text/*"; | ||
210 | map.insert(tr("Text"), text ); | ||
211 | text << "*"; | ||
212 | map.insert(tr("All"), text ); | ||
213 | |||
214 | QString str; | ||
215 | if ( save ) | ||
216 | { | ||
217 | #ifdef QWS | ||
218 | str = OFileDialog::getSaveFileName( 2, "/", QString::null, map ); | ||
219 | #else | ||
220 | str = QFileDialog::getSaveFileName(); | ||
221 | #endif | ||
222 | if ( str.isEmpty() || QFileInfo(str).isDir() ) | ||
223 | return ""; | ||
224 | } | ||
225 | else | ||
226 | { | ||
227 | #ifdef QWS | ||
228 | str = OFileDialog::getOpenFileName( 2, "/", QString::null, map ); | ||
229 | #else | ||
230 | str = QFileDialog::getOpenFileName(); | ||
231 | #endif | ||
232 | if ( str.isEmpty() || !QFile(str).exists() || QFileInfo(str).isDir() ) | ||
233 | return ""; | ||
234 | } | ||
235 | return str; | ||
236 | } | ||
237 | |||
201 | void WellenreiterMainWindow::fileSaveLog() | 238 | void WellenreiterMainWindow::fileSaveLog() |
202 | { | 239 | { |
203 | const QString fname( "/tmp/log.txt" ); | 240 | QString fname = getFileName( true ); |
241 | if ( !fname.isEmpty() ) | ||
242 | { | ||
204 | QFile f( fname ); | 243 | QFile f( fname ); |
205 | if ( f.open(IO_WriteOnly) ) | 244 | if ( f.open(IO_WriteOnly) ) |
206 | { | 245 | { |
@@ -213,12 +252,15 @@ void WellenreiterMainWindow::fileSaveLog() | |||
213 | { | 252 | { |
214 | qDebug( "Problem saving log to file '%s'", (const char*) fname ); | 253 | qDebug( "Problem saving log to file '%s'", (const char*) fname ); |
215 | } | 254 | } |
216 | 255 | } | |
217 | } | 256 | } |
218 | 257 | ||
219 | void WellenreiterMainWindow::fileSaveSession() | 258 | void WellenreiterMainWindow::fileSaveSession() |
220 | { | 259 | { |
221 | const QString fname( "/tmp/session.xml" ); | 260 | QString fname = getFileName( true ); |
261 | if ( !fname.isEmpty() ) | ||
262 | { | ||
263 | |||
222 | QFile f( fname ); | 264 | QFile f( fname ); |
223 | if ( f.open(IO_WriteOnly) ) | 265 | if ( f.open(IO_WriteOnly) ) |
224 | { | 266 | { |
@@ -232,12 +274,14 @@ void WellenreiterMainWindow::fileSaveSession() | |||
232 | qDebug( "Problem saving session to file '%s'", (const char*) fname ); | 274 | qDebug( "Problem saving session to file '%s'", (const char*) fname ); |
233 | } | 275 | } |
234 | } | 276 | } |
277 | } | ||
235 | 278 | ||
236 | void WellenreiterMainWindow::fileLoadSession() | 279 | void WellenreiterMainWindow::fileLoadSession() |
237 | { | 280 | { |
238 | const QString fname( "/tmp/session.xml" ); | 281 | QString fname = getFileName( false ); |
282 | if ( !fname.isEmpty() ) | ||
283 | { | ||
239 | QFile f( fname ); | 284 | QFile f( fname ); |
240 | |||
241 | if ( f.open(IO_ReadOnly) ) | 285 | if ( f.open(IO_ReadOnly) ) |
242 | { | 286 | { |
243 | QDataStream t( &f ); | 287 | QDataStream t( &f ); |
@@ -249,7 +293,7 @@ void WellenreiterMainWindow::fileLoadSession() | |||
249 | { | 293 | { |
250 | qDebug( "Problem loading session from file '%s'", (const char*) fname ); | 294 | qDebug( "Problem loading session from file '%s'", (const char*) fname ); |
251 | } | 295 | } |
252 | 296 | } | |
253 | } | 297 | } |
254 | 298 | ||
255 | void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) | 299 | void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) |