You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.7 KiB
97 lines
2.7 KiB
|
|
/***************************************************************************
|
|
* *
|
|
* KNetLoad is copyright (c) 1999-2000, Markus Gustavsson *
|
|
* (c) 2002, Ben Burton *
|
|
* *
|
|
* 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. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef __KNETLOAD_H
|
|
#define __KNETLOAD_H
|
|
|
|
#include "statpopup.h"
|
|
|
|
#include <qptrlist.h>
|
|
|
|
class KAction;
|
|
class KNetProc;
|
|
class KPopupMenu;
|
|
|
|
/**
|
|
* The specific pop-up window used by KNetLoad.
|
|
*/
|
|
class KNetLoad : public StatPopup {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
/**
|
|
* Constructor and destructor.
|
|
*/
|
|
KNetLoad(QWidget *parent = 0, const char *name = 0);
|
|
~KNetLoad();
|
|
|
|
public slots:
|
|
/**
|
|
* Slots for menu items.
|
|
*/
|
|
void setDevice(const QString& newDevice);
|
|
void setDevice(int deviceIndex);
|
|
void setScaleIn(int scale);
|
|
void setScaleOut(int scale);
|
|
|
|
protected:
|
|
/**
|
|
* Overrides from StatPopup.
|
|
*/
|
|
virtual QString dockName(int which) const;
|
|
virtual QColor defaultDockColor(int which) const;
|
|
virtual void setupCustomActions();
|
|
virtual void insertCustomItems(KPopupMenu* menu);
|
|
virtual void takeReadingInternal();
|
|
|
|
private:
|
|
/**
|
|
* Updating menus to reflect the current configuration.
|
|
*/
|
|
void updateDeviceMenu(KPopupMenu* menu);
|
|
void updateDeviceMenus();
|
|
void updateScaleInMenu(KPopupMenu* menu);
|
|
void updateScaleInMenus();
|
|
void updateScaleOutMenu(KPopupMenu* menu);
|
|
void updateScaleOutMenus();
|
|
|
|
private:
|
|
/**
|
|
* Reading raw network throughput information.
|
|
*/
|
|
KNetProc* proc;
|
|
/**< Used to obtain the raw information. */
|
|
float bitRateIn, bitRateOut;
|
|
/**< Temporary variables used in calculations. */
|
|
|
|
/**
|
|
* Monitor settings.
|
|
*/
|
|
int scaleIn, scaleOut;
|
|
/**< The scale for each diagram in bits per second.
|
|
If scaleOut == 0, scaleIn should be used for both directions. */
|
|
|
|
/**
|
|
* Lists of menus that must be kept up-to-date.
|
|
*/
|
|
QPtrList<KPopupMenu> deviceMenus;
|
|
QPtrList<KPopupMenu> scaleInMenus;
|
|
QPtrList<KPopupMenu> scaleOutMenus;
|
|
|
|
QStringList stockDevice;
|
|
QStringList stockDeviceIconOn;
|
|
QStringList stockDeviceIconOff;
|
|
};
|
|
|
|
#endif
|