summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/mainwindow.cpp
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/gui/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp62
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
40WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f ) 43WellenreiterMainWindow::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
204QString 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
201void WellenreiterMainWindow::fileSaveLog() 238void 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
219void WellenreiterMainWindow::fileSaveSession() 258void 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
236void WellenreiterMainWindow::fileLoadSession() 279void 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
255void WellenreiterMainWindow::closeEvent( QCloseEvent* e ) 299void WellenreiterMainWindow::closeEvent( QCloseEvent* e )