summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2003-02-23 16:45:09 (UTC)
committer mickeyl <mickeyl>2003-02-23 16:45:09 (UTC)
commit2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321 (patch) (side-by-side diff)
tree9f32fb9e22a26188c6f1c1092c74b1bf47aa418c
parent3a3c703d9bdf57f50b3f47aa14c858ef1026e3d3 (diff)
downloadopie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.zip
opie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.tar.gz
opie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.tar.bz2
simplification and fixes for the standalone X11 build
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/README11
-rw-r--r--noncore/net/wellenreiter/daemon/daemon.pro6
-rw-r--r--noncore/net/wellenreiter/gui/configwindow.cpp9
-rw-r--r--noncore/net/wellenreiter/gui/gui-x11.pro15
-rw-r--r--noncore/net/wellenreiter/gui/gui.pro13
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.cpp27
-rw-r--r--noncore/net/wellenreiter/gui/mainwindow.h1
-rw-r--r--noncore/net/wellenreiter/gui/resource.cpp2
-rw-r--r--noncore/net/wellenreiter/gui/wellenreiter.cpp2
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro7
-rw-r--r--noncore/net/wellenreiter/wellenreiter.pro10
11 files changed, 68 insertions, 35 deletions
diff --git a/noncore/net/wellenreiter/README b/noncore/net/wellenreiter/README
index ada9321..7de6a33 100644
--- a/noncore/net/wellenreiter/README
+++ b/noncore/net/wellenreiter/README
@@ -24,55 +24,54 @@ Release Notes for Opie-ALPHA Version January 2002
To compile Wellenreiter within the Opie build environment, add the
following directories to $OPIEDIR/Makefile, e.g. to 'NONAPPS='
noncore/net/wellenreiter/libwellenreiter \
noncore/net/wellenreiter/daemon \
noncore/net/wellenreiter/contrib/orinoco_hopper \
noncore/net/wellenreiter/gui
./configure and rebuild. Note that you need libpcap in your toolchain.
(II) OpenZaurus Build Environment
To compile Wellenreiter within the OZ build environment, add the
following lines to $OPIEDIR/packages:
CONFIG_WELLENREITER noncore/net/wellenreiter/libwellenreiter libwellenreiter.pro
CONFIG_WELLENREITER noncore/net/wellenreiter/daemon daemon.pro
CONFIG_WELLENREITER noncore/net/wellenreiter/gui gui.pro
CONFIG_WELLENREITER noncore/net/wellenreiter/contrib/orinoco_hopper orinoco_hopper.pro
make -f Makefile.test clean-configs
cd <BUILDROOT>
make SUBDIRS=packages/opie package
(III) To compile a standalone Wellenreiter for X11, you need Qt3 and the development
-packages for Qt3, e.g. libqt3-devel. Assuming, $OPIEDIR and $QTDIR is set to Opie resp.
-Qt (e.g. /usr/lib/qt3), do the following:
-export QMAKESPEC=$OPIEDIR/mkspecs/linux-g++
-cd $OPIEDIR/noncore/net/wellenreiter
-qmake -makefile wellenreiter.pro
-make qmake
+packages for Qt3, e.g. libqt3-devel. Assuming, $QTDIR is set to your Qt-Director
+(e.g. /usr/lib/qt3), set $OPIEDIR to your installation prefix, e.g. /usr/local, then
+export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+qmake "platform=x11" wellenreiter.pro
make
+make install
=====================
= Install =
=====================
Alternatively, you can use our precompiled ipk. Get it from
http://opie.net.wox.org/wellenreiter/. This also includes a recent libpcap.
=====================
= Run =
=====================
There are two possible modes: <Manual> and <Automatic>. I suggest, you
start with the <Automatic> Mode. This works just using the "Start"
and "Stop" Pushbuttons in the Wellenreiter GUI. If this doesn't work,
then use the following strategy:
1. Place card in monitor mode. This is device dependent.
Caution: Don't do this while you're logged in via ssh
or otherwise using the wireless interface - your connection
will freeze: The card can't be used normally when sniffing!
For most orinoco-based cards this can be done using either
diff --git a/noncore/net/wellenreiter/daemon/daemon.pro b/noncore/net/wellenreiter/daemon/daemon.pro
index 8943db7..33a6bb9 100644
--- a/noncore/net/wellenreiter/daemon/daemon.pro
+++ b/noncore/net/wellenreiter/daemon/daemon.pro
@@ -1,16 +1,16 @@
DESTDIR = $(OPIEDIR)/bin
TEMPLATE = app
CONFIG = warn_on debug
#CONFIG = warn_on release
HEADERS = source/config.hh source/daemon.hh
SOURCES = source/daemon.cc
INCLUDEPATH += ../
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lpcap -lpthread -L$(OPIEDIR)/lib -lwellenreiter
INTERFACES =
TARGET = wellenreiterd
DEFINES += DEBUG
-
-
-include ( $(OPIEDIR)/include.pro )
+!contains( platform, x11 ) {
+ include ( $(OPIEDIR)/include.pro )
+}
diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp
index 6ea6f02..f86b109 100644
--- a/noncore/net/wellenreiter/gui/configwindow.cpp
+++ b/noncore/net/wellenreiter/gui/configwindow.cpp
@@ -1,47 +1,56 @@
/**********************************************************************
** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
**
** This file is part of Opie Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
**********************************************************************/
#include "configwindow.h"
#include <qmap.h>
#include <qcombobox.h>
+#include <qpushbutton.h>
#include <qspinbox.h>
+#include <qlayout.h>
WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f )
:WellenreiterConfigBase( parent, name, true, f )
{
_devicetype[ "cisco" ] = 1;
_devicetype[ "wlan-ng" ] = 2;
_devicetype[ "hostap" ] = 3;
_devicetype[ "orinoco" ] = 4;
_devicetype[ "<manual>" ] = 5;
+
+ #ifdef Q_WS_X11 // We're on X11: adding an Ok-Button for the Dialog here
+ QPushButton* okButton = new QPushButton( "ok", this );
+ okButton->show();
+ Layout5_2->addWidget( okButton ); //FIXME: rename this in configbase.ui
+ connect( okButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ #endif
};
int WellenreiterConfigWindow::daemonDeviceType()
{
QString name = deviceType->currentText();
if ( _devicetype.contains( name ) )
{
return _devicetype[name];
}
else
{
return 0;
}
};
int WellenreiterConfigWindow::daemonHopInterval()
{
return hopInterval->cleanText().toInt();
}
diff --git a/noncore/net/wellenreiter/gui/gui-x11.pro b/noncore/net/wellenreiter/gui/gui-x11.pro
deleted file mode 100644
index 25185fb..0000000
--- a/noncore/net/wellenreiter/gui/gui-x11.pro
+++ b/dev/null
@@ -1,15 +0,0 @@
-DESTDIR = .
-TEMPLATE = app
-CONFIG = qt warn_on debug
-#CONFIG = qt warn_on release
-HEADERS = mainwindow.h wellenreiterbase.h wellenreiter.h scanlistitem.h scanlist.h logwindow.h hexwindow.h configwindow.h resource.h wlan.h cardconfig.h manufacturers.h
-SOURCES = main.cpp mainwindow.cpp wellenreiterbase.cpp wellenreiter.cpp scanlistitem.cpp scanlist.cpp logwindow.cpp hexwindow.cpp configwindow.cpp resource.cpp wlan.cpp cardconfig.cpp manufacturers.cpp
-INCLUDEPATH += ../
-DEPENDPATH += ../
-LIBS += -L. -lwellenreiter
-INTERFACES = configbase.ui
-TARGET = wellenreiter
-
-
-
-include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro
index 95e9f22..822b0db 100644
--- a/noncore/net/wellenreiter/gui/gui.pro
+++ b/noncore/net/wellenreiter/gui/gui.pro
@@ -10,31 +10,40 @@ HEADERS = wellenreiterbase.h \
scanlistitem.h \
scanlist.h \
logwindow.h \
hexwindow.h \
configwindow.h \
wlan.h \
cardconfig.h \
manufacturers.h
SOURCES = main.cpp \
mainwindow.cpp \
wellenreiterbase.cpp \
wellenreiter.cpp \
scanlistitem.cpp \
scanlist.cpp \
logwindow.cpp \
hexwindow.cpp \
configwindow.cpp \
wlan.cpp \
cardconfig.cpp \
manufacturers.cpp
INCLUDEPATH += $(OPIEDIR)/include ../
DEPENDPATH += $(OPIEDIR)/include ../
-LIBS += -lqpe -lopie -L. -lwellenreiter
+LIBS += -L. -lwellenreiter
INTERFACES = configbase.ui
TARGET = wellenreiter
+!contains( platform, x11 ) {
+ message( qws )
+ include ( $(OPIEDIR)/include.pro )
+ LIBS += -lqpe -lopie
+}
+contains( platform, x11 ) {
+ LIBS += -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
+ SOURCES += resource.cpp
+ HEADERS += resource.h
+}
-include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp
index b67376c..b2d3a71 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.cpp
+++ b/noncore/net/wellenreiter/gui/mainwindow.cpp
@@ -19,122 +19,143 @@
#include <qcombobox.h>
#include <qiconset.h>
#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qstatusbar.h>
#include <qtoolbutton.h>
#ifdef QWS
#include <qpe/resource.h>
#else
#include "resource.h"
#endif
WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * name, WFlags f )
:QMainWindow( parent, name, f )
{
cw = new WellenreiterConfigWindow( this );
mw = new Wellenreiter( this );
mw->setConfigWindow( cw );
setCentralWidget( mw );
// setup icon sets
- searchIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) );
infoIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/InfoIcon" ) );
settingsIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SettingsIcon" ) );
+ #ifdef QWS
+ searchIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/SearchIcon" ) );
cancelIconSet = new QIconSet( Resource::loadPixmap( "wellenreiter/CancelIcon" ) );
+ #else
+ startStopIconSet = new QIconSet();
+ startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/SearchIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::Off );
+ startStopIconSet->setPixmap( Resource::loadPixmap( "wellenreiter/CancelIcon" ), QIconSet::Automatic, QIconSet::Normal, QIconSet::On );
+ #endif
// setup tool buttons
startStopButton = new QToolButton( 0 );
startStopButton->setAutoRaise( true );
+ #ifdef QWS
startStopButton->setOnIconSet( *cancelIconSet );
startStopButton->setOffIconSet( *searchIconSet );
+ #else
+ startStopButton->setIconSet( *startStopIconSet );
+ #endif
startStopButton->setToggleButton( true );
connect( startStopButton, SIGNAL( clicked() ), mw, SLOT( startStopClicked() ) );
startStopButton->setEnabled( false );
QToolButton* c = new QToolButton( 0 );
c->setAutoRaise( true );
c->setIconSet( *infoIconSet );
c->setEnabled( false );
QToolButton* d = new QToolButton( 0 );
d->setAutoRaise( true );
d->setIconSet( *settingsIconSet );
connect( d, SIGNAL( clicked() ), this, SLOT( showConfigure() ) );
// setup menu bar
QMenuBar* mb = menuBar();
QPopupMenu* file = new QPopupMenu( mb );
file->insertItem( "&Load" );
file->insertItem( "&Save" );
QPopupMenu* view = new QPopupMenu( mb );
view->insertItem( "&Configure" );
QPopupMenu* sniffer = new QPopupMenu( mb );
sniffer->insertItem( "&Configure" );
sniffer->insertSeparator();
int id;
id = mb->insertItem( "&File", file );
mb->setItemEnabled( id, false );
id = mb->insertItem( "&View", view );
mb->setItemEnabled( id, false );
id = mb->insertItem( "&Sniffer", sniffer );
mb->setItemEnabled( id, false );
+ #ifdef QWS
mb->insertItem( startStopButton );
mb->insertItem( c );
mb->insertItem( d );
+ #else // Qt3 changed the insertion order. It's now totally random :(
+ mb->insertItem( d );
+ mb->insertItem( c );
+ mb->insertItem( startStopButton );
+ #endif
// setup status bar (for now only on X11)
#ifndef QWS
statusBar()->message( "Ready." );
#endif
};
void WellenreiterMainWindow::showConfigure()
{
qDebug( "show configure..." );
cw->setCaption( tr( "Configure" ) );
+ #ifdef QWS
cw->showMaximized();
+ #endif
int result = cw->exec();
if ( result )
{
// check configuration from config window
const QString& interface = cw->interfaceName->currentText();
const int cardtype = cw->daemonDeviceType();
const int interval = cw->daemonHopInterval();
if ( ( interface != "<select>" ) && ( cardtype != 0 ) )
startStopButton->setEnabled( true );
//TODO ...
else
startStopButton->setEnabled( false );
//TODO ...
}
}
WellenreiterMainWindow::~WellenreiterMainWindow()
{
- delete searchIconSet;
delete infoIconSet;
delete settingsIconSet;
+ #ifdef QWS
+ delete searchIconSet;
delete cancelIconSet;
-
+ #else
+ delete startStopIconSet;
+ #endif
};
diff --git a/noncore/net/wellenreiter/gui/mainwindow.h b/noncore/net/wellenreiter/gui/mainwindow.h
index 7d772a8..c21841a 100644
--- a/noncore/net/wellenreiter/gui/mainwindow.h
+++ b/noncore/net/wellenreiter/gui/mainwindow.h
@@ -14,36 +14,37 @@
**********************************************************************/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <qmainwindow.h>
class Wellenreiter;
class WellenreiterConfigWindow;
class QIconSet;
class QToolButton;
class WellenreiterMainWindow: public QMainWindow
{
Q_OBJECT
public:
WellenreiterMainWindow( QWidget * parent = 0, const char * name = "mainwindow", WFlags f = 0 );
~WellenreiterMainWindow();
protected:
Wellenreiter* mw;
WellenreiterConfigWindow* cw;
+ QIconSet* startStopIconSet;
const QIconSet* searchIconSet;
const QIconSet* infoIconSet;
const QIconSet* settingsIconSet;
const QIconSet* cancelIconSet;
QToolButton* startStopButton;
public slots:
void showConfigure();
};
#endif
diff --git a/noncore/net/wellenreiter/gui/resource.cpp b/noncore/net/wellenreiter/gui/resource.cpp
index fb0966a..7683329 100644
--- a/noncore/net/wellenreiter/gui/resource.cpp
+++ b/noncore/net/wellenreiter/gui/resource.cpp
@@ -1,35 +1,35 @@
/**********************************************************************
** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved.
**
** This file is part of Opie Environment.
**
** This file may be distributed and/or modified under the terms of the
** GNU General Public License version 2 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.
**
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
**
**********************************************************************/
#include "resource.h"
-#define PIXMAPPATH "/usr/share/wellenreiter/pics/"
+#define PIXMAPPATH "/usr/local/share"
namespace Resource
{
QPixmap loadPixmap( const QString& pix )
{
QString filename;
filename.sprintf( "%s/%s.png", (const char*) PIXMAPPATH, (const char*) pix );
QPixmap pixmap( filename );
if ( pixmap.isNull() )
{
qDebug( "Wellenreiter::Resource: can't find pixmap " + filename );
}
return pixmap;
};
};
diff --git a/noncore/net/wellenreiter/gui/wellenreiter.cpp b/noncore/net/wellenreiter/gui/wellenreiter.cpp
index db7063b..c599bb4 100644
--- a/noncore/net/wellenreiter/gui/wellenreiter.cpp
+++ b/noncore/net/wellenreiter/gui/wellenreiter.cpp
@@ -53,49 +53,49 @@ using namespace Opie;
#include "logwindow.h"
#include "hexwindow.h"
#include "configwindow.h"
#include "manufacturers.h"
#include <daemon/source/config.hh>
#include <libwellenreiter/source/wl_types.hh>
#include <libwellenreiter/source/wl_sock.hh>
#include <libwellenreiter/source/wl_proto.hh>
Wellenreiter::Wellenreiter( QWidget* parent )
: WellenreiterBase( parent, 0, 0 ),
daemonRunning( false ), manufacturerdb( 0 ), configwindow( 0 )
{
//
// construct manufacturer database
//
QString manufile;
#ifdef QWS
manufile.sprintf( "%s/share/wellenreiter/manufacturers.dat", (const char*) QPEApplication::qpeDir() );
#else
- manufile.sprintf( "/home/mickey/work/opie/share/wellenreiter/manufacturers.dat" );
+ manufile.sprintf( "/usr/local/share/wellenreiter/manufacturers.dat" );
#endif
manufacturerdb = new ManufacturerDB( manufile );
logwindow->log( "(i) Wellenreiter has been started." );
//
// detect operating system
//
#ifdef QWS
QString sys;
sys.sprintf( "(i) Running on '%s'.", (const char*) ODevice::inst()->systemString() );
_system = ODevice::inst()->system();
logwindow->log( sys );
#endif
//
// setup socket for daemon communication, register socket notifier
//
// struct sockaddr_in sockaddr;
daemon_fd = wl_setupsock( GUIADDR, GUIPORT, sockaddr );
if ( daemon_fd == -1 )
{
diff --git a/noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro b/noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro
index 58da0c1..5930c60 100644
--- a/noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro
+++ b/noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro
@@ -1,15 +1,16 @@
+DESTDIR = $(OPIEDIR)/lib
TEMPLATE = lib
CONFIG = warn_on debug
VERSION = 0.2
HEADERS = source/cardmode.hh source/wl_log.hh source/wl_proto.hh source/sniff.hh source/wl_sock.hh source/wl_types.hh
SOURCES = source/cardmode.cc source/wl_log.cc source/wl_proto.cc source/sniff.cc source/wl_sock.cc
LIBS = -lpcap
TMAKE_CFLAGS += -D__UNIX__
DEFINES += DEBUG
-DESTDIR = $(OPIEDIR)/lib
TARGET = wellenreiter
+!contains( platform, x11 ) {
+ include ( $(OPIEDIR)/include.pro )
+}
-
-include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/wellenreiter/wellenreiter.pro b/noncore/net/wellenreiter/wellenreiter.pro
index dd75c8c..17d0e31 100644
--- a/noncore/net/wellenreiter/wellenreiter.pro
+++ b/noncore/net/wellenreiter/wellenreiter.pro
@@ -1,6 +1,14 @@
TEMPLATE = subdirs
unix:SUBDIRS = libwellenreiter daemon gui
+!contains( platform, x11 ) {
+ message( Configuring Wellenreiter for build on Opie )
+ include ( $(OPIEDIR)/include.pro )
+}
+
+contains( platform, x11 ) {
+ message( Configuring Wellenreiter for build on Qt/X11 )
+ system( mkdir -p $OPIEDIR/lib $OPIEDIR/bin $OPIEDIR/share/pics )
+}
-include ( $(OPIEDIR)/include.pro )