summaryrefslogtreecommitdiffstats
path: root/networkstatus/networkstatusindicator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'networkstatus/networkstatusindicator.cpp')
-rw-r--r--networkstatus/networkstatusindicator.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/networkstatus/networkstatusindicator.cpp b/networkstatus/networkstatusindicator.cpp
new file mode 100644
index 000000000..b422c5a97
--- /dev/null
+++ b/networkstatus/networkstatusindicator.cpp
@@ -0,0 +1,64 @@
+/* This file is part of the KDE project
+ Copyright (C) 2007 Will Stephenson <wstephenson@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library. If not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+ As a special exception, permission is given to link this library
+ with any edition of TQt, and distribute the resulting executable,
+ without including the source code for TQt in the source distribution.
+*/
+
+#include <tqlabel.h>
+#include <tqtooltip.h>
+#include <kiconloader.h>
+#include <klocale.h>
+
+#include "connectionmanager.h"
+
+#include "networkstatusindicator.h"
+
+StatusBarNetworkStatusIndicator::StatusBarNetworkStatusIndicator(
+ TQWidget * parent, const char * name ) : TQHBox( parent, name )/*, d( new StatusBarNetworkStatusIndicatorPrivate )*/
+{
+ setMargin( 2 );
+ setSpacing( 1 );
+ TQLabel * label = new TQLabel( this, "offlinemodelabel" );
+ label->setPixmap( SmallIcon("connect_no") );
+ TQToolTip::add( label, i18n( "The desktop is offline" ) );
+
+ connect( ConnectionManager::self(), TQT_SIGNAL( statusChanged( NetworkStatus::EnumStatus ) ),
+ TQT_SLOT( networkStatusChanged( NetworkStatus::EnumStatus) ) );
+
+}
+
+void StatusBarNetworkStatusIndicator::init()
+{
+ networkStatusChanged( ConnectionManager::self()->status(TQString("")));
+}
+
+StatusBarNetworkStatusIndicator::~StatusBarNetworkStatusIndicator()
+{
+}
+
+void StatusBarNetworkStatusIndicator::networkStatusChanged( NetworkStatus::EnumStatus status )
+{
+ if ( status == NetworkStatus::Online || status == NetworkStatus::NoNetworks ) {
+ hide();
+ } else {
+ show();
+ }
+}
+
+#include "networkstatusindicator.moc"