25 Commits

Author SHA1 Message Date
d59345c0e4 Release 1.0.5 2014-04-14 01:19:36 +04:00
4c1685164c updated translations 2014-04-12 18:58:36 +04:00
d515e4a51f added cppcheck to gui 2014-04-12 16:34:04 +04:00
2778f654ef refactoring of dataengine 2014-04-12 16:31:19 +04:00
92ec04cae1 refactoring of plasmoid
added function to start wifi menu
2014-04-12 15:27:14 +04:00
501151828d pkgbuild fixes 2014-04-10 12:14:10 +04:00
4a788aa05f edited gitignore 2014-04-10 11:39:54 +04:00
2cf91930f8 added pkgbuilds for different builds 2014-04-10 11:34:22 +04:00
4bb5d4925d F*CKING icu 2014-04-07 03:02:50 +04:00
10d44f786e removed plasmoid only =) 2014-04-07 02:32:07 +04:00
c69ff2165e removed cmakelists from root 2014-04-07 02:29:15 +04:00
4d455d93e8 added only plasmoid archive 2014-04-07 02:28:07 +04:00
046ae119a3 updated screenshots 2014-04-07 00:58:29 +04:00
b958d0b78b edited readme 2014-04-07 00:49:53 +04:00
7529cd7af0 edited changelog 2014-04-07 00:41:27 +04:00
7e85f1f933 Release 1.0.4 2014-04-07 00:39:28 +04:00
c4c407542f added notifications 2014-04-07 00:31:42 +04:00
cc2b3faf85 edited pkgbuild for the current version 2014-04-06 23:34:07 +04:00
b983f4424e commit before merging 2014-04-06 23:22:13 +04:00
72782a40c2 added qt5 build 2014-04-06 22:59:12 +04:00
9a5b61be4e updated pkgbuild 2014-04-06 19:08:21 +04:00
7d7a24c23d small changes
changed license notes since project had beed renamed to netctl-gui
2014-04-06 19:02:52 +04:00
1366852a62 refactoring of plasmoid 2014-04-06 18:45:56 +04:00
b1e455b976 changed de configuration 2014-04-06 13:08:32 +04:00
1a7d3cb50a added ui translation to plasmoid 2014-04-06 12:34:31 +04:00
74 changed files with 1346 additions and 767 deletions

1
.gitignore vendored
View File

@ -14,6 +14,7 @@
# Source archive
*.tar.xz
*.tar.gz
# Build directory
build/

2
AUTHORS Normal file
View File

@ -0,0 +1,2 @@
Current developers:
Evgeniy Alekseev aka arcanis <esalexeev (at) gmail (dot) com>

22
CHANGELOG Normal file
View File

@ -0,0 +1,22 @@
Ver.1.0.5:
+ [plasmoid] added "Start WiFi menu" function
* [plasmoid] refactoring
* [plasmoid] edited icon
Ver.1.0.4:
+ [gui] added Qt5 gui (by default)
+ [plasmoid] added notifications
* [plasmoid] fix run command with sudo from plasmoid
Ver.1.0.3:
+ [plasmoid] edited russian translation
* [all] refactoring
Ver.1.0.2:
* [plasmoid] fix layout margins
Ver.1.0.1:
- [all] removed scripts
Ver.1.0:
First release

View File

@ -631,7 +631,7 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
netctl-plasmoid
netctl-gui
Copyright (C) 2014 Evgeniy Alekseev
This program is free software: you can redistribute it and/or modify
@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
netctl-plasmoid Copyright (C) 2014 Evgeniy Alekseev
netctl-gui Copyright (C) 2014 Evgeniy Alekseev
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

View File

@ -1,39 +0,0 @@
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
# comment out needed line if you dont need this component
#_build_gui=0
#_build_plasmoid=0
pkgname=netctl-gui
pkgver=1.0.2
pkgrel=1
pkgdesc="Qt4 GUI for netctl. Provides a plasmoid for KDE4"
arch=('i686' 'x86_64')
url="http://arcanis.name/projects/netctl-gui"
license=('GPLv3')
depends=('netctl' 'qt4')
makedepends=('automoc4' 'cmake' 'desktop-file-utils' 'xdg-utils')
optdepends=('kdebase-runtime: sudo support'
'sudo: sudo support'
'wpa_supplicant: wifi support')
source=("https://github.com/arcan1s/netctlplasmoid/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz")
install="${pkgname}.install"
md5sums=('9bbdf2bc3dfbbde0ff63e04d7d081c0d')
# flags
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release"
[[ ${_build_gui} == 0 ]] && _cmakekeys=${_cmakekeys}" -DBUILD_GUI:BOOL=0"
[[ ${_build_plasmoid} == 0 ]] && _cmakekeys=${_cmakekeys}" -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0" || depends[1]='kdebase-workspace'
build() {
rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
cd "${srcdir}/build"
cmake ${_cmakekeys} "../${pkgname}"
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}

39
PKGBUILD-qt4 Normal file
View File

@ -0,0 +1,39 @@
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
pkgname=netctl-gui-qt4
_pkgname=netctl-gui
pkgver=1.0.5
pkgrel=1
pkgdesc="Qt4 graphical front-end for netctl. A part of netctl-gui"
arch=('i686' 'x86_64')
url="http://arcanis.name/projects/netctl-gui"
license=('GPLv3')
depends=('netctl' 'qt4')
makedepends=('automoc4' 'cmake' 'desktop-file-utils')
optdepends=('kdebase-runtime: sudo support'
'kdeplasma-applets-netctl-gui: KDE widget'
'sudo: sudo support'
'wpa_supplicant: wifi support')
provides=('netctl-gui')
conflicts=('netctl-gui')
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz")
install="${_pkgname}.install"
md5sums=('1ed6e64f06865f129710101ca83624f7')
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DUSE_QT5:BOOL=0 -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0"
prepare() {
rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
}
build() {
cd "${srcdir}/build"
cmake ${_cmakekeys} "../${_pkgname}"
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}

36
PKGBUILD-qt5 Normal file
View File

@ -0,0 +1,36 @@
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
pkgname=netctl-gui
pkgver=1.0.5
pkgrel=4
pkgdesc="Qt5 graphical front-end for netctl. A part of netctl-gui"
arch=('i686' 'x86_64')
url="http://arcanis.name/projects/netctl-gui"
license=('GPLv3')
depends=('netctl' 'qt5-base' 'xdg-utils')
makedepends=('automoc4' 'cmake' 'qt5-tools')
optdepends=('kdebase-runtime: sudo support'
'kdeplasma-applets-netctl-gui: KDE widget'
'sudo: sudo support'
'wpa_supplicant: wifi support')
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz")
install="${pkgname}.install"
md5sums=('1ed6e64f06865f129710101ca83624f7')
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0"
prepare() {
rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
}
build() {
cd "${srcdir}/build"
cmake ${_cmakekeys} "../${pkgname}"
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}

37
PKGBUILD-widget Normal file
View File

@ -0,0 +1,37 @@
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
pkgname=kdeplasma-applets-netctl-gui
_pkgname=netctl-gui
pkgver=1.0.5
pkgrel=1
pkgdesc="A plasmoid, which interacts with netctl. A part of netctl-gui"
arch=('i686' 'x86_64')
url="http://arcanis.name/projects/netctl-gui"
license=('GPLv3')
depends=('netctl' 'kdebase-workspace')
makedepends=('automoc4' 'cmake')
optdepends=('kdebase-runtime: sudo support'
'netctl-gui: graphical front-end'
'netctl-gui-qt4: graphical front-end'
'sudo: sudo support')
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${_pkgname}-${pkgver}-src.tar.xz")
install="${_pkgname}.install"
md5sums=('1ed6e64f06865f129710101ca83624f7')
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_GUI:BOOL=0"
prepare() {
rm -rf "${srcdir}/build"
mkdir "${srcdir}/build"
}
build() {
cd "${srcdir}/build"
cmake ${_cmakekeys} "../${_pkgname}"
make
}
package() {
cd "${srcdir}/build"
make DESTDIR="${pkgdir}" install
}

View File

