Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5f0bbc3bf | |||
cb033140ac | |||
d582445597 | |||
3506bd46a9 | |||
727619bb85 | |||
d59345c0e4 | |||
4c1685164c | |||
d515e4a51f | |||
2778f654ef | |||
92ec04cae1 | |||
501151828d | |||
4a788aa05f | |||
2cf91930f8 | |||
4bb5d4925d | |||
10d44f786e | |||
c69ff2165e | |||
4d455d93e8 | |||
046ae119a3 | |||
b958d0b78b | |||
7529cd7af0 | |||
7e85f1f933 | |||
c4c407542f | |||
cc2b3faf85 | |||
b983f4424e | |||
72782a40c2 |
1
.gitignore
vendored
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
# Source archive
|
# Source archive
|
||||||
*.tar.xz
|
*.tar.xz
|
||||||
|
*.tar.gz
|
||||||
|
|
||||||
# Build directory
|
# Build directory
|
||||||
build/
|
build/
|
||||||
|
19
CHANGELOG
@ -1,3 +1,22 @@
|
|||||||
|
Ver.1.1.0 (netctl-1.7 update):
|
||||||
|
+ [gui] added frequency
|
||||||
|
+ [plasmoid] added menu title
|
||||||
|
* [gui] changed definition if profile is enabled]
|
||||||
|
* [dataengine] changed definition if profile is enabled
|
||||||
|
|
||||||
|
Ver.1.0.6:
|
||||||
|
* [gui] fix error checking
|
||||||
|
|
||||||
|
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:
|
Ver.1.0.3:
|
||||||
+ [plasmoid] edited russian translation
|
+ [plasmoid] edited russian translation
|
||||||
* [all] refactoring
|
* [all] refactoring
|
||||||
|
39
PKGBUILD-qt4
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
|
||||||
|
|
||||||
|
pkgname=netctl-gui-qt4
|
||||||
|
_pkgname=netctl-gui
|
||||||
|
pkgver=1.1.0
|
||||||
|
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=('229e11efda0a94bed44ea79b3deabf7c')
|
||||||
|
|
||||||
|
_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
|
||||||
|
}
|
@ -1,29 +1,23 @@
|
|||||||
# Maintainer: Evgeniy "arcanis" Alexeev <arcanis.arch at gmail dot com>
|
# 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
|
pkgname=netctl-gui
|
||||||
pkgver=1.0.3
|
pkgver=1.1.0
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Qt4 GUI for netctl. Provides a plasmoid for KDE4"
|
pkgdesc="Qt5 graphical front-end for netctl. A part of netctl-gui"
|
||||||
arch=('i686' 'x86_64')
|
arch=('i686' 'x86_64')
|
||||||
url="http://arcanis.name/projects/netctl-gui"
|
url="http://arcanis.name/projects/netctl-gui"
|
||||||
license=('GPLv3')
|
license=('GPLv3')
|
||||||
depends=('netctl' 'qt4')
|
depends=('netctl' 'qt5-base' 'xdg-utils')
|
||||||
makedepends=('automoc4' 'cmake' 'desktop-file-utils' 'xdg-utils')
|
makedepends=('automoc4' 'cmake' 'qt5-tools')
|
||||||
optdepends=('kdebase-runtime: sudo support'
|
optdepends=('kdebase-runtime: sudo support'
|
||||||
|
'kdeplasma-applets-netctl-gui: KDE widget'
|
||||||
'sudo: sudo support'
|
'sudo: sudo support'
|
||||||
'wpa_supplicant: wifi support')
|
'wpa_supplicant: wifi support')
|
||||||
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz")
|
source=("https://github.com/arcan1s/netctl-gui/releases/download/V.${pkgver}/${pkgname}-${pkgver}-src.tar.xz")
|
||||||
install="${pkgname}.install"
|
install="${pkgname}.install"
|
||||||
md5sums=('46371fb9aa75a63499d804b500adaadb')
|
md5sums=('229e11efda0a94bed44ea79b3deabf7c')
|
||||||
|
|
||||||
# flags
|
_cmakekeys="-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0"
|
||||||
_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'
|
|
||||||
|
|
||||||
prepare() {
|
prepare() {
|
||||||
rm -rf "${srcdir}/build"
|
rm -rf "${srcdir}/build"
|
37
PKGBUILD-widget
Normal 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.1.0
|
||||||
|
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=('229e11efda0a94bed44ea79b3deabf7c')
|
||||||
|
|
||||||
|
_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
|
||||||
|
}
|
25
README.md
@ -3,7 +3,7 @@ Netctl GUI
|
|||||||
|
|
||||||
Information
|
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!
|
**NOTE** LOOKING FOR TRANSLATORS!
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ Instruction
|
|||||||
Dependencies
|
Dependencies
|
||||||
------------
|
------------
|
||||||
* netctl
|
* netctl
|
||||||
* qt4
|
* qt5-base (if Qt5 is used) or qt4 (if Qt4 is used)
|
||||||
|
|
||||||
Optional dependencies
|
Optional dependencies
|
||||||
---------------------
|
---------------------
|
||||||
@ -37,6 +37,7 @@ Make dependencies
|
|||||||
-----------------
|
-----------------
|
||||||
* automoc4
|
* automoc4
|
||||||
* cmake
|
* cmake
|
||||||
|
* qt5-tools (if Qt5 is used)
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
@ -49,21 +50,12 @@ Installation
|
|||||||
make
|
make
|
||||||
sudo make install
|
sudo make install
|
||||||
|
|
||||||
If you want install it without KDE widget just run:
|
Available cmake flags:
|
||||||
|
|
||||||
cd /path/to/extracted/archive
|
* `-DBUILD_DATAENGINE:BOOL=0` - do not build DataEngine
|
||||||
mkdir build && cd build
|
* `-DBUILD_GUI:BOOL=0` - do not build GUI
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_DATAENGINE:BOOL=0 -DBUILD_PLASMOID:BOOL=0 ../
|
* `-DBUILD_PLASMOID:BOOL=0` - do not build Plasmoid
|
||||||
make
|
* `-DUSE_QT5:BOOL=0` - use Qt4 instead of Qt5 for GUI
|
||||||
sudo make install
|
|
||||||
|
|
||||||
If you want install it without GUI run:
|
|
||||||
|
|
||||||
cd /path/to/extracted/archive
|
|
||||||
mkdir build && cd build
|
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_GUI:BOOL=0 ../
|
|
||||||
make
|
|
||||||
sudo make install
|
|
||||||
|
|
||||||
Additional information
|
Additional information
|
||||||
======================
|
======================
|
||||||
@ -71,4 +63,5 @@ Additional information
|
|||||||
Links
|
Links
|
||||||
-----
|
-----
|
||||||
* [Homepage](http://arcanis.name/projects/netctl-gui)
|
* [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
|
* Archlinux [AUR](https://aur.archlinux.org/packages/netctl-gui) package
|
||||||
|
@ -3,21 +3,23 @@
|
|||||||
ARCHIVE="netctl-gui"
|
ARCHIVE="netctl-gui"
|
||||||
SRCDIR="sources"
|
SRCDIR="sources"
|
||||||
FILES="AUTHORS CHANGELOG COPYING README.md"
|
FILES="AUTHORS CHANGELOG COPYING README.md"
|
||||||
IGNORELIST="gui/resources/translations/english.qm gui/resources/translations/russian.qm"
|
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).\
|
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_MINOR sources/CMakeLists.txt | awk '{print $3}' | cut -c 1).\
|
||||||
$(grep -m1 PROJECT_VERSION_PATCH 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
|
# create archive
|
||||||
[[ -e ${ARCHIVE}-${VERSION}-src.tar.xz ]] && rm -f "${ARCHIVE}-${VERSION}-src.tar.xz"
|
[[ -e ${ARCHIVE}-${VERSION}-src.tar.xz ]] && rm -f "${ARCHIVE}-${VERSION}-src.tar.xz"
|
||||||
[[ -d ${ARCHIVE} ]] && rm -rf "${ARCHIVE}"
|
[[ -d ${ARCHIVE} ]] && rm -rf "${ARCHIVE}"
|
||||||
cp -r "${SRCDIR}" "${ARCHIVE}"
|
cp -r "${SRCDIR}" "${ARCHIVE}"
|
||||||
for FILE in ${FILES[*]}; do cp -r "$FILE" "${ARCHIVE}"; done
|
for FILE in ${FILES[*]}; do cp -r "$FILE" "${ARCHIVE}"; done
|
||||||
for FILE in ${IGNORELIST[*]}; do rm -f "${ARCHIVE}/${FILE}"; done
|
for FILE in ${IGNORELIST[*]}; do rm -rf "${ARCHIVE}/${FILE}"; done
|
||||||
tar cvJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}" > /dev/null
|
tar cJf "${ARCHIVE}-${VERSION}-src.tar.xz" "${ARCHIVE}"
|
||||||
rm -rf "${ARCHIVE}"
|
rm -rf "${ARCHIVE}"
|
||||||
|
|
||||||
# update md5sum
|
# update md5sum
|
||||||
MD5SUMS=$(md5sum ${ARCHIVE}-${VERSION}-src.tar.xz | awk '{print $1}')
|
MD5SUMS=$(md5sum ${ARCHIVE}-${VERSION}-src.tar.xz | awk '{print $1}')
|
||||||
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD
|
sed -i "/md5sums=('[0-9A-Fa-f]*/s/[^'][^)]*/md5sums=('${MD5SUMS}'/" PKGBUILD-qt4
|
||||||
sed -i "s/pkgver=[0-9.]*/pkgver=${VERSION}/" PKGBUILD
|
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
|
||||||
|
Before Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 133 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 51 KiB |
BIN
screenshots/gui_main.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
screenshots/gui_profile.png
Normal file
After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 105 KiB |
BIN
screenshots/gui_wifi.png
Normal file
After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 46 KiB |
BIN
screenshots/plasmoid_conf_01.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
screenshots/plasmoid_conf_02.png
Normal file
After Width: | Height: | Size: 47 KiB |
@ -7,14 +7,15 @@ cmake_policy (SET CMP0015 NEW)
|
|||||||
|
|
||||||
project (netctl-gui)
|
project (netctl-gui)
|
||||||
set (PROJECT_VERSION_MAJOR 1)
|
set (PROJECT_VERSION_MAJOR 1)
|
||||||
set (PROJECT_VERSION_MINOR 0)
|
set (PROJECT_VERSION_MINOR 1)
|
||||||
set (PROJECT_VERSION_PATCH 3)
|
set (PROJECT_VERSION_PATCH 0)
|
||||||
set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
|
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)
|
configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
|
||||||
|
|
||||||
message (STATUS "Version: ${PROJECT_VERSION}")
|
message (STATUS "Version: ${PROJECT_VERSION}")
|
||||||
|
|
||||||
# install options
|
# install options
|
||||||
|
option (USE_QT5 "Use Qt5 instead of Qt4" ON)
|
||||||
option (BUILD_GUI "Build GUI" ON)
|
option (BUILD_GUI "Build GUI" ON)
|
||||||
option (BUILD_DATAENGINE "Build data engine" ON)
|
option (BUILD_DATAENGINE "Build data engine" ON)
|
||||||
option (BUILD_PLASMOID "Build plasmoid" ON)
|
option (BUILD_PLASMOID "Build plasmoid" ON)
|
||||||
@ -29,11 +30,12 @@ else ()
|
|||||||
message (STATUS "Unknown compiler")
|
message (STATUS "Unknown compiler")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
add_subdirectory (icons)
|
||||||
|
|
||||||
if (BUILD_PLASMOID)
|
if (BUILD_PLASMOID)
|
||||||
set (BUILD_DATAENGINE ON)
|
set (BUILD_DATAENGINE ON)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_subdirectory (icons)
|
|
||||||
if (BUILD_GUI)
|
if (BUILD_GUI)
|
||||||
add_subdirectory (gui)
|
add_subdirectory (gui)
|
||||||
endif ()
|
endif ()
|
||||||
|
6
sources/dataengine/dataengine.cppcheck
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="1">
|
||||||
|
<libraries>
|
||||||
|
<library>qt</library>
|
||||||
|
</libraries>
|
||||||
|
</project>
|
@ -18,9 +18,12 @@
|
|||||||
#include "netctl.h"
|
#include "netctl.h"
|
||||||
|
|
||||||
#include <Plasma/DataContainer>
|
#include <Plasma/DataContainer>
|
||||||
|
#include <KDE/KGlobal>
|
||||||
|
#include <KDE/KStandardDirs>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
#include <QTextCodec>
|
||||||
|
|
||||||
|
|
||||||
Netctl::Netctl(QObject *parent, const QVariantList &args)
|
Netctl::Netctl(QObject *parent, const QVariantList &args)
|
||||||
@ -49,40 +52,60 @@ QStringList Netctl::sources() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Netctl::readConfiguration()
|
void Netctl::readConfiguration()
|
||||||
{
|
{
|
||||||
// default configuration
|
// default configuration
|
||||||
configuration[QString("CMD")] = QString("/usr/bin/netctl");
|
QMap<QString, QString> rawConfig;
|
||||||
configuration[QString("EXTIP")] = QString("false");
|
rawConfig[QString("CMD")] = QString("/usr/bin/netctl");
|
||||||
configuration[QString("EXTIPCMD")] = QString("wget -qO- http://ifconfig.me/ip");
|
rawConfig[QString("EXTIP")] = QString("false");
|
||||||
configuration[QString("IPCMD")] = QString("/usr/bin/ip");
|
rawConfig[QString("EXTIPCMD")] = QString("wget -qO- http://ifconfig.me/ip");
|
||||||
configuration[QString("NETDIR")] = QString("/sys/class/net/");
|
rawConfig[QString("IPCMD")] = QString("/usr/bin/ip");
|
||||||
|
rawConfig[QString("NETDIR")] = QString("/sys/class/net/");
|
||||||
|
|
||||||
QString fileStr;
|
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
||||||
// FIXME: define configuration file
|
QFile confFile(fileName);
|
||||||
QFile confFile(QString(getenv("HOME")) + QString("/.kde4/share/config/netctl.conf"));
|
bool ok = confFile.open(QIODevice::ReadOnly);
|
||||||
bool exists = confFile.open(QIODevice::ReadOnly);
|
if (!ok) {
|
||||||
if (!exists) {
|
configuration = updateConfiguration(rawConfig);
|
||||||
confFile.setFileName("/usr/share/config/netctl.conf");
|
return;
|
||||||
exists = confFile.open(QIODevice::ReadOnly);
|
|
||||||
if (!exists)
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
QString fileStr;
|
||||||
|
QStringList value;
|
||||||
while (true) {
|
while (true) {
|
||||||
fileStr = QString(confFile.readLine());
|
fileStr = QString(confFile.readLine()).trimmed();
|
||||||
if (fileStr[0] != '#') {
|
if (fileStr[0] == QChar('#')) continue;
|
||||||
if (fileStr.contains(QString("=")))
|
if (fileStr[0] == QChar(';')) continue;
|
||||||
configuration[fileStr.split(QString("="))[0]] = fileStr.split(QString("="))[1]
|
if (fileStr.contains(QChar('='))) {
|
||||||
.remove(QString(" "))
|
value.clear();
|
||||||
.trimmed();
|
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())
|
if (confFile.atEnd())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
confFile.close();
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -92,122 +115,130 @@ bool Netctl::sourceRequestEvent(const QString &name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Netctl::updateSourceEvent(const QString &source)
|
QString Netctl::getCurrentProfile(const QString cmd)
|
||||||
{
|
{
|
||||||
QProcess command;
|
QProcess command;
|
||||||
QString cmdOutput = QString("");
|
QString profile = QString("");
|
||||||
QString value = QString("");
|
command.start(cmd + QString(" list"));
|
||||||
|
command.waitForFinished(-1);
|
||||||
if (source == QString("currentProfile")) {
|
QString cmdOutput = QTextCodec::codecForMib(106)->toUnicode(command.readAllStandardOutput());
|
||||||
command.start(configuration[QString("CMD")] + QString(" list"));
|
QStringList profileList = cmdOutput.split(QChar('\n'), QString::SkipEmptyParts);
|
||||||
command.waitForFinished(-1);
|
for (int i=0; i<profileList.count(); i++)
|
||||||
cmdOutput = command.readAllStandardOutput();
|
if (profileList[i][0] == QChar('*')) {
|
||||||
if (!cmdOutput.isEmpty()) {
|
profile = profileList[i];
|
||||||
QStringList profileList = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
|
break;
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
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(" is-enabled ") + profile);
|
||||||
|
command.waitForFinished(-1);
|
||||||
|
if (command.exitCode() == 0)
|
||||||
|
status = QString("enabled");
|
||||||
|
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")) {
|
else if (source == QString("extIp")) {
|
||||||
if (configuration[QString("EXTIP")] == QString("true")) {
|
if (configuration[QString("EXTIP")] == QString("true"))
|
||||||
command.start(configuration[QString("EXTIPCMD")]);
|
value = getExtIp(configuration[QString("EXTIPCMD")]);
|
||||||
command.waitForFinished(-1);
|
|
||||||
cmdOutput = command.readAllStandardOutput();
|
|
||||||
if (!cmdOutput.isEmpty())
|
|
||||||
value = cmdOutput.split(QString("\n"), QString::SkipEmptyParts)[0];
|
|
||||||
}
|
|
||||||
setData(source, QString("value"), value);
|
|
||||||
}
|
}
|
||||||
else if (source == QString("interfaces")) {
|
else if (source == QString("interfaces")) {
|
||||||
if (QDir(configuration[QString("NETDIR")]).exists())
|
value = getInterfaceList(configuration[QString("NETDIR")]).join(QChar(','));
|
||||||
value = QDir(configuration[QString("NETDIR")]).entryList(QDir::Dirs | QDir::NoDotAndDotDot).join(QString(","));
|
|
||||||
setData(source, QString("value"), value);
|
|
||||||
}
|
}
|
||||||
else if (source == QString("intIp")) {
|
else if (source == QString("intIp")) {
|
||||||
if (QDir(configuration[QString("NETDIR")]).exists()) {
|
value = getIntIp(configuration[QString("IPCMD")], configuration[QString("NETDIR")]);
|
||||||
value = QString("127.0.0.1/8");
|
|
||||||
QStringList netDevices = QDir(configuration[QString("NETDIR")]).entryList(QDir::Dirs | QDir::NoDotAndDotDot);
|
|
||||||
for (int i=0; i<netDevices.count(); i++)
|
|
||||||
if (netDevices[i] != QString("lo")) {
|
|
||||||
cmdOutput = QString("");
|
|
||||||
command.start(configuration[QString("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);
|
|
||||||
}
|
}
|
||||||
else if (source == QString("profiles")) {
|
else if (source == QString("profiles")) {
|
||||||
command.start(configuration[QString("CMD")] + QString(" list"));
|
value = getProfileList(configuration[QString("CMD")]).join(QChar(','));
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
else if (source == QString("statusBool")) {
|
else if (source == QString("statusBool")) {
|
||||||
command.start(configuration[QString("CMD")] + QString(" list"));
|
if (getProfileStatus(configuration[QString("CMD")]))
|
||||||
command.waitForFinished(-1);
|
value = QString("true");
|
||||||
cmdOutput = command.readAllStandardOutput();
|
else
|
||||||
value = QString("false");
|
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);
|
|
||||||
}
|
}
|
||||||
else if (source == QString("statusString")) {
|
else if (source == QString("statusString")) {
|
||||||
command.start(configuration[QString("CMD")] + QString(" list"));
|
value = getProfileStringStatus(configuration[QString("CMD")]);
|
||||||
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(configuration[QString("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);
|
|
||||||
}
|
}
|
||||||
|
setData(source, key, value);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,9 +27,15 @@ class Netctl : public Plasma::DataEngine
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
Netctl(QObject *parent, const QVariantList &args);
|
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:
|
protected:
|
||||||
bool readConfiguration();
|
|
||||||
bool sourceRequestEvent(const QString &name);
|
bool sourceRequestEvent(const QString &name);
|
||||||
bool updateSourceEvent(const QString &source);
|
bool updateSourceEvent(const QString &source);
|
||||||
QStringList sources() const;
|
QStringList sources() const;
|
||||||
@ -37,6 +43,8 @@ protected:
|
|||||||
private:
|
private:
|
||||||
// configuration
|
// configuration
|
||||||
QMap<QString, QString> configuration;
|
QMap<QString, QString> configuration;
|
||||||
|
void readConfiguration();
|
||||||
|
QMap<QString, QString> updateConfiguration(const QMap<QString, QString> rawConfig);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ Name=Netctl
|
|||||||
Comment=Data engine for netctl
|
Comment=Data engine for netctl
|
||||||
ServiceTypes=Plasma/DataEngine
|
ServiceTypes=Plasma/DataEngine
|
||||||
Type=Service
|
Type=Service
|
||||||
Icon=netctl-gui
|
Icon=netctl-gui-widget
|
||||||
|
|
||||||
X-KDE-ServiceTypes=Plasma/DataEngine
|
X-KDE-ServiceTypes=Plasma/DataEngine
|
||||||
X-KDE-Library=plasma_engine_netctl
|
X-KDE-Library=plasma_engine_netctl
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE TS>
|
<!DOCTYPE TS>
|
||||||
<TS version="2.0" language="en">
|
<TS version="2.1" language="en">
|
||||||
<context>
|
<context>
|
||||||
<name>BridgeWidget</name>
|
<name>BridgeWidget</name>
|
||||||
<message>
|
<message>
|
||||||
@ -133,7 +133,7 @@
|
|||||||
<source>Skip no carrier</source>
|
<source>Skip no carrier</source>
|
||||||
<translation>Skip no carrier</translation>
|
<translation>Skip no carrier</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to use 802.1x authentication</source>
|
<source>Set to ‘yes’ to use 802.1x authentication</source>
|
||||||
<translation>Set to ‘yes’ to use 802.1x authentication</translation>
|
<translation>Set to ‘yes’ to use 802.1x authentication</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -268,7 +268,7 @@
|
|||||||
<source>A command that is executed before a connection is brought down</source>
|
<source>A command that is executed before a connection is brought down</source>
|
||||||
<translation>A command that is executed before a connection is brought down</translation>
|
<translation>A command that is executed before a connection is brought down</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to force connecting even if the interface is up</source>
|
<source>Set to ‘yes’ to force connecting even if the interface is up</source>
|
||||||
<translation>Set to ‘yes’ to force connecting even if the interface is up</translation>
|
<translation>Set to ‘yes’ to force connecting even if the interface is up</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -319,7 +319,7 @@
|
|||||||
<source>Add</source>
|
<source>Add</source>
|
||||||
<translation>Add</translation>
|
<translation>Add</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>An array of IP addresses suffixed with ‘/<netmask>’</source>
|
<source>An array of IP addresses suffixed with ‘/<netmask>’</source>
|
||||||
<translation>An array of IP addresses suffixed with ‘/<netmask>’</translation>
|
<translation>An array of IP addresses suffixed with ‘/<netmask>’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -399,7 +399,7 @@
|
|||||||
<source>Timeout DAD</source>
|
<source>Timeout DAD</source>
|
||||||
<translation>Timeout DAD</translation>
|
<translation>Timeout DAD</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to release the DHCP lease when the profile is stopped</source>
|
<source>Set to ‘yes’ to release the DHCP lease when the profile is stopped</source>
|
||||||
<translation>Set to ‘yes’ to release the DHCP lease when the profile is stopped</translation>
|
<translation>Set to ‘yes’ to release the DHCP lease when the profile is stopped</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -459,7 +459,7 @@
|
|||||||
<source>DNS domain</source>
|
<source>DNS domain</source>
|
||||||
<translation>DNS domain</translation>
|
<translation>DNS domain</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>A ‘domain’ line for /etc/resolv.conf</source>
|
<source>A ‘domain’ line for /etc/resolv.conf</source>
|
||||||
<translation>A ‘domain’ line for /etc/resolv.conf</translation>
|
<translation>A ‘domain’ line for /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -467,7 +467,7 @@
|
|||||||
<source>DNS search</source>
|
<source>DNS search</source>
|
||||||
<translation>DNS search</translation>
|
<translation>DNS search</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>A ‘search’ line for /etc/resolv.conf</source>
|
<source>A ‘search’ line for /etc/resolv.conf</source>
|
||||||
<translation>A ‘search’ line for /etc/resolv.conf</translation>
|
<translation>A ‘search’ line for /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -475,11 +475,11 @@
|
|||||||
<source>DNS options</source>
|
<source>DNS options</source>
|
||||||
<translation>DNS options</translation>
|
<translation>DNS options</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>An array of ‘options’ lines for /etc/resolv.conf</source>
|
<source>An array of ‘options’ lines for /etc/resolv.conf</source>
|
||||||
<translation>An array of ‘options’ lines for /etc/resolv.conf</translation>
|
<translation>An array of ‘options’ lines for /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</source>
|
<source>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</source>
|
||||||
<translation>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</translation>
|
<translation>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -879,7 +879,7 @@
|
|||||||
<source>Idle timeout</source>
|
<source>Idle timeout</source>
|
||||||
<translation>Idle timeout</translation>
|
<translation>Idle timeout</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</source>
|
<source>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</source>
|
||||||
<translation>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</translation>
|
<translation>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -919,7 +919,7 @@
|
|||||||
<source>LCP echo interval</source>
|
<source>LCP echo interval</source>
|
||||||
<translation>LCP echo interval</translation>
|
<translation>LCP echo interval</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>These options override default LCP parameters from ‘/etc/ppp/options’</source>
|
<source>These options override default LCP parameters from ‘/etc/ppp/options’</source>
|
||||||
<translation>These options override default LCP parameters from ‘/etc/ppp/options’</translation>
|
<translation>These options override default LCP parameters from ‘/etc/ppp/options’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1236,7 +1236,7 @@
|
|||||||
<source>tap</source>
|
<source>tap</source>
|
||||||
<translation>tap</translation>
|
<translation>tap</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Either ‘tun’, or ‘tap’</source>
|
<source>Either ‘tun’, or ‘tap’</source>
|
||||||
<translation>Either ‘tun’, or ‘tap’</translation>
|
<translation>Either ‘tun’, or ‘tap’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1450,5 +1450,9 @@
|
|||||||
<source>Exclude auto</source>
|
<source>Exclude auto</source>
|
||||||
<translation>Exclude auto</translation>
|
<translation>Exclude auto</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Frequency</source>
|
||||||
|
<translation>Frequency</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE TS>
|
<!DOCTYPE TS>
|
||||||
<TS version="2.0" language="ru">
|
<TS version="2.1" language="ru">
|
||||||
<context>
|
<context>
|
||||||
<name>BridgeWidget</name>
|
<name>BridgeWidget</name>
|
||||||
<message>
|
<message>
|
||||||
@ -133,7 +133,7 @@
|
|||||||
<source>Skip no carrier</source>
|
<source>Skip no carrier</source>
|
||||||
<translation>Пропустить отсутствие оператора</translation>
|
<translation>Пропустить отсутствие оператора</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to use 802.1x authentication</source>
|
<source>Set to ‘yes’ to use 802.1x authentication</source>
|
||||||
<translation>Установить "да", чтобы использовать 802.1x авторизацию</translation>
|
<translation>Установить "да", чтобы использовать 802.1x авторизацию</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -268,7 +268,7 @@
|
|||||||
<source>A command that is executed before a connection is brought down</source>
|
<source>A command that is executed before a connection is brought down</source>
|
||||||
<translation>Команда, которая будет запущена перед отключением</translation>
|
<translation>Команда, которая будет запущена перед отключением</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to force connecting even if the interface is up</source>
|
<source>Set to ‘yes’ to force connecting even if the interface is up</source>
|
||||||
<translation>Установить "да", чтобы запустить соединение, даже если интерфейс уже поднят</translation>
|
<translation>Установить "да", чтобы запустить соединение, даже если интерфейс уже поднят</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -319,7 +319,7 @@
|
|||||||
<source>Add</source>
|
<source>Add</source>
|
||||||
<translation>Добавить</translation>
|
<translation>Добавить</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>An array of IP addresses suffixed with ‘/<netmask>’</source>
|
<source>An array of IP addresses suffixed with ‘/<netmask>’</source>
|
||||||
<translation>Массив IP адресов с суффиксом ‘/<netmask>’</translation>
|
<translation>Массив IP адресов с суффиксом ‘/<netmask>’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -399,7 +399,7 @@
|
|||||||
<source>Timeout DAD</source>
|
<source>Timeout DAD</source>
|
||||||
<translation>Таймаут DAD</translation>
|
<translation>Таймаут DAD</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Set to ‘yes’ to release the DHCP lease when the profile is stopped</source>
|
<source>Set to ‘yes’ to release the DHCP lease when the profile is stopped</source>
|
||||||
<translation>Установить "да", чтобы оставить выделенный DHCP, когда профиль отключен</translation>
|
<translation>Установить "да", чтобы оставить выделенный DHCP, когда профиль отключен</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -459,7 +459,7 @@
|
|||||||
<source>DNS domain</source>
|
<source>DNS domain</source>
|
||||||
<translation>DNS домен</translation>
|
<translation>DNS домен</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>A ‘domain’ line for /etc/resolv.conf</source>
|
<source>A ‘domain’ line for /etc/resolv.conf</source>
|
||||||
<translation>Строка ‘domain’ в /etc/resolv.conf</translation>
|
<translation>Строка ‘domain’ в /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -467,7 +467,7 @@
|
|||||||
<source>DNS search</source>
|
<source>DNS search</source>
|
||||||
<translation>Поиск DNS</translation>
|
<translation>Поиск DNS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>A ‘search’ line for /etc/resolv.conf</source>
|
<source>A ‘search’ line for /etc/resolv.conf</source>
|
||||||
<translation>Строка ‘search’ в /etc/resolv.conf</translation>
|
<translation>Строка ‘search’ в /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -475,11 +475,11 @@
|
|||||||
<source>DNS options</source>
|
<source>DNS options</source>
|
||||||
<translation>Опции DNS</translation>
|
<translation>Опции DNS</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>An array of ‘options’ lines for /etc/resolv.conf</source>
|
<source>An array of ‘options’ lines for /etc/resolv.conf</source>
|
||||||
<translation>Массив строк ‘options’ в /etc/resolv.conf</translation>
|
<translation>Массив строк ‘options’ в /etc/resolv.conf</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</source>
|
<source>Maximum time, in seconds, to wait for IPv6’s Duplicate Address Detection to succeed</source>
|
||||||
<translation>Максимальное время в секундах для ожидания выполнения детектирования дубликации IPv6 адресов</translation>
|
<translation>Максимальное время в секундах для ожидания выполнения детектирования дубликации IPv6 адресов</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -879,7 +879,7 @@
|
|||||||
<source>Idle timeout</source>
|
<source>Idle timeout</source>
|
||||||
<translation>Таймаут простоя</translation>
|
<translation>Таймаут простоя</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</source>
|
<source>This option specifies the idle time (in seconds) after which ‘pppd’ should disconnect</source>
|
||||||
<translation>Указывает таймаут простоя в секундах, после чего 'pppd' будет отключен</translation>
|
<translation>Указывает таймаут простоя в секундах, после чего 'pppd' будет отключен</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -919,7 +919,7 @@
|
|||||||
<source>LCP echo interval</source>
|
<source>LCP echo interval</source>
|
||||||
<translation>LCP echo интервал</translation>
|
<translation>LCP echo интервал</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>These options override default LCP parameters from ‘/etc/ppp/options’</source>
|
<source>These options override default LCP parameters from ‘/etc/ppp/options’</source>
|
||||||
<translation>Эти опции заместят стандартные опции LCP из ‘/etc/ppp/options’</translation>
|
<translation>Эти опции заместят стандартные опции LCP из ‘/etc/ppp/options’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1236,7 +1236,7 @@
|
|||||||
<source>tap</source>
|
<source>tap</source>
|
||||||
<translation>tap</translation>
|
<translation>tap</translation>
|
||||||
</message>
|
</message>
|
||||||
<message utf8="true">
|
<message>
|
||||||
<source>Either ‘tun’, or ‘tap’</source>
|
<source>Either ‘tun’, or ‘tap’</source>
|
||||||
<translation>‘tun’ или ‘tap’</translation>
|
<translation>‘tun’ или ‘tap’</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1450,5 +1450,9 @@
|
|||||||
<source>Exclude auto</source>
|
<source>Exclude auto</source>
|
||||||
<translation>Исключить профиль</translation>
|
<translation>Исключить профиль</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Frequency</source>
|
||||||
|
<translation>Частота</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
@ -14,29 +14,60 @@ message (STATUS "${SUBPROJECT} Forms: ${FORMS}")
|
|||||||
# include_path
|
# include_path
|
||||||
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../)
|
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../)
|
||||||
|
|
||||||
find_package (Qt4 REQUIRED)
|
if (USE_QT5)
|
||||||
include (${QT_USE_FILE})
|
find_package(Qt5Core REQUIRED)
|
||||||
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
|
find_package(Qt5Widgets REQUIRED)
|
||||||
qt4_wrap_ui (UI_HEADERS ${FORMS})
|
find_package(Qt5LinguistTools REQUIRED)
|
||||||
qt4_add_resources (QRC_SOURCES ${RESOURCES})
|
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})
|
foreach (LANGUAGE ${LANGUAGES})
|
||||||
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
|
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
|
||||||
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
|
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
|
||||||
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
||||||
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
||||||
add_custom_command (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
|
add_custom_command (OUTPUT ${QM} COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
|
||||||
endforeach ()
|
endforeach ()
|
||||||
add_custom_target (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
|
add_custom_target (translations COMMAND ${Qt5_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
|
||||||
add_custom_command (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
add_custom_command (TARGET translations COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
||||||
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
|
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
|
||||||
|
|
||||||
source_group ("Header Files" FILES ${HEADERS})
|
source_group ("Header Files" FILES ${HEADERS})
|
||||||
source_group ("Source Files" FILES ${SOURCES})
|
source_group ("Source Files" FILES ${SOURCES})
|
||||||
source_group ("Generated Files" FILES ${MOC_SOURCES})
|
source_group ("Generated Files" FILES ${MOC_SOURCES})
|
||||||
|
|
||||||
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
|
include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
|
||||||
target_link_libraries (${SUBPROJECT} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
|
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 properties
|
||||||
install (TARGETS ${SUBPROJECT} DESTINATION bin)
|
install (TARGETS ${SUBPROJECT} DESTINATION bin)
|
||||||
|
@ -44,7 +44,7 @@ void EthernetWidget::clear()
|
|||||||
ui->checkBox_skip->setCheckState(Qt::Unchecked);
|
ui->checkBox_skip->setCheckState(Qt::Unchecked);
|
||||||
ui->checkBox_8021x->setCheckState(Qt::Unchecked);
|
ui->checkBox_8021x->setCheckState(Qt::Unchecked);
|
||||||
showWpa(ui->checkBox_8021x->checkState());
|
showWpa(ui->checkBox_8021x->checkState());
|
||||||
ui->lineEdit_wpaConfig->setText(QString("/etc/wpa_supplicant.conf"));
|
ui->lineEdit_wpaConfig->clear();
|
||||||
ui->comboBox_driver->setCurrentIndex(0);
|
ui->comboBox_driver->setCurrentIndex(0);
|
||||||
ui->spinBox_timeoutCarrier->setValue(5);
|
ui->spinBox_timeoutCarrier->setValue(5);
|
||||||
ui->spinBox_timeoutWpa->setValue(15);
|
ui->spinBox_timeoutWpa->setValue(15);
|
||||||
@ -86,7 +86,7 @@ void EthernetWidget::selectWpaConfig()
|
|||||||
void EthernetWidget::showAdvanced()
|
void EthernetWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_ethernetAdvanced->isChecked()) {
|
if (ui->pushButton_ethernetAdvanced->isChecked()) {
|
||||||
ui->widget_ethernetAdvanced->setShown(true);
|
ui->widget_ethernetAdvanced->setHidden(false);
|
||||||
ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Hide advanced"));
|
ui->pushButton_ethernetAdvanced->setText(QApplication::translate("EthernetWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -101,7 +101,7 @@ void EthernetWidget::showWpa(const int state)
|
|||||||
if (state == 0)
|
if (state == 0)
|
||||||
ui->widget_wpa->setHidden(true);
|
ui->widget_wpa->setHidden(true);
|
||||||
else
|
else
|
||||||
ui->widget_wpa->setShown(true);
|
ui->widget_wpa->setHidden(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ void GeneralWidget::keyPressEvent(QKeyEvent *pressedKey)
|
|||||||
void GeneralWidget::showAdvanced()
|
void GeneralWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_generalAdvanced->isChecked()) {
|
if (ui->pushButton_generalAdvanced->isChecked()) {
|
||||||
ui->widget_generalAdvanced->setShown(true);
|
ui->widget_generalAdvanced->setHidden(false);
|
||||||
ui->pushButton_generalAdvanced->setText(QApplication::translate("GeneralWidget", "Hide advanced"));
|
ui->pushButton_generalAdvanced->setText(QApplication::translate("GeneralWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
6
sources/gui/src/gui.cppcheck
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="1">
|
||||||
|
<libraries>
|
||||||
|
<library>qt</library>
|
||||||
|
</libraries>
|
||||||
|
</project>
|
@ -306,7 +306,7 @@ void IpWidget::changeIpMode(const QString currentText)
|
|||||||
if (currentText == QString("dhcp"))
|
if (currentText == QString("dhcp"))
|
||||||
ui->widget_ip->setHidden(true);
|
ui->widget_ip->setHidden(true);
|
||||||
else if (currentText == QString("static"))
|
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);
|
ui->widget_ip6->setHidden(true);
|
||||||
else if ((currentText == QString("static")) ||
|
else if ((currentText == QString("static")) ||
|
||||||
(currentText == QString("stateless")))
|
(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)
|
void IpWidget::changeDhcpClient(const QString currentText)
|
||||||
{
|
{
|
||||||
if (currentText == QString("dhcpcd")) {
|
if (currentText == QString("dhcpcd")) {
|
||||||
ui->widget_dhcpcdOpt->setShown(true);
|
ui->widget_dhcpcdOpt->setHidden(false);
|
||||||
ui->widget_dhclientOpt->setHidden(true);
|
ui->widget_dhclientOpt->setHidden(true);
|
||||||
}
|
}
|
||||||
else if (currentText == QString("dhclient")) {
|
else if (currentText == QString("dhclient")) {
|
||||||
ui->widget_dhcpcdOpt->setHidden(true);
|
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()
|
void IpWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_ipAdvanced->isChecked()) {
|
if (ui->pushButton_ipAdvanced->isChecked()) {
|
||||||
ui->widget_ipAdvanced->setShown(true);
|
ui->widget_ipAdvanced->setHidden(false);
|
||||||
ui->pushButton_ipAdvanced->setText(QApplication::translate("IpWidget", "Hide advanced"));
|
ui->pushButton_ipAdvanced->setText(QApplication::translate("IpWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -224,7 +224,11 @@ void MainWindow::updateMainTab()
|
|||||||
|
|
||||||
ui->tableWidget_main->setSortingEnabled(true);
|
ui->tableWidget_main->setSortingEnabled(true);
|
||||||
ui->tableWidget_main->resizeRowsToContents();
|
ui->tableWidget_main->resizeRowsToContents();
|
||||||
|
#if QT_VERSION >= 0x050000
|
||||||
|
ui->tableWidget_main->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||||
|
#else
|
||||||
ui->tableWidget_main->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
ui->tableWidget_main->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
||||||
|
#endif
|
||||||
ui->tabWidget->setEnabled(true);
|
ui->tabWidget->setEnabled(true);
|
||||||
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));
|
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));
|
||||||
|
|
||||||
@ -284,7 +288,11 @@ void MainWindow::updateWifiTab()
|
|||||||
|
|
||||||
ui->tableWidget_wifi->setSortingEnabled(true);
|
ui->tableWidget_wifi->setSortingEnabled(true);
|
||||||
ui->tableWidget_wifi->resizeRowsToContents();
|
ui->tableWidget_wifi->resizeRowsToContents();
|
||||||
|
#if QT_VERSION >= 0x050000
|
||||||
|
ui->tableWidget_wifi->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||||
|
#else
|
||||||
ui->tableWidget_wifi->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
ui->tableWidget_wifi->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
|
||||||
|
#endif
|
||||||
ui->tabWidget->setEnabled(true);
|
ui->tabWidget->setEnabled(true);
|
||||||
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));
|
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Updated"));
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ void MobileWidget::selectOptionsFile()
|
|||||||
void MobileWidget::showAdvanced()
|
void MobileWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_mobileAdvanced->isChecked()) {
|
if (ui->pushButton_mobileAdvanced->isChecked()) {
|
||||||
ui->widget_mobileAdvanced->setShown(true);
|
ui->widget_mobileAdvanced->setHidden(false);
|
||||||
ui->pushButton_mobileAdvanced->setText(QApplication::translate("MobileWidget", "Hide advanced"));
|
ui->pushButton_mobileAdvanced->setText(QApplication::translate("MobileWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -190,16 +190,7 @@ bool Netctl::isProfileActive(const QString profile)
|
|||||||
|
|
||||||
bool Netctl::isProfileEnabled(const QString profile)
|
bool Netctl::isProfileEnabled(const QString profile)
|
||||||
{
|
{
|
||||||
bool status = false;
|
return netctlCall(false, QString("is-enabled"), profile);
|
||||||
QString cmdOutput = getNetctlOutput(false, QString("status"), profile);
|
|
||||||
if (!cmdOutput.isEmpty()) {
|
|
||||||
QStringList profileStatus = cmdOutput.split(QString("\n"), QString::SkipEmptyParts);
|
|
||||||
for (int i=0; i<profileStatus.count(); i++)
|
|
||||||
if (profileStatus[i].split(QString(" "), QString::SkipEmptyParts)[0] == QString("Loaded:"))
|
|
||||||
if (profileStatus[i].contains(QString("enabled")))
|
|
||||||
status = true;
|
|
||||||
}
|
|
||||||
return status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ void PppoeWidget::changeMode(const QString currentText)
|
|||||||
if (currentText == QString("persist"))
|
if (currentText == QString("persist"))
|
||||||
ui->widget_timeout->setHidden(true);
|
ui->widget_timeout->setHidden(true);
|
||||||
else if (currentText == QString("demand"))
|
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()
|
void PppoeWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_pppoeAdvanced->isChecked()) {
|
if (ui->pushButton_pppoeAdvanced->isChecked()) {
|
||||||
ui->widget_pppoeAdvanced->setShown(true);
|
ui->widget_pppoeAdvanced->setHidden(false);
|
||||||
ui->pushButton_pppoeAdvanced->setText(QApplication::translate("PppoeWidget", "Hide advanced"));
|
ui->pushButton_pppoeAdvanced->setText(QApplication::translate("PppoeWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -56,6 +56,7 @@ void WirelessWidget::clear()
|
|||||||
ui->spinBox_freq->setValue(2412);
|
ui->spinBox_freq->setValue(2412);
|
||||||
ui->listWidget_freq->setCurrentRow(-1);
|
ui->listWidget_freq->setCurrentRow(-1);
|
||||||
ui->listWidget_freq->clear();
|
ui->listWidget_freq->clear();
|
||||||
|
ui->spinBox_frequency->setValue(2000);
|
||||||
ui->spinBox_priority->setValue(0);
|
ui->spinBox_priority->setValue(0);
|
||||||
ui->lineEdit_country->clear();
|
ui->lineEdit_country->clear();
|
||||||
ui->lineEdit_wpaGroup->setText(QString("wheel"));
|
ui->lineEdit_wpaGroup->setText(QString("wheel"));
|
||||||
@ -153,28 +154,28 @@ void WirelessWidget::addOption()
|
|||||||
void WirelessWidget::changeSecurity(const QString currentText)
|
void WirelessWidget::changeSecurity(const QString currentText)
|
||||||
{
|
{
|
||||||
if (currentText == QString("none")) {
|
if (currentText == QString("none")) {
|
||||||
ui->widget_essid->setShown(true);
|
ui->widget_essid->setHidden(false);
|
||||||
ui->widget_wpaConfigSection->setHidden(true);
|
ui->widget_wpaConfigSection->setHidden(true);
|
||||||
ui->widget_wpaConfig->setHidden(true);
|
ui->widget_wpaConfig->setHidden(true);
|
||||||
ui->widget_key->setHidden(true);
|
ui->widget_key->setHidden(true);
|
||||||
}
|
}
|
||||||
else if ((currentText == QString("wep")) ||
|
else if ((currentText == QString("wep")) ||
|
||||||
(currentText == QString("wpa"))) {
|
(currentText == QString("wpa"))) {
|
||||||
ui->widget_essid->setShown(true);
|
ui->widget_essid->setHidden(false);
|
||||||
ui->widget_wpaConfigSection->setHidden(true);
|
ui->widget_wpaConfigSection->setHidden(true);
|
||||||
ui->widget_wpaConfig->setHidden(true);
|
ui->widget_wpaConfig->setHidden(true);
|
||||||
ui->widget_key->setShown(true);
|
ui->widget_key->setHidden(false);
|
||||||
}
|
}
|
||||||
else if (currentText == QString("wpa-configsection")) {
|
else if (currentText == QString("wpa-configsection")) {
|
||||||
ui->widget_essid->setHidden(true);
|
ui->widget_essid->setHidden(true);
|
||||||
ui->widget_wpaConfigSection->setShown(true);
|
ui->widget_wpaConfigSection->setHidden(false);
|
||||||
ui->widget_wpaConfig->setHidden(true);
|
ui->widget_wpaConfig->setHidden(true);
|
||||||
ui->widget_key->setHidden(true);
|
ui->widget_key->setHidden(true);
|
||||||
}
|
}
|
||||||
else if (currentText == QString("wpa-config")) {
|
else if (currentText == QString("wpa-config")) {
|
||||||
ui->widget_essid->setHidden(true);
|
ui->widget_essid->setHidden(true);
|
||||||
ui->widget_wpaConfigSection->setHidden(true);
|
ui->widget_wpaConfigSection->setHidden(true);
|
||||||
ui->widget_wpaConfig->setShown(true);
|
ui->widget_wpaConfig->setHidden(false);
|
||||||
ui->widget_key->setHidden(true);
|
ui->widget_key->setHidden(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -195,7 +196,7 @@ void WirelessWidget::selectWpaConfig()
|
|||||||
void WirelessWidget::showAdvanced()
|
void WirelessWidget::showAdvanced()
|
||||||
{
|
{
|
||||||
if (ui->pushButton_wirelessAdvanced->isChecked()) {
|
if (ui->pushButton_wirelessAdvanced->isChecked()) {
|
||||||
ui->widget_wirelessAdvanced->setShown(true);
|
ui->widget_wirelessAdvanced->setHidden(false);
|
||||||
ui->pushButton_wirelessAdvanced->setText(QApplication::translate("WirelessWidget", "Hide advanced"));
|
ui->pushButton_wirelessAdvanced->setText(QApplication::translate("WirelessWidget", "Hide advanced"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -240,6 +241,8 @@ QMap<QString, QString> WirelessWidget::getSettings()
|
|||||||
freqs.append(ui->listWidget_freq->item(i)->text());
|
freqs.append(ui->listWidget_freq->item(i)->text());
|
||||||
wirelessSettings[QString("ScanFrequencies")] = freqs.join(QString(" "));
|
wirelessSettings[QString("ScanFrequencies")] = freqs.join(QString(" "));
|
||||||
}
|
}
|
||||||
|
if (ui->spinBox_frequency->value() != 2000)
|
||||||
|
wirelessSettings[QString("Frequency")] = QString::number(ui->spinBox_frequency->value());
|
||||||
if (ui->spinBox_priority->value() != 0)
|
if (ui->spinBox_priority->value() != 0)
|
||||||
wirelessSettings[QString("Priority")] = QString::number(ui->spinBox_priority->value());
|
wirelessSettings[QString("Priority")] = QString::number(ui->spinBox_priority->value());
|
||||||
if (!ui->lineEdit_country->text().isEmpty())
|
if (!ui->lineEdit_country->text().isEmpty())
|
||||||
@ -280,9 +283,8 @@ int WirelessWidget::isOk()
|
|||||||
return 3;
|
return 3;
|
||||||
// file wpa_supplicant doesn't exists
|
// file wpa_supplicant doesn't exists
|
||||||
if (ui->comboBox_security->currentText() == QString("wpa-config"))
|
if (ui->comboBox_security->currentText() == QString("wpa-config"))
|
||||||
if (!ui->lineEdit_wpaConfig->text().isEmpty())
|
if (!QFile(ui->lineEdit_wpaConfig->text()).exists())
|
||||||
if (!QFile(ui->lineEdit_wpaConfig->text()).exists())
|
return 4;
|
||||||
return 4;
|
|
||||||
// essid is not set
|
// essid is not set
|
||||||
if ((ui->comboBox_security->currentText() == QString("none")) ||
|
if ((ui->comboBox_security->currentText() == QString("none")) ||
|
||||||
(ui->comboBox_security->currentText() == QString("wep")) ||
|
(ui->comboBox_security->currentText() == QString("wep")) ||
|
||||||
@ -325,6 +327,8 @@ void WirelessWidget::setSettings(const QMap<QString, QString> settings)
|
|||||||
ui->checkBox_adhoc->setCheckState(Qt::Checked);
|
ui->checkBox_adhoc->setCheckState(Qt::Checked);
|
||||||
if (wirelessSettings.contains(QString("ScanFrequencies")))
|
if (wirelessSettings.contains(QString("ScanFrequencies")))
|
||||||
ui->listWidget_freq->addItems(wirelessSettings[QString("ScanFrequencies")].split(QString("\n")));
|
ui->listWidget_freq->addItems(wirelessSettings[QString("ScanFrequencies")].split(QString("\n")));
|
||||||
|
if (wirelessSettings.contains(QString("Frequency")))
|
||||||
|
ui->spinBox_frequency->setValue(wirelessSettings[QString("Frequency")].toInt());
|
||||||
if (wirelessSettings.contains(QString("Priority")))
|
if (wirelessSettings.contains(QString("Priority")))
|
||||||
ui->spinBox_priority->setValue(wirelessSettings[QString("Priority")].toInt());
|
ui->spinBox_priority->setValue(wirelessSettings[QString("Priority")].toInt());
|
||||||
if (wirelessSettings.contains(QString("Country")))
|
if (wirelessSettings.contains(QString("Country")))
|
||||||
|
@ -305,6 +305,36 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="layout_frequency">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_frequency">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>150</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Frequency</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSpinBox" name="spinBox_frequency">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Priority group for the network</string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>2000</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>6000</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="layout_priority">
|
<layout class="QHBoxLayout" name="layout_priority">
|
||||||
<item>
|
<item>
|
||||||
@ -525,6 +555,7 @@
|
|||||||
<tabstop>spinBox_freq</tabstop>
|
<tabstop>spinBox_freq</tabstop>
|
||||||
<tabstop>pushButton_freq</tabstop>
|
<tabstop>pushButton_freq</tabstop>
|
||||||
<tabstop>listWidget_freq</tabstop>
|
<tabstop>listWidget_freq</tabstop>
|
||||||
|
<tabstop>spinBox_frequency</tabstop>
|
||||||
<tabstop>spinBox_priority</tabstop>
|
<tabstop>spinBox_priority</tabstop>
|
||||||
<tabstop>lineEdit_country</tabstop>
|
<tabstop>lineEdit_country</tabstop>
|
||||||
<tabstop>lineEdit_wpaGroup</tabstop>
|
<tabstop>lineEdit_wpaGroup</tabstop>
|
||||||
|
@ -2,6 +2,11 @@
|
|||||||
set (SUBPROJECT netctl-gui-icons)
|
set (SUBPROJECT netctl-gui-icons)
|
||||||
message (STATUS "Subproject ${SUBPROJECT}")
|
message (STATUS "Subproject ${SUBPROJECT}")
|
||||||
|
|
||||||
install (FILES network-idle-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-idle.png)
|
if (BUILD_GUI)
|
||||||
install (FILES network-offline-64x64.png DESTINATION share/icons/hicolor/64x64/apps RENAME netctl-offline.png)
|
install (FILES icon.png DESTINATION share/pixmaps RENAME netctl-gui.png)
|
||||||
install (FILES network-idle-128-128.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 ()
|
||||||
|
BIN
sources/icons/icon-plasmoid.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>480</width>
|
<width>480</width>
|
||||||
<height>320</height>
|
<height>343</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
@ -185,6 +185,55 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="lineEdit_sudo"/>
|
<widget class="QLineEdit" name="lineEdit_sudo"/>
|
||||||
</item>
|
</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>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -643,6 +692,10 @@
|
|||||||
<tabstop>pushButton_netctl</tabstop>
|
<tabstop>pushButton_netctl</tabstop>
|
||||||
<tabstop>checkBox_sudo</tabstop>
|
<tabstop>checkBox_sudo</tabstop>
|
||||||
<tabstop>lineEdit_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_showBigInterface</tabstop>
|
||||||
<tabstop>checkBox_showNetDev</tabstop>
|
<tabstop>checkBox_showNetDev</tabstop>
|
||||||
<tabstop>checkBox_showExtIp</tabstop>
|
<tabstop>checkBox_showExtIp</tabstop>
|
||||||
|
@ -47,7 +47,7 @@ Netctl::~Netctl()
|
|||||||
// delete startProfile;
|
// delete startProfile;
|
||||||
// delete stopProfile;
|
// delete stopProfile;
|
||||||
// delete restartProfile;
|
// delete restartProfile;
|
||||||
// delete enableProfileAutoload;
|
// delete enableProfile;
|
||||||
|
|
||||||
// delete iconWidget;
|
// delete iconWidget;
|
||||||
|
|
||||||
@ -103,17 +103,21 @@ void Netctl::updateInterface(bool setShown)
|
|||||||
|
|
||||||
|
|
||||||
// context menu
|
// context menu
|
||||||
void Netctl::enableProfileAutoloadSlot()
|
void Netctl::enableProfileSlot()
|
||||||
{
|
{
|
||||||
QProcess command;
|
QProcess command;
|
||||||
QString commandLine, enableStatus;
|
QString commandLine, enableStatus;
|
||||||
if (info[QString("status")].contains(QString("enabled")))
|
if (info[QString("status")].contains(QString("enabled"))) {
|
||||||
enableStatus = QString(" disable ");
|
enableStatus = QString(" disable ");
|
||||||
else
|
sendNotification(QString("Info"), i18n("Set profile %1 disabled", info[QString("name")]));
|
||||||
|
}
|
||||||
|
else {
|
||||||
enableStatus = QString(" enable ");
|
enableStatus = QString(" enable ");
|
||||||
|
sendNotification(QString("Info"), i18n("Set profile %1 enabled", info[QString("name")]));
|
||||||
|
}
|
||||||
if (useSudo)
|
if (useSudo)
|
||||||
commandLine = paths[QString("sudo")] + QString(" \"") + paths[QString("netctl")] +
|
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
|
||||||
enableStatus + info[QString("name")] + QString("\"");
|
enableStatus + info[QString("name")];
|
||||||
else
|
else
|
||||||
commandLine = paths[QString("netctl")] + enableStatus + info[QString("name")];
|
commandLine = paths[QString("netctl")] + enableStatus + info[QString("name")];
|
||||||
command.startDetached(commandLine);
|
command.startDetached(commandLine);
|
||||||
@ -125,13 +129,14 @@ void Netctl::startProfileSlot(QAction *profile)
|
|||||||
QProcess command;
|
QProcess command;
|
||||||
QString commandLine;
|
QString commandLine;
|
||||||
commandLine = QString("");
|
commandLine = QString("");
|
||||||
|
sendNotification(QString("Info"), i18n("Start profile %1", profile->text().remove(QString("&"))));
|
||||||
if (status)
|
if (status)
|
||||||
commandLine = paths[QString("netctl")] + QString(" stop ") +
|
commandLine = paths[QString("netctl")] + QString(" stop ") +
|
||||||
info[QString("name")] + QString(" && ");
|
info[QString("name")] + QString(" && ");
|
||||||
if (useSudo)
|
if (useSudo)
|
||||||
commandLine = paths[QString("sudo")] + QString(" \"") + commandLine +
|
commandLine = paths[QString("sudo")] + QString(" ") + commandLine +
|
||||||
paths[QString("netctl")] + QString(" start ") +
|
paths[QString("netctl")] + QString(" start ") +
|
||||||
profile->text().remove(QString("&")) + QString("\"");
|
profile->text().remove(QString("&"));
|
||||||
else
|
else
|
||||||
commandLine = commandLine + paths[QString("netctl")] + QString(" start ") +
|
commandLine = commandLine + paths[QString("netctl")] + QString(" start ") +
|
||||||
profile->text().remove(QString("&"));
|
profile->text().remove(QString("&"));
|
||||||
@ -143,9 +148,10 @@ void Netctl::stopProfileSlot()
|
|||||||
{
|
{
|
||||||
QProcess command;
|
QProcess command;
|
||||||
QString commandLine;
|
QString commandLine;
|
||||||
|
sendNotification(QString("Info"), i18n("Stop profile %1", info[QString("name")]));
|
||||||
if (useSudo)
|
if (useSudo)
|
||||||
commandLine = paths[QString("sudo")] + QString(" \"") + paths[QString("netctl")] +
|
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
|
||||||
QString(" stop ") + info[QString("name")] + QString("\"");
|
QString(" stop ") + info[QString("name")];
|
||||||
else
|
else
|
||||||
commandLine = paths[QString("netctl")] + QString(" stop ") + info[QString("name")];
|
commandLine = paths[QString("netctl")] + QString(" stop ") + info[QString("name")];
|
||||||
command.startDetached(commandLine);
|
command.startDetached(commandLine);
|
||||||
@ -156,9 +162,10 @@ void Netctl::restartProfileSlot()
|
|||||||
{
|
{
|
||||||
QProcess command;
|
QProcess command;
|
||||||
QString commandLine;
|
QString commandLine;
|
||||||
|
sendNotification(QString("Info"), i18n("Restart profile %1", info[QString("name")]));
|
||||||
if (useSudo)
|
if (useSudo)
|
||||||
commandLine = paths[QString("sudo")] + QString(" \"") + paths[QString("netctl")] +
|
commandLine = paths[QString("sudo")] + QString(" ") + paths[QString("netctl")] +
|
||||||
QString(" restart ") + info[QString("name")] + QString("\"");
|
QString(" restart ") + info[QString("name")];
|
||||||
else
|
else
|
||||||
commandLine = paths[QString("netctl")] + QString(" restart ") + info[QString("name")];
|
commandLine = paths[QString("netctl")] + QString(" restart ") + info[QString("name")];
|
||||||
command.startDetached(commandLine);
|
command.startDetached(commandLine);
|
||||||
@ -167,24 +174,34 @@ void Netctl::restartProfileSlot()
|
|||||||
|
|
||||||
QList<QAction*> Netctl::contextualActions()
|
QList<QAction*> Netctl::contextualActions()
|
||||||
{
|
{
|
||||||
|
if (status)
|
||||||
|
contextMenu[QString("title")]->setIcon(QIcon(paths[QString("active")]));
|
||||||
|
else
|
||||||
|
contextMenu[QString("title")]->setIcon(QIcon(paths[QString("inactive")]));
|
||||||
|
contextMenu[QString("title")]->setText(info[QString("name")] + QString(" ") + info[QString("status")]);
|
||||||
|
|
||||||
if (status) {
|
if (status) {
|
||||||
startProfile->setText(i18n("Start another profile"));
|
contextMenu[QString("start")]->setText(i18n("Start another profile"));
|
||||||
stopProfile->setVisible(true);
|
contextMenu[QString("stop")]->setVisible(true);
|
||||||
stopProfile->setText(i18n("Stop ") + info[QString("name")]);
|
contextMenu[QString("stop")]->setText(i18n("Stop ") + info[QString("name")]);
|
||||||
restartProfile->setVisible(true);
|
contextMenu[QString("restart")]->setVisible(true);
|
||||||
restartProfile->setText(i18n("Restart ") + info[QString("name")]);
|
contextMenu[QString("restart")]->setText(i18n("Restart ") + info[QString("name")]);
|
||||||
enableProfileAutoload->setVisible(true);
|
contextMenu[QString("enable")]->setVisible(true);
|
||||||
if (info[QString("status")].contains(QString("enabled")))
|
if (info[QString("status")].contains(QString("enabled")))
|
||||||
enableProfileAutoload->setText(i18n("Disable ") + info[QString("name")]);
|
contextMenu[QString("enable")]->setText(i18n("Disable ") + info[QString("name")]);
|
||||||
else
|
else
|
||||||
enableProfileAutoload->setText(i18n("Enable ") + info[QString("name")]);
|
contextMenu[QString("enable")]->setText(i18n("Enable ") + info[QString("name")]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
startProfile->setText(i18n("Start profile"));
|
contextMenu[QString("start")]->setText(i18n("Start profile"));
|
||||||
stopProfile->setVisible(false);
|
contextMenu[QString("stop")]->setVisible(false);
|
||||||
restartProfile->setVisible(false);
|
contextMenu[QString("restart")]->setVisible(false);
|
||||||
enableProfileAutoload->setVisible(false);
|
contextMenu[QString("enable")]->setVisible(false);
|
||||||
}
|
}
|
||||||
|
if (useWifi)
|
||||||
|
contextMenu[QString("wifi")]->setVisible(true);
|
||||||
|
else
|
||||||
|
contextMenu[QString("wifi")]->setVisible(false);
|
||||||
|
|
||||||
startProfileMenu->clear();
|
startProfileMenu->clear();
|
||||||
for (int i=0; i<profileList.count(); i++) {
|
for (int i=0; i<profileList.count(); i++) {
|
||||||
@ -200,25 +217,31 @@ void Netctl::createActions()
|
|||||||
{
|
{
|
||||||
menuActions.clear();
|
menuActions.clear();
|
||||||
|
|
||||||
startProfile = new QAction(i18n("Start profile"), this);
|
contextMenu[QString("title")] = new QAction(QString("netctl-gui"), this);
|
||||||
|
menuActions.append(contextMenu[QString("title")]);
|
||||||
|
|
||||||
|
contextMenu[QString("start")] = new QAction(i18n("Start profile"), this);
|
||||||
startProfileMenu = new QMenu(NULL);
|
startProfileMenu = new QMenu(NULL);
|
||||||
startProfile->setMenu(startProfileMenu);
|
contextMenu[QString("start")]->setMenu(startProfileMenu);
|
||||||
connect(startProfileMenu, SIGNAL(triggered(QAction *)), this,
|
connect(startProfileMenu, SIGNAL(triggered(QAction *)), this,
|
||||||
SLOT(startProfileSlot(QAction *)));
|
SLOT(startProfileSlot(QAction *)));
|
||||||
menuActions.append(startProfile);
|
menuActions.append(contextMenu[QString("start")]);
|
||||||
|
|
||||||
stopProfile = new QAction(i18n("Stop profile"), this);
|
contextMenu[QString("stop")] = new QAction(i18n("Stop profile"), this);
|
||||||
connect(stopProfile, SIGNAL(triggered(bool)), this, SLOT(stopProfileSlot()));
|
connect(contextMenu[QString("stop")], SIGNAL(triggered(bool)), this, SLOT(stopProfileSlot()));
|
||||||
menuActions.append(stopProfile);
|
menuActions.append(contextMenu[QString("stop")]);
|
||||||
|
|
||||||
restartProfile = new QAction(i18n("Restart profile"), this);
|
contextMenu[QString("restart")] = new QAction(i18n("Restart profile"), this);
|
||||||
connect(restartProfile, SIGNAL(triggered(bool)), this, SLOT(restartProfileSlot()));
|
connect(contextMenu[QString("restart")], SIGNAL(triggered(bool)), this, SLOT(restartProfileSlot()));
|
||||||
menuActions.append(restartProfile);
|
menuActions.append(contextMenu[QString("restart")]);
|
||||||
|
|
||||||
enableProfileAutoload = new QAction(i18n("Enable profile"), this);
|
contextMenu[QString("enable")] = new QAction(i18n("Enable profile"), this);
|
||||||
connect(enableProfileAutoload, SIGNAL(triggered(bool)), this,
|
connect(contextMenu[QString("enable")], SIGNAL(triggered(bool)), this, SLOT(enableProfileSlot()));
|
||||||
SLOT(enableProfileAutoloadSlot()));
|
menuActions.append(contextMenu[QString("enable")]);
|
||||||
menuActions.append(enableProfileAutoload);
|
|
||||||
|
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")]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -227,7 +250,7 @@ void Netctl::sendNotification(const QString eventId, const QString message)
|
|||||||
{
|
{
|
||||||
KNotification *notification = new KNotification(eventId);
|
KNotification *notification = new KNotification(eventId);
|
||||||
notification->setComponentData(KComponentData("plasma_applet_netctl"));
|
notification->setComponentData(KComponentData("plasma_applet_netctl"));
|
||||||
notification->setTitle(eventId);
|
notification->setTitle(QString("Netctl ::: ") + eventId);
|
||||||
notification->setText(message);
|
notification->setText(message);
|
||||||
notification->sendEvent();
|
notification->sendEvent();
|
||||||
delete notification;
|
delete notification;
|
||||||
@ -236,11 +259,20 @@ void Netctl::sendNotification(const QString eventId, const QString message)
|
|||||||
|
|
||||||
void Netctl::showGui()
|
void Netctl::showGui()
|
||||||
{
|
{
|
||||||
|
sendNotification(QString("Info"), i18n("Start GUI"));
|
||||||
QProcess command;
|
QProcess command;
|
||||||
command.startDetached(paths[QString("gui")]);
|
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
|
// data engine interaction
|
||||||
void Netctl::connectToEngine()
|
void Netctl::connectToEngine()
|
||||||
{
|
{
|
||||||
@ -298,12 +330,16 @@ void Netctl::dataUpdated(const QString &sourceName, const Plasma::DataEngine::Da
|
|||||||
}
|
}
|
||||||
else if (sourceName == QString("statusBool")) {
|
else if (sourceName == QString("statusBool")) {
|
||||||
if (value == QString("true")) {
|
if (value == QString("true")) {
|
||||||
|
if (! status)
|
||||||
|
sendNotification(QString("Info"), i18n("Network is up"));
|
||||||
status = true;
|
status = true;
|
||||||
iconWidget->setIcon(paths[QString("active")]);
|
iconWidget->setIcon(paths[QString("active")]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
iconWidget->setIcon(paths[QString("inactive")]);
|
if (status)
|
||||||
|
sendNotification(QString("Info"), i18n("Network is down"));
|
||||||
status = false;
|
status = false;
|
||||||
|
iconWidget->setIcon(paths[QString("inactive")]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (sourceName == QString("statusString")) {
|
else if (sourceName == QString("statusString")) {
|
||||||
@ -365,6 +401,22 @@ void Netctl::selectNetctlExe()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
||||||
{
|
{
|
||||||
QWidget *configwin = new QWidget;
|
QWidget *configwin = new QWidget;
|
||||||
@ -381,6 +433,11 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
|||||||
else
|
else
|
||||||
uiConfig.checkBox_sudo->setCheckState(Qt::Unchecked);
|
uiConfig.checkBox_sudo->setCheckState(Qt::Unchecked);
|
||||||
uiConfig.lineEdit_sudo->setText(paths[QString("sudo")]);
|
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")])
|
if (bigInterface[QString("main")])
|
||||||
uiConfig.checkBox_showBigInterface->setCheckState(Qt::Checked);
|
uiConfig.checkBox_showBigInterface->setCheckState(Qt::Checked);
|
||||||
else
|
else
|
||||||
@ -422,9 +479,12 @@ void Netctl::createConfigurationInterface(KConfigDialog *parent)
|
|||||||
connect(uiConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this,
|
connect(uiConfig.checkBox_showBigInterface, SIGNAL(stateChanged(int)), this,
|
||||||
SLOT(setBigInterface()));
|
SLOT(setBigInterface()));
|
||||||
connect(uiConfig.checkBox_sudo, SIGNAL(stateChanged(int)), this, SLOT(setSudo()));
|
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_gui, SIGNAL(clicked()), this, SLOT(selectGuiExe()));
|
||||||
connect(uiConfig.pushButton_netctl, SIGNAL(clicked()), this, SLOT(selectNetctlExe()));
|
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_activeIcon, SIGNAL(clicked()), this, SLOT(selectActiveIcon()));
|
||||||
connect(uiConfig.pushButton_inactiveIcon, SIGNAL(clicked()), this, SLOT(selectInactiveIcon()));
|
connect(uiConfig.pushButton_inactiveIcon, SIGNAL(clicked()), this, SLOT(selectInactiveIcon()));
|
||||||
|
|
||||||
@ -446,6 +506,11 @@ void Netctl::configAccepted()
|
|||||||
else
|
else
|
||||||
cg.writeEntry("useSudo", true);
|
cg.writeEntry("useSudo", true);
|
||||||
cg.writeEntry("sudoPath", uiConfig.lineEdit_sudo->text());
|
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)
|
if (uiConfig.checkBox_showBigInterface->checkState() == 0)
|
||||||
cg.writeEntry("showBigInterface", false);
|
cg.writeEntry("showBigInterface", false);
|
||||||
else
|
else
|
||||||
@ -480,8 +545,10 @@ void Netctl::configChanged()
|
|||||||
autoUpdateInterval = cg.readEntry("autoUpdateInterval", 1000);
|
autoUpdateInterval = cg.readEntry("autoUpdateInterval", 1000);
|
||||||
paths[QString("gui")] = cg.readEntry("guiPath", "/usr/bin/netctl-gui");
|
paths[QString("gui")] = cg.readEntry("guiPath", "/usr/bin/netctl-gui");
|
||||||
paths[QString("netctl")] = cg.readEntry("netctlPath", "/usr/bin/netctl");
|
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);
|
useSudo = cg.readEntry("useSudo", true);
|
||||||
paths[QString("sudo")] = cg.readEntry("sudoPath", "/usr/bin/kdesu -c");
|
useWifi = cg.readEntry("useWifi", true);
|
||||||
bigInterface[QString("main")] = cg.readEntry("showBigInterface", true);
|
bigInterface[QString("main")] = cg.readEntry("showBigInterface", true);
|
||||||
bigInterface[QString("extIp")] = cg.readEntry("showExtIp", false);
|
bigInterface[QString("extIp")] = cg.readEntry("showExtIp", false);
|
||||||
bigInterface[QString("netDev")] = cg.readEntry("showNetDev", true);
|
bigInterface[QString("netDev")] = cg.readEntry("showNetDev", true);
|
||||||
@ -527,9 +594,18 @@ void Netctl::setSudo()
|
|||||||
{
|
{
|
||||||
if (uiConfig.checkBox_sudo->checkState() == 0)
|
if (uiConfig.checkBox_sudo->checkState() == 0)
|
||||||
uiConfig.lineEdit_sudo->setDisabled(true);
|
uiConfig.lineEdit_sudo->setDisabled(true);
|
||||||
else if (uiConfig.checkBox_showBigInterface->checkState() == 2)
|
else if (uiConfig.checkBox_sudo->checkState() == 2)
|
||||||
uiConfig.lineEdit_sudo->setEnabled(true);
|
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"
|
#include "netctl.moc"
|
||||||
|
@ -43,6 +43,7 @@ public slots:
|
|||||||
// events
|
// events
|
||||||
void sendNotification(const QString eventId, const QString message);
|
void sendNotification(const QString eventId, const QString message);
|
||||||
void showGui();
|
void showGui();
|
||||||
|
void showWifi();
|
||||||
// dataengine
|
// dataengine
|
||||||
void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data);
|
void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data);
|
||||||
// configuration interface
|
// configuration interface
|
||||||
@ -50,6 +51,7 @@ public slots:
|
|||||||
void configChanged();
|
void configChanged();
|
||||||
void setBigInterface();
|
void setBigInterface();
|
||||||
void setSudo();
|
void setSudo();
|
||||||
|
void setWifi();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
// ui
|
// ui
|
||||||
@ -59,8 +61,10 @@ private slots:
|
|||||||
void selectGuiExe();
|
void selectGuiExe();
|
||||||
void selectInactiveIcon();
|
void selectInactiveIcon();
|
||||||
void selectNetctlExe();
|
void selectNetctlExe();
|
||||||
|
void selectSudoExe();
|
||||||
|
void selectWifiExe();
|
||||||
// context menu
|
// context menu
|
||||||
void enableProfileAutoloadSlot();
|
void enableProfileSlot();
|
||||||
void startProfileSlot(QAction *profile);
|
void startProfileSlot(QAction *profile);
|
||||||
void stopProfileSlot();
|
void stopProfileSlot();
|
||||||
void restartProfileSlot();
|
void restartProfileSlot();
|
||||||
@ -83,16 +87,11 @@ private:
|
|||||||
void createActions();
|
void createActions();
|
||||||
QList<QAction*> menuActions;
|
QList<QAction*> menuActions;
|
||||||
QMenu *startProfileMenu;
|
QMenu *startProfileMenu;
|
||||||
QAction *enableProfileAutoload;
|
QMap<QString, QAction*> contextMenu;
|
||||||
QAction *startProfile;
|
|
||||||
QAction *stopProfile;
|
|
||||||
QAction *restartProfile;
|
|
||||||
// data engine
|
// data engine
|
||||||
Plasma::DataEngine *netctlEngine;
|
Plasma::DataEngine *netctlEngine;
|
||||||
void connectToEngine();
|
void connectToEngine();
|
||||||
void disconnectFromEngine();
|
void disconnectFromEngine();
|
||||||
// notification
|
|
||||||
//
|
|
||||||
// configuration interface
|
// configuration interface
|
||||||
Ui::ConfigWindow uiConfig;
|
Ui::ConfigWindow uiConfig;
|
||||||
// configuration
|
// configuration
|
||||||
@ -100,7 +99,7 @@ private:
|
|||||||
QMap<QString, bool> bigInterface;
|
QMap<QString, bool> bigInterface;
|
||||||
QStringList formatLine;
|
QStringList formatLine;
|
||||||
QMap<QString, QString> paths;
|
QMap<QString, QString> paths;
|
||||||
bool useSudo;
|
bool useSudo, useWifi;
|
||||||
};
|
};
|
||||||
|
|
||||||
K_EXPORT_PLASMA_APPLET(netctl, Netctl)
|
K_EXPORT_PLASMA_APPLET(netctl, Netctl)
|
||||||
|
@ -3,7 +3,7 @@ Encoding=UTF-8
|
|||||||
Name=Netctl
|
Name=Netctl
|
||||||
Comment=Plasmoid for netctl
|
Comment=Plasmoid for netctl
|
||||||
Type=Service
|
Type=Service
|
||||||
Icon=netctl-gui
|
Icon=netctl-gui-widget
|
||||||
|
|
||||||
X-KDE-ServiceTypes=Plasma/Applet
|
X-KDE-ServiceTypes=Plasma/Applet
|
||||||
X-KDE-Library=plasma_applet_netctl
|
X-KDE-Library=plasma_applet_netctl
|
||||||
|
6
sources/plasmoid/plasmoid.cppcheck
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="1">
|
||||||
|
<libraries>
|
||||||
|
<library>qt</library>
|
||||||
|
</libraries>
|
||||||
|
</project>
|
@ -6,8 +6,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
||||||
"POT-Creation-Date: 2014-04-06 18:45+0400\n"
|
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
|
||||||
"PO-Revision-Date: 2014-04-06 12:33+0400\n"
|
"PO-Revision-Date: 2014-04-12 18:56+0400\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
@ -18,43 +18,83 @@ msgstr ""
|
|||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Lokalize 1.5\n"
|
"X-Generator: Lokalize 1.5\n"
|
||||||
|
|
||||||
#: netctl.cpp:171
|
#: 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"
|
msgid "Start another profile"
|
||||||
msgstr "Start another profile"
|
msgstr "Start another profile"
|
||||||
|
|
||||||
#: netctl.cpp:173
|
#: netctl.cpp:180
|
||||||
msgid "Stop "
|
msgid "Stop "
|
||||||
msgstr "Stop "
|
msgstr "Stop "
|
||||||
|
|
||||||
#: netctl.cpp:175
|
#: netctl.cpp:182
|
||||||
msgid "Restart "
|
msgid "Restart "
|
||||||
msgstr "Restart "
|
msgstr "Restart "
|
||||||
|
|
||||||
#: netctl.cpp:178
|
#: netctl.cpp:185
|
||||||
msgid "Disable "
|
msgid "Disable "
|
||||||
msgstr "Disable "
|
msgstr "Disable "
|
||||||
|
|
||||||
#: netctl.cpp:180
|
#: netctl.cpp:187
|
||||||
msgid "Enable "
|
msgid "Enable "
|
||||||
msgstr "Enable "
|
msgstr "Enable "
|
||||||
|
|
||||||
#: netctl.cpp:183 netctl.cpp:203
|
#: netctl.cpp:190 netctl.cpp:214
|
||||||
msgid "Start profile"
|
msgid "Start profile"
|
||||||
msgstr "Start profile"
|
msgstr "Start profile"
|
||||||
|
|
||||||
#: netctl.cpp:210
|
#: netctl.cpp:221
|
||||||
msgid "Stop profile"
|
msgid "Stop profile"
|
||||||
msgstr "Stop profile"
|
msgstr "Stop profile"
|
||||||
|
|
||||||
#: netctl.cpp:214
|
#: netctl.cpp:225
|
||||||
msgid "Restart profile"
|
msgid "Restart profile"
|
||||||
msgstr "Restart profile"
|
msgstr "Restart profile"
|
||||||
|
|
||||||
#: netctl.cpp:218
|
#: netctl.cpp:229
|
||||||
msgid "Enable profile"
|
msgid "Enable profile"
|
||||||
msgstr "Enable profile"
|
msgstr "Enable profile"
|
||||||
|
|
||||||
#: netctl.cpp:420
|
#: 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"
|
msgid "Netctl plasmoid"
|
||||||
msgstr "Netctl plasmoid"
|
msgstr "Netctl plasmoid"
|
||||||
|
|
||||||
@ -80,20 +120,28 @@ msgstr "Path to GUI"
|
|||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||||
#. i18n: file: configwindow.ui:128
|
#. i18n: file: configwindow.ui:128
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. 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
|
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
|
||||||
#: rc.cpp:78 rc.cpp:84
|
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Browse"
|
msgstr "Browse"
|
||||||
|
|
||||||
@ -109,126 +157,133 @@ msgstr "Path to netctl"
|
|||||||
msgid "Use sudo for netctl"
|
msgid "Use sudo for netctl"
|
||||||
msgstr "Use sudo for netctl"
|
msgstr "Use sudo for netctl"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:193
|
#. 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)
|
#. 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"
|
msgid "Show more detailed interface"
|
||||||
msgstr "Show more detailed interface"
|
msgstr "Show more detailed interface"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:203
|
#. i18n: file: configwindow.ui:252
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
|
#. 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"
|
msgid "Show network devices"
|
||||||
msgstr "Show network devices"
|
msgstr "Show network devices"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:213
|
#. i18n: file: configwindow.ui:262
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
|
#. 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"
|
msgid "Show external IP"
|
||||||
msgstr "Show external IP"
|
msgstr "Show external IP"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:223
|
#. i18n: file: configwindow.ui:272
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
|
#. 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"
|
msgid "Show internal IP"
|
||||||
msgstr "Show internal IP"
|
msgstr "Show internal IP"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:247
|
#. i18n: file: configwindow.ui:296
|
||||||
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
||||||
#: po/rc.cpp:36 rc.cpp:36
|
#: po/rc.cpp:45 rc.cpp:45
|
||||||
msgid "Appearance"
|
msgid "Appearance"
|
||||||
msgstr "Appearance"
|
msgstr "Appearance"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:261
|
#. i18n: file: configwindow.ui:310
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||||
#: po/rc.cpp:39 rc.cpp:39
|
#: po/rc.cpp:48 rc.cpp:48
|
||||||
msgid "Font"
|
msgid "Font"
|
||||||
msgstr "Font"
|
msgstr "Font"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:293
|
#. i18n: file: configwindow.ui:342
|
||||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
#. 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"
|
msgid "Set font family"
|
||||||
msgstr "Set font family"
|
msgstr "Set font family"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:310
|
#. i18n: file: configwindow.ui:359
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
#. 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"
|
msgid "Font size"
|
||||||
msgstr "Font size"
|
msgstr "Font size"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:342
|
#. i18n: file: configwindow.ui:391
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
#. 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"
|
msgid "Set font size"
|
||||||
msgstr "Set font size"
|
msgstr "Set font size"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:371
|
#. i18n: file: configwindow.ui:420
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
#. 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"
|
msgid "Font color"
|
||||||
msgstr "Font color"
|
msgstr "Font color"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:403
|
#. i18n: file: configwindow.ui:452
|
||||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
#. 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"
|
msgid "Set font color"
|
||||||
msgstr "Set font color"
|
msgstr "Set font color"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:420
|
#. i18n: file: configwindow.ui:469
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
#. 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"
|
msgid "Font weight"
|
||||||
msgstr "Font weight"
|
msgstr "Font weight"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:452
|
#. i18n: file: configwindow.ui:501
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
#. 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"
|
msgid "Set font weight"
|
||||||
msgstr "Set font weight"
|
msgstr "Set font weight"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:484
|
#. i18n: file: configwindow.ui:533
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
#. 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"
|
msgid "Font style"
|
||||||
msgstr "Font style"
|
msgstr "Font style"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:516
|
#. i18n: file: configwindow.ui:565
|
||||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "Set font style"
|
||||||
msgstr "Set font style"
|
msgstr "Set font style"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:520
|
#. i18n: file: configwindow.ui:569
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "normal"
|
||||||
msgstr "normal"
|
msgstr "normal"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:525
|
#. i18n: file: configwindow.ui:574
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "italic"
|
||||||
msgstr "italic"
|
msgstr "italic"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:556
|
#. i18n: file: configwindow.ui:605
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
#. 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"
|
msgid "Active icon"
|
||||||
msgstr "Active icon"
|
msgstr "Active icon"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:589
|
#. i18n: file: configwindow.ui:638
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
#. 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"
|
msgid "Inactive icon"
|
||||||
msgstr "Inactive icon"
|
msgstr "Inactive icon"
|
||||||
|
|
||||||
#: po/rc.cpp:85 rc.cpp:85
|
#: po/rc.cpp:94 rc.cpp:94
|
||||||
msgctxt "NAME OF TRANSLATORS"
|
msgctxt "NAME OF TRANSLATORS"
|
||||||
msgid "Your names"
|
msgid "Your names"
|
||||||
msgstr "Evgeniy Alekseev"
|
msgstr "Evgeniy Alekseev"
|
||||||
|
|
||||||
#: po/rc.cpp:86 rc.cpp:86
|
#: po/rc.cpp:95 rc.cpp:95
|
||||||
msgctxt "EMAIL OF TRANSLATORS"
|
msgctxt "EMAIL OF TRANSLATORS"
|
||||||
msgid "Your emails"
|
msgid "Your emails"
|
||||||
msgstr "esalexeev@gmail.com"
|
msgstr "esalexeev@gmail.com"
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
||||||
"POT-Creation-Date: 2014-04-06 18:45+0400\n"
|
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -17,43 +17,83 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: netctl.cpp:171
|
#: netctl.cpp:112
|
||||||
msgid "Start another profile"
|
msgid "Set profile %1 disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:173
|
#: netctl.cpp:116
|
||||||
msgid "Stop "
|
msgid "Set profile %1 enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:175
|
#: netctl.cpp:132
|
||||||
msgid "Restart "
|
msgid "Start profile %1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: netctl.cpp:151
|
||||||
|
msgid "Stop profile %1"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: netctl.cpp:165
|
||||||
|
msgid "Restart profile %1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:178
|
#: netctl.cpp:178
|
||||||
msgid "Disable "
|
msgid "Start another profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:180
|
#: netctl.cpp:180
|
||||||
|
msgid "Stop "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: netctl.cpp:182
|
||||||
|
msgid "Restart "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: netctl.cpp:185
|
||||||
|
msgid "Disable "
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: netctl.cpp:187
|
||||||
msgid "Enable "
|
msgid "Enable "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:183 netctl.cpp:203
|
#: netctl.cpp:190 netctl.cpp:214
|
||||||
msgid "Start profile"
|
msgid "Start profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:210
|
#: netctl.cpp:221
|
||||||
msgid "Stop profile"
|
msgid "Stop profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:214
|
#: netctl.cpp:225
|
||||||
msgid "Restart profile"
|
msgid "Restart profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:218
|
#: netctl.cpp:229
|
||||||
msgid "Enable profile"
|
msgid "Enable profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: netctl.cpp:420
|
#: 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"
|
msgid "Netctl plasmoid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -79,20 +119,28 @@ msgstr ""
|
|||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||||
#. i18n: file: configwindow.ui:128
|
#. i18n: file: configwindow.ui:128
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. 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
|
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
|
||||||
#: rc.cpp:78 rc.cpp:84
|
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -108,126 +156,132 @@ msgstr ""
|
|||||||
msgid "Use sudo for netctl"
|
msgid "Use sudo for netctl"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:193
|
#. 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)
|
#. 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"
|
msgid "Show more detailed interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:203
|
#. i18n: file: configwindow.ui:252
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
|
#. 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"
|
msgid "Show network devices"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:213
|
#. i18n: file: configwindow.ui:262
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
|
#. 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"
|
msgid "Show external IP"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:223
|
#. i18n: file: configwindow.ui:272
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
|
#. 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"
|
msgid "Show internal IP"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:247
|
#. i18n: file: configwindow.ui:296
|
||||||
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
||||||
#: po/rc.cpp:36 rc.cpp:36
|
#: po/rc.cpp:45 rc.cpp:45
|
||||||
msgid "Appearance"
|
msgid "Appearance"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:261
|
#. i18n: file: configwindow.ui:310
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||||
#: po/rc.cpp:39 rc.cpp:39
|
#: po/rc.cpp:48 rc.cpp:48
|
||||||
msgid "Font"
|
msgid "Font"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:293
|
#. i18n: file: configwindow.ui:342
|
||||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
#. 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"
|
msgid "Set font family"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:310
|
#. i18n: file: configwindow.ui:359
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
#. 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"
|
msgid "Font size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:342
|
#. i18n: file: configwindow.ui:391
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
#. 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"
|
msgid "Set font size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:371
|
#. i18n: file: configwindow.ui:420
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
#. 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"
|
msgid "Font color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:403
|
#. i18n: file: configwindow.ui:452
|
||||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
#. 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"
|
msgid "Set font color"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:420
|
#. i18n: file: configwindow.ui:469
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
#. 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"
|
msgid "Font weight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:452
|
#. i18n: file: configwindow.ui:501
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
#. 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"
|
msgid "Set font weight"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:484
|
#. i18n: file: configwindow.ui:533
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
#. 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"
|
msgid "Font style"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:516
|
#. i18n: file: configwindow.ui:565
|
||||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "Set font style"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:520
|
#. i18n: file: configwindow.ui:569
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "normal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:525
|
#. i18n: file: configwindow.ui:574
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "italic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:556
|
#. i18n: file: configwindow.ui:605
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
#. 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"
|
msgid "Active icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:589
|
#. i18n: file: configwindow.ui:638
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
#. 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"
|
msgid "Inactive icon"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: po/rc.cpp:85 rc.cpp:85
|
#: po/rc.cpp:94 rc.cpp:94
|
||||||
msgctxt "NAME OF TRANSLATORS"
|
msgctxt "NAME OF TRANSLATORS"
|
||||||
msgid "Your names"
|
msgid "Your names"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: po/rc.cpp:86 rc.cpp:86
|
#: po/rc.cpp:95 rc.cpp:95
|
||||||
msgctxt "EMAIL OF TRANSLATORS"
|
msgctxt "EMAIL OF TRANSLATORS"
|
||||||
msgid "Your emails"
|
msgid "Your emails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -6,8 +6,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
"Report-Msgid-Bugs-To: http://kde-look.org/content/show.php?content=98925\n"
|
||||||
"POT-Creation-Date: 2014-04-06 18:45+0400\n"
|
"POT-Creation-Date: 2014-04-12 18:56+0400\n"
|
||||||
"PO-Revision-Date: 2014-04-06 12:32+0400\n"
|
"PO-Revision-Date: 2014-04-12 18:58+0400\n"
|
||||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
@ -18,43 +18,83 @@ msgstr ""
|
|||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Lokalize 1.5\n"
|
"X-Generator: Lokalize 1.5\n"
|
||||||
|
|
||||||
#: netctl.cpp:171
|
#: 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"
|
msgid "Start another profile"
|
||||||
msgstr "Запустить другой профиль"
|
msgstr "Запустить другой профиль"
|
||||||
|
|
||||||
#: netctl.cpp:173
|
#: netctl.cpp:180
|
||||||
msgid "Stop "
|
msgid "Stop "
|
||||||
msgstr "Остановить "
|
msgstr "Остановить "
|
||||||
|
|
||||||
#: netctl.cpp:175
|
#: netctl.cpp:182
|
||||||
msgid "Restart "
|
msgid "Restart "
|
||||||
msgstr "Перезапустить "
|
msgstr "Перезапустить "
|
||||||
|
|
||||||
#: netctl.cpp:178
|
#: netctl.cpp:185
|
||||||
msgid "Disable "
|
msgid "Disable "
|
||||||
msgstr "Отключить "
|
msgstr "Отключить "
|
||||||
|
|
||||||
#: netctl.cpp:180
|
#: netctl.cpp:187
|
||||||
msgid "Enable "
|
msgid "Enable "
|
||||||
msgstr "Включить "
|
msgstr "Включить "
|
||||||
|
|
||||||
#: netctl.cpp:183 netctl.cpp:203
|
#: netctl.cpp:190 netctl.cpp:214
|
||||||
msgid "Start profile"
|
msgid "Start profile"
|
||||||
msgstr "Запустить профиль"
|
msgstr "Запустить профиль"
|
||||||
|
|
||||||
#: netctl.cpp:210
|
#: netctl.cpp:221
|
||||||
msgid "Stop profile"
|
msgid "Stop profile"
|
||||||
msgstr "Остановить профиль"
|
msgstr "Остановить профиль"
|
||||||
|
|
||||||
#: netctl.cpp:214
|
#: netctl.cpp:225
|
||||||
msgid "Restart profile"
|
msgid "Restart profile"
|
||||||
msgstr "Перезапустить профиль"
|
msgstr "Перезапустить профиль"
|
||||||
|
|
||||||
#: netctl.cpp:218
|
#: netctl.cpp:229
|
||||||
msgid "Enable profile"
|
msgid "Enable profile"
|
||||||
msgstr "Включить профиль"
|
msgstr "Включить профиль"
|
||||||
|
|
||||||
#: netctl.cpp:420
|
#: 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"
|
msgid "Netctl plasmoid"
|
||||||
msgstr "Netctl plasmoid"
|
msgstr "Netctl plasmoid"
|
||||||
|
|
||||||
@ -80,20 +120,28 @@ msgstr "Путь к GUI"
|
|||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||||
#. i18n: file: configwindow.ui:128
|
#. i18n: file: configwindow.ui:128
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||||
#. i18n: file: configwindow.ui:161
|
#. i18n: file: configwindow.ui:161
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||||
#. i18n: file: configwindow.ui:572
|
#. 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: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||||
#. i18n: file: configwindow.ui:605
|
#. i18n: file: configwindow.ui:654
|
||||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
#. 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
|
#: po/rc.cpp:12 po/rc.cpp:18 po/rc.cpp:24 po/rc.cpp:30 po/rc.cpp:87
|
||||||
#: rc.cpp:78 rc.cpp:84
|
#: po/rc.cpp:93 rc.cpp:12 rc.cpp:18 rc.cpp:24 rc.cpp:30 rc.cpp:87 rc.cpp:93
|
||||||
msgid "Browse"
|
msgid "Browse"
|
||||||
msgstr "Обзор"
|
msgstr "Обзор"
|
||||||
|
|
||||||
@ -109,126 +157,133 @@ msgstr "Путь к netctl"
|
|||||||
msgid "Use sudo for netctl"
|
msgid "Use sudo for netctl"
|
||||||
msgstr "Использовать sudo для netctl"
|
msgstr "Использовать sudo для netctl"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:193
|
#. 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)
|
#. 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"
|
msgid "Show more detailed interface"
|
||||||
msgstr "Показать более детальный интерфейс"
|
msgstr "Показать более детальный интерфейс"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:203
|
#. i18n: file: configwindow.ui:252
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showNetDev)
|
#. 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"
|
msgid "Show network devices"
|
||||||
msgstr "Показать сетевые устройства"
|
msgstr "Показать сетевые устройства"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:213
|
#. i18n: file: configwindow.ui:262
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showExtIp)
|
#. 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"
|
msgid "Show external IP"
|
||||||
msgstr "Показать внешний IP"
|
msgstr "Показать внешний IP"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:223
|
#. i18n: file: configwindow.ui:272
|
||||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showIntIp)
|
#. 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"
|
msgid "Show internal IP"
|
||||||
msgstr "Показать внутренний IP"
|
msgstr "Показать внутренний IP"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:247
|
#. i18n: file: configwindow.ui:296
|
||||||
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
#. i18n: ectx: attribute (title), widget (QWidget, tabAppearance)
|
||||||
#: po/rc.cpp:36 rc.cpp:36
|
#: po/rc.cpp:45 rc.cpp:45
|
||||||
msgid "Appearance"
|
msgid "Appearance"
|
||||||
msgstr "Внешний вид"
|
msgstr "Внешний вид"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:261
|
#. i18n: file: configwindow.ui:310
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||||
#: po/rc.cpp:39 rc.cpp:39
|
#: po/rc.cpp:48 rc.cpp:48
|
||||||
msgid "Font"
|
msgid "Font"
|
||||||
msgstr "Шрифт"
|
msgstr "Шрифт"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:293
|
#. i18n: file: configwindow.ui:342
|
||||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
#. 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"
|
msgid "Set font family"
|
||||||
msgstr "Укажите шрифт"
|
msgstr "Укажите шрифт"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:310
|
#. i18n: file: configwindow.ui:359
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
#. 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"
|
msgid "Font size"
|
||||||
msgstr "Размер шрифта"
|
msgstr "Размер шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:342
|
#. i18n: file: configwindow.ui:391
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
#. 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"
|
msgid "Set font size"
|
||||||
msgstr "Укажите размер шрифта"
|
msgstr "Укажите размер шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:371
|
#. i18n: file: configwindow.ui:420
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
#. 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"
|
msgid "Font color"
|
||||||
msgstr "Цвет шрифта"
|
msgstr "Цвет шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:403
|
#. i18n: file: configwindow.ui:452
|
||||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
#. 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"
|
msgid "Set font color"
|
||||||
msgstr "Укажите цвет шрифта"
|
msgstr "Укажите цвет шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:420
|
#. i18n: file: configwindow.ui:469
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
#. 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"
|
msgid "Font weight"
|
||||||
msgstr "Толщина шрифта"
|
msgstr "Толщина шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:452
|
#. i18n: file: configwindow.ui:501
|
||||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
#. 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"
|
msgid "Set font weight"
|
||||||
msgstr "Укажите ширину шрифта"
|
msgstr "Укажите ширину шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:484
|
#. i18n: file: configwindow.ui:533
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
#. 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"
|
msgid "Font style"
|
||||||
msgstr "Стиль шрифта"
|
msgstr "Стиль шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:516
|
#. i18n: file: configwindow.ui:565
|
||||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "Set font style"
|
||||||
msgstr "Укажите стиль шрифта"
|
msgstr "Укажите стиль шрифта"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:520
|
#. i18n: file: configwindow.ui:569
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "normal"
|
||||||
msgstr "normal"
|
msgstr "normal"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:525
|
#. i18n: file: configwindow.ui:574
|
||||||
#. i18n: ectx: property (text), item, widget (QComboBox, comboBox_fontStyle)
|
#. 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"
|
msgid "italic"
|
||||||
msgstr "italic"
|
msgstr "italic"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:556
|
#. i18n: file: configwindow.ui:605
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
#. 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"
|
msgid "Active icon"
|
||||||
msgstr "Иконка активного подключения"
|
msgstr "Иконка активного подключения"
|
||||||
|
|
||||||
#. i18n: file: configwindow.ui:589
|
#. i18n: file: configwindow.ui:638
|
||||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
#. 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"
|
msgid "Inactive icon"
|
||||||
msgstr "Иконка неактивного подключения"
|
msgstr "Иконка неактивного подключения"
|
||||||
|
|
||||||
#: po/rc.cpp:85 rc.cpp:85
|
#: po/rc.cpp:94 rc.cpp:94
|
||||||
msgctxt "NAME OF TRANSLATORS"
|
msgctxt "NAME OF TRANSLATORS"
|
||||||
msgid "Your names"
|
msgid "Your names"
|
||||||
msgstr "Evgeniy Alekseev"
|
msgstr "Evgeniy Alekseev"
|
||||||
|
|
||||||
#: po/rc.cpp:86 rc.cpp:86
|
#: po/rc.cpp:95 rc.cpp:95
|
||||||
msgctxt "EMAIL OF TRANSLATORS"
|
msgctxt "EMAIL OF TRANSLATORS"
|
||||||
msgid "Your emails"
|
msgid "Your emails"
|
||||||
msgstr "esalexeev@gmail.com"
|
msgstr "esalexeev@gmail.com"
|
||||||
|
|
||||||
|