summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp56
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h8
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp38
3 files changed, 54 insertions, 48 deletions
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index 868b0b0..ab7e0c7 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -56,47 +56,41 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
setIcon( Resource::loadPixmap( "wellenreiter/appicon-trans" ) );
setIconText( "Wellenreiter/X11" );
#endif
- // setup icon sets
-
- infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) );
- settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) );
- startIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) );
- stopIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) );
-
// setup tool buttons
startButton = new QToolButton( 0 );
#ifdef QWS
startButton->setAutoRaise( true );
#endif
- startButton->setIconSet( *startIconSet );
+ startButton->setIconSet( Resource::loadIconSet( "wellenreiter/SearchIcon" ) );
startButton->setEnabled( false );
connect( startButton, SIGNAL( clicked() ), mw, SLOT( startClicked() ) );
stopButton = new QToolButton( 0 );
#ifdef QWS
stopButton->setAutoRaise( true );
#endif
- stopButton->setIconSet( *stopIconSet );
+ stopButton->setIconSet( Resource::loadIconSet( "wellenreiter/CancelIcon" ) );
stopButton->setEnabled( false );
connect( stopButton, SIGNAL( clicked() ), mw, SLOT( stopClicked() ) );
- QToolButton* c = new QToolButton( 0 );
- #ifdef QWS
- c->setAutoRaise( true );
- #endif
- c->setIconSet( *infoIconSet );
- c->setEnabled( false );
-
QToolButton* d = new QToolButton( 0 );
#ifdef QWS
d->setAutoRaise( true );
#endif
- d->setIconSet( *settingsIconSet );
+ d->setIconSet( Resource::loadIconSet( "wellenreiter/SettingsIcon" ) );
connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) );
+ uploadButton = new QToolButton( 0 );
+ #ifdef QWS
+ uploadButton->setAutoRaise( true );
+ #endif
+ uploadButton->setIconSet( Resource::loadIconSet( "up" ) );
+ uploadButton->setEnabled( false );
+ connect( uploadButton, SIGNAL( clicked() ), this, SLOT( uploadSession() ) );
+
// setup menu bar
int id;
@@ -115,8 +109,10 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
file->insertItem( tr( "&New" ), this, SLOT( fileNew() ) );
id = file->insertItem( tr( "&Load" ), fileLoad );
file->insertItem( tr( "&Save" ), fileSave );
file->insertSeparator();
+ uploadID = file->insertItem( tr( "&Upload Session" ), this, SLOT( uploadSession() ) );
+ file->insertSeparator();
file->insertItem( tr( "&Exit" ), qApp, SLOT( quit() ) );
QPopupMenu* view = new QPopupMenu( mb );
view->insertItem( tr( "&Configure..." ) );
@@ -138,17 +134,18 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n
id = mb->insertItem( tr( "&Sniffer" ), sniffer );
id = mb->insertItem( tr( "&Demo" ), demo );
mb->setItemEnabled( id, true );
+ mb->setItemEnabled( uploadID, false );
#ifdef QWS
mb->insertItem( startButton );
mb->insertItem( stopButton );
- mb->insertItem( c );
+ mb->insertItem( uploadButton );
mb->insertItem( d );
#else // Qt3 changed the insertion order. It's now totally random :(
mb->insertItem( d );
- mb->insertItem( c );
+ mb->insertItem( uploadButton );
mb->insertItem( stopButton );
mb->insertItem( startButton );
#endif
@@ -178,9 +175,8 @@ void WellenreiterMainWindow::showConfigure()
if ( result ) updateToolButtonState();
}
-
void WellenreiterMainWindow::updateToolButtonState()
{
const QString& interface = cw->interfaceName->currentText();
const int cardtype = cw->driverType();
@@ -203,19 +199,23 @@ void WellenreiterMainWindow::changedSniffingState()
startButton->setEnabled( !mw->sniffing );
menuBar()->setItemEnabled( startID, !mw->sniffing );
stopButton->setEnabled( mw->sniffing );
menuBar()->setItemEnabled( stopID, mw->sniffing );
+
+ if ( !mw->sniffing )
+ {
+ menuBar()->setItemEnabled( uploadID, true );
+ uploadButton->setEnabled( true );
+ }
}
WellenreiterMainWindow::~WellenreiterMainWindow()
{
- delete infoIconSet;
- delete settingsIconSet;
- delete startIconSet;
- delete stopIconSet;
+ qDebug( "Wellenreiter:: bye." );
};
+
void WellenreiterMainWindow::demoAddStations()
{
//mw = 0; // test SIGSGV handling
@@ -342,15 +342,17 @@ void WellenreiterMainWindow::fileLoadSession()
}
}
}
+
void WellenreiterMainWindow::fileNew()
{
mw->netView()->clear();
mw->logWindow()->clear();
mw->hexWindow()->clear();
}
+
void WellenreiterMainWindow::closeEvent( QCloseEvent* e )
{
if ( mw->isDaemonRunning() )
{
@@ -364,4 +366,10 @@ void WellenreiterMainWindow::closeEvent( QCloseEvent* e )
}
}
+void WellenreiterMainWindow::uploadSession()
+{
+ QMessageBox::warning( this, "Wellenreiter/Opie",
+ tr( "This feature is\nunder construction... ;-)" ) );
+}
+
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index 926bb0a..8d4e768 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -35,17 +35,14 @@ class WellenreiterMainWindow: public QMainWindow
protected:
Wellenreiter* mw;
WellenreiterConfigWindow* cw;
- const QIconSet* startIconSet;
- const QIconSet* stopIconSet;
- const QIconSet* infoIconSet;
- const QIconSet* settingsIconSet;
-
QToolButton* startButton;
QToolButton* stopButton;
+ QToolButton* uploadButton;
int startID;
int stopID;
+ int uploadID;
protected:
virtual void closeEvent( QCloseEvent* );
void updateToolButtonState();
@@ -57,8 +54,9 @@ class WellenreiterMainWindow: public QMainWindow
void fileSaveHex();
void fileSaveSession();
void fileLoadSession();
void fileNew();
+ void uploadSession();
void changedSniffingState();
};
#endif
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 1d4a98b..ec89f1e 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -301,9 +301,9 @@ bool Wellenreiter::checkDumpPacket( OPacket* p )
{
// go through all child packets and see if one is inside the child hierarchy for p
// if so, do what the user requested (protocolAction), e.g. pass or discard
if ( !configwindow->writeCaptureFile->isChecked() )
- return false;
+ return true; // semantic change - we're logging anyway now to /tmp/wellenreiter
QObjectList* l = p->queryList();
QObjectListIt it( *l );
QObject* o;
@@ -505,31 +505,31 @@ void Wellenreiter::startClicked()
gps->open( configwindow->gpsdHost->currentText(), configwindow->gpsdPort->value() );
}
// open pcap and start sniffing
- if ( cardtype != DEVTYPE_FILE )
- {
- pcap->open( interface );
- if ( configwindow->writeCaptureFile->isChecked() )
- {
- QString dumpname( configwindow->captureFileName->text() );
- if ( dumpname.isEmpty() ) dumpname = "captureFile";
- dumpname.append( '-' );
- dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) );
- dumpname.append( ".wellenreiter" );
- pcap->openDumpFile( dumpname );
- }
- else
- {
- pcap->open( interface );
- }
+ QString dumpname;
+ if ( configwindow->writeCaptureFile->isChecked() ) // write to a user specified capture file?
+ {
+ dumpname = configwindow->captureFileName->text();
+ if ( dumpname.isEmpty() ) dumpname = "captureFile";
+ dumpname.append( '-' );
+ dumpname.append( QTime::currentTime().toString().replace( QRegExp( ":" ), "-" ) );
+ dumpname.append( ".wellenreiter" );
}
- else
+ else // write it anyway ;)
{
- pcap->open( QFile( interface ) );
+ dumpname = "/var/log/dump.wellenreiter";
}
+ if ( cardtype != DEVTYPE_FILE )
+ pcap->open( interface );
+ else
+ pcap->open( QFile( interface ) );
+
+ qDebug( "Wellenreiter:: dumping to %s", (const char*) dumpname );
+ pcap->openDumpFile( dumpname );
+
if ( !pcap->isOpen() )
{
QMessageBox::warning( this, "Wellenreiter II", tr( "Can't open packet capturer for\n'%1':\n" ).arg(
cardtype == DEVTYPE_FILE ? (const char*) interface : iface->name() ) + QString(strerror( errno ) ));