Show global statistics on widgets-based GUI
This commit is contained in:
parent
06072df707
commit
3bcdf26cca
|
@ -253,5 +253,6 @@ on GitHub.
|
|||
Syncthing again. This is caused by Qt bug https://bugreports.qt.io/browse/QTBUG-60949.
|
||||
|
||||
## Attribution for 3rd party content
|
||||
* This project uses icons from the Syncthing project.
|
||||
* This project uses some icons from [Font Awesome](https://fontawesome.com) (see [their license](https://fontawesome.com/license)).
|
||||
* Some icons are taken from the Syncthing project.
|
||||
* Some icons are taken from [Font Awesome](https://fontawesome.com) (see [their license](https://fontawesome.com/license)).
|
||||
* Fallback icons are taken from KDE/Breeze project.
|
||||
|
|
|
@ -52,6 +52,7 @@ set(REQUIRED_ICONS
|
|||
folder-download
|
||||
folder-open
|
||||
folder-sync
|
||||
globe
|
||||
go-down
|
||||
go-up
|
||||
help-about
|
||||
|
@ -60,7 +61,6 @@ set(REQUIRED_ICONS
|
|||
list-remove
|
||||
media-playback-pause
|
||||
media-playback-start
|
||||
network-card
|
||||
network-connect
|
||||
network-disconnect
|
||||
network-server
|
||||
|
@ -74,6 +74,7 @@ set(REQUIRED_ICONS
|
|||
system-search
|
||||
system-file-manager
|
||||
text-plain
|
||||
user-home
|
||||
view-barcode
|
||||
view-refresh
|
||||
window-close)
|
||||
|
@ -84,7 +85,7 @@ find_package(c++utilities 4.11.0 REQUIRED)
|
|||
use_cpp_utilities()
|
||||
|
||||
# find qtutilities
|
||||
find_package(qtutilities 5.10.0 REQUIRED)
|
||||
find_package(qtutilities 5.13.0 REQUIRED)
|
||||
use_qt_utilities()
|
||||
|
||||
# find backend libraries
|
||||
|
|
|
@ -54,9 +54,7 @@ TrayIcon::TrayIcon(const QString &connectionConfig, QObject *parent)
|
|||
updateStatusIconAndText();
|
||||
|
||||
// set context menu
|
||||
connect(m_contextMenu.addAction(QIcon::fromTheme(QStringLiteral("internet-web-browser"),
|
||||
QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/internet-web-browser.svg"))),
|
||||
tr("Web UI")),
|
||||
connect(m_contextMenu.addAction(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-default.svg")), tr("Open Syncthing")),
|
||||
&QAction::triggered, &widget, &TrayWidget::showWebUi);
|
||||
connect(m_contextMenu.addAction(
|
||||
QIcon::fromTheme(QStringLiteral("preferences-other"), QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/preferences-other.svg"))),
|
||||
|
|
|
@ -128,20 +128,24 @@ TrayWidget::TrayWidget(TrayMenu *parent)
|
|||
|
||||
// setup other widgets
|
||||
m_ui->notificationsPushButton->setHidden(true);
|
||||
m_ui->trafficIconLabel->setPixmap(
|
||||
QIcon::fromTheme(QStringLiteral("network-card"), QIcon(QStringLiteral(":/icons/hicolor/scalable/devices/network-card.svg"))).pixmap(32));
|
||||
m_ui->globalTextLabel->setPixmap(
|
||||
QIcon::fromTheme(QStringLiteral("globe"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/globe.svg"))).pixmap(16));
|
||||
m_ui->localTextLabel->setPixmap(
|
||||
QIcon::fromTheme(QStringLiteral("user-home"), QIcon(QStringLiteral(":/icons/hicolor/scalable/places/user-home.svg"))).pixmap(16));
|
||||
m_ui->trafficInTextLabel->setPixmap(QIcon(QStringLiteral(":/icons/hicolor/scalable/fa/cloud-download-alt-solid.svg")).pixmap(16));
|
||||
m_ui->trafficOutTextLabel->setPixmap(QIcon(QStringLiteral(":/icons/hicolor/scalable/fa/cloud-upload-alt-solid.svg")).pixmap(16));
|
||||
#ifndef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||
delete m_ui->startStopPushButton;
|
||||
#endif
|
||||
|
||||
// connect signals and slots
|
||||
connect(m_ui->statusPushButton, &QPushButton::clicked, this, &TrayWidget::changeStatus);
|
||||
connect(m_ui->closePushButton, &QPushButton::clicked, this, &TrayWidget::quitTray);
|
||||
connect(m_ui->aboutPushButton, &QPushButton::clicked, this, &TrayWidget::showAboutDialog);
|
||||
connect(m_ui->webUiPushButton, &QPushButton::clicked, this, &TrayWidget::showWebUi);
|
||||
connect(m_ui->settingsPushButton, &QPushButton::clicked, this, &TrayWidget::showSettingsDialog);
|
||||
connect(&m_connection, &SyncthingConnection::statusChanged, this, &TrayWidget::handleStatusChanged);
|
||||
connect(&m_connection, &SyncthingConnection::trafficChanged, this, &TrayWidget::updateTraffic);
|
||||
connect(&m_connection, &SyncthingConnection::dirStatisticsChanged, this, &TrayWidget::updateOverallStatistics);
|
||||
connect(&m_connection, &SyncthingConnection::newNotification, this, &TrayWidget::handleNewNotification);
|
||||
connect(m_ui->dirsTreeView, &DirView::openDir, this, &TrayWidget::openDir);
|
||||
connect(m_ui->dirsTreeView, &DirView::scanDir, this, &TrayWidget::scanDir);
|
||||
|
@ -191,8 +195,12 @@ void TrayWidget::showAboutDialog()
|
|||
{
|
||||
if (!m_aboutDlg) {
|
||||
m_aboutDlg = new AboutDialog(this, QString(),
|
||||
QStringLiteral(APP_AUTHOR "\nfallback icons from KDE/Breeze project\nSyncthing icons from Syncthing project"), QString(),
|
||||
ApplicationUtilities::dependencyVersions2, QString(), QStringLiteral(APP_DESCRIPTION),
|
||||
QStringLiteral(
|
||||
"<p>Developed by " APP_AUTHOR
|
||||
"<br>Fallback icons from KDE/Breeze project<br>Syncthing icons from <a href=\"https://syncthing.net\">Syncthing project</a><br>Using "
|
||||
"icons from <a href=\"https://fontawesome.com\">Font "
|
||||
"Awesome</a> (see <a href=\"https://fontawesome.com/license\">their license</a>)</p>"),
|
||||
QString(), ApplicationUtilities::dependencyVersions2, QString(), QStringLiteral(APP_DESCRIPTION),
|
||||
QImage(QStringLiteral(":/icons/hicolor/scalable/app/syncthingtray.svg")));
|
||||
m_aboutDlg->setWindowTitle(tr("About") + QStringLiteral(" - " APP_NAME));
|
||||
m_aboutDlg->setWindowIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/app/syncthingtray.svg")));
|
||||
|
@ -388,7 +396,6 @@ void TrayWidget::applySettings(const QString &connectionConfig)
|
|||
|
||||
// update visual appearance
|
||||
m_ui->trafficFormWidget->setVisible(settings.appearance.showTraffic);
|
||||
m_ui->trafficIconLabel->setVisible(settings.appearance.showTraffic);
|
||||
m_ui->trafficHorizontalSpacer->changeSize(
|
||||
0, 20, settings.appearance.showTraffic ? QSizePolicy::Expanding : QSizePolicy::Ignored, QSizePolicy::Minimum);
|
||||
if (settings.appearance.showTraffic) {
|
||||
|
@ -495,6 +502,16 @@ void TrayWidget::updateTraffic()
|
|||
}
|
||||
m_ui->inTrafficLabel->setText(trafficString(m_connection.totalIncomingTraffic(), m_connection.totalIncomingRate()));
|
||||
m_ui->outTrafficLabel->setText(trafficString(m_connection.totalOutgoingTraffic(), m_connection.totalOutgoingRate()));
|
||||
// FIXME: decrease opacity if rate is zero (the following code doesn't work)
|
||||
//m_ui->trafficInTextLabel->setStyleSheet(m_connection.totalIncomingRate() > 0.0 ? QString() : QStringLiteral("opacity: 0.5;"));
|
||||
//m_ui->trafficOutTextLabel->setStyleSheet(m_connection.totalOutgoingRate() > 0.0 ? QString() : QStringLiteral("opacity: 0.5;"));
|
||||
}
|
||||
|
||||
void TrayWidget::updateOverallStatistics()
|
||||
{
|
||||
const auto overallStats = m_connection.computeOverallDirStatistics();
|
||||
m_ui->globalStatisticsLabel->setText(directoryStatusString(overallStats.global));
|
||||
m_ui->localStatisticsLabel->setText(directoryStatusString(overallStats.local));
|
||||
}
|
||||
|
||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||
|
|
|
@ -75,6 +75,7 @@ private slots:
|
|||
void pauseResumeDir(const Data::SyncthingDir &dir);
|
||||
void changeStatus();
|
||||
void updateTraffic();
|
||||
void updateOverallStatistics();
|
||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||
bool handleSystemdStatusChanged();
|
||||
bool applySystemdSettings(bool reconnectRequired = false);
|
||||
|
|
|
@ -52,47 +52,6 @@
|
|||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="closePushButton">
|
||||
<property name="toolTip">
|
||||
<string>Close</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="window-close" resource="../resources/syncthingtrayicons.qrc">
|
||||
<normaloff>:/icons/hicolor/scalable/actions/window-close.svg</normaloff>:/icons/hicolor/scalable/actions/window-close.svg</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="aboutPushButton">
|
||||
<property name="toolTip">
|
||||
<string>About</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="help-about" resource="../resources/syncthingtrayicons.qrc">
|
||||
<normaloff>:/icons/hicolor/scalable/actions/help-about.svg</normaloff>:/icons/hicolor/scalable/actions/help-about.svg</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="statusPushButton">
|
||||
<property name="text">
|
||||
|
@ -134,6 +93,20 @@
|
|||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="aboutPushButton">
|
||||
<property name="toolTip">
|
||||
<string>About</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="help-about" resource="../resources/syncthingtrayicons.qrc">
|
||||
<normaloff>:/icons/hicolor/scalable/actions/help-about.svg</normaloff>:/icons/hicolor/scalable/actions/help-about.svg</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="settingsPushButton">
|
||||
<property name="toolTip">
|
||||
|
@ -162,6 +135,27 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QPushButton" name="connectionsPushButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="network-connect" resource="../resources/syncthingtrayicons.qrc">
|
||||
<normaloff>:/icons/hicolor/scalable/actions/network-connect.svg</normaloff>:/icons/hicolor/scalable/actions/network-connect.svg</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -174,6 +168,9 @@
|
|||
<enum>QFrame::Sunken</enum>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<property name="spacing">
|
||||
<number>8</number>
|
||||
</property>
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
|
@ -190,26 +187,78 @@
|
|||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="trafficHorizontalLayout">
|
||||
<layout class="QHBoxLayout" name="statisticsHorizontalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="trafficIconLabel">
|
||||
<widget class="QWidget" name="statisticsFormWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Traffic</string>
|
||||
</property>
|
||||
<layout class="QFormLayout" name="statisticsFormLayout">
|
||||
<property name="verticalSpacing">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="globalTextLabel">
|
||||
<property name="text">
|
||||
<string>Global</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="globalStatisticsLabel">
|
||||
<property name="toolTip">
|
||||
<string>Global overall statistics</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>unknown</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="localTextLabel">
|
||||
<property name="text">
|
||||
<string>Local</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="localStatisticsLabel">
|
||||
<property name="toolTip">
|
||||
<string>Local overall statistics</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>unknown</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="trafficHorizontalLayout">
|
||||
<property name="leftMargin">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QWidget" name="trafficFormWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
|
@ -319,43 +368,6 @@ For <i>all</i> notifications, checkout the log</string>
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<spacer name="connectionHorizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="connectionsPushButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="network-connect" resource="../resources/syncthingtrayicons.qrc">
|
||||
<normaloff>:/icons/hicolor/scalable/actions/network-connect.svg</normaloff>:/icons/hicolor/scalable/actions/network-connect.svg</iconset>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -1,55 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="64" version="1.1" xmlns="http://www.w3.org/2000/svg" height="64" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||
<defs id="defs5455">
|
||||
<linearGradient inkscape:collect="always" id="linearGradient4251-0">
|
||||
<stop style="stop-color:#63984b" id="stop4253-4"/>
|
||||
<stop offset="1" style="stop-color:#8fc278" id="stop4255-2"/>
|
||||
</linearGradient>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4251-0" id="linearGradient4232" y1="54" y2="12" x2="0" gradientUnits="userSpaceOnUse"/>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4159" id="linearGradient4384" y1="1043.3622" y2="1012.3622" x2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.625 0 0 0.54839315 437.17147 -33.374703)"/>
|
||||
<linearGradient inkscape:collect="always" id="linearGradient4159">
|
||||
<stop style="stop-color:#2a2c2f" id="stop4161"/>
|
||||
<stop offset="1" style="stop-color:#424649" id="stop4163"/>
|
||||
</linearGradient>
|
||||
<linearGradient inkscape:collect="always" id="linearGradient4300-2">
|
||||
<stop style="stop-color:#22a7f0" id="stop4302-4"/>
|
||||
<stop offset="1" style="stop-color:#19b5fe" id="stop4304-7"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient4300-2-3">
|
||||
<stop style="stop-color:#f9b425" id="stop4302-4-0"/>
|
||||
<stop offset="1" style="stop-color:#f9bf3b" id="stop4304-1"/>
|
||||
</linearGradient>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4300-2" id="linearGradient4824" y1="523.79797" y2="516.79797" gradientUnits="userSpaceOnUse" x2="0" gradientTransform="matrix(1 0 0 1 -376.5722 -485.79797)"/>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4300-2" id="linearGradient4830" y1="523.79797" y2="516.79797" gradientUnits="userSpaceOnUse" x2="0" gradientTransform="matrix(1 0 0 1 -376.5722 -479.79797)"/>
|
||||
<linearGradient inkscape:collect="always" id="linearGradient4227">
|
||||
<stop style="stop-color:#292c2f" id="stop4229"/>
|
||||
<stop offset="1" style="stop-opacity:0" id="stop4231"/>
|
||||
</linearGradient>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4227" id="linearGradient4864" y1="20" x1="20" y2="48" x2="48" gradientUnits="userSpaceOnUse"/>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4227" id="linearGradient4936" y1="6" x1="-6" y2="36" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(1 0 0 1 0 12)"/>
|
||||
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4227" id="linearGradient4940" y1="6" x1="-6" y2="36" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(1 0 0 1 0 18)"/>
|
||||
</defs>
|
||||
<metadata id="metadata5458"/>
|
||||
<g inkscape:label="Capa 1" inkscape:groupmode="layer" id="layer1" transform="matrix(1 0 0 1 -376.57144 -491.79797)">
|
||||
<path inkscape:connector-curvature="0" style="fill:url(#linearGradient4232)" id="rect4200" d="m 6,12 0,42 4,0 0,-4 12,0 0,4 30,0 0,-4 6,0 0,-26 -18,0 -30,0 0,-10 0,-2 z" transform="matrix(1 0 0 1 376.57144 491.79797)"/>
|
||||
<path style="fill:url(#linearGradient4940);opacity:0.2;fill-rule:evenodd" id="path4938" d="M 15 40 L 10 44 L 16 50 L 22 50 L 22 54 L 29 54 L 15 40 z " transform="matrix(1 0 0 1 376.57144 491.79797)"/>
|
||||
<path style="fill:url(#linearGradient4936);opacity:0.2;fill-rule:evenodd" id="path4934" d="M 15 34 L 10 38 L 22 50 L 26 54 L 35 54 L 15 34 z " transform="matrix(1 0 0 1 376.57144 491.79797)"/>
|
||||
<path inkscape:connector-curvature="0" style="fill:url(#linearGradient4864);opacity:0.2;fill-rule:evenodd" id="path4842" d="m 48,30 -20,17 6,7 18,0 0,-4 6,0 0,-10 z" transform="matrix(1 0 0 1 376.57144 491.79797)"/>
|
||||
<rect width="29.999998" x="398.57144" y="544.79797" height="0.999996" style="fill:#dce269" id="rect4234"/>
|
||||
<path inkscape:connector-curvature="0" style="color:#000000" id="path4303" d="m 406.57144,539.79797 0,1 1,0 0,-1 -1,0 z m 1,1 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z"/>
|
||||
<path inkscape:connector-curvature="0" style="color:#000000" id="path4313" d="m 390.57144,538.79797 0,1 1,0 0,-1 -1,0 z m 1,1 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m 1,0 0,1 1,0 0,-1 -1,0 z m 1,0 1,0 0,-1 -1,0 0,1 z m -4,0 -1,0 0,1 1,0 0,-1 z"/>
|
||||
<rect width="20" x="404.67142" y="521.79797" height="17.00019" style="fill:url(#linearGradient4384);fill-rule:evenodd" id="rect4241"/>
|
||||
<rect width="4" x="382.57144" y="503.79797" height="42" style="fill:#afc0c6" id="rect4487"/>
|
||||
<rect width="1" x="382.57144" y="503.79797" height="42" style="fill:#96aab5" id="rect4489"/>
|
||||
<path inkscape:connector-curvature="0" style="color:#000000" id="path4497" d="m 422.57144,518.79797 0,1 -1,0 0,-1 1,0 z m -1,1 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z m -1,0 -1,0 0,-1 1,0 0,1 z m -1,0 0,1 -1,0 0,-1 1,0 z"/>
|
||||
<path inkscape:connector-curvature="0" style="fill:url(#linearGradient4824)" id="path4822" d="m 386.57145,525.79797 0,4 3.90039,0 c 0.0355,0 0.0651,-0.016 0.0996,-0.0195 l 0,0.0195 1,0 0,-4 -1,0 0,0.0195 c -0.0345,-0.004 -0.0641,-0.0195 -0.0996,-0.0195 l -3.90039,0 z"/>
|
||||
<path inkscape:connector-curvature="0" style="fill:url(#linearGradient4830)" id="path4828" d="m 386.57145,531.79797 0,4 3.90039,0 c 0.0355,0 0.0651,-0.016 0.0996,-0.0195 l 0,0.0195 1,0 0,-4 -1,0 0,0.0195 c -0.0345,-0.004 -0.0641,-0.0195 -0.0996,-0.0195 l -3.90039,0 z"/>
|
||||
<rect width="5" x="386.57144" y="534.79797" height="1" style="opacity:0.09" id="rect4832"/>
|
||||
<rect width="5" x="386.57144" y="528.79797" height="1" style="opacity:0.09" id="rect4834"/>
|
||||
<rect width="2" x="381.57144" y="525.79797" height="4" style="fill:#afc0c6" id="rect4197-7"/>
|
||||
<rect width="2" x="381.57144" y="531.79797" height="4" style="fill:#afc0c6" id="rect4197-5"/>
|
||||
<path inkscape:connector-curvature="0" style="fill:#afc0c6" id="rect4161" d="m 413.67142,524.29807 0,1 6,0 0,7 -6,0 0,2 0,1 -1,0 c -0.55401,0 -1,-0.44599 -1,-1 l 0,-2 0,-2 0,-1 1,0 0,-4 -3,0 0,4 1,0 0,1 0,2 0,2 c 0,1.108 0.892,2 2,2 l 1,0 2,0 2,0 0,-1 -2,0 0,-1 5,0 0,-1 0,-1 0,-8 -7,0 z m -3,3 1,0 0,1 -1,0 0,-1 z m -2,3 0,4 1,0 0,-2 0,-2 -1,0 z"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.6 KiB |
|
@ -9,7 +9,6 @@
|
|||
<file>icons/hicolor/scalable/actions/view-barcode.svg</file>
|
||||
<file>icons/hicolor/scalable/actions/window-close.svg</file>
|
||||
<file>icons/hicolor/scalable/apps/help-about.svg</file>
|
||||
<file>icons/hicolor/scalable/devices/network-card.svg</file>
|
||||
<file>icons/hicolor/scalable/places/folder-open.svg</file>
|
||||
<file>icons/hicolor/scalable/places/folder.svg</file>
|
||||
<file>icons/hicolor/scalable/places/network-workgroup.svg</file>
|
||||
|
|
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 20 KiB |
|
@ -0,0 +1,13 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#232629;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<path
|
||||
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||
d="M 8 2 L 7.2929688 2.6992188 L 7.296875 2.703125 L 2 7.9980469 L 2 8 L 2 9 L 3.0078125 9 L 3.0078125 13 L 3 13 L 3 14 L 13 14 L 13 13 L 13 9 L 14 9 L 14 8 L 14 7.9980469 L 12.857422 6.8554688 L 12.15625 7.5566406 L 12.599609 8 L 12 8 L 12 13 L 9 13 L 9 10 L 7 10 L 7 13 L 4 13 L 4 9 L 4 8 L 3.4003906 8 L 7.9980469 3.4042969 L 8 3.40625 L 8.0019531 3.4042969 L 9.4433594 4.84375 L 10.144531 4.1425781 L 8.703125 2.703125 L 8.7070312 2.6992188 L 8 2 z M 11 3 L 11 6 L 12.007812 6 L 12.007812 3 L 11 3 z "
|
||||
class="ColorScheme-Text"/>
|
||||
</svg>
|
After Width: | Height: | Size: 850 B |
|
@ -11,5 +11,7 @@
|
|||
<file>icons/hicolor/scalable/app/syncthingtray.svg</file>
|
||||
<file>icons/hicolor/scalable/fa/cloud-download-alt-solid.svg</file>
|
||||
<file>icons/hicolor/scalable/fa/cloud-upload-alt-solid.svg</file>
|
||||
<file>icons/hicolor/scalable/actions/globe.svg</file>
|
||||
<file>icons/hicolor/scalable/places/user-home.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
Loading…
Reference in New Issue