mirror of
https://invent.kde.org/network/falkon.git
synced 2024-11-13 10:32:11 +01:00
[SBI_NetworkIcon] Use QNetworkConfigurationManager to detect online state
This commit is contained in:
parent
2554ad9870
commit
a4ee2d7497
|
@ -26,33 +26,28 @@
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
#include <QNetworkConfigurationManager>
|
||||||
|
|
||||||
SBI_NetworkIcon::SBI_NetworkIcon(QupZilla* window)
|
SBI_NetworkIcon::SBI_NetworkIcon(QupZilla* window)
|
||||||
: ClickableLabel(window)
|
: ClickableLabel(window)
|
||||||
, p_QupZilla(window)
|
, p_QupZilla(window)
|
||||||
|
, m_networkConfiguration(new QNetworkConfigurationManager(this))
|
||||||
{
|
{
|
||||||
setCursor(Qt::PointingHandCursor);
|
setCursor(Qt::PointingHandCursor);
|
||||||
|
|
||||||
networkAccessibleChanged(mApp->networkManager()->networkAccessible());
|
onlineStateChanged(m_networkConfiguration->isOnline());
|
||||||
|
|
||||||
connect(mApp->networkManager(), SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)), this, SLOT(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));
|
connect(m_networkConfiguration, SIGNAL(onlineStateChanged(bool)), this, SLOT(onlineStateChanged(bool)));
|
||||||
connect(this, SIGNAL(clicked(QPoint)), this, SLOT(showMenu(QPoint)));
|
connect(this, SIGNAL(clicked(QPoint)), this, SLOT(showMenu(QPoint)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SBI_NetworkIcon::networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessibility)
|
void SBI_NetworkIcon::onlineStateChanged(bool online)
|
||||||
{
|
{
|
||||||
switch (accessibility) {
|
if (online) {
|
||||||
case QNetworkAccessManager::Accessible:
|
|
||||||
setPixmap(QIcon(":sbi/data/network-online.png").pixmap(16));
|
setPixmap(QIcon(":sbi/data/network-online.png").pixmap(16));
|
||||||
break;
|
}
|
||||||
|
else {
|
||||||
case QNetworkAccessManager::NotAccessible:
|
|
||||||
setPixmap(QIcon(":sbi/data/network-offline.png").pixmap(16));
|
setPixmap(QIcon(":sbi/data/network-offline.png").pixmap(16));
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
setPixmap(QIcon(":sbi/data/network-unknown.png").pixmap(16));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
updateToolTip();
|
updateToolTip();
|
||||||
|
@ -105,18 +100,11 @@ void SBI_NetworkIcon::updateToolTip()
|
||||||
{
|
{
|
||||||
QString tooltip = tr("Shows network status and manages proxy<br/><br/><b>Network:</b><br/>%1<br/><br/><b>Proxy:</b><br/>%2");
|
QString tooltip = tr("Shows network status and manages proxy<br/><br/><b>Network:</b><br/>%1<br/><br/><b>Proxy:</b><br/>%2");
|
||||||
|
|
||||||
switch (mApp->networkManager()->networkAccessible()) {
|
if (m_networkConfiguration->isOnline()) {
|
||||||
case QNetworkAccessManager::Accessible:
|
|
||||||
tooltip = tooltip.arg(tr("Connected"));
|
tooltip = tooltip.arg(tr("Connected"));
|
||||||
break;
|
}
|
||||||
|
else {
|
||||||
case QNetworkAccessManager::NotAccessible:
|
|
||||||
tooltip = tooltip.arg(tr("Offline"));
|
tooltip = tooltip.arg(tr("Offline"));
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
tooltip = tooltip.arg(tr("Unknown"));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (mApp->networkManager()->proxyFactory()->proxyPreference()) {
|
switch (mApp->networkManager()->proxyFactory()->proxyPreference()) {
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
|
|
||||||
#include "clickablelabel.h"
|
#include "clickablelabel.h"
|
||||||
|
|
||||||
|
class QNetworkConfigurationManager;
|
||||||
|
|
||||||
class QupZilla;
|
class QupZilla;
|
||||||
|
|
||||||
class SBI_NetworkIcon : public ClickableLabel
|
class SBI_NetworkIcon : public ClickableLabel
|
||||||
|
@ -32,7 +34,7 @@ public:
|
||||||
explicit SBI_NetworkIcon(QupZilla* window);
|
explicit SBI_NetworkIcon(QupZilla* window);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessibility);
|
void onlineStateChanged(bool online);
|
||||||
void showDialog();
|
void showDialog();
|
||||||
|
|
||||||
void showMenu(const QPoint &pos);
|
void showMenu(const QPoint &pos);
|
||||||
|
@ -43,6 +45,7 @@ private:
|
||||||
void enterEvent(QEvent* event);
|
void enterEvent(QEvent* event);
|
||||||
|
|
||||||
QupZilla* p_QupZilla;
|
QupZilla* p_QupZilla;
|
||||||
|
QNetworkConfigurationManager* m_networkConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SBI_NETWORKICON_H
|
#endif // SBI_NETWORKICON_H
|
||||||
|
|
|
@ -35,7 +35,7 @@ PluginSpec StatusBarIconsPlugin::pluginSpec()
|
||||||
spec.name = "StatusBar Icons";
|
spec.name = "StatusBar Icons";
|
||||||
spec.info = "Icons in statusbar providing various actions";
|
spec.info = "Icons in statusbar providing various actions";
|
||||||
spec.description = "Adds additional icons to statusbar";
|
spec.description = "Adds additional icons to statusbar";
|
||||||
spec.version = "0.1.5";
|
spec.version = "0.1.6";
|
||||||
spec.author = "David Rosca <nowrep@gmail.com>";
|
spec.author = "David Rosca <nowrep@gmail.com>";
|
||||||
spec.icon = QPixmap(":sbi/data/icon.png");
|
spec.icon = QPixmap(":sbi/data/icon.png");
|
||||||
spec.hasSettings = true;
|
spec.hasSettings = true;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user