00001 /* 00002 This file is part of the Opie Project 00003 00004 =. (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 00005 .=l. 00006 .>+-= 00007 _;:, .> :=|. This program is free software; you can 00008 .> <`_, > . <= redistribute it and/or modify it under 00009 :`=1 )Y*s>-.-- : the terms of the GNU Library General Public 00010 .="- .-=="i, .._ License as published by the Free Software 00011 - . .-<_> .<> Foundation; either version 2 of the License, 00012 ._= =} : or (at your option) any later version. 00013 .%`+i> _;_. 00014 .i_,=:_. -<s. This program is distributed in the hope that 00015 + . -:. = it will be useful, but WITHOUT ANY WARRANTY; 00016 : .. .:, . . . without even the implied warranty of 00017 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A 00018 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU 00019 ..}^=.= = ; Library General Public License for more 00020 ++= -. .` .: details. 00021 : = ...= . :.=- 00022 -. .:....=;==+<; You should have received a copy of the GNU 00023 -_. . . )=. = Library General Public License along with 00024 -- :-=` this library; see the file COPYING.LIB. 00025 If not, write to the Free Software Foundation, 00026 Inc., 59 Temple Place - Suite 330, 00027 Boston, MA 02111-1307, USA. 00028 00029 */ 00030 00031 #ifndef NETWORKAPPLET_H 00032 #define NETWORKAPPLET_H 00033 00034 #include <opie2/otaskbarapplet.h> 00035 #include <qframe.h> 00036 #include <qstring.h> 00037 #include <qtoolbutton.h> 00038 #include <qlineedit.h> 00039 #include <qpixmap.h> 00040 00041 00042 namespace Opie { 00043 namespace Net { 00044 class ONetwork; 00045 class ONetworkInterface; 00046 } 00047 } 00048 class QShowEvent; 00049 class QHideEvent; 00050 class QVBoxLayout; 00051 00052 class IfaceUpDownButton : public QToolButton 00053 { 00054 Q_OBJECT 00055 00056 public: 00057 IfaceUpDownButton( QWidget* parent, const char* name ); 00058 virtual ~IfaceUpDownButton(); 00059 00060 public slots: 00061 virtual void clicked(); 00062 00063 private: 00064 Opie::Net::ONetworkInterface* _iface; 00065 }; 00066 00067 00068 class IfaceIPAddress : public QLineEdit 00069 { 00070 Q_OBJECT 00071 00072 public: 00073 IfaceIPAddress( QWidget* parent, const char* name ); 00074 virtual ~IfaceIPAddress(); 00075 00076 public slots: 00077 virtual void returnPressed(); 00078 00079 private: 00080 Opie::Net::ONetworkInterface* _iface; 00081 }; 00082 00083 class NetworkAppletControl : public QFrame 00084 { 00085 public: 00086 NetworkAppletControl( Opie::Ui::OTaskbarApplet* parent, const char* name = 0 ); 00087 ~NetworkAppletControl(); 00088 00089 virtual QSize sizeHint() const; 00090 00091 protected: 00092 virtual void showEvent( QShowEvent* ); 00093 virtual void hideEvent( QHideEvent* ); 00094 QString guessDevice( Opie::Net::ONetworkInterface* iface ); 00095 void build(); 00096 00097 private: 00098 QVBoxLayout* l; 00099 00100 }; 00101 00102 00103 class NetworkApplet : public Opie::Ui::OTaskbarApplet 00104 { 00105 public: 00106 NetworkApplet( QWidget* parent = 0, const char* name = 0 ); 00107 ~NetworkApplet(); 00108 00109 static int position(); 00110 protected: 00111 virtual void paintEvent( QPaintEvent* ); 00112 virtual void mousePressEvent( QMouseEvent* ); 00113 00114 private: 00115 NetworkAppletControl* _control; 00116 QPixmap _pixmap; 00117 }; 00118 00119 #endif 00120
1.4.2