@ -3,7 +3,9 @@ Netctl GUI
Information
-----------
Graphical interface for netctl. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a widget and DataEngine for KDE.
Qt4/Qt5 graphical interface for netctl. It may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a widget and DataEngine for KDE.
**NOTE** LOOKING FOR TRANSLATORS!
Configuration
-------------
@ -23,7 +25,7 @@ Instruction
Dependencies
------------
* netctl
* qt4
* qt5-base (if Qt5 is used) or qt4 (if Qt4 is used)
Optional dependencies
---------------------
@ -35,6 +37,7 @@ Make dependencies
-----------------
* automoc4
* cmake
* qt5-tools (if Qt5 is used)
Installation
------------
@ -47,13 +50,12 @@ Installation
make
sudo make install
If you want install it without KDE widget just run:
Available cmake flags:
cd /path/to/extracted/archive
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0 ../
make
sudo make install
* `-DBUILD_DATAENGINE:BOOL=0` - do not build DataEngine
* `-DBUILD_GUI:BOOL=0` - do not build GUI
* `-DBUILD_PLASMOID:BOOL=0` - do not build Plasmoid
* `-DUSE_QT5:BOOL=0` - use Qt4 instead of Qt5 for GUI
Additional information
======================
@ -61,4 +63,5 @@ Additional information
Links
-----
* [Homepage](http://arcanis.name/projects/netctl-gui)
* Page on [kde-apps](http://kde-apps.org/content/show.php?content=164490)
* Archlinux [AUR](https://aur.archlinux.org/packages/netctl-gui) package

View File

@ -2,22 +2,24 @@
ARCHIVE="netctl-gui"
SRCDIR="sources"
FILES="LICENSE README.md"
IGNORELIST="gui/resources/translations/english.qm gui/resources/translations/russian.qm"
FILES="AUTHORS CHANGELOG COPYING README.md"
IGNORELIST="build gui/resources/translations/english.qm gui/resources/translations/russian.qm dataengine/dataengine.cppcheck gui/src/gui.cppcheck plasmoid/plasmoid.cppcheck"
VERSION=$(grep -m1 PROJECT_VERSION_MAJOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\
$(grep -m1 PROJECT_VERSION_MINOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\
$(grep -m1 PROJECT_VERSION_PATCH sources/CMakeLists.txt | awk '{print $3}' | cut -c 1)
# create archive
[[ -e ${ARCHIVE}-${VERSION}-src.tar.xz ]] && rm -f "${ARCHIVE}-${VERSION}-src.tar.xz"
[[ -d ${ARCHIVE} ]] && rm -rf "${ARCHIVE}"
cp -r "${SRCDIR}" "${ARCHIVE}"
for FILE in ${FILES[*]}; do cp "$FILE" "${ARCHIVE}"; done
for FILE in ${IGNORELIST[*]}; do rm -f "${ARCHIVE}/${FILE}"; done
tar cvJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}" > /dev/null
for FILE in ${FILES[*]}; do cp -r "$FILE" "${ARCHIVE}"; done
for FILE in ${IGNORELIST[*]}; do rm -rf "${ARCHIVE}/${FILE}"; done
tar cJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}"
rm -rf "${ARCHIVE}"
# update md5sum
MD5SUMS=$(md5sum ${ARCHIVE}-${VERSION}-src.tar.xz | awk '{print $1}')
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD-qt4
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD-qt4
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD-qt5
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD-qt5
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD-widget
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD-widget

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 51 KiB

BIN
screenshots/gui_main.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
screenshots/gui_profile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

BIN
screenshots/gui_wifi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -5,16 +5,17 @@ cmake_policy (SET CMP0002 OLD)
cmake_policy (SET CMP0011 NEW)
cmake_policy (SET CMP0015 NEW)
project (netctl-plasmoid)
project (netctl-gui)
set (PROJECT_VERSION_MAJOR 1)
set (PROJECT_VERSION_MINOR 0)
set (PROJECT_VERSION_PATCH 2)
set (PROJECT_VERSION_PATCH 5)
set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
message (STATUS "Version: ${PROJECT_VERSION}")
# install options
option (USE_QT5 "Use Qt5 instead of Qt4" ON)
option (BUILD_GUI "Build GUI" ON)
option (BUILD_DATAENGINE "Build data engine" ON)
option (BUILD_PLASMOID "Build plasmoid" ON)
@ -29,11 +30,12 @@ else ()
message (STATUS "Unknown compiler")
endif ()
add_subdirectory (icons)
if (BUILD_PLASMOID)
set (BUILD_DATAENGINE ON)
endif ()
add_subdirectory (icons)
if (BUILD_GUI)
add_subdirectory (gui)
endif ()

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="1">
<libraries>
<library>qt</library>
</libraries>
</project>

View File

@ -1,26 +1,29 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "netctl.h"
#include <Plasma/DataContainer>
#include <KDE/KGlobal>
#include <KDE/KStandardDirs>
#include <QDir>
#include <QFile>
#include <QProcess>
#include <QTextCodec>
Netctl::Netctl(QObject *parent, const QVariantList &args)
@ -49,48 +52,60 @@ QStringList Netctl::sources() const
}
bool Netctl::readConfiguration()
void Netctl::readConfiguration()
{
// default configuration
checkExtIP = QString("false");
cmd = QString("/usr/bin/netctl");
extIpCmd = QString("wget -qO- http://ifconfig.me/ip");
ipCmd = QString("/usr/bin/ip");
netDir = QString("/sys/class/net/");
QMap<QString, QString> rawConfig;
rawConfig[QString("CMD")] = QString("/usr/bin/netctl");
rawConfig[QString("EXTIP")] = QString("false");
rawConfig[QString("EXTIPCMD")] = QString("wget -qO- http://ifconfig.me/ip");
rawConfig[QString("IPCMD")] = QString("/usr/bin/ip");
rawConfig[QString("NETDIR")] = QString("/sys/class/net/");
QString fileStr;
// FIXME: define configuration file
QFile confFile(QString(getenv("HOME")) + QString("/.kde4/share/config/netctl.conf"));
bool exists = confFile.open(QIODevice::ReadOnly);
if (!exists) {
confFile.setFileName("/usr/share/config/netctl.conf");
exists = confFile.open(QIODevice::ReadOnly);
if (!exists)
return false;
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
QFile confFile(fileName);
bool ok = confFile.open(QIODevice::ReadOnly);
if (!ok) {
configuration = updateConfiguration(rawConfig);
return;
}
QString fileStr;
QStringList value;
while (true) {
fileStr = QString(confFile.readLine());
if (fileStr[0] != '#') {
if (fileStr.split(QString("="), QString::SkipEmptyParts).count() == 2) {
if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("EXTIP"))
checkExtIP = fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), QString::SkipEmptyParts)[0];
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("CMD"))
cmd = fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), QString::SkipEmptyParts)[0];
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("EXTIPCMD"))
extIpCmd = fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), QString::SkipEmptyParts)[0];
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("IPCMD"))
ipCmd = fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), QString::SkipEmptyParts)[0];
else if (fileStr.split(QString("="), QString::SkipEmptyParts)[0] == QString("NETDIR"))
netDir = fileStr.split(QString("="), QString::SkipEmptyParts)[1].split(QString("\n"), QString::SkipEmptyParts)[0];
}
fileStr = QString(confFile.readLine()).trimmed();
if (fileStr[0] == QChar('#')) continue;
if (fileStr[0] == QChar(';')) continue;
if (fileStr.contains(QChar('='))) {
value.clear();
for (int i=1; i<fileStr.split(QChar('=')).count(); i++)
value.append(fileStr.split(QChar('='))[i]);
rawConfig[fileStr.split(QChar('='))[0]] = value.join(QChar('='));
}
if (confFile.atEnd())
break;
}
confFile.close();
return true;
configuration = updateConfiguration(rawConfig);
return;
}
QMap<QString, QString> Netctl::updateConfiguration(const QMap<QString, QString> rawConfig)
{
QMap<QString, QString> config;
QString key, value;
// remove spaces and copy source map
for (int i=0; i<rawConfig.keys().count(); i++) {
key = rawConfig.keys()[i];
value = rawConfig[key];
key.remove(QChar(' '));
if ((key != QString("CMD")) &&
(key != QString("EXTIPCMD")) &&
(key != QString("IPCMD")))
value.remove(QChar(' '));
config[key] = value;
}
return config;
}
@ -100,122 +115,136 @@ bool Netctl::sourceRequestEvent(const QString &name)
}
bool Netctl::updateSourceEvent(const QString &source)
QString Netctl::getCurrentProfile(const QString cmd)
{
QProcess command;
QString cmdOutput = QString("");
QString value = QString("");
if (source == QString("currentProfile")) {
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
if (!cmdOutput.isEmpty()) {
QStringList profileList = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
if (profileList[i].split(QString(" "), QString::SkipEmptyParts).count() == 2) {
value = profileList[i].split(QString(" "), QString::SkipEmptyParts)[1];
break;
}
QString profile = QString("");
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
QStringList profileList = cmdOutput.split(QChar('\n'), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
if (profileList[i][0] == QChar('*')) {
profile = profileList[i];
break;
}
setData(source, QString("value"), value);
profile.remove(0, 1);
return profile;
}
QString Netctl::getExtIp(const QString cmd)
{
QProcess command;
QString extIp = QString("");
command.start(cmd);
command.waitForFinished(-1);
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
extIp = cmdOutput.trimmed();
return extIp;
}
QStringList Netctl::getInterfaceList(const QString dir)
{
QStringList interfaceList;
if (QDir(dir).exists())
interfaceList = QDir(dir).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
return interfaceList;
}
QString Netctl::getIntIp(const QString cmd, const QString dir)
{
QProcess command;
QString intIp = QString("127.0.0.1/8");
QStringList interfaceList = getInterfaceList(dir);
for (int i=0; i<interfaceList.count(); i++)
if (interfaceList[i] != QString("lo")) {
command.start(cmd + QString(" addr show ") + interfaceList[i]);
command.waitForFinished(-1);
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
QStringList deviceInfo = cmdOutput.split(QChar('\n'), QString::SkipEmptyParts);
for (int j=0; j<deviceInfo.count(); j++)
if (deviceInfo[j].split(QChar(' '), QString::SkipEmptyParts)[0] == QString("inet"))
intIp = deviceInfo[j].split(QChar(' '), QString::SkipEmptyParts)[1];
}
return intIp;
}
QStringList Netctl::getProfileList(const QString cmd)
{
QProcess command;
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
QStringList profileList = cmdOutput.split(QChar('\n'), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
profileList[i].remove(0, 1);
return profileList;
}
bool Netctl::getProfileStatus(const QString cmd)
{
bool status = false;
QString cmdOutput = getCurrentProfile(cmd);
if (!cmdOutput.isEmpty())
status = true;
return status;
}
QString Netctl::getProfileStringStatus(const QString cmd)
{
QProcess command;
QString status = QString("static");
QString profile = getCurrentProfile(cmd);
command.start(cmd + QString(" status ") + profile);
command.waitForFinished(-1);
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
QStringList profileStatus = cmdOutput.split(QChar('\n'), QString::SkipEmptyParts);
for (int i=0; i<profileStatus.count(); i++)
if (profileStatus[i].split(QChar(' '), QString::SkipEmptyParts)[0] == QString("Loaded:")) {
if (profileStatus[i].contains(QString("enabled")))
status = QString("enabled");
break;
}
return status;
}
bool Netctl::updateSourceEvent(const QString &source)
{
QString key = QString("value");
QString value = QString("");
if (source == QString("currentProfile")) {
value = getCurrentProfile(configuration[QString("CMD")]);
}
else if (source == QString("extIp")) {
if (checkExtIP == QString("true")) {
command.start(extIpCmd);
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
if (!cmdOutput.isEmpty())
value = cmdOutput.split(QString("\n"), QString::SkipEmptyParts)[0];
}
setData(source, QString("value"), value);
if (configuration[QString("EXTIP")] == QString("true"))
value = getExtIp(configuration[QString("EXTIPCMD")]);
}
else if (source == QString("interfaces")) {
if (QDir(netDir).exists())
value = QDir(netDir).entryList(QDir::Dirs | QDir::NoDotAndDotDot).join(QString(","));
setData(source, QString("value"), value);
value = getInterfaceList(configuration[QString("NETDIR")]).join(QChar(','));
}
else if (source == QString("intIp")) {
if (QDir(netDir).exists()) {
value = QString("127.0.0.1/8");
QStringList netDevices = QDir(netDir).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
for (int i=0; i<netDevices.count(); i++)
if (netDevices[i] != QString("lo")) {
cmdOutput = QString("");
command.start(ipCmd + QString(" addr show ") + netDevices[i]);
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
if (!cmdOutput.isEmpty()) {
QStringList deviceInfo = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int j=0; j<deviceInfo.count(); j++)
if (deviceInfo[j].split(QString(" "), QString::SkipEmptyParts)[0] == QString("inet"))
value = deviceInfo[j].split(QString(" "), QString::SkipEmptyParts)[1];
}
}
}
setData(source, QString("value"), value);
value = getIntIp(configuration[QString("IPCMD")], configuration[QString("NETDIR")]);
}
else if (source == QString("profiles")) {
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
QStringList list;
if (!cmdOutput.isEmpty()) {
QStringList profileList = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
if (profileList[i].split(QString(" "), QString::SkipEmptyParts).count() == 1)
list.append(profileList[i].split(QString(" "), QString::SkipEmptyParts)[0]);
else if (profileList[i].split(QString(" "), QString::SkipEmptyParts).count() == 2)
list.append(profileList[i].split(QString(" "), QString::SkipEmptyParts)[1]);
}
value = list.join(QString(","));
setData(source, QString("value"), value);
value = getProfileList(configuration[QString("CMD")]).join(QChar(','));
}
else if (source == QString("statusBool")) {
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
value = QString("false");
if (!cmdOutput.isEmpty()) {
QStringList profileList = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
if (profileList[i].split(QString(" "), QString::SkipEmptyParts).count() == 2) {
value = QString("true");
break;
}
}
setData(source, QString("value"), value);
if (getProfileStatus(configuration[QString("CMD")]))
value = QString("true");
else
value = QString("false");
}
else if (source == QString("statusString")) {
command.start(cmd + QString(" list"));
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
QString currentProfile;
if (!cmdOutput.isEmpty()) {
QStringList profileList = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int i=0; i<profileList.count(); i++)
if (profileList[i].split(QString(" "), QString::SkipEmptyParts).count() == 2) {
currentProfile = profileList[i].split(QString(" "), QString::SkipEmptyParts)[1];
break;
}
}
command.start(cmd + QString(" status ") + currentProfile);
command.waitForFinished(-1);
cmdOutput = command.readAllStandardOutput();
if (!cmdOutput.isEmpty()) {
QStringList profile = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
for (int i=0; i<profile.count(); i++)
if (profile[i].split(QString(" "), QString::SkipEmptyParts)[0] == QString("Loaded:")) {
if (profile[i].contains(QString("enabled")))
value = QString("enabled");
else if (profile[i].contains(QString("static")))
value = QString("static");
break;
}
}
setData(source, QString("value"), value);
value = getProfileStringStatus(configuration[QString("CMD")]);
}
setData(source, key, value);
return true;
}

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef NETCTL_DE_H
@ -27,25 +27,24 @@ class Netctl : public Plasma::DataEngine
public:
Netctl(QObject *parent, const QVariantList &args);
QString getCurrentProfile(const QString cmd);
QString getExtIp(const QString cmd);
QStringList getInterfaceList(const QString dir);
QString getIntIp(const QString cmd, const QString dir);
QStringList getProfileList(const QString cmd);
bool getProfileStatus(const QString cmd);
QString getProfileStringStatus(const QString cmd);
protected:
bool readConfiguration();
bool sourceRequestEvent(const QString &name);
bool updateSourceEvent(const QString &source);
QStringList sources() const;
private:
// configuration
// enable check external IP
QString checkExtIP;
// path to netctl command
QString cmd;
// command to check external IP
QString extIpCmd;
// path to ip command
QString ipCmd;
// path to directory with network device configuration
QString netDir;
QMap<QString, QString> configuration;
void readConfiguration();
QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig);
};

