author | mickeyl <mickeyl> | 2003-02-23 16:45:09 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-02-23 16:45:09 (UTC) |
commit | 2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321 (patch) (side-by-side diff) | |
tree | 9f32fb9e22a26188c6f1c1092c74b1bf47aa418c | |
parent | 3a3c703d9bdf57f50b3f47aa14c858ef1026e3d3 (diff) | |
download | opie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.zip opie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.tar.gz opie-2f897267b4d3ec5b1c7dafdc0700a8e91cbb3321.tar.bz2 |
simplification and fixes for the standalone X11 build
-rw-r--r-- | noncore/net/wellenreiter/README | 11 | ||||
-rw-r--r-- | noncore/net/wellenreiter/daemon/daemon.pro | 6 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/configwindow.cpp | 9 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/gui-x11.pro | 15 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/gui.pro | 13 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.cpp | 27 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/mainwindow.h | 1 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/resource.cpp | 2 | ||||
-rw-r--r-- | noncore/net/wellenreiter/gui/wellenreiter.cpp | 2 | ||||
-rw-r--r-- | noncore/net/wellenreiter/libwellenreiter/libwellenreiter.pro | 7 | ||||
-rw-r--r-- | noncore/net/wellenreiter/wellenreiter.pro | 10 |
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 @@ -32,39 +32,38 @@ 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: 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 @@ -3,42 +3,51 @@ ** ** 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() 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 @@ -18,23 +18,32 @@ HEADERS = wellenreiterbase.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 @@ -27,43 +27,53 @@ #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 @@ -76,65 +86,76 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n 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 @@ -22,28 +22,29 @@ 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 @@ -2,33 +2,33 @@ ** 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 @@ -61,33 +61,33 @@ using namespace Opie; #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 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 ) |