summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/configbase.ui512
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp16
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp17
4 files changed, 331 insertions, 215 deletions
diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui
index 3ece270..ba4de32 100644
--- a/noncore/net/wellenreiter/gui/configbase.ui
+++ b/noncore/net/wellenreiter/gui/configbase.ui
@@ -6,40 +6,40 @@
<name>name</name>
<cstring>WellenreiterConfigBase</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>220</width>
- <height>306</height>
+ <width>236</width>
+ <height>342</height>
</rect>
</property>
<property stdset="1">
<name>caption</name>
<string>Form1</string>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
- <vbox>
+ <grid>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>6</number>
</property>
<property stdset="1">
<name>spacing</name>
- <number>1</number>
+ <number>5</number>
</property>
- <widget>
+ <widget row="0" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout5</cstring>
</property>
<property>
<name>layoutSpacing</name>
</property>
@@ -78,215 +78,354 @@
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
</widget>
</hbox>
</widget>
- <widget>
- <class>QLayoutWidget</class>
+ <widget row="1" column="0" rowspan="1" colspan="2" >
+ <class>QComboBox</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout7</cstring>
+ <cstring>interfaceName</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
</property>
<property>
- <name>layoutSpacing</name>
+ <name>whatsThis</name>
+ <string>Choose the interface used for sniffing.</string>
+ </property>
+ </widget>
+ <widget row="2" column="0" rowspan="1" colspan="2" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;select&gt;</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>cisco</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>wlan-ng</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>hostap</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>orinoco</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;manual&gt;</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>&lt;file&gt;</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>deviceType</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the type of driver used for sniffing.</string>
+ </property>
+ </widget>
+ <widget row="3" column="0" rowspan="1" colspan="2" >
+ <class>QSpinBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>hopInterval</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>suffix</name>
+ <string> ms</string>
+ </property>
+ <property stdset="1">
+ <name>maxValue</name>
+ <number>2000</number>
+ </property>
+ <property stdset="1">
+ <name>minValue</name>
+ <number>100</number>
+ </property>
+ <property stdset="1">
+ <name>lineStep</name>
+ <number>100</number>
+ </property>
+ <property>
+ <name>whatsThis</name>
+ <string>Choose the channel hop interval.</string>
+ </property>
+ </widget>
+ <widget row="3" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Hop Interval</string>
+ </property>
+ </widget>
+ <widget row="2" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Device Type</string>
+ </property>
+ </widget>
+ <widget row="1" column="2" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Interface Name</string>
+ </property>
+ </widget>
+ <widget row="5" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1_5</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Fake MAC:</string>
+ </property>
+ </widget>
+ <widget row="5" column="1" rowspan="1" colspan="2" >
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>MAC</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>44:44:44:44:44:44</string>
+ </property>
+ </widget>
+ <widget row="4" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>activeScanning</cstring>
+ </property>
+ <property stdset="1">
+ <name>enabled</name>
+ <bool>false</bool>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Active Scanning (caution!)</string>
+ </property>
+ </widget>
+ <widget row="10" column="0" rowspan="1" colspan="3" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout5</cstring>
</property>
<grid>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
- <number>2</number>
+ <number>6</number>
</property>
- <widget row="0" column="0" >
- <class>QComboBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>interfaceName</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the interface used for sniffing.</string>
- </property>
- </widget>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
+ <widget row="0" column="1" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>activeScanning</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <cstring>TextLabel1</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Active Scanning (caution!)</string>
+ <string>sound on new net</string>
</property>
</widget>
<widget row="1" column="0" >
<class>QComboBox</class>
<item>
<property>
<name>text</name>
- <string>&lt;select&gt;</string>
+ <string>Ignore</string>
</property>
</item>
<item>
<property>
<name>text</name>
- <string>cisco</string>
+ <string>Touch</string>
</property>
</item>
<item>
<property>
<name>text</name>
- <string>wlan-ng</string>
+ <string>Key</string>
</property>
</item>
<item>
<property>
<name>text</name>
- <string>hostap</string>
+ <string>Alarm</string>
</property>
</item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>beaconSound</cstring>
+ </property>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QComboBox</class>
<item>
<property>
<name>text</name>
- <string>orinoco</string>
+ <string>Ignore</string>
</property>
</item>
<item>
<property>
<name>text</name>
- <string>&lt;manual&gt;</string>
+ <string>Touch</string>
</property>
</item>
<item>
<property>
<name>text</name>
- <string>&lt;file&gt;</string>
+ <string>Key</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Alarm</string>
</property>
</item>
<property stdset="1">
<name>name</name>
- <cstring>deviceType</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the type of driver used for sniffing.</string>
- </property>
- </widget>
- <widget row="3" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>additionalInfo</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Gather Additional Info</string>
- </property>
- </widget>
- <widget row="2" column="0" >
- <class>QSpinBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>hopInterval</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
- </property>
- <property stdset="1">
- <name>suffix</name>
- <string> ms</string>
- </property>
- <property stdset="1">
- <name>maxValue</name>
- <number>2000</number>
- </property>
- <property stdset="1">
- <name>minValue</name>
- <number>100</number>
- </property>
- <property stdset="1">
- <name>lineStep</name>
- <number>100</number>
- </property>
- <property>
- <name>whatsThis</name>
- <string>Choose the channel hop interval.</string>
+ <cstring>netSound</cstring>
</property>
</widget>
- <widget row="2" column="1" >
+ <widget row="1" column="1" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel3_3</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>true</bool>
+ <cstring>TextLabel1_3</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>Hop Interval</string>
+ <string>sound on beacon</string>
</property>
</widget>
- <widget row="1" column="1" >
- <class>QLabel</class>
+ </grid>
+ </widget>
+ <widget row="8" column="0" rowspan="1" colspan="3" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout7</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QCheckBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel2_3</cstring>
+ <cstring>writeCaptureFile</cstring>
</property>
<property stdset="1">
<name>enabled</name>
<bool>true</bool>
</property>
<property stdset="1">
<name>text</name>
- <string>Device Type</string>
+ <string>Write Capture File</string>
</property>
</widget>
- <widget row="0" column="1" >
- <class>QLabel</class>
+ <widget>
+ <class>QToolButton</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_2</cstring>
+ <cstring>getCaptureFileName</cstring>
</property>
<property stdset="1">
<name>enabled</name>
- <bool>true</bool>
+ <bool>false</bool>
</property>
<property stdset="1">
<name>text</name>
- <string>Interface Name</string>
+ <string>...</string>
</property>
</widget>
- </grid>
+ </hbox>
</widget>
- <widget>
+ <widget row="7" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
<cstring>Layout6</cstring>
</property>
<property>
<name>layoutSpacing</name>
</property>
@@ -325,142 +464,91 @@
</property>
<property stdset="1">
<name>orientation</name>
<enum>Horizontal</enum>
</property>
</widget>
</hbox>
</widget>
- <widget>
- <class>QCheckBox</class>
- <property stdset="1">
+ <spacer row="6" column="2" >
+ <property>
<name>name</name>
- <cstring>groupNetworks</cstring>
- </property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
+ <cstring>Spacer1</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Group Detected Networks</string>
+ <name>orientation</name>
+ <enum>Vertical</enum>
</property>
- </widget>
- <widget>
- <class>QCheckBox</class>
<property stdset="1">
- <name>name</name>
- <cstring>enableActivity</cstring>
+ <name>sizeType</name>
+ <enum>Expanding</enum>
</property>
- <property stdset="1">
- <name>enabled</name>
- <bool>false</bool>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Enable Activity Display</string>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
- <widget>
+ </spacer>
+ <widget row="9" column="0" rowspan="1" colspan="3" >
<class>QLayoutWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>Layout5</cstring>
+ <cstring>Layout7</cstring>
</property>
- <grid>
+ <hbox>
<property stdset="1">
<name>margin</name>
<number>0</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>6</number>
</property>
- <widget row="0" column="1" >
+ <widget>
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1</cstring>
+ <cstring>TextLabel1_4</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>sound on new net</string>
- </property>
- </widget>
- <widget row="1" column="0" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Ignore</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Touch</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Key</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Alarm</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>beaconSound</cstring>
- </property>
- </widget>
- <widget row="0" column="0" >
- <class>QComboBox</class>
- <item>
- <property>
- <name>text</name>
- <string>Ignore</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Touch</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Key</string>
- </property>
- </item>
- <item>
- <property>
- <name>text</name>
- <string>Alarm</string>
- </property>
- </item>
- <property stdset="1">
- <name>name</name>
- <cstring>netSound</cstring>
+ <string>CaptureFile:</string>
</property>
</widget>
- <widget row="1" column="1" >
- <class>QLabel</class>
+ <widget>
+ <class>QLineEdit</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_3</cstring>
+ <cstring>captureFileName</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>sound on beacon</string>
+ <name>enabled</name>
+ <bool>false</bool>
</property>
</widget>
- </grid>
+ </hbox>
</widget>
- </vbox>
+ </grid>
</widget>
+<connections>
+ <connection>
+ <sender>writeCaptureFile</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>getCaptureFileName</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>activeScanning</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>MAC</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>writeCaptureFile</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>captureFileName</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
</UI>
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 4aca526..716618e 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -16,19 +16,21 @@
/* LOCAL */
#include "configwindow.h"
#include "mainwindow.h"
/* QT */
#include <qapplication.h>
#include <qcombobox.h>
#include <qfile.h>
+#include <qlineedit.h>
#include <qlayout.h>
#include <qmap.h>
#include <qpushbutton.h>
+#include <qtoolbutton.h>
#include <qspinbox.h>
#include <qtextstream.h>
/* OPIE */
#include <opie2/onetwork.h>
WellenreiterConfigWindow* WellenreiterConfigWindow::_instance = 0;
@@ -80,16 +82,17 @@ WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char
okButton->show();
Layout5_2->addWidget( okButton, 0, 3 ); //FIXME: rename this in configbase.ui
connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
#endif
WellenreiterConfigWindow::_instance = this;
connect( deviceType, SIGNAL( activated(int) ), this, SLOT( changedDeviceType(int) ) );
+ connect( getCaptureFileName, SIGNAL( clicked() ), this, SLOT( getCaptureFileNameClicked() ) );
};
int WellenreiterConfigWindow::daemonDeviceType()
{
QString name = deviceType->currentText();
if ( _devicetype.contains( name ) )
{
@@ -107,20 +110,31 @@ int WellenreiterConfigWindow::daemonHopInterval()
return hopInterval->cleanText().toInt();
}
void WellenreiterConfigWindow::changedDeviceType(int t)
{
if ( t != DEVTYPE_FILE ) return;
QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(false);
- if ( !name.isNull() && QFile::exists( name ) )
+ if ( !name.isEmpty() && QFile::exists( name ) )
{
interfaceName->insertItem( name );
interfaceName->setCurrentItem( interfaceName->count()-1 );
}
else
{
deviceType->setCurrentItem( _guess );
}
}
+
+void WellenreiterConfigWindow::getCaptureFileNameClicked()
+{
+ QString name = ( (WellenreiterMainWindow*) qApp->mainWidget() )->getFileName(true);
+ qDebug( "name = %s", (const char*) name );
+ if ( !name.isEmpty() )
+ {
+ captureFileName->setText( name );
+ }
+}
+
diff --git a/noncore/net/wellenreiter/gui/configwindow.h b/noncore/net/wellenreiter/gui/configwindow.h
index 7df1a80..c7c70a6 100644
--- a/noncore/net/wellenreiter/gui/configwindow.h
+++ b/noncore/net/wellenreiter/gui/configwindow.h
@@ -40,16 +40,17 @@ class WellenreiterConfigWindow : public WellenreiterConfigBase
int daemonDeviceType();
int daemonHopInterval();
const QString soundOnNetwork() const { return netSound->currentText(); };
const QString soundOnBeacon() const { return beaconSound->currentText(); };
static WellenreiterConfigWindow* instance() { return _instance; };
public slots:
void changedDeviceType(int);
+ void getCaptureFileNameClicked();
protected:
QMap<QString, int> _devicetype;
static WellenreiterConfigWindow* _instance;
int _guess;
};
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index 5c10c3b..be2a86e 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -25,19 +25,21 @@ using namespace Opie;
#else
#include <qapplication.h>
#endif
#include <opie2/onetwork.h>
#include <opie2/opcap.h>
// Qt
+#include <qcheckbox.h>
+#include <qcombobox.h>
#include <qpushbutton.h>
+#include <qlineedit.h>
#include <qmessagebox.h>
-#include <qcombobox.h>
#include <qspinbox.h>
#include <qtoolbutton.h>
#include <qmainwindow.h>
// Standard
#include <assert.h>
#include <errno.h>
@@ -315,19 +317,30 @@ void Wellenreiter::startClicked()
{
QMessageBox::warning( this, "Wellenreiter II", "Can't set device into monitor mode." );
return;
}
}
// open pcap and start sniffing
if ( cardtype != DEVTYPE_FILE )
- pcap->open( interface );
+ {
+ if ( configwindow->writeCaptureFile->isEnabled() )
+ {
+ pcap->open( interface, configwindow->captureFileName->text() );
+ }
+ else
+ {
+ pcap->open( interface );
+ }
+ }
else
+ {
pcap->open( QFile( interface ) );
+ }
if ( !pcap->isOpen() )
{
QMessageBox::warning( this, "Wellenreiter II", "Can't open packet capturer:\n" + QString(strerror( errno ) ));
return;
}
// set capturer to non-blocking mode