From 9b7faae2ec12eeb9a056ca6093ac6e0840b11717 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sun, 23 Feb 2003 15:14:18 +0000 Subject: - revamped part of the gui - configuration is now a seperate dialog - orinoco_hopper is no longer needed --- diff --git a/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.c b/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.c deleted file mode 100644 index 78f0299..0000000 --- a/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.c +++ b/dev/null @@ -1,118 +0,0 @@ -/* orinoco_hopper.c - * orinoco wireless nic channel scanning utility - * - * By Snax - * Copyright (c) 2002 Snax - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * For a copy of the GNU General Public License write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef SIOCIWFIRSTPRIV -#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE -#endif - -void changeChannel(int); -int setChannel( unsigned char channel ); - -int max = 11; -int mode = 2; -char dev[32]; - -void changeChannel(int x) { - static int chan = 0; - chan = (chan % max) + 1; - setChannel(chan); -} - -int setChannel( unsigned char channel ) -{ - int result = 0; - int fd; - struct iwreq ireq; //for Orinoco - int *ptr; - - /* get a socket */ - fd = socket(AF_INET, SOCK_STREAM, 0); - - if ( fd == -1 ) { - return -1; - } - ptr = (int *) ireq.u.name; - ptr[0] = mode; - ptr[1] = channel; - strcpy(ireq.ifr_ifrn.ifrn_name, dev); - result = ioctl( fd, SIOCIWFIRSTPRIV + 0x8, &ireq); - close(fd); - return result; -} - -void usage(char *cmd) { - fprintf(stderr, - "Usage: %s [-p] [-i ] [-n]\n -n = international channels\n -p = keep prism headers\n", cmd); - exit(1); -} - -int main (int argc, char *argv[]) -{ - struct itimerval tval; - int ms, r; - - //this will be the channel scanning interval, currently 0.2 sec - struct timeval interval = {0, 200000}; - - if (argc < 2) usage(argv[0]); - strncpy(dev, argv[1], 32); - dev[31] = 0; - - while (1) { - r = getopt(argc,argv,"i:np"); - if (r < 0) break; - switch (r) { - case 'n': - max = 14; - break; - case 'p': - mode = 1; - break; - case 'i': - ms = atoi(optarg); - interval.tv_sec = ms / 1000; - interval.tv_usec = (ms % 1000) * 1000; - break; - default: - usage(argv[0]); - } - } - - //this sets up the kchannel scanning stuff - signal(SIGALRM, changeChannel); - tval.it_interval = interval; - tval.it_value = interval; - setitimer(ITIMER_REAL, &tval, NULL); - while (1) pause(); - - return 0; -} - diff --git a/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.pro b/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.pro deleted file mode 100644 index 30298d5..0000000 --- a/noncore/net/wellenreiter/contrib/orinoco_hopper/orinoco_hopper.pro +++ b/dev/null @@ -1,15 +0,0 @@ -DESTDIR = $(OPIEDIR)/bin -TEMPLATE = app -CONFIG = warn_on debug -#CONFIG = warn_on release -HEADERS = -SOURCES = orinoco_hopper.c -INCLUDEPATH += -DEPENDPATH += -LIBS += -INTERFACES = -TARGET = orinoco_hopper - - - -include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/net/wellenreiter/gui/configbase.ui b/noncore/net/wellenreiter/gui/configbase.ui index 7992e6b..398118f 100644 --- a/noncore/net/wellenreiter/gui/configbase.ui +++ b/noncore/net/wellenreiter/gui/configbase.ui @@ -1,7 +1,7 @@ WellenreiterConfigBase - QWidget + QDialog name WellenreiterConfigBase @@ -11,7 +11,7 @@ 0 0 - 224 + 220 267 diff --git a/noncore/net/wellenreiter/gui/configwindow.cpp b/noncore/net/wellenreiter/gui/configwindow.cpp index 515d9b2..6ea6f02 100644 --- a/noncore/net/wellenreiter/gui/configwindow.cpp +++ b/noncore/net/wellenreiter/gui/configwindow.cpp @@ -19,7 +19,7 @@ #include WellenreiterConfigWindow::WellenreiterConfigWindow( QWidget * parent, const char * name, WFlags f ) - :WellenreiterConfigBase( parent, name, f ) + :WellenreiterConfigBase( parent, name, true, f ) { _devicetype[ "cisco" ] = 1; _devicetype[ "wlan-ng" ] = 2; diff --git a/noncore/net/wellenreiter/gui/gui.pro b/noncore/net/wellenreiter/gui/gui.pro index 4ee360d..95e9f22 100644 --- a/noncore/net/wellenreiter/gui/gui.pro +++ b/noncore/net/wellenreiter/gui/gui.pro @@ -1,9 +1,11 @@ +MOC_DIR = ./tmp +OBJECTS_DIR = ./tmp DESTDIR = $(OPIEDIR)/bin TEMPLATE = app CONFIG = qt warn_on debug -#CONFIG = qt warn_on release -HEADERS = mainwindow.h \ - wellenreiterbase.h \ + +HEADERS = wellenreiterbase.h \ + mainwindow.h \ wellenreiter.h \ scanlistitem.h \ scanlist.h \ @@ -13,6 +15,7 @@ HEADERS = mainwindow.h \ wlan.h \ cardconfig.h \ manufacturers.h + SOURCES = main.cpp \ mainwindow.cpp \ wellenreiterbase.cpp \ @@ -24,7 +27,8 @@ SOURCES = main.cpp \ configwindow.cpp \ wlan.cpp \ cardconfig.cpp \ - manufacturers.h + manufacturers.cpp + INCLUDEPATH += $(OPIEDIR)/include ../ DEPENDPATH += $(OPIEDIR)/include ../ LIBS += -lqpe -lopie -L. -lwellenreiter diff --git a/noncore/net/wellenreiter/gui/mainwindow.cpp b/noncore/net/wellenreiter/gui/mainwindow.cpp index d7326c0..b67376c 100644 --- a/noncore/net/wellenreiter/gui/mainwindow.cpp +++ b/noncore/net/wellenreiter/gui/mainwindow.cpp @@ -13,9 +13,11 @@ ** **********************************************************************/ +#include "configwindow.h" #include "mainwindow.h" #include "wellenreiter.h" +#include #include #include #include @@ -31,7 +33,9 @@ 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 @@ -43,11 +47,13 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n // setup tool buttons - QToolButton* b = new QToolButton( 0 ); - b->setAutoRaise( true ); - b->setOnIconSet( *cancelIconSet ); - b->setOffIconSet( *searchIconSet ); - b->setToggleButton( true ); + startStopButton = new QToolButton( 0 ); + startStopButton->setAutoRaise( true ); + startStopButton->setOnIconSet( *cancelIconSet ); + startStopButton->setOffIconSet( *searchIconSet ); + startStopButton->setToggleButton( true ); + connect( startStopButton, SIGNAL( clicked() ), mw, SLOT( startStopClicked() ) ); + startStopButton->setEnabled( false ); QToolButton* c = new QToolButton( 0 ); c->setAutoRaise( true ); @@ -57,26 +63,68 @@ WellenreiterMainWindow::WellenreiterMainWindow( QWidget * parent, const char * n 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* p = new QPopupMenu( mb ); - p->insertItem( "&Load" ); - p->insertItem( "&Save" ); + QPopupMenu* file = new QPopupMenu( mb ); + file->insertItem( "&Load" ); + file->insertItem( "&Save" ); - mb->insertItem( "&File", p ); - mb->setItemEnabled( mb->insertItem( b ), false ); - mb->setItemEnabled( mb->insertItem( c ), false ); + 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 ); + + mb->insertItem( startStopButton ); + mb->insertItem( c ); mb->insertItem( d ); - // setup status bar + // setup status bar (for now only on X11) - // statusBar()->message( "Ready." ); + #ifndef QWS + statusBar()->message( "Ready." ); + #endif }; +void WellenreiterMainWindow::showConfigure() +{ + qDebug( "show configure..." ); + cw->setCaption( tr( "Configure" ) ); + cw->showMaximized(); + 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 != "" ) || ( cardtype == 0 ) ) { - QMessageBox::information( this, "Wellenreiter/Opie", "You must configure your\ndevice before scanning." ); + QMessageBox::information( this, "Wellenreiter/Opie", "Your device is not\nptoperly configured. Please reconfigure!" ); return; } @@ -276,7 +268,6 @@ void Wellenreiter::buttonClicked() logwindow->log( "(i) Daemon has been started." ); daemonRunning = true; - button->setText( tr( "Stop Scanning" ) ); setCaption( tr( "Scanning ..." ) ); } diff --git a/noncore/net/wellenreiter/gui/wellenreiter.h b/noncore/net/wellenreiter/gui/wellenreiter.h index 0ddc72c..a55d6a1 100644 --- a/noncore/net/wellenreiter/gui/wellenreiter.h +++ b/noncore/net/wellenreiter/gui/wellenreiter.h @@ -38,28 +38,28 @@ using namespace Opie; #include #include - class QTimerEvent; class QPixmap; class ManufacturerDB; +class WellenreiterConfigWindow; class Wellenreiter : public WellenreiterBase { Q_OBJECT -public: - - Wellenreiter( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); + public: + Wellenreiter( QWidget* parent = 0 ); ~Wellenreiter(); -protected: - + void setConfigWindow( WellenreiterConfigWindow* cw ); + + protected: bool daemonRunning; -public slots: - void buttonClicked(); + public slots: void dataReceived(); + void startStopClicked(); -private: + private: int daemon_fd; // socket filedescriptor for udp communication socket #ifdef QWS OSystem _system; // Opie Operating System identifier @@ -67,8 +67,9 @@ private: void handleMessage(); ManufacturerDB* manufacturerdb; + WellenreiterConfigWindow* configwindow; struct sockaddr_in sockaddr; - + //void readConfig(); //void writeConfig(); }; diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp index da12f2b..3a703bc 100644 --- a/noncore/net/wellenreiter/gui/wellenreiterbase.cpp +++ b/noncore/net/wellenreiter/gui/wellenreiterbase.cpp @@ -29,7 +29,6 @@ #include "logwindow.h" #include "hexwindow.h" -#include "configwindow.h" #include "scanlist.h" #ifdef QWS @@ -55,9 +54,13 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f if ( !name ) setName( "WellenreiterBase" ); - resize( 191, 294 ); - setCaption( tr( "Wellenreiter" ) ); - WellenreiterBaseLayout = new QVBoxLayout( this ); + resize( 191, 294 ); +#ifdef QWS + setCaption( tr( "Wellenreiter/Opie" ) ); +#else + setCaption( tr( "Wellenreiter/X11" ) ); +#endif + WellenreiterBaseLayout = new QVBoxLayout( this ); WellenreiterBaseLayout->setSpacing( 2 ); WellenreiterBaseLayout->setMargin( 0 ); #ifdef QWS @@ -66,33 +69,29 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f TabWidget = new QTabWidget( this, "TabWidget" ); #endif ap = new QWidget( TabWidget, "ap" ); - apLayout = new QVBoxLayout( ap ); + apLayout = new QVBoxLayout( ap ); apLayout->setSpacing( 2 ); apLayout->setMargin( 2 ); - //--------- NETVIEW TAB -------------- - - netview = new MScanListView( ap ); + //--------- NETVIEW TAB -------------- + + netview = new MScanListView( ap ); apLayout->addWidget( netview ); - + //--------- LOG TAB -------------- - + logwindow = new MLogWindow( TabWidget, "Log" ); - + //--------- HEX TAB -------------- - + hexwindow = new MHexWindow( TabWidget, "Hex" ); - //--------- CONFIG TAB -------------- - - configwindow = new WellenreiterConfigWindow( TabWidget, "Config" ); - //--------- ABOUT TAB -------------- - + about = new QWidget( TabWidget, "about" ); - aboutLayout = new QGridLayout( about ); + aboutLayout = new QGridLayout( about ); aboutLayout->setSpacing( 6 ); aboutLayout->setMargin( 11 ); @@ -113,7 +112,7 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f QFont TextLabel1_4_2_font( TextLabel1_4_2->font() ); TextLabel1_4_2_font.setFamily( "adobe-helvetica" ); TextLabel1_4_2_font.setPointSize( 10 ); - TextLabel1_4_2->setFont( TextLabel1_4_2_font ); + TextLabel1_4_2->setFont( TextLabel1_4_2_font ); TextLabel1_4_2->setText( tr( "

\n" "


\n" "Max Moser
\n" @@ -124,28 +123,21 @@ WellenreiterBase::WellenreiterBase( QWidget* parent, const char* name, WFlags f TextLabel1_4_2->setAlignment( int( QLabel::AlignCenter ) ); aboutLayout->addWidget( TextLabel1_4_2, 1, 0 ); - - button = new QPushButton( this, "button" ); - button->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)0, button->sizePolicy().hasHeightForWidth() ) ); - button->setText( tr( "Start Scanning" ) ); -#ifdef QWS +#ifdef QWS TabWidget->addTab( ap, "wellenreiter/networks", tr( "Networks" ) ); TabWidget->addTab( logwindow, "wellenreiter/log", tr( "Log" ) ); TabWidget->addTab( hexwindow, "wellenreiter/hex", tr( "Hex" ) ); - TabWidget->addTab( configwindow, "wellenreiter/config", tr( "Config" ) ); TabWidget->addTab( about, "wellenreiter/about", tr( "About" ) ); #else TabWidget->addTab( ap, /* "wellenreiter/networks", */ tr( "Networks" ) ); TabWidget->addTab( logwindow, /* "wellenreiter/log", */ tr( "Log" ) ); TabWidget->addTab( hexwindow, /* "wellenreiter/hex", */ tr( "Hex" ) ); - TabWidget->addTab( configwindow, /* "wellenreiter/config", */ tr( "Config" ) ); TabWidget->addTab( about, /* "wellenreiter/about", */ tr( "About" ) ); -#endif +#endif WellenreiterBaseLayout->addWidget( TabWidget ); - WellenreiterBaseLayout->addWidget( button ); -#ifdef QWS +#ifdef QWS TabWidget->setCurrentTab( tr( "Networks" ) ); #endif diff --git a/noncore/net/wellenreiter/gui/wellenreiterbase.h b/noncore/net/wellenreiter/gui/wellenreiterbase.h index edb2930..1fa1ea3 100644 --- a/noncore/net/wellenreiter/gui/wellenreiterbase.h +++ b/noncore/net/wellenreiter/gui/wellenreiterbase.h @@ -18,16 +18,15 @@ #include #include -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; class QLabel; class MScanListView; class MScanListItem; class QPushButton; class MLogWindow; class MHexWindow; -class WellenreiterConfigWindow; #ifdef QWS class OTabWidget; @@ -36,7 +35,7 @@ class QTabWidget; #endif class WellenreiterBase : public QWidget -{ +{ Q_OBJECT public: @@ -52,18 +51,16 @@ public: MScanListView* netview; MLogWindow* logwindow; MHexWindow* hexwindow; - WellenreiterConfigWindow* configwindow; QWidget* about; QLabel* PixmapLabel1_3_2; QLabel* TextLabel1_4_2; - QPushButton* button; protected: QVBoxLayout* WellenreiterBaseLayout; QVBoxLayout* apLayout; QGridLayout* aboutLayout; bool event( QEvent* ); - + QPixmap* ani1; QPixmap* ani2; QPixmap* ani3; diff --git a/noncore/net/wellenreiter/wellenreiter.pro b/noncore/net/wellenreiter/wellenreiter.pro index 6784af4..dd75c8c 100644 --- a/noncore/net/wellenreiter/wellenreiter.pro +++ b/noncore/net/wellenreiter/wellenreiter.pro @@ -1,5 +1,5 @@ TEMPLATE = subdirs -unix:SUBDIRS = libwellenreiter daemon gui contrib/orinoco_hopper +unix:SUBDIRS = libwellenreiter daemon gui -- cgit v0.9.0.2