View File

@ -4,7 +4,7 @@ Name=Netctl
Comment=Data engine for netctl
ServiceTypes=Plasma/DataEngine
Type=Service
Icon=netctl-gui
Icon=netctl-gui-widget
X-KDE-ServiceTypes=Plasma/DataEngine
X-KDE-Library=plasma_engine_netctl

View File

@ -14,29 +14,60 @@ message (STATUS "${SUBPROJECT} Forms: ${FORMS}")
# include_path
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../)
find_package (Qt4 REQUIRED)
include (${QT_USE_FILE})
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
qt4_wrap_ui (UI_HEADERS ${FORMS})
qt4_add_resources (QRC_SOURCES ${RESOURCES})
if (USE_QT5)
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5LinguistTools REQUIRED)
add_definitions(${Qt5Core_DEFINITIONS})
add_definitions(${Qt5Widgets_DEFINITIONS})
add_definitions(${Qt5LinguistTools_DEFINITIONS})
qt5_wrap_cpp (MOC_SOURCES ${HEADERS})
qt5_wrap_ui (UI_HEADERS ${FORMS})
qt5_add_resources (QRC_SOURCES ${RESOURCES})
foreach (LANGUAGE ${LANGUAGES})
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
add_custom_command (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
endforeach ()
add_custom_target (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
add_custom_command (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
foreach (LANGUAGE ${LANGUAGES})
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
add_custom_command (OUTPUT ${QM} COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
endforeach ()
add_custom_target (translations COMMAND ${Qt5_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
add_custom_command (TARGET translations COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
source_group ("Header Files" FILES ${HEADERS})
source_group ("Source Files" FILES ${SOURCES})
source_group ("Generated Files" FILES ${MOC_SOURCES})
source_group ("Header Files" FILES ${HEADERS})
source_group ("Source Files" FILES ${SOURCES})
source_group ("Generated Files" FILES ${MOC_SOURCES})
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
target_link_libraries (${SUBPROJECT} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
target_link_libraries (${SUBPROJECT} ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES})
else ()
find_package (Qt4 REQUIRED)
include (${QT_USE_FILE})
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
qt4_wrap_ui (UI_HEADERS ${FORMS})
qt4_add_resources (QRC_SOURCES ${RESOURCES})
foreach (LANGUAGE ${LANGUAGES})
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
add_custom_command (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
endforeach ()
add_custom_target (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
add_custom_command (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
source_group ("Header Files" FILES ${HEADERS})
source_group ("Source Files" FILES ${SOURCES})
source_group ("Generated Files" FILES ${MOC_SOURCES})
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
target_link_libraries (${SUBPROJECT} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
endif()
# install properties
install (TARGETS ${SUBPROJECT} DESTINATION bin)

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "bridgewidget.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef BRIDGEWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "errorwindow.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef ERRORWINDOW_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "ethernetwidget.h"
@ -86,7 +86,7 @@ void EthernetWidget::selectWpaConfig()
void EthernetWidget::showAdvanced()
{
if (ui->pushButton_ethernetAdvanced->isChecked()) {
ui->widget_ethernetAdvanced->setShown(true);
ui->widget_ethernetAdvanced->setHidden(false);
ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Hide advanced"));
}
else {
@ -101,7 +101,7 @@ void EthernetWidget::showWpa(const int state)
if (state == 0)
ui->widget_wpa->setHidden(true);
else
ui->widget_wpa->setShown(true);
ui->widget_wpa->setHidden(false);
}

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef ETHERNETWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "generalwidget.h"
@ -112,7 +112,7 @@ void GeneralWidget::keyPressEvent(QKeyEvent *pressedKey)
void GeneralWidget::showAdvanced()
{
if (ui->pushButton_generalAdvanced->isChecked()) {
ui->widget_generalAdvanced->setShown(true);
ui->widget_generalAdvanced->setHidden(false);
ui->pushButton_generalAdvanced->setText(QApplication::translate("GeneralWidget", "Hide advanced"));
}
else {

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef GENERALWIDGET_H

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="1">
<libraries>
<library>qt</library>
</libraries>
</project>

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "ipwidget.h"
@ -306,7 +306,7 @@ void IpWidget::changeIpMode(const QString currentText)
if (currentText == QString("dhcp"))
ui->widget_ip->setHidden(true);
else if (currentText == QString("static"))
ui->widget_ip->setShown(true);
ui->widget_ip->setHidden(false);
}
@ -332,7 +332,7 @@ void IpWidget::changeIp6Mode(const QString currentText)
ui->widget_ip6->setHidden(true);
else if ((currentText == QString("static")) ||
(currentText == QString("stateless")))
ui->widget_ip6->setShown(true);
ui->widget_ip6->setHidden(false);
}
@ -354,12 +354,12 @@ void IpWidget::ip6Enable(const int state)
void IpWidget::changeDhcpClient(const QString currentText)
{
if (currentText == QString("dhcpcd")) {
ui->widget_dhcpcdOpt->setShown(true);
ui->widget_dhcpcdOpt->setHidden(false);
ui->widget_dhclientOpt->setHidden(true);
}
else if (currentText == QString("dhclient")) {
ui->widget_dhcpcdOpt->setHidden(true);
ui->widget_dhclientOpt->setShown(true);
ui->widget_dhclientOpt->setHidden(false);
}
}
@ -367,7 +367,7 @@ void IpWidget::changeDhcpClient(const QString currentText)
void IpWidget::showAdvanced()
{
if (ui->pushButton_ipAdvanced->isChecked()) {
ui->widget_ipAdvanced->setShown(true);
ui->widget_ipAdvanced->setHidden(false);
ui->pushButton_ipAdvanced->setText(QApplication::translate("IpWidget", "Hide advanced"));
}
else {

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef IPWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "mainwindow.h"
@ -224,7 +224,11 @@ void MainWindow::updateMainTab()
ui->tableWidget_main->setSortingEnabled(true);
ui->tableWidget_main->resizeRowsToContents();
#if QT_VERSION >= 0x050000
ui->tableWidget_main->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
#else
ui->tableWidget_main->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
#endif
ui->tabWidget->setEnabled(true);
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));
@ -284,7 +288,11 @@ void MainWindow::updateWifiTab()
ui->tableWidget_wifi->setSortingEnabled(true);
ui->tableWidget_wifi->resizeRowsToContents();
#if QT_VERSION >= 0x050000
ui->tableWidget_wifi->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
#else
ui->tableWidget_wifi->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
#endif
ui->tabWidget->setEnabled(true);
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef MAINWINDOW_H
@ -47,7 +47,7 @@ class MainWindow;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0,
const bool defaultSettings = false,
@ -61,7 +61,7 @@ public slots:
void updateTabs(const int tab);
// wifi tab slots
void connectToUnknownEssid(const QString passwd);
private slots:
void updateMainTab();
void updateProfileTab();

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "mobilewidget.h"
@ -87,7 +87,7 @@ void MobileWidget::selectOptionsFile()
void MobileWidget::showAdvanced()
{
if (ui->pushButton_mobileAdvanced->isChecked()) {
ui->widget_mobileAdvanced->setShown(true);
ui->widget_mobileAdvanced->setHidden(false);
ui->pushButton_mobileAdvanced->setText(QApplication::translate("MobileWidget", "Hide advanced"));
}
else {

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef MOBILEWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "netctlinteract.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef NETCTLINTERACT_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "netctlprofile.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef NETCTLPROFILE_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "passwdwidget.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef PASSWDWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "pppoewidget.h"
@ -96,7 +96,7 @@ void PppoeWidget::changeMode(const QString currentText)
if (currentText == QString("persist"))
ui->widget_timeout->setHidden(true);
else if (currentText == QString("demand"))
ui->widget_timeout->setShown(true);
ui->widget_timeout->setHidden(false);
}
@ -115,7 +115,7 @@ void PppoeWidget::selectOptionsFile()
void PppoeWidget::showAdvanced()
{
if (ui->pushButton_pppoeAdvanced->isChecked()) {
ui->widget_pppoeAdvanced->setShown(true);
ui->widget_pppoeAdvanced->setHidden(false);
ui->pushButton_pppoeAdvanced->setText(QApplication::translate("PppoeWidget", "Hide advanced"));
}
else {

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef PPPOEWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "settingswindow.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef SETTINGSWINDOW_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef SLEEPTHREAD_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "tunnelwidget.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef TUNNELWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "tuntapwidget.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef TUNTAPWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "vlanwidget.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef VLANWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "wirelesswidget.h"
@ -153,28 +153,28 @@ void WirelessWidget::addOption()
void WirelessWidget::changeSecurity(const QString currentText)
{
if (currentText == QString("none")) {
ui->widget_essid->setShown(true);
ui->widget_essid->setHidden(false);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true);
}
else if ((currentText == QString("wep")) ||
(currentText == QString("wpa"))) {
ui->widget_essid->setShown(true);
ui->widget_essid->setHidden(false);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setShown(true);
ui->widget_key->setHidden(false);
}
else if (currentText == QString("wpa-configsection")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setShown(true);
ui->widget_wpaConfigSection->setHidden(false);
ui->widget_wpaConfig->setHidden(true);
ui->widget_key->setHidden(true);
}
else if (currentText == QString("wpa-config")) {
ui->widget_essid->setHidden(true);
ui->widget_wpaConfigSection->setHidden(true);
ui->widget_wpaConfig->setShown(true);
ui->widget_wpaConfig->setHidden(false);
ui->widget_key->setHidden(true);
}
}
@ -195,7 +195,7 @@ void WirelessWidget::selectWpaConfig()
void WirelessWidget::showAdvanced()
{
if (ui->pushButton_wirelessAdvanced->isChecked()) {
ui->widget_wirelessAdvanced->setShown(true);
ui->widget_wirelessAdvanced->setHidden(false);
ui->pushButton_wirelessAdvanced->setText(QApplication::translate("WirelessWidget", "Hide advanced"));
}
else {

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef WIRELESSWIDGET_H

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "wpasupinteract.h"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef WPASUPINTERACT_H

View File

@ -2,6 +2,11 @@
set (SUBPROJECT netctl-gui-icons)
message (STATUS "Subproject ${SUBPROJECT}")
install (FILES network-idle-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-idle.png)
install (FILES network-offline-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-offline.png)
install (FILES network-idle-128-128.png DESTINATION share/pixmaps RENAME netctl-gui.png)
if (BUILD_GUI)
install (FILES icon.png DESTINATION share/pixmaps RENAME netctl-gui.png)
endif ()
if (BUILD_DATAENGINE OR BUILD_PLASMOID)
install (FILES icon-plasmoid.png DESTINATION share/pixmaps RENAME netctl-gui-widget.png)
install (FILES network-idle-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-idle.png)
install (FILES network-offline-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-offline.png)
endif ()

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>480</width>
<height>320</height>
<height>343</height>
</rect>
</property>
<property name="minimumSize">
@ -127,9 +127,6 @@
<property name="text">
<string>Browse</string>
</property>
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
@ -163,9 +160,6 @@
<property name="text">
<string>Browse</string>
</property>
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
@ -191,6 +185,55 @@
<item>
<widget class="QLineEdit" name="lineEdit_sudo"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_sudo">
<property name="minimumSize">
<size>
<width>100</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="layout_wifi">
<item>
<widget class="QCheckBox" name="checkBox_wifi">
<property name="minimumSize">
<size>
<width>150</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Show 'Start WiFi menu'</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_wifi"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_wifi">
<property name="minimumSize">
<size>
<width>100</width>
<height>23</height>
</size>
</property>
<property name="text">
<string>Browse</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
@ -577,9 +620,6 @@
<property name="text">
<string>Browse</string>
</property>
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
@ -613,9 +653,6 @@
<property name="text">
<string>Browse</string>
</property>
<property name="default">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
@ -655,6 +692,10 @@
<tabstop>pushButton_netctl</tabstop>
<tabstop>checkBox_sudo</tabstop>
<tabstop>lineEdit_sudo</tabstop>
<tabstop>pushButton_sudo</tabstop>
<tabstop>checkBox_wifi</tabstop>
<tabstop>lineEdit_wifi</tabstop>
<tabstop>pushButton_wifi</tabstop>
<tabstop>checkBox_showBigInterface</tabstop>
<tabstop>checkBox_showNetDev</tabstop>
<tabstop>checkBox_showExtIp</tabstop>

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#include "netctl.h"
@ -47,7 +47,7 @@ Netctl::~Netctl()
// delete startProfile;
// delete stopProfile;
// delete restartProfile;
// delete enableProfileAutoload;
// delete enableProfile;
// delete iconWidget;
@ -57,6 +57,12 @@ Netctl::~Netctl()
void Netctl::init()
{
info[QString("name")] = QString("N\\A");
info[QString("status")] = QString("N\\A");
info[QString("intIp")] = QString("N\\A");
info[QString("extIp")] = QString("N\\A");
info[QString("interfaces")] = QString("lo");
netctlEngine = dataEngine(QString("netctl"));
createActions();
// generate ui
@ -97,18 +103,43 @@ void Netctl::updateInterface(bool setShown)
// context menu
void Netctl::enableProfileSlot()
{
QProcess command;
QString commandLine, enableStatus;
if (info[QString("status")].contains(QString("enabled"))) {
enableStatus = QString(" disable ");
sendNotification(QString("Info"), i18n("Set profile %1 disabled", info[QString("name")]));
}
else {
enableStatus = QString(" enable ");
sendNotification(QString("Info"), i18n("Set profile %1 enabled", info[QString("name")]));
}
if (useSudo)
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
enableStatus + info[QString("name")];
else
commandLine = paths[QString("netctl")] + enableStatus + info[QString("name")];
command.startDetached(commandLine);
}
void Netctl::startProfileSlot(QAction *profile)
{
QProcess command;
QString commandLine;
commandLine = QString("");
sendNotification(QString("Info"), i18n("Start profile %1", profile->text().remove(QString("&"))));
if (status)
commandLine = netctlPath + QString(" stop ") + profileName + QString(" && ");
commandLine = paths[QString("netctl")] + QString(" stop ") +
info[QString("name")] + QString(" && ");
if (useSudo)
commandLine = sudoPath + QString(" \"") + commandLine +
netctlPath + QString(" start ") + profile->text().remove(QString("&")) + QString("\"");
commandLine = paths[QString("sudo")] + QString(" ") + commandLine +
paths[QString("netctl")] + QString(" start ") +
profile->text().remove(QString("&"));
else
commandLine = commandLine + netctlPath + QString(" start ") + profile->text().remove(QString("&"));
commandLine = commandLine + paths[QString("netctl")] + QString(" start ") +
profile->text().remove(QString("&"));
command.startDetached(commandLine);
}
@ -117,10 +148,12 @@ void Netctl::stopProfileSlot()
{
QProcess command;
QString commandLine;
sendNotification(QString("Info"), i18n("Stop profile %1", info[QString("name")]));
if (useSudo)
commandLine = sudoPath + QString(" \"") + netctlPath + QString(" stop ") + profileName + QString("\"");
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
QString(" stop ") + info[QString("name")];
else
commandLine = netctlPath + QString(" stop ") + profileName;
commandLine = paths[QString("netctl")] + QString(" stop ") + info[QString("name")];
command.startDetached(commandLine);
}
@ -129,74 +162,40 @@ void Netctl::restartProfileSlot()
{
QProcess command;
QString commandLine;
sendNotification(QString("Info"), i18n("Restart profile %1", info[QString("name")]));
if (useSudo)
commandLine = sudoPath + QString(" \"") + netctlPath + QString(" restart ") + profileName + QString("\"");
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
QString(" restart ") + info[QString("name")];
else
commandLine = netctlPath + QString(" restart ") + profileName;
commandLine = paths[QString("netctl")] + QString(" restart ") + info[QString("name")];
command.startDetached(commandLine);
}
void Netctl::enableProfileAutoloadSlot()
{
QProcess command;
QString commandLine, enableStatus;
if (profileStatus.contains(QString("enabled")))
enableStatus = QString(" disable ");
else
enableStatus = QString(" enable ");
if (useSudo)
commandLine = sudoPath + QString(" \"") + netctlPath + enableStatus + profileName + QString("\"");
else
commandLine = netctlPath + enableStatus + profileName;
command.startDetached(commandLine);
}
void Netctl::createActions()
{
menuActions.clear();
startProfile = new QAction(QString("Start profile"), this);
startProfileMenu = new QMenu(NULL);
startProfile->setMenu(startProfileMenu);
connect(startProfileMenu, SIGNAL(triggered(QAction *)), this, SLOT(startProfileSlot(QAction *)));
menuActions.append(startProfile);
stopProfile = new QAction(QString("Stop profile"), this);
connect(stopProfile, SIGNAL(triggered(bool)), this, SLOT(stopProfileSlot()));
menuActions.append(stopProfile);
restartProfile = new QAction(QString("Restart profile"), this);
connect(restartProfile, SIGNAL(triggered(bool)), this, SLOT(restartProfileSlot()));
menuActions.append(restartProfile);
enableProfileAutoload = new QAction(QString("Enable profile"), this);
connect(enableProfileAutoload, SIGNAL(triggered(bool)), this, SLOT(enableProfileAutoloadSlot()));
menuActions.append(enableProfileAutoload);
}
QList<QAction*> Netctl::contextualActions()
{
if (status) {
startProfile->setText(QString("Start another profile"));
stopProfile->setVisible(true);
stopProfile->setText(QString("Stop ") + profileName);
restartProfile->setVisible(true);
restartProfile->setText(QString("Restart ") + profileName);
enableProfileAutoload->setVisible(true);
if (profileStatus.contains(QString("enabled")))
enableProfileAutoload->setText(QString("Disable ") + profileName);
contextMenu[QString("start")]->setText(i18n("Start another profile"));
contextMenu[QString("stop")]->setVisible(true);
contextMenu[QString("stop")]->setText(i18n("Stop ") + info[QString("name")]);
contextMenu[QString("restart")]->setVisible(true);
contextMenu[QString("restart")]->setText(i18n("Restart ") + info[QString("name")]);
contextMenu[QString("enable")]->setVisible(true);
if (info[QString("status")].contains(QString("enabled")))
contextMenu[QString("enable")]->setText(i18n("Disable ") + info[QString("name")]);
else
enableProfileAutoload->setText(QString("Enable ") + profileName);
contextMenu[QString("enable")]->setText(i18n("Enable ") + info[QString("name")]);
}
else {
startProfile->setText(QString("Start profile"));
stopProfile->setVisible(false);
restartProfile->setVisible(false);
enableProfileAutoload->setVisible(false);
contextMenu[QString("start")]->setText(i18n("Start profile"));
contextMenu[QString("stop")]->setVisible(false);
contextMenu[QString("restart")]->setVisible(false);
contextMenu[QString("enable")]->setVisible(false);
}
if (useWifi)
contextMenu[QString("wifi")]->setVisible(true);
else
contextMenu[QString("wifi")]->setVisible(false);
startProfileMenu->clear();
for (int i=0; i<profileList.count(); i++) {
@ -208,25 +207,63 @@ QList<QAction*> Netctl::contextualActions()
}
// events
void Netctl::showGui()
void Netctl::createActions()
{
QProcess command;
command.startDetached(guiPath);
menuActions.clear();
contextMenu[QString("start")] = new QAction(i18n("Start profile"), this);
startProfileMenu = new QMenu(NULL);
contextMenu[QString("start")]->setMenu(startProfileMenu);
connect(startProfileMenu, SIGNAL(triggered(QAction *)), this,
SLOT(startProfileSlot(QAction *)));
menuActions.append(contextMenu[QString("start")]);
contextMenu[QString("stop")] = new QAction(i18n("Stop profile"), this);
connect(contextMenu[QString("stop")], SIGNAL(triggered(bool)), this, SLOT(stopProfileSlot()));
menuActions.append(contextMenu[QString("stop")]);
contextMenu[QString("restart")] = new QAction(i18n("Restart profile"), this);
connect(contextMenu[QString("restart")], SIGNAL(triggered(bool)), this, SLOT(restartProfileSlot()));
menuActions.append(contextMenu[QString("restart")]);
contextMenu[QString("enable")] = new QAction(i18n("Enable profile"), this);
connect(contextMenu[QString("enable")], SIGNAL(triggered(bool)), this, SLOT(enableProfileSlot()));
menuActions.append(contextMenu[QString("enable")]);
contextMenu[QString("wifi")] = new QAction(i18n("Show WiFi menu"), this);
connect(contextMenu[QString("wifi")], SIGNAL(triggered(bool)), this, SLOT(showWifi()));
menuActions.append(contextMenu[QString("wifi")]);
}
// events
void Netctl::sendNotification(const QString eventId, const QString message)
{
KNotification *notification = new KNotification(eventId);
notification->setComponentData(KComponentData("plasma_applet_netctl"));
notification->setTitle(eventId);
notification->setTitle(QString("Netctl ::: ") + eventId);
notification->setText(message);
notification->sendEvent();
delete notification;
}
void Netctl::showGui()
{
sendNotification(QString("Info"), i18n("Start GUI"));
QProcess command;
command.startDetached(paths[QString("gui")]);
}
void Netctl::showWifi()
{
sendNotification(QString("Info"), i18n("Start WiFi menu"));
QProcess command;
command.startDetached(paths[QString("wifi")]);
}
// data engine interaction
void Netctl::connectToEngine()
{
@ -235,36 +272,18 @@ void Netctl::connectToEngine()
netctlEngine->connectSource(QString("currentProfile"), this, autoUpdateInterval);
netctlEngine->connectSource(QString("statusString"), this, autoUpdateInterval);
updateInterface(false);
if (showBigInterface) {
if (showExtIp)
if (bigInterface[QString("main")]) {
if (bigInterface[QString("extIp")])
netctlEngine->connectSource(QString("extIp"), this, autoUpdateInterval);
if (showIntIp)
if (bigInterface[QString("intIp")])
netctlEngine->connectSource(QString("intIp"), this, autoUpdateInterval);
if (showNetDev)
if (bigInterface[QString("netDev")])
netctlEngine->connectSource(QString("interfaces"), this, autoUpdateInterval);
updateInterface(true);
}
}
void Netctl::disconnectFromEngine()
{
netctlEngine->disconnectSource(QString("profiles"), this);
netctlEngine->disconnectSource(QString("statusBool"), this);
netctlEngine->disconnectSource(QString("currentProfile"), this);
netctlEngine->disconnectSource(QString("statusString"), this);
if (showBigInterface) {
if (showExtIp)
netctlEngine->disconnectSource(QString("extIp"), this);
if (showIntIp)
netctlEngine->disconnectSource(QString("intIp"), this);
if (showNetDev)
netctlEngine->disconnectSource(QString("interfaces"), this);
}
updateInterface(false);
}
void Netctl::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data)
{
if (data.keys().count() == 0)
@ -274,80 +293,118 @@ void Netctl::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Da
value = QString("N\\A");
if (sourceName == QString("currentProfile")) {
profileName = value;
info[QString("name")] = value;
// update text
QStringList text;
text.append(profileName + QString(" ") + profileStatus);
if (showIntIp)
text.append(intIp);
if (showExtIp)
text.append(extIp);
if (showNetDev)
text.append(interfaces);
if (showBigInterface)
text.append(info[QString("name")] + QString(" ") + info[QString("status")]);
if (bigInterface[QString("intIp")])
text.append(info[QString("intIp")]);
if (bigInterface[QString("extIp")])
text.append(info[QString("extIp")]);
if (bigInterface[QString("netDev")])
text.append(info[QString("interfaces")]);
if (bigInterface[QString("main")])
textLabel->setText(formatLine[0] + text.join(QString("<br>")) + formatLine[1]);
}
else if (sourceName == QString("extIp")) {
extIp = value;
info[QString("extIp")] = value;
}
else if (sourceName == QString("intIp")) {
intIp = value;
info[QString("intIp")] = value;
}
else if (sourceName == QString("interfaces")) {
interfaces = value;
info[QString("interfaces")] = value;
}
else if (sourceName == QString("profiles")) {
profileList = value.split(QString(","));
}
else if (sourceName == QString("statusBool")) {
if (value == QString("true")) {
if (! status)
sendNotification(QString("Info"), i18n("Network is up"));
status = true;
iconWidget->setIcon(activeIconPath);
iconWidget->setIcon(paths[QString("active")]);
}
else {
iconWidget->setIcon(inactiveIconPath);
if (status)
sendNotification(QString("Info"), i18n("Network is down"));
status = false;
iconWidget->setIcon(paths[QString("inactive")]);
}
}
else if (sourceName == QString("statusString")) {
profileStatus = QString("(") + value + QString(")");
info[QString("status")] = QString("(") + value + QString(")");
}
update();
}
void Netctl::disconnectFromEngine()
{
netctlEngine->disconnectSource(QString("profiles"), this);
netctlEngine->disconnectSource(QString("statusBool"), this);
netctlEngine->disconnectSource(QString("currentProfile"), this);
netctlEngine->disconnectSource(QString("statusString"), this);
if (bigInterface[QString("main")]) {
if (bigInterface[QString("extIp")])
netctlEngine->disconnectSource(QString("extIp"), this);
if (bigInterface[QString("intIp")])
netctlEngine->disconnectSource(QString("intIp"), this);
if (bigInterface[QString("netDev")])
netctlEngine->disconnectSource(QString("interfaces"), this);
}
updateInterface(false);
}
// configuration interface
void Netctl::selectGuiExe()
{
KUrl guiUrl = KFileDialog::getOpenUrl(KUrl(), "*");
if (!guiUrl.isEmpty())
uiConfig.lineEdit_gui->setText(guiUrl.path());
}
void Netctl::selectNetctlExe()
{
KUrl netctlUrl = KFileDialog::getOpenUrl(KUrl(), "*");
if (!netctlUrl.isEmpty())
uiConfig.lineEdit_netctl->setText(netctlUrl.path());
}
void Netctl::selectActiveIcon()
{
KUrl activeIconUrl = KFileDialog::getOpenUrl(KUrl(), "*");
if (!activeIconUrl.isEmpty())
uiConfig.lineEdit_activeIcon->setText(activeIconUrl.path());
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_activeIcon->setText(url.path());
}
void Netctl::selectGuiExe()
{
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_gui->setText(url.path());
}
void Netctl::selectInactiveIcon()
{
KUrl inactiveIconUrl = KFileDialog::getOpenUrl(KUrl(), "*");
if (!inactiveIconUrl.isEmpty())
uiConfig.lineEdit_inactiveIcon->setText(inactiveIconUrl.path());
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_inactiveIcon->setText(url.path());
}
void Netctl::selectNetctlExe()
{
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_netctl->setText(url.path());
}
void Netctl::selectSudoExe()
{
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_sudo->setText(url.path());
}
void Netctl::selectWifiExe()
{
KUrl url = KFileDialog::getOpenUrl(KUrl(), "*");
if (!url.isEmpty())
uiConfig.lineEdit_wifi->setText(url.path());
}
@ -355,35 +412,47 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
{
QWidget *configwin = new QWidget;
uiConfig.setupUi(configwin);
QString text = QString(NAME) + " - " + QString(VERSION) + "\n" + "(c) " + QString(DATE) + " " + QString(AUTHOR);
QString text = QString(NAME) + " - " + QString(VERSION) + "\n" + "(c) " +
QString(DATE) + " " + QString(AUTHOR);
uiConfig.label_info->setText(text);
uiConfig.spinBox_autoUpdate->setValue(autoUpdateInterval);
uiConfig.lineEdit_gui->setText(guiPath);
uiConfig.lineEdit_netctl->setText(netctlPath);
uiConfig.lineEdit_gui->setText(paths[QString("gui")]);
uiConfig.lineEdit_netctl->setText(paths[QString("netctl")]);
if (useSudo)
uiConfig.checkBox_sudo->setCheckState(Qt::Checked);
else
uiConfig.checkBox_sudo->setCheckState(Qt::Unchecked);
uiConfig.lineEdit_sudo->setText(sudoPath);
if (showBigInterface)
uiConfig.lineEdit_sudo->setText(paths[QString("sudo")]);
if (useWifi)
uiConfig.checkBox_wifi->setCheckState(Qt::Checked);
else
uiConfig.checkBox_wifi->setCheckState(Qt::Unchecked);
uiConfig.lineEdit_wifi->setText(paths[QString("wifi")]);
if (bigInterface[QString("main")])
uiConfig.checkBox_showBigInterface->setCheckState(Qt::Checked);
else
uiConfig.checkBox_showBigInterface->setCheckState(Qt::Unchecked);
if (showNetDev)
if (bigInterface[QString("netDev")])
uiConfig.checkBox_showNetDev->setCheckState(Qt::Checked);
else
uiConfig.checkBox_showNetDev->setCheckState(Qt::Unchecked);
if (showExtIp)
if (bigInterface[QString("extIp")])
uiConfig.checkBox_showExtIp->setCheckState(Qt::Checked);
else
uiConfig.checkBox_showExtIp->setCheckState(Qt::Unchecked);
if (showIntIp)
if (bigInterface[QString("intIp")])
uiConfig.checkBox_showIntIp->setCheckState(Qt::Checked);
else
uiConfig.checkBox_showIntIp->setCheckState(Qt::Unchecked);
setBigInterface();
KConfigGroup cg = config();
QString fontFamily = cg.readEntry("fontFamily", "Terminus");
int fontSize = cg.readEntry("fontSize", 10);
QString fontColor = cg.readEntry("fontColor", "#000000");
int fontWeight = cg.readEntry("fontWeight", 400);
QString fontStyle = cg.readEntry("fontStyle", "normal");
QFont font = QFont(fontFamily, 12, 400, FALSE);
uiConfig.fontComboBox_font->setCurrentFont(font);
uiConfig.spinBox_fontSize->setValue(fontSize);
@ -393,16 +462,20 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
uiConfig.comboBox_fontStyle->setCurrentIndex(0);
else if (fontStyle == "italic")
uiConfig.comboBox_fontStyle->setCurrentIndex(1);
uiConfig.lineEdit_activeIcon->setText(activeIconPath);
uiConfig.lineEdit_inactiveIcon->setText(inactiveIconPath);
uiConfig.lineEdit_activeIcon->setText(paths[QString("active")]);
uiConfig.lineEdit_inactiveIcon->setText(paths[QString("inactive")]);
parent->addPage(configwin, i18n("Netctl plasmoid"), Applet::icon());
connect(uiConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this, SLOT(setBigInterface()));
connect(uiConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this,
SLOT(setBigInterface()));
connect(uiConfig.checkBox_sudo, SIGNAL(stateChanged(int)), this, SLOT(setSudo()));
connect(uiConfig.checkBox_wifi, SIGNAL(stateChanged(int)), this, SLOT(setWifi()));
connect(uiConfig.pushButton_gui, SIGNAL(clicked()), this, SLOT(selectGuiExe()));
connect(uiConfig.pushButton_netctl, SIGNAL(clicked()), this, SLOT(selectNetctlExe()));
connect(uiConfig.pushButton_sudo, SIGNAL(clicked()), this, SLOT(selectSudoExe()));
connect(uiConfig.pushButton_wifi, SIGNAL(clicked()), this, SLOT(selecWifiExe()));
connect(uiConfig.pushButton_activeIcon, SIGNAL(clicked()), this, SLOT(selectActiveIcon()));
connect(uiConfig.pushButton_inactiveIcon, SIGNAL(clicked()), this, SLOT(selectInactiveIcon()));
@ -424,6 +497,11 @@ void Netctl::configAccepted()
else
cg.writeEntry("useSudo", true);
cg.writeEntry("sudoPath", uiConfig.lineEdit_sudo->text());
if (uiConfig.checkBox_wifi->checkState() == 0)
cg.writeEntry("useWifi", false);
else
cg.writeEntry("useWifi", true);
cg.writeEntry("wifiPath", uiConfig.lineEdit_wifi->text());
if (uiConfig.checkBox_showBigInterface->checkState() == 0)
cg.writeEntry("showBigInterface", false);
else
@ -456,22 +534,26 @@ void Netctl::configChanged()
KConfigGroup cg = config();
autoUpdateInterval = cg.readEntry("autoUpdateInterval", 1000);
guiPath = cg.readEntry("guiPath", "/usr/bin/netctl-gui");
netctlPath = cg.readEntry("netctlPath", "/usr/bin/netctl");
paths[QString("gui")] = cg.readEntry("guiPath", "/usr/bin/netctl-gui");
paths[QString("netctl")] = cg.readEntry("netctlPath", "/usr/bin/netctl");
paths[QString("sudo")] = cg.readEntry("sudoPath", "/usr/bin/kdesu");
paths[QString("wifi")] = cg.readEntry("wifiPath", "/usr/bin/netctl-gui -t 3");
useSudo = cg.readEntry("useSudo", true);
sudoPath = cg.readEntry("sudoPath", "/usr/bin/kdesu -c");
showBigInterface = cg.readEntry("showBigInterface", true);
showNetDev = cg.readEntry("showNetDev", true);
showExtIp = cg.readEntry("showExtIp", false);
showIntIp = cg.readEntry("showIntIp", true);
useWifi = cg.readEntry("useWifi", true);
bigInterface[QString("main")] = cg.readEntry("showBigInterface", true);
bigInterface[QString("extIp")] = cg.readEntry("showExtIp", false);
bigInterface[QString("netDev")] = cg.readEntry("showNetDev", true);
bigInterface[QString("intIp")] = cg.readEntry("showIntIp", true);
fontFamily = cg.readEntry("fontFamily", "Terminus");
fontSize = cg.readEntry("fontSize", 10);
fontColor = cg.readEntry("fontColor", "#000000");
fontWeight = cg.readEntry("fontWeight", 400);
fontStyle = cg.readEntry("fontStyle", "normal");
activeIconPath = cg.readEntry("activeIconPath", "/usr/share/icons/hicolor/64x64/apps/netctl-idle.png");
inactiveIconPath = cg.readEntry("inactiveIconPath", "/usr/share/icons/hicolor/64x64/apps/netctl-offline.png");
QString fontFamily = cg.readEntry("fontFamily", "Terminus");
int fontSize = cg.readEntry("fontSize", 10);
QString fontColor = cg.readEntry("fontColor", "#000000");
int fontWeight = cg.readEntry("fontWeight", 400);
QString fontStyle = cg.readEntry("fontStyle", "normal");
paths[QString("active")] = cg.readEntry("activeIconPath",
"/usr/share/icons/hicolor/64x64/apps/netctl-idle.png");
paths[QString("inactive")] = cg.readEntry("inactiveIconPath",
"/usr/share/icons/hicolor/64x64/apps/netctl-offline.png");
formatLine[0] = ("<p align=\"center\"><span style=\" font-family:'" + fontFamily + \
"'; font-style:" + fontStyle + \
@ -503,9 +585,18 @@ void Netctl::setSudo()
{
if (uiConfig.checkBox_sudo->checkState() == 0)
uiConfig.lineEdit_sudo->setDisabled(true);
else if (uiConfig.checkBox_showBigInterface->checkState() == 2)
else if (uiConfig.checkBox_sudo->checkState() == 2)
uiConfig.lineEdit_sudo->setEnabled(true);
}
void Netctl::setWifi()
{
if (uiConfig.checkBox_wifi->checkState() == 0)
uiConfig.lineEdit_wifi->setDisabled(true);
else if (uiConfig.checkBox_wifi->checkState() == 2)
uiConfig.checkBox_wifi->setEnabled(true);
}
#include "netctl.moc"

View File

@ -1,18 +1,18 @@
/***************************************************************************
* This file is part of netctl-plasmoid *
* This file is part of netctl-gui *
* *
* netctl-plasmoid is free software: you can redistribute it and/or *
* netctl-gui 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 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-plasmoid is distributed in the hope that it will be useful, *
* netctl-gui 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-plasmoid. If not, see http://www.gnu.org/licenses/ *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef NETCTL_PLASMOID_H
@ -41,8 +41,9 @@ public:
public slots:
// events
void showGui();
void sendNotification(const QString eventId, const QString message);
void showGui();
void showWifi();
// dataengine
void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data);
// configuration interface
@ -50,20 +51,23 @@ public slots:
void configChanged();
void setBigInterface();
void setSudo();
void setWifi();
private slots:
// ui
void updateInterface(bool setHidden);
// configuration interface
void selectGuiExe();
void selectNetctlExe();
void selectActiveIcon();
void selectGuiExe();
void selectInactiveIcon();
void selectNetctlExe();
void selectSudoExe();
void selectWifiExe();
// context menu
void enableProfileSlot();
void startProfileSlot(QAction *profile);
void stopProfileSlot();
void restartProfileSlot();
void enableProfileAutoloadSlot();
protected:
void createConfigurationInterface(KConfigDialog *parent);
@ -77,46 +81,25 @@ private:
// text
Plasma::Label *textLabel;
bool status;
QString profileName;
QString profileStatus;
QString intIp;
QString extIp;
QString interfaces;
QMap<QString, QString> info;
QStringList profileList;
QStringList formatLine;
// context menu
void createActions();
QList<QAction*> menuActions;
QAction *startProfile;
QMenu *startProfileMenu;
QAction *stopProfile;
QAction *restartProfile;
QAction *enableProfileAutoload;
QMap<QString, QAction*> contextMenu;
// data engine
Plasma::DataEngine *netctlEngine;
void connectToEngine();
void disconnectFromEngine();
// notification
//
// configuration interface
Ui::ConfigWindow uiConfig;
// configuration
int autoUpdateInterval;
QString guiPath;
QString netctlPath;
bool useSudo;
QString sudoPath;
bool showBigInterface;
bool showNetDev;
bool showExtIp;
bool showIntIp;
QString fontFamily;
int fontSize;
QString fontColor;
int fontWeight;
QString fontStyle;
QString activeIconPath;
QString inactiveIconPath;
QMap<QString, bool> bigInterface;
QStringList formatLine;
QMap<QString, QString> paths;
bool useSudo, useWifi;
};
K_EXPORT_PLASMA_APPLET(netctl, Netctl)

View File

@ -3,7 +3,7 @@ Encoding=UTF-8
Name=Netctl
Comment=Plasmoid for netctl
Type=Service
Icon=netctl-gui
Icon=netctl-gui-widget
X-KDE-ServiceTypes=Plasma/Applet
X-KDE-Library=plasma_applet_netctl

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="1">
<libraries>
<library>qt</library>
</libraries>
</project>

View File

@ -6,19 +6,95 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
"POT-Creation-Date: 2014-03-25 10:52+0400\n"
"PO-Revision-Date: 2014-03-25 10:54+0400\n"
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
"PO-Revision-Date: 2014-04-12 18:56+0400\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n"
#: netctl.cpp:398
#: netctl.cpp:112
msgid "Set profile %1 disabled"
msgstr "Set profile %1 disabled"
#: netctl.cpp:116
msgid "Set profile %1 enabled"
msgstr "Set profile %1 enabled"
#: netctl.cpp:132
msgid "Start profile %1"
msgstr "Start profile %1"
#: netctl.cpp:151
msgid "Stop profile %1"
msgstr "Stop profile %1"
#: netctl.cpp:165
msgid "Restart profile %1"
msgstr "Restart profile %1"
#: netctl.cpp:178
msgid "Start another profile"
msgstr "Start another profile"
#: netctl.cpp:180
msgid "Stop "
msgstr "Stop "
#: netctl.cpp:182
msgid "Restart "
msgstr "Restart "
#: netctl.cpp:185
msgid "Disable "
msgstr "Disable "
#: netctl.cpp:187
msgid "Enable "
msgstr "Enable "
#: netctl.cpp:190 netctl.cpp:214
msgid "Start profile"
msgstr "Start profile"
#: netctl.cpp:221
msgid "Stop profile"
msgstr "Stop profile"
#: netctl.cpp:225
msgid "Restart profile"
msgstr "Restart profile"
#: netctl.cpp:229
msgid "Enable profile"
msgstr "Enable profile"
#: netctl.cpp:233
msgid "Show WiFi menu"
msgstr "Show WiFi menu"
#: netctl.cpp:253
msgid "Start GUI"
msgstr "Start GUI"
#: netctl.cpp:261
msgid "Start WiFi menu"
msgstr "Start WiFi menu"
#: netctl.cpp:325
msgid "Network is up"
msgstr "Network is up"
#: netctl.cpp:331
msgid "Network is down"
msgstr "Network is down"
#: netctl.cpp:468
msgid "Netctl plasmoid"
msgstr "Netctl plasmoid"
@ -42,157 +118,171 @@ msgstr "Path to GUI"
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:78 po/rc.cpp:84 rc.cpp:12 rc.cpp:18
#: rc.cpp:78 rc.cpp:84
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
msgid "Browse"
msgstr "Browse"
#. i18n: file: configwindow.ui:148
#. i18n: file: configwindow.ui:145
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
#: po/rc.cpp:15 rc.cpp:15
msgid "Path to netctl"
msgstr "Path to netctl"
#. i18n: file: configwindow.ui:184
#. i18n: file: configwindow.ui:178
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
#: po/rc.cpp:21 rc.cpp:21
msgid "Use sudo for netctl"
msgstr "Use sudo for netctl"
#. i18n: file: configwindow.ui:199
#. i18n: file: configwindow.ui:214
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
#: po/rc.cpp:27 rc.cpp:27
msgid "Show 'Start WiFi menu'"
msgstr "Show 'Start WiFi menu'"
#. i18n: file: configwindow.ui:242
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
#: po/rc.cpp:24 rc.cpp:24
#: po/rc.cpp:33 rc.cpp:33
msgid "Show more detailed interface"
msgstr "Show more detailed interface"
#. i18n: file: configwindow.ui:209
#. i18n: file: configwindow.ui:252
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
#: po/rc.cpp:27 rc.cpp:27
#: po/rc.cpp:36 rc.cpp:36
msgid "Show network devices"
msgstr "Show network devices"
#. i18n: file: configwindow.ui:219
#. i18n: file: configwindow.ui:262
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
#: po/rc.cpp:30 rc.cpp:30
#: po/rc.cpp:39 rc.cpp:39
msgid "Show external IP"
msgstr "Show external IP"
#. i18n: file: configwindow.ui:229
#. i18n: file: configwindow.ui:272
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
#: po/rc.cpp:33 rc.cpp:33
#: po/rc.cpp:42 rc.cpp:42
msgid "Show internal IP"
msgstr "Show internal IP"
#. i18n: file: configwindow.ui:253
#. i18n: file: configwindow.ui:296
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
#: po/rc.cpp:36 rc.cpp:36
#: po/rc.cpp:45 rc.cpp:45
msgid "Appearance"
msgstr "Appearance"
#. i18n: file: configwindow.ui:267
#. i18n: file: configwindow.ui:310
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: po/rc.cpp:39 rc.cpp:39
#: po/rc.cpp:48 rc.cpp:48
msgid "Font"
msgstr "Font"
#. i18n: file: configwindow.ui:299
#. i18n: file: configwindow.ui:342
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
#: po/rc.cpp:42 rc.cpp:42
#: po/rc.cpp:51 rc.cpp:51
msgid "Set font family"
msgstr "Set font family"
#. i18n: file: configwindow.ui:316
#. i18n: file: configwindow.ui:359
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: po/rc.cpp:45 rc.cpp:45
#: po/rc.cpp:54 rc.cpp:54
msgid "Font size"
msgstr "Font size"
#. i18n: file: configwindow.ui:348
#. i18n: file: configwindow.ui:391
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
#: po/rc.cpp:48 rc.cpp:48
#: po/rc.cpp:57 rc.cpp:57
msgid "Set font size"
msgstr "Set font size"
#. i18n: file: configwindow.ui:377
#. i18n: file: configwindow.ui:420
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
#: po/rc.cpp:51 rc.cpp:51
#: po/rc.cpp:60 rc.cpp:60
msgid "Font color"
msgstr "Font color"
#. i18n: file: configwindow.ui:409
#. i18n: file: configwindow.ui:452
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
#: po/rc.cpp:54 rc.cpp:54
#: po/rc.cpp:63 rc.cpp:63
msgid "Set font color"
msgstr "Set font color"
#. i18n: file: configwindow.ui:426
#. i18n: file: configwindow.ui:469
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
#: po/rc.cpp:57 rc.cpp:57
#: po/rc.cpp:66 rc.cpp:66
msgid "Font weight"
msgstr "Font weight"
#. i18n: file: configwindow.ui:458
#. i18n: file: configwindow.ui:501
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
#: po/rc.cpp:60 rc.cpp:60
#: po/rc.cpp:69 rc.cpp:69
msgid "Set font weight"
msgstr "Set font weight"
#. i18n: file: configwindow.ui:490
#. i18n: file: configwindow.ui:533
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
#: po/rc.cpp:63 rc.cpp:63
#: po/rc.cpp:72 rc.cpp:72
msgid "Font style"
msgstr "Font style"
#. i18n: file: configwindow.ui:522
#. i18n: file: configwindow.ui:565
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:66 rc.cpp:66
#: po/rc.cpp:75 rc.cpp:75
msgid "Set font style"
msgstr "Set font style"
#. i18n: file: configwindow.ui:526
#. i18n: file: configwindow.ui:569
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:69 rc.cpp:69
#: po/rc.cpp:78 rc.cpp:78
msgid "normal"
msgstr "normal"
#. i18n: file: configwindow.ui:531
#. i18n: file: configwindow.ui:574
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:72 rc.cpp:72
#: po/rc.cpp:81 rc.cpp:81
msgid "italic"
msgstr "italic"
#. i18n: file: configwindow.ui:562
#. i18n: file: configwindow.ui:605
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
#: po/rc.cpp:75 rc.cpp:75
#: po/rc.cpp:84 rc.cpp:84
msgid "Active icon"
msgstr "Active icon"
#. i18n: file: configwindow.ui:598
#. i18n: file: configwindow.ui:638
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
#: po/rc.cpp:81 rc.cpp:81
#: po/rc.cpp:90 rc.cpp:90
msgid "Inactive icon"
msgstr "Inactive icon"
#: po/rc.cpp:85 rc.cpp:85
#: po/rc.cpp:94 rc.cpp:94
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Evgeniy Alekseev"
#: po/rc.cpp:86 rc.cpp:86
#: po/rc.cpp:95 rc.cpp:95
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "esalexeev@gmail.com"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
"POT-Creation-Date: 2014-03-25 10:52+0400\n"
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,7 +17,83 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: netctl.cpp:398
#: netctl.cpp:112
msgid "Set profile %1 disabled"
msgstr ""
#: netctl.cpp:116
msgid "Set profile %1 enabled"
msgstr ""
#: netctl.cpp:132
msgid "Start profile %1"
msgstr ""
#: netctl.cpp:151
msgid "Stop profile %1"
msgstr ""
#: netctl.cpp:165
msgid "Restart profile %1"
msgstr ""
#: netctl.cpp:178
msgid "Start another profile"
msgstr ""
#: netctl.cpp:180
msgid "Stop "
msgstr ""
#: netctl.cpp:182
msgid "Restart "
msgstr ""
#: netctl.cpp:185
msgid "Disable "
msgstr ""
#: netctl.cpp:187
msgid "Enable "
msgstr ""
#: netctl.cpp:190 netctl.cpp:214
msgid "Start profile"
msgstr ""
#: netctl.cpp:221
msgid "Stop profile"
msgstr ""
#: netctl.cpp:225
msgid "Restart profile"
msgstr ""
#: netctl.cpp:229
msgid "Enable profile"
msgstr ""
#: netctl.cpp:233
msgid "Show WiFi menu"
msgstr ""
#: netctl.cpp:253
msgid "Start GUI"
msgstr ""
#: netctl.cpp:261
msgid "Start WiFi menu"
msgstr ""
#: netctl.cpp:325
msgid "Network is up"
msgstr ""
#: netctl.cpp:331
msgid "Network is down"
msgstr ""
#: netctl.cpp:468
msgid "Netctl plasmoid"
msgstr ""
@ -41,157 +117,171 @@ msgstr ""
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:78 po/rc.cpp:84 rc.cpp:12 rc.cpp:18
#: rc.cpp:78 rc.cpp:84
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
msgid "Browse"
msgstr ""
#. i18n: file: configwindow.ui:148
#. i18n: file: configwindow.ui:145
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
#: po/rc.cpp:15 rc.cpp:15
msgid "Path to netctl"
msgstr ""
#. i18n: file: configwindow.ui:184
#. i18n: file: configwindow.ui:178
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
#: po/rc.cpp:21 rc.cpp:21
msgid "Use sudo for netctl"
msgstr ""
#. i18n: file: configwindow.ui:199
#. i18n: file: configwindow.ui:214
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
#: po/rc.cpp:27 rc.cpp:27
msgid "Show 'Start WiFi menu'"
msgstr ""
#. i18n: file: configwindow.ui:242
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
#: po/rc.cpp:24 rc.cpp:24
#: po/rc.cpp:33 rc.cpp:33
msgid "Show more detailed interface"
msgstr ""
#. i18n: file: configwindow.ui:209
#. i18n: file: configwindow.ui:252
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
#: po/rc.cpp:27 rc.cpp:27
#: po/rc.cpp:36 rc.cpp:36
msgid "Show network devices"
msgstr ""
#. i18n: file: configwindow.ui:219
#. i18n: file: configwindow.ui:262
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
#: po/rc.cpp:30 rc.cpp:30
#: po/rc.cpp:39 rc.cpp:39
msgid "Show external IP"
msgstr ""
#. i18n: file: configwindow.ui:229
#. i18n: file: configwindow.ui:272
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
#: po/rc.cpp:33 rc.cpp:33
#: po/rc.cpp:42 rc.cpp:42
msgid "Show internal IP"
msgstr ""
#. i18n: file: configwindow.ui:253
#. i18n: file: configwindow.ui:296
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
#: po/rc.cpp:36 rc.cpp:36
#: po/rc.cpp:45 rc.cpp:45
msgid "Appearance"
msgstr ""
#. i18n: file: configwindow.ui:267
#. i18n: file: configwindow.ui:310
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: po/rc.cpp:39 rc.cpp:39
#: po/rc.cpp:48 rc.cpp:48
msgid "Font"
msgstr ""
#. i18n: file: configwindow.ui:299
#. i18n: file: configwindow.ui:342
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
#: po/rc.cpp:42 rc.cpp:42
#: po/rc.cpp:51 rc.cpp:51
msgid "Set font family"
msgstr ""
#. i18n: file: configwindow.ui:316
#. i18n: file: configwindow.ui:359
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: po/rc.cpp:45 rc.cpp:45
#: po/rc.cpp:54 rc.cpp:54
msgid "Font size"
msgstr ""
#. i18n: file: configwindow.ui:348
#. i18n: file: configwindow.ui:391
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
#: po/rc.cpp:48 rc.cpp:48
#: po/rc.cpp:57 rc.cpp:57
msgid "Set font size"
msgstr ""
#. i18n: file: configwindow.ui:377
#. i18n: file: configwindow.ui:420
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
#: po/rc.cpp:51 rc.cpp:51
#: po/rc.cpp:60 rc.cpp:60
msgid "Font color"
msgstr ""
#. i18n: file: configwindow.ui:409
#. i18n: file: configwindow.ui:452
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
#: po/rc.cpp:54 rc.cpp:54
#: po/rc.cpp:63 rc.cpp:63
msgid "Set font color"
msgstr ""
#. i18n: file: configwindow.ui:426
#. i18n: file: configwindow.ui:469
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
#: po/rc.cpp:57 rc.cpp:57
#: po/rc.cpp:66 rc.cpp:66
msgid "Font weight"
msgstr ""
#. i18n: file: configwindow.ui:458
#. i18n: file: configwindow.ui:501
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
#: po/rc.cpp:60 rc.cpp:60
#: po/rc.cpp:69 rc.cpp:69
msgid "Set font weight"
msgstr ""
#. i18n: file: configwindow.ui:490
#. i18n: file: configwindow.ui:533
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
#: po/rc.cpp:63 rc.cpp:63
#: po/rc.cpp:72 rc.cpp:72
msgid "Font style"
msgstr ""
#. i18n: file: configwindow.ui:522
#. i18n: file: configwindow.ui:565
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:66 rc.cpp:66
#: po/rc.cpp:75 rc.cpp:75
msgid "Set font style"
msgstr ""
#. i18n: file: configwindow.ui:526
#. i18n: file: configwindow.ui:569
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:69 rc.cpp:69
#: po/rc.cpp:78 rc.cpp:78
msgid "normal"
msgstr ""
#. i18n: file: configwindow.ui:531
#. i18n: file: configwindow.ui:574
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:72 rc.cpp:72
#: po/rc.cpp:81 rc.cpp:81
msgid "italic"
msgstr ""
#. i18n: file: configwindow.ui:562
#. i18n: file: configwindow.ui:605
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
#: po/rc.cpp:75 rc.cpp:75
#: po/rc.cpp:84 rc.cpp:84
msgid "Active icon"
msgstr ""
#. i18n: file: configwindow.ui:598
#. i18n: file: configwindow.ui:638
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
#: po/rc.cpp:81 rc.cpp:81
#: po/rc.cpp:90 rc.cpp:90
msgid "Inactive icon"
msgstr ""
#: po/rc.cpp:85 rc.cpp:85
#: po/rc.cpp:94 rc.cpp:94
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr ""
#: po/rc.cpp:86 rc.cpp:86
#: po/rc.cpp:95 rc.cpp:95
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr ""

View File

@ -6,19 +6,95 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
"POT-Creation-Date: 2014-03-25 10:52+0400\n"
"PO-Revision-Date: 2014-03-25 10:58+0400\n"
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
"PO-Revision-Date: 2014-04-12 18:58+0400\n"
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.5\n"
#: netctl.cpp:398
#: netctl.cpp:112
msgid "Set profile %1 disabled"
msgstr "Выключение автозагрузки профиля %1"
#: netctl.cpp:116
msgid "Set profile %1 enabled"
msgstr "Включение автозагрузки профиля %1"
#: netctl.cpp:132
msgid "Start profile %1"
msgstr "Запуск профиля %1"
#: netctl.cpp:151
msgid "Stop profile %1"
msgstr "Остановка профиля %1"
#: netctl.cpp:165
msgid "Restart profile %1"
msgstr "Перезапуск профиля %1"
#: netctl.cpp:178
msgid "Start another profile"
msgstr "Запустить другой профиль"
#: netctl.cpp:180
msgid "Stop "
msgstr "Остановить "
#: netctl.cpp:182
msgid "Restart "
msgstr "Перезапустить "
#: netctl.cpp:185
msgid "Disable "
msgstr "Отключить "
#: netctl.cpp:187
msgid "Enable "
msgstr "Включить "
#: netctl.cpp:190 netctl.cpp:214
msgid "Start profile"
msgstr "Запустить профиль"
#: netctl.cpp:221
msgid "Stop profile"
msgstr "Остановить профиль"
#: netctl.cpp:225
msgid "Restart profile"
msgstr "Перезапустить профиль"
#: netctl.cpp:229
msgid "Enable profile"
msgstr "Включить профиль"
#: netctl.cpp:233
msgid "Show WiFi menu"
msgstr "Запустить WiFi-menu"
#: netctl.cpp:253
msgid "Start GUI"
msgstr "Запуск GUI"
#: netctl.cpp:261
msgid "Start WiFi menu"
msgstr "Запуск WiFi-menu"
#: netctl.cpp:325
msgid "Network is up"
msgstr "Сеть работает"
#: netctl.cpp:331
msgid "Network is down"
msgstr "Сеть не работает"
#: netctl.cpp:468
msgid "Netctl plasmoid"
msgstr "Netctl plasmoid"
@ -42,159 +118,172 @@ msgstr "Путь к GUI"
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#. i18n: file: configwindow.ui:128
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
#. i18n: file: configwindow.ui:164
#. i18n: file: configwindow.ui:161
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
#. i18n: file: configwindow.ui:578
#. i18n: file: configwindow.ui:197
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
#. i18n: file: configwindow.ui:233
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
#. i18n: file: configwindow.ui:621
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
#. i18n: file: configwindow.ui:614
#. i18n: file: configwindow.ui:654
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:78 po/rc.cpp:84 rc.cpp:12 rc.cpp:18
#: rc.cpp:78 rc.cpp:84
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
msgid "Browse"
msgstr "Обзор"
#. i18n: file: configwindow.ui:148
#. i18n: file: configwindow.ui:145
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
#: po/rc.cpp:15 rc.cpp:15
msgid "Path to netctl"
msgstr "Путь к netctl"
#. i18n: file: configwindow.ui:184
#. i18n: file: configwindow.ui:178
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
#: po/rc.cpp:21 rc.cpp:21
msgid "Use sudo for netctl"
msgstr "Использовать sudo для netctl"
#. i18n: file: configwindow.ui:199
#. i18n: file: configwindow.ui:214
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
#: po/rc.cpp:27 rc.cpp:27
msgid "Show 'Start WiFi menu'"
msgstr "Показать 'Запустить WiFi-menu'"
#. i18n: file: configwindow.ui:242
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
#: po/rc.cpp:24 rc.cpp:24
#: po/rc.cpp:33 rc.cpp:33
msgid "Show more detailed interface"
msgstr "Показать более детальный интерфейс"
#. i18n: file: configwindow.ui:209
#. i18n: file: configwindow.ui:252
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
#: po/rc.cpp:27 rc.cpp:27
#: po/rc.cpp:36 rc.cpp:36
msgid "Show network devices"
msgstr "Показать сетевые устройства"
#. i18n: file: configwindow.ui:219
#. i18n: file: configwindow.ui:262
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
#: po/rc.cpp:30 rc.cpp:30
#: po/rc.cpp:39 rc.cpp:39
msgid "Show external IP"
msgstr "Показать внешний IP"
#. i18n: file: configwindow.ui:229
#. i18n: file: configwindow.ui:272
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
#: po/rc.cpp:33 rc.cpp:33
#: po/rc.cpp:42 rc.cpp:42
msgid "Show internal IP"
msgstr "Показать внутренний IP"
#. i18n: file: configwindow.ui:253
#. i18n: file: configwindow.ui:296
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
#: po/rc.cpp:36 rc.cpp:36
#: po/rc.cpp:45 rc.cpp:45
msgid "Appearance"
msgstr "Внешний вид"
#. i18n: file: configwindow.ui:267
#. i18n: file: configwindow.ui:310
#. i18n: ectx: property (text), widget (QLabel, label_font)
#: po/rc.cpp:39 rc.cpp:39
#: po/rc.cpp:48 rc.cpp:48
msgid "Font"
msgstr "Шрифт"
#. i18n: file: configwindow.ui:299
#. i18n: file: configwindow.ui:342
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
#: po/rc.cpp:42 rc.cpp:42
#: po/rc.cpp:51 rc.cpp:51
msgid "Set font family"
msgstr "Укажите шрифт"
#. i18n: file: configwindow.ui:316
#. i18n: file: configwindow.ui:359
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
#: po/rc.cpp:45 rc.cpp:45
#: po/rc.cpp:54 rc.cpp:54
msgid "Font size"
msgstr "Размер шрифта"
#. i18n: file: configwindow.ui:348
#. i18n: file: configwindow.ui:391
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
#: po/rc.cpp:48 rc.cpp:48
#: po/rc.cpp:57 rc.cpp:57
msgid "Set font size"
msgstr "Укажите размер шрифта"
#. i18n: file: configwindow.ui:377
#. i18n: file: configwindow.ui:420
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
#: po/rc.cpp:51 rc.cpp:51
#: po/rc.cpp:60 rc.cpp:60
msgid "Font color"
msgstr "Цвет шрифта"
#. i18n: file: configwindow.ui:409
#. i18n: file: configwindow.ui:452
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
#: po/rc.cpp:54 rc.cpp:54
#: po/rc.cpp:63 rc.cpp:63
msgid "Set font color"
msgstr "Укажите цвет шрифта"
#. i18n: file: configwindow.ui:426
#. i18n: file: configwindow.ui:469
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
#: po/rc.cpp:57 rc.cpp:57
#: po/rc.cpp:66 rc.cpp:66
msgid "Font weight"
msgstr "Толщина шрифта"
#. i18n: file: configwindow.ui:458
#. i18n: file: configwindow.ui:501
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
#: po/rc.cpp:60 rc.cpp:60
#: po/rc.cpp:69 rc.cpp:69
msgid "Set font weight"
msgstr "Укажите ширину шрифта"
#. i18n: file: configwindow.ui:490
#. i18n: file: configwindow.ui:533
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
#: po/rc.cpp:63 rc.cpp:63
#: po/rc.cpp:72 rc.cpp:72
msgid "Font style"
msgstr "Стиль шрифта"
#. i18n: file: configwindow.ui:522
#. i18n: file: configwindow.ui:565
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:66 rc.cpp:66
#: po/rc.cpp:75 rc.cpp:75
msgid "Set font style"
msgstr "Укажите стиль шрифта"
#. i18n: file: configwindow.ui:526
#. i18n: file: configwindow.ui:569
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:69 rc.cpp:69
#: po/rc.cpp:78 rc.cpp:78
msgid "normal"
msgstr "normal"
#. i18n: file: configwindow.ui:531
#. i18n: file: configwindow.ui:574
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
#: po/rc.cpp:72 rc.cpp:72
#: po/rc.cpp:81 rc.cpp:81
msgid "italic"
msgstr "italic"
#. i18n: file: configwindow.ui:562
#. i18n: file: configwindow.ui:605
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
#: po/rc.cpp:75 rc.cpp:75
#: po/rc.cpp:84 rc.cpp:84
msgid "Active icon"
msgstr "Иконка активного подключения"
#. i18n: file: configwindow.ui:598
#. i18n: file: configwindow.ui:638
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
#: po/rc.cpp:81 rc.cpp:81
#: po/rc.cpp:90 rc.cpp:90
msgid "Inactive icon"
msgstr "Иконка неактивного подключения"
#: po/rc.cpp:85 rc.cpp:85
#: po/rc.cpp:94 rc.cpp:94
msgctxt "NAME OF TRANSLATORS"
msgid "Your names"
msgstr "Evgeniy Alekseev"
#: po/rc.cpp:86 rc.cpp:86
#: po/rc.cpp:95 rc.cpp:95
msgctxt "EMAIL OF TRANSLATORS"
msgid "Your emails"
msgstr "esalexeev@gmail.com"