19#define BWGRAPH_LINE_SEND (1u<<0)
20#define BWGRAPH_LINE_RECV (1u<<1)
21#define SETTING_FILTER "LineFilter"
22#define SETTING_OPACITY "Opacity"
23#define SETTING_ALWAYS_ON_TOP "AlwaysOnTop"
24#define SETTING_STYLE "GraphStyle"
25#define DEFAULT_FILTER (BWGRAPH_LINE_SEND|BWGRAPH_LINE_RECV)
26#define DEFAULT_ALWAYS_ON_TOP false
27#define DEFAULT_OPACITY 100
28#define DEFAULT_STYLE GraphFrame::AreaGraph
30#define ADD_TO_FILTER(f,v,b) (f = ((b) ? ((f) | (v)) : ((f) & ~(v))))
33#define DATETIME_FMT "MMM dd hh:mm:ss"
36#define IMG_AREA_GRAPH ":/images/16x16/graph-area.png"
37#define IMG_LINE_GRAPH ":/images/16x16/graph-line.png"
42 :
VidaliaTab(tr(
"Bandwidth Graph"),
"BandwidthGraph", parent),
69 if(!(QSysInfo::WindowsVersion & QSysInfo::WV_NT_based)
70 || QSysInfo::WindowsVersion < QSysInfo::WV_2000) {
71 ui.frmOpacity->setVisible(
false);
76 ui.frmOpacity->setVisible(
false);
84 ui.retranslateUi(
this);
92 connect(
ui.btnToggleSettings, SIGNAL(toggled(
bool)),
98 connect(
ui.btnSaveSettings, SIGNAL(clicked()),
101 connect(
ui.btnCancelSettings, SIGNAL(clicked()),
104 connect(
ui.sldrOpacity, SIGNAL(valueChanged(
int)),
113 ui.frmGraph->addPoints(bytesRead/1024.0, bytesWritten/1024.0);
127 if (
ui.chkAlwaysOnTop->isChecked()) {
128 setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
130 setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
140 if (graphStyle < 0 || graphStyle >=
ui.cmbGraphStyle->count()) {
143 ui.cmbGraphStyle->setCurrentIndex(graphStyle);
147 ui.frmGraph->setShowCounters(
ui.chkReceiveRate->isChecked(),
148 ui.chkSendRate->isChecked());
158 QDateTime::currentDateTime()
161 ui.frmGraph->resetGraph();
177 if (
ui.chkAlwaysOnTop->isChecked()) {
178 setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint);
180 setWindowFlags(windowFlags() & ~Qt::WindowStaysOnTopHint);
192 ui.frmGraph->setShowCounters(
ui.chkReceiveRate->isChecked(),
193 ui.chkSendRate->isChecked());
216 static QSize minSize = minimumSize();
218 QSize newSize = size();
221 ui.frmSettings->setVisible(
true);
222 ui.btnToggleSettings->setChecked(
true);
223 ui.btnToggleSettings->setText(tr(
"Hide Settings"));
226 newSize.setHeight(newSize.height() +
ui.frmSettings->height() + 6);
229 ui.frmSettings->setVisible(
false);
230 ui.btnToggleSettings->setChecked(
false);
231 ui.btnToggleSettings->setText(tr(
"Show Settings"));
234 newSize.setHeight(newSize.height() -
ui.frmSettings->height() - 6);
235 setMinimumSize(minSize);
244 qreal newValue = value / 100.0;
248 this->setWindowOpacity(newValue);
249 ui.lblPercentOpacity->setText(QString::number(value));
250#elif defined(Q_WS_WIN)
251 if (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based
252 && QSysInfo::WindowsVersion >= QSysInfo::WV_2000) {
253 this->setWindowOpacity(newValue);
254 ui.lblPercentOpacity->setText(QString::number(value));
#define BWGRAPH_LINE_RECV
#define DEFAULT_ALWAYS_ON_TOP
#define SETTING_ALWAYS_ON_TOP
#define BWGRAPH_LINE_SEND
#define ADD_TO_FILTER(f, v, b)
stop errmsg connect(const QHostAddress &address, quint16 port)
virtual void retranslateUi()
void showSettingsFrame(bool show)
void updateGraph(quint64 bytesRead, quint64 bytesWritten)
void setOpacity(int value)
BandwidthGraph(QStatusBar *st=0, QWidget *parent=0)
bool setEvent(TorEvents::Event e, bool add=true, bool set=true, QString *errmsg=0)
static TorControl * torControl()
QVariant getSetting(QString name, QVariant defaultValue)
void saveSetting(QString name, QVariant value)
void setTitle(const QString &title)