mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 15:37:23 +00:00
Merge branch 'kf5'
This commit is contained in:
commit
a830fc9372
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required (VERSION 2.8)
|
||||
cmake_minimum_required (VERSION 2.8.12)
|
||||
|
||||
cmake_policy (SET CMP0003 OLD)
|
||||
cmake_policy (SET CMP0002 OLD)
|
||||
@ -29,6 +29,7 @@ option (BUILD_HELPER "Build helper" ON)
|
||||
option (BUILD_LIBRARY "Build library" ON)
|
||||
option (BUILD_DATAENGINE "Build DataEngine" ON)
|
||||
option (BUILD_PLASMOID "Build plasmoid" ON)
|
||||
option (BUILD_KDE4 "Build on KDE4" OFF)
|
||||
if (BUILD_GUI OR BUILD_HELPER)
|
||||
set (BUILD_LIBRARY ON)
|
||||
endif ()
|
||||
@ -84,5 +85,9 @@ if (BUILD_DATAENGINE)
|
||||
add_subdirectory (dataengine)
|
||||
endif ()
|
||||
if (BUILD_PLASMOID)
|
||||
add_subdirectory (plasmoid)
|
||||
if (BUILD_KDE4)
|
||||
add_subdirectory (plasmoid-kde4)
|
||||
else ()
|
||||
add_subdirectory (plasmoid-kf5)
|
||||
endif (BUILD_KDE4)
|
||||
endif ()
|
||||
|
@ -3,16 +3,37 @@ set (SUBPROJECT plasma_engine_netctl)
|
||||
message (STATUS "Subproject ${SUBPROJECT}")
|
||||
|
||||
# find required libaries
|
||||
find_package (KDE4 REQUIRED)
|
||||
include (KDE4Defaults)
|
||||
if (BUILD_KDE4)
|
||||
find_package (KDE4 REQUIRED)
|
||||
include (KDE4Defaults)
|
||||
|
||||
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
else ()
|
||||
find_package (Qt5 REQUIRED COMPONENTS Widgets Network)
|
||||
find_package (ECM 0.0.11 REQUIRED NO_MODULE)
|
||||
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
|
||||
find_package(KF5 REQUIRED COMPONENTS Plasma Service)
|
||||
|
||||
include (KDEInstallDirs)
|
||||
include (KDECMakeSettings)
|
||||
include (KDECompilerSettings)
|
||||
add_definitions (${Qt5Core_DEFINITIONS} ${Qt5Network_DEFINITIONS})
|
||||
|
||||
set (Qt_INCLUDE ${Qt5Core_INCLUDE_DIRS}
|
||||
${Qt5Network_INCLUDE_DIRS})
|
||||
set (KDE_INCLUDE ${ConfigCore_INCLUDE_DIR}
|
||||
${CoreAddons_INCLUDE_DIR}
|
||||
${Plasma_INCLUDE_DIR}
|
||||
${Service_INCLUDE_DIR})
|
||||
endif ()
|
||||
|
||||
add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
include_directories (${CMAKE_SOURCE_DIR}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${KDE4_INCLUDES}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../
|
||||
${PROJECT_TRDPARTY_DIR})
|
||||
${PROJECT_TRDPARTY_DIR}
|
||||
${Qt_INCLUDE}
|
||||
${KDE_INCLUDE})
|
||||
|
||||
set (PLUGIN_NAME ${SUBPROJECT})
|
||||
file (GLOB SUBPROJECT_DESKTOP_IN *.desktop)
|
||||
@ -25,11 +46,22 @@ file (GLOB SUBPROJECT_CONF *.conf)
|
||||
configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP})
|
||||
|
||||
# make
|
||||
qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER})
|
||||
kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE})
|
||||
target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS} ${QT_QTNETWORK_LIBRARY})
|
||||
if (BUILD_KDE4)
|
||||
qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER})
|
||||
kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE})
|
||||
target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS} ${QT_QTNETWORK_LIBRARY})
|
||||
else ()
|
||||
qt5_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER})
|
||||
add_library (${PLUGIN_NAME} MODULE ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE})
|
||||
target_link_libraries (${PLUGIN_NAME} ${Plasma_LIBRARIES} ${Qt5Network_LIBRARIES})
|
||||
kcoreaddons_desktop_to_json (${PLUGIN_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP})
|
||||
endif ()
|
||||
|
||||
# install
|
||||
install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
if (BUILD_KDE4)
|
||||
install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
else ()
|
||||
install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine)
|
||||
endif ()
|
||||
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP} DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
install (FILES ${SUBPROJECT_CONF} DESTINATION ${CONFIG_INSTALL_DIR})
|
||||
|
@ -17,8 +17,6 @@
|
||||
|
||||
#include "netctl.h"
|
||||
|
||||
#include <KGlobal>
|
||||
#include <KStandardDirs>
|
||||
#include <Plasma/DataContainer>
|
||||
|
||||
#include <QDebug>
|
||||
@ -29,6 +27,15 @@
|
||||
|
||||
#include <pdebug/pdebug.h>
|
||||
#include <task/taskadds.h>
|
||||
#include <version.h>
|
||||
|
||||
// KF5-KDE4 compability
|
||||
#ifdef BUILD_KDE4
|
||||
#include <KGlobal>
|
||||
#include <KStandardDirs>
|
||||
#else
|
||||
#include <QStandardPaths>
|
||||
#endif /* BUILD_KDE4 */
|
||||
|
||||
|
||||
Netctl::Netctl(QObject *parent, const QVariantList &args)
|
||||
@ -89,7 +96,12 @@ void Netctl::readConfiguration()
|
||||
rawConfig[QString("NETCTLCMD")] = QString("/usr/bin/netctl");
|
||||
rawConfig[QString("NETCTLAUTOCMD")] = QString("/usr/bin/netctl-auto");
|
||||
|
||||
QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
||||
QString fileName;
|
||||
#ifdef BUILD_KDE4
|
||||
fileName = KGlobal::dirs()->findResource("config", "netctl.conf");
|
||||
#else
|
||||
fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation, QString("netctl.conf"));
|
||||
#endif /* BUILD_KDE4 */
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName;
|
||||
QFile configFile(fileName);
|
||||
if (!configFile.open(QIODevice::ReadOnly)) {
|
||||
@ -388,6 +400,10 @@ bool Netctl::updateSourceEvent(const QString &source)
|
||||
}
|
||||
|
||||
|
||||
#ifdef BUILD_KDE4
|
||||
K_EXPORT_PLASMA_DATAENGINE(netctl, Netctl)
|
||||
#else
|
||||
K_EXPORT_PLASMA_DATAENGINE_WITH_JSON(netctl, Netctl, "plasma-dataengine-netctl.json")
|
||||
#endif /* BUILD_KDE4 */
|
||||
|
||||
#include "netctl.moc"
|
||||
|
@ -10,11 +10,11 @@ X-KDE-ServiceTypes=Plasma/DataEngine
|
||||
X-KDE-Library=plasma_engine_netctl
|
||||
X-Plasma-EngineName=netctl
|
||||
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev
|
||||
X-KDE-PluginInfo-Email=esalexeev@gmail.com
|
||||
X-KDE-PluginInfo-Name=netctl
|
||||
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
|
||||
X-KDE-PluginInfo-Website=http://arcan1s.github.io/projects/netctlplasmoid
|
||||
X-KDE-PluginInfo-Website=http://arcanis.name/ru/projects/netctl-gui/
|
||||
X-KDE-PluginInfo-Category=Network
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=GPLv3
|
@ -8,11 +8,11 @@ Icon=netctl-gui-widget
|
||||
X-KDE-ServiceTypes=Plasma/Applet,Plasma/PopupApplet
|
||||
X-KDE-Library=plasma_applet_netctl
|
||||
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev aka arcanis
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev
|
||||
X-KDE-PluginInfo-Email=esalexeev@gmail.com
|
||||
X-KDE-PluginInfo-Name=netctl
|
||||
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
|
||||
X-KDE-PluginInfo-Website=http://arcan1s.github.io/projects/netctlplasmoid
|
||||
X-KDE-PluginInfo-Website=http://arcanis.name/ru/projects/netctl-gui/
|
||||
X-KDE-PluginInfo-Category=Network
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=GPLv3
|
85
sources/plasmoid-kf5/CMakeLists.txt
Normal file
85
sources/plasmoid-kf5/CMakeLists.txt
Normal file
@ -0,0 +1,85 @@
|
||||
# set project name
|
||||
set (SUBPROJECT plasma_applet_netctl)
|
||||
message (STATUS "Subproject ${SUBPROJECT}")
|
||||
# find resources
|
||||
# set (RESOURCES ${PROJECT_RESOURCE_DIR}/resources-plasmoid.qrc)
|
||||
#
|
||||
# # find required libaries
|
||||
# find_package (KDE4 REQUIRED)
|
||||
# include (KDE4Defaults)
|
||||
#
|
||||
# add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
|
||||
# include_directories (${CMAKE_SOURCE_DIR}
|
||||
# ${CMAKE_BINARY_DIR}
|
||||
# ${KDE4_INCLUDES}
|
||||
# ${CMAKE_CURRENT_BINARY_DIR}
|
||||
# ${CMAKE_CURRENT_BINARY_DIR}/../
|
||||
# ${PROJECT_TRDPARTY_DIR})
|
||||
#
|
||||
# # add_subdirectory (po)
|
||||
#
|
||||
# # set sources
|
||||
# set (PLUGIN_NAME ${SUBPROJECT})
|
||||
# file (GLOB SUBPROJECT_DESKTOP_IN *.desktop)
|
||||
# file (RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN})
|
||||
# file (GLOB SUBPROJECT_NOTIFY *.notifyrc)
|
||||
# file (GLOB SUBPROJECT_SOURCE *.cpp)
|
||||
# file (GLOB_RECURSE SUBPROJECT_UI *.ui ${PROJECT_TRDPARTY_DIR}/about/*.ui)
|
||||
#
|
||||
# # prepare
|
||||
# configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP})
|
||||
#
|
||||
# # make
|
||||
# qt4_add_resources (QRC_SOURCES ${RESOURCES})
|
||||
# kde4_add_ui_files (SUBPROJECT_SOURCE ${SUBPROJECT_UI})
|
||||
# kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${QRC_SOURCES})
|
||||
# target_link_libraries (${PLUGIN_NAME} ${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS})
|
||||
#
|
||||
# # install
|
||||
# install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||
# install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP} DESTINATION ${SERVICES_INSTALL_DIR})
|
||||
# install (FILES ${SUBPROJECT_NOTIFY} DESTINATION ${DATA_INSTALL_DIR}/${PLUGIN_NAME})
|
||||
# plasma_install_package(plasmoid org.kde.plasma.netctl)
|
||||
find_package (Qt5 REQUIRED COMPONENTS Core DBus Qml Widgets)
|
||||
find_package (ECM 0.0.12 REQUIRED NO_MODULE)
|
||||
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
|
||||
find_package(KF5 REQUIRED COMPONENTS I18n Service WidgetsAddons KIO CoreAddons Notifications Plasma)
|
||||
find_package(KF5I18n CONFIG REQUIRED)
|
||||
|
||||
include (KDEInstallDirs)
|
||||
include (KDECMakeSettings)
|
||||
include (KDECompilerSettings)
|
||||
add_definitions (${Qt5Core_DEFINITIONS} ${Qt5DBus_DEFINITIONS} ${Qt5Qml_DEFINITIONS})
|
||||
|
||||
set (Qt_INCLUDE ${Qt5Core_INCLUDE_DIRS}
|
||||
${Qt5DBus_INCLUDE_DIRS}
|
||||
${Qt5Qml_INCLUDE_DIRS})
|
||||
set (Kf5_INCLUDE ${ConfigCore_INCLUDE_DIR}
|
||||
${CoreAddons_INCLUDE_DIR}
|
||||
${I18n_INCLUDE_DIR}
|
||||
${INTERFACE_INCLUDE_DIRECTORIES}
|
||||
${Notifications_INCLUDE_DIR}
|
||||
${Plasma_INCLUDE_DIR}
|
||||
${Service_INCLUDE_DIR})
|
||||
|
||||
set (PLUGIN_NAME netctlplugin)
|
||||
add_subdirectory (plugin)
|
||||
|
||||
# set(dir plasmoid)
|
||||
# set(component org.kde.plasma.netctl)
|
||||
# set(root ${ARGV2})
|
||||
# set(type ${ARGV3})
|
||||
# if(NOT root)
|
||||
# set(root plasmoids)
|
||||
# endif()
|
||||
# if(NOT type)
|
||||
# set(type applet)
|
||||
# endif()
|
||||
# install(DIRECTORY ${dir}/ DESTINATION ${PLASMA_DATA_INSTALL_DIR}/${root}/${component}
|
||||
# PATTERN CMakeLists.txt EXCLUDE
|
||||
# PATTERN README.txt EXCLUDE
|
||||
# PATTERN Messages.sh EXCLUDE
|
||||
# PATTERN dummydata EXCLUDE)
|
||||
#
|
||||
# install(FILES ${dir}/metadata.desktop DESTINATION ${SERVICES_INSTALL_DIR} RENAME plasma-${type}-${component}.desktop)
|
||||
plasma_install_package (plasmoid org.kde.plasma.netctl)
|
185
sources/plasmoid-kf5/dataengine.ui
Normal file
185
sources/plasmoid-kf5/dataengine.ui
Normal file
@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DataEngineWindow</class>
|
||||
<widget class="QWidget" name="DataEngineWindow">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>480</width>
|
||||
<height>333</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>480</width>
|
||||
<height>320</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string notr="true">Configuration Window</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="layout_netctl">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_netctl">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to netctl</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_netctl"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_netctl">
|
||||
<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_netctlAuto">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_netctlAuto">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to netctl-auto</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_netctlAuto"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_netctlAuto">
|
||||
<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_extIp4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_extIp4">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Check external IPv4</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_extIp4"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_extIp4">
|
||||
<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_extIp6">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_extIp6">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>150</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Check external IPv6</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="lineEdit_extIp6"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_extIp6">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Browse</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_dataengine">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>lineEdit_netctl</tabstop>
|
||||
<tabstop>pushButton_netctl</tabstop>
|
||||
<tabstop>checkBox_extIp4</tabstop>
|
||||
<tabstop>lineEdit_extIp4</tabstop>
|
||||
<tabstop>pushButton_extIp4</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
1035
sources/plasmoid-kf5/netctl.cpp
Normal file
1035
sources/plasmoid-kf5/netctl.cpp
Normal file
File diff suppressed because it is too large
Load Diff
112
sources/plasmoid-kf5/netctl.h
Normal file
112
sources/plasmoid-kf5/netctl.h
Normal file
@ -0,0 +1,112 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef NETCTL_PLASMOID_H
|
||||
#define NETCTL_PLASMOID_H
|
||||
|
||||
|
||||
class Netctl : public Plasma::PopupApplet
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Netctl(QObject *parent, const QVariantList &args);
|
||||
~Netctl();
|
||||
void init();
|
||||
QString parsePattern(const QString rawLine);
|
||||
QMap<QString, QString> readDataEngineConfiguration();
|
||||
void writeDataEngineConfiguration(const QMap<QString, QString> settings);
|
||||
QMap<QString, QString> updateDataEngineConfiguration(const QMap<QString, QString> rawConfig);
|
||||
|
||||
public slots:
|
||||
// events
|
||||
void sendNotification(const QString eventId, const QString message);
|
||||
void showGui();
|
||||
void showWifi();
|
||||
// dataengine
|
||||
void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data);
|
||||
// configuration interface
|
||||
void configAccepted();
|
||||
void configChanged();
|
||||
void setBigInterface();
|
||||
void setDataEngineExternalIp4();
|
||||
void setDataEngineExternalIp6();
|
||||
void setHelper();
|
||||
void setSudo();
|
||||
void setWifi();
|
||||
|
||||
private slots:
|
||||
// ui
|
||||
void updateIcon();
|
||||
void updateInterface(bool setHidden);
|
||||
// configuration interface
|
||||
void selectAbstractSomething();
|
||||
// context menu
|
||||
void enableProfileSlot();
|
||||
void restartProfileSlot();
|
||||
void startProfileSlot(QAction *profile);
|
||||
void stopProfileSlot();
|
||||
void stopAllProfilesSlot();
|
||||
void switchToProfileSlot(QAction *profile);
|
||||
// helper
|
||||
void checkHelperStatus();
|
||||
void startHelper();
|
||||
|
||||
protected:
|
||||
void createConfigurationInterface(KConfigDialog *parent);
|
||||
QList<QAction*> contextualActions();
|
||||
|
||||
private:
|
||||
// ui
|
||||
QWidget *graphicsWidget;
|
||||
QHBoxLayout *layout;
|
||||
IconLabel *iconLabel;
|
||||
QLabel *textLabel;
|
||||
// information
|
||||
bool status;
|
||||
QMap<QString, QString> info;
|
||||
QStringList profileList;
|
||||
// context menu
|
||||
void createActions();
|
||||
QList<QAction*> menuActions;
|
||||
QMenu *startProfileMenu;
|
||||
QMenu *switchToProfileMenu;
|
||||
QMap<QString, QAction*> contextMenu;
|
||||
// data engine
|
||||
Plasma::DataEngine *netctlEngine;
|
||||
void connectToEngine();
|
||||
void disconnectFromEngine();
|
||||
QList<QVariant> sendDBusRequest(const QString cmd, const QList<QVariant> args = QList<QVariant>());
|
||||
// configuration interface
|
||||
Ui::AppearanceWindow uiAppConfig;
|
||||
Ui::DataEngineWindow uiDEConfig;
|
||||
Ui::ConfigWindow uiWidConfig;
|
||||
Ui::About uiAboutConfig;
|
||||
// configuration
|
||||
int autoUpdateInterval;
|
||||
bool bigInterface;
|
||||
bool debug;
|
||||
QString textPattern;
|
||||
QStringList formatLine;
|
||||
QMap<QString, QString> paths;
|
||||
bool useHelper, useSudo, useWifi;
|
||||
};
|
||||
|
||||
K_EXPORT_PLASMA_APPLET(netctl, Netctl)
|
||||
|
||||
|
||||
#endif /* NETCTL_PLASMOID_H */
|
14
sources/plasmoid-kf5/plasma_applet_netctl.notifyrc
Normal file
14
sources/plasmoid-kf5/plasma_applet_netctl.notifyrc
Normal file
@ -0,0 +1,14 @@
|
||||
[Global]
|
||||
IconName=netctl-gui-widget
|
||||
Name=Netctl plasmoid
|
||||
Comment=Netctl plasmoid popups
|
||||
|
||||
[Event/Error]
|
||||
Name=Error
|
||||
Comment=There is an error from netctl plasmoid
|
||||
Action=Popup
|
||||
|
||||
[Event/Info]
|
||||
Name=Information
|
||||
Comment=There is an information from netctl plasmoid
|
||||
Action=Popup
|
41
sources/plasmoid-kf5/plasmoid/contents/config/config.qml
Normal file
41
sources/plasmoid-kf5/plasmoid/contents/config/config.qml
Normal file
@ -0,0 +1,41 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
import org.kde.plasma.configuration 2.0
|
||||
|
||||
|
||||
ConfigModel {
|
||||
ConfigCategory {
|
||||
name: i18n("Widget")
|
||||
icon: "/usr/share/pixmaps/netctl-gui-widget.png"
|
||||
source: "widget.qml"
|
||||
}
|
||||
|
||||
ConfigCategory {
|
||||
name: i18n("Appearance")
|
||||
icon: "preferences-desktop-theme"
|
||||
source: "appearance.qml"
|
||||
}
|
||||
|
||||
ConfigCategory {
|
||||
name: i18n("About")
|
||||
icon: "help-about"
|
||||
source: "about.qml"
|
||||
}
|
||||
}
|
75
sources/plasmoid-kf5/plasmoid/contents/config/main.xml
Normal file
75
sources/plasmoid-kf5/plasmoid/contents/config/main.xml
Normal file
@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
|
||||
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
|
||||
<kcfgfile name=""/>
|
||||
|
||||
<group name="Widget">
|
||||
<!-- widget -->
|
||||
<entry name="autoUpdateInterval" type="int">
|
||||
<default>100</default>
|
||||
</entry>
|
||||
<entry name="guiPath" type="string">
|
||||
<default>/usr/bin/netctl-gui</default>
|
||||
</entry>
|
||||
<entry name="helperPath" type="string">
|
||||
<default>/usr/bin/netctlgui-helper</default>
|
||||
</entry>
|
||||
<entry name="netctlPath" type="string">
|
||||
<default>/usr/bin/netctl</default>
|
||||
</entry>
|
||||
<entry name="netctlAutoPath" type="string">
|
||||
<default>/usr/bin/netctl-auto</default>
|
||||
</entry>
|
||||
<entry name="sudoPath" type="string">
|
||||
<default>/usr/bin/kdesu</default>
|
||||
</entry>
|
||||
<entry name="wifiPath" type="string">
|
||||
<default>/usr/bin/netctl-gui -t 3</default>
|
||||
</entry>
|
||||
<entry name="useHelper" type="bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="useSudo" type="bool">
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="useWifi" type="bool">
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="textPattern" type="string">
|
||||
<default>$info
|
||||
IPv4: $intip4
|
||||
IPv6: $intip6</default>
|
||||
</entry>
|
||||
</group>
|
||||
|
||||
<group name="Appearance">
|
||||
<!-- appearance -->
|
||||
<entry name="textAlign" type="string">
|
||||
<default>center</default>
|
||||
</entry>
|
||||
<entry name="fontFamily" type="string">
|
||||
<default>Terminus</default>
|
||||
</entry>
|
||||
<entry name="fontSize" type="int">
|
||||
<default>12</default>
|
||||
</entry>
|
||||
<entry name="fontColor" type="string">
|
||||
<default>#000000</default>
|
||||
</entry>
|
||||
<entry name="fontWeight" type="string">
|
||||
<default>normal</default>
|
||||
</entry>
|
||||
<entry name="fontStyle" type="string">
|
||||
<default>normal</default>
|
||||
</entry>
|
||||
<entry name="activeIconPath" type="string">
|
||||
<default>/usr/share/icons/hicolor/64x64/apps/netctl-idle.png</default>
|
||||
</entry>
|
||||
<entry name="inactiveIconPath" type="string">
|
||||
<default>/usr/share/icons/hicolor/64x64/apps/netctl-offline.png</default>
|
||||
</entry>
|
||||
</group>
|
||||
|
||||
</kcfg>
|
85
sources/plasmoid-kf5/plasmoid/contents/ui/about.qml
Normal file
85
sources/plasmoid-kf5/plasmoid/contents/ui/about.qml
Normal file
@ -0,0 +1,85 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Controls 1.3 as QtControls
|
||||
import QtQuick.Layouts 1.0 as QtLayouts
|
||||
|
||||
import org.kde.plasma.private.netctl 1.0
|
||||
|
||||
|
||||
Item {
|
||||
id: aboutPage
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
|
||||
Grid {
|
||||
QtControls.TabView {
|
||||
QtControls.Tab {
|
||||
title: i18n("About")
|
||||
|
||||
QtLayouts.ColumnLayout {
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: NetctlAdds.getAboutText("header")
|
||||
}
|
||||
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignJustify
|
||||
text: NetctlAdds.getAboutText("description")
|
||||
}
|
||||
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
textFormat: Text.RichText
|
||||
text: NetctlAdds.getAboutText("links")
|
||||
}
|
||||
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
font.capitalization: Font.SmallCaps
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
textFormat: Text.RichText
|
||||
text: NetctlAdds.getAboutText("copy")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QtControls.Tab {
|
||||
title: i18n("Acknowledgment")
|
||||
|
||||
QtLayouts.ColumnLayout {
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignJustify
|
||||
text: NetctlAdds.getAboutText("translators")
|
||||
}
|
||||
|
||||
QtControls.Label {
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
horizontalAlignment: Text.AlignJustify
|
||||
textFormat: Text.RichText
|
||||
text: NetctlAdds.getAboutText("3rdparty")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
272
sources/plasmoid-kf5/plasmoid/contents/ui/appearance.qml
Normal file
272
sources/plasmoid-kf5/plasmoid/contents/ui/appearance.qml
Normal file
@ -0,0 +1,272 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Controls 1.0 as QtControls
|
||||
import QtQuick.Controls.Styles 1.3 as QtStyles
|
||||
import QtQuick.Dialogs 1.1 as QtDialogs
|
||||
import QtQuick.Layouts 1.0 as QtLayouts
|
||||
|
||||
|
||||
Item {
|
||||
id: appearancePage
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
|
||||
property variant weight: {
|
||||
25: 0,
|
||||
50: 1,
|
||||
63: 3,
|
||||
75: 4,
|
||||
87: 5
|
||||
}
|
||||
|
||||
property string cfg_textAlign: textAlign.currentText
|
||||
property alias cfg_fontFamily: selectFont.text
|
||||
property alias cfg_fontSize: fontSize.value
|
||||
property string cfg_fontWeight: fontWeight.currentText
|
||||
property string cfg_fontStyle: fontStyle.currentText
|
||||
property alias cfg_fontColor: selectColor.text
|
||||
property alias cfg_activeIconPath: activeIcon.text
|
||||
property alias cfg_inactiveIconPath: inactiveIcon.text
|
||||
|
||||
|
||||
QtLayouts.ColumnLayout {
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Text align")
|
||||
}
|
||||
QtControls.ComboBox {
|
||||
id: textAlign
|
||||
textRole: "label"
|
||||
model: [
|
||||
{
|
||||
'label': i18n("center"),
|
||||
'name': "center"
|
||||
},
|
||||
{
|
||||
'label': i18n("right"),
|
||||
'name': "right"
|
||||
},
|
||||
{
|
||||
'label': i18n("left"),
|
||||
'name': "left"
|
||||
},
|
||||
{
|
||||
'label': i18n("justify"),
|
||||
'name': "justify"
|
||||
}
|
||||
]
|
||||
onCurrentIndexChanged: cfg_textAlign = model[currentIndex]["name"]
|
||||
Component.onCompleted: {
|
||||
for (var i = 0; i < model.length; i++) {
|
||||
if (model[i]["name"] == plasmoid.configuration.textAlign) {
|
||||
textAlign.currentIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Font")
|
||||
}
|
||||
QtControls.Button {
|
||||
id: selectFont
|
||||
text: plasmoid.configuration.fontFamily
|
||||
onClicked: fontDialog.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Font size")
|
||||
}
|
||||
QtControls.SpinBox {
|
||||
id: fontSize
|
||||
minimumValue: 8
|
||||
maximumValue: 24
|
||||
stepSize: 1
|
||||
value: plasmoid.configuration.fontSize
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Font weight")
|
||||
}
|
||||
QtControls.ComboBox {
|
||||
id: fontWeight
|
||||
textRole: "label"
|
||||
model: [
|
||||
{
|
||||
'label': i18n("light"),
|
||||
'name': "light"
|
||||
},
|
||||
{
|
||||
'label': i18n("normal"),
|
||||
'name': "normal"
|
||||
},
|
||||
{
|
||||
'label': i18n("demi bold"),
|
||||
'name': "demibold"
|
||||
},
|
||||
{
|
||||
'label': i18n("bold"),
|
||||
'name': "bold"
|
||||
},
|
||||
{
|
||||
'label': i18n("black"),
|
||||
'name': "black"
|
||||
}
|
||||
]
|
||||
onCurrentIndexChanged: cfg_fontWeight = model[currentIndex]["name"]
|
||||
Component.onCompleted: {
|
||||
for (var i = 0; i < model.length; i++) {
|
||||
if (model[i]["name"] == plasmoid.configuration.fontWeight) {
|
||||
fontWeight.currentIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Font style")
|
||||
}
|
||||
QtControls.ComboBox {
|
||||
id: fontStyle
|
||||
textRole: "label"
|
||||
model: [
|
||||
{
|
||||
'label': i18n("normal"),
|
||||
'name': "normal"
|
||||
},
|
||||
{
|
||||
'label': i18n("italic"),
|
||||
'name': "italic"
|
||||
}
|
||||
]
|
||||
onCurrentIndexChanged: cfg_fontStyle = model[currentIndex]["name"]
|
||||
Component.onCompleted: {
|
||||
for (var i = 0; i < model.length; i++) {
|
||||
if (model[i]["name"] == plasmoid.configuration.fontStyle) {
|
||||
fontStyle.currentIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Font color")
|
||||
}
|
||||
QtControls.Button {
|
||||
id: selectColor
|
||||
style: QtStyles.ButtonStyle {
|
||||
background: Rectangle {
|
||||
color: plasmoid.configuration.fontColor
|
||||
}
|
||||
}
|
||||
text: plasmoid.configuration.fontColor
|
||||
onClicked: colorDialog.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Active icon")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: activeIcon
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.activeIconPath
|
||||
}
|
||||
QtControls.Button {
|
||||
text: i18n("Browse")
|
||||
onClicked: {
|
||||
// FIXME: more clean directory definition
|
||||
var list = inactiveIcon.text.split('/')
|
||||
list.pop()
|
||||
activeFileDialog.folder = "/" + list.join('/')
|
||||
activeFileDialog.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: activeFileDialog
|
||||
title: i18n("Select a path")
|
||||
nameFilters: [ "Image files (*.jpeg *.jpg *.png)", "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: activeIcon.text = activeFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Inactive icon")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: inactiveIcon
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.inactiveIconPath
|
||||
}
|
||||
QtControls.Button {
|
||||
text: i18n("Browse")
|
||||
onClicked: {
|
||||
// FIXME: more clean directory definition
|
||||
var list = inactiveIcon.text.split('/')
|
||||
list.pop()
|
||||
inactiveFileDialog.folder = "/" + list.join('/')
|
||||
inactiveFileDialog.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: inactiveFileDialog
|
||||
title: i18n("Select a path")
|
||||
nameFilters: [ "Image files (*.jpeg *.jpg *.png)", "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: inactiveIcon.text = inactiveFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QtDialogs.ColorDialog {
|
||||
id: colorDialog
|
||||
title: i18n("Select a color")
|
||||
color: selectColor.text
|
||||
onAccepted: {
|
||||
selectColor.text = colorDialog.color
|
||||
}
|
||||
}
|
||||
|
||||
QtDialogs.FontDialog {
|
||||
id: fontDialog
|
||||
title: i18n("Select a font")
|
||||
font: Qt.font({ family: selectFont.text, pointSize: fontSize.value, weight: Font.Normal })
|
||||
onAccepted: {
|
||||
selectFont.text = fontDialog.font.family
|
||||
fontSize.value = fontDialog.font.pointSize
|
||||
fontStyle.currentIndex = fontDialog.font.italic ? 1 : 0
|
||||
fontWeight.currentIndex = weight[fontDialog.font.weight]
|
||||
}
|
||||
}
|
||||
}
|
143
sources/plasmoid-kf5/plasmoid/contents/ui/main.qml
Normal file
143
sources/plasmoid-kf5/plasmoid/contents/ui/main.qml
Normal file
@ -0,0 +1,143 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.3 as QtControls
|
||||
import org.kde.plasma.plasmoid 2.0
|
||||
import org.kde.plasma.core 2.0 as PlasmaCore
|
||||
import org.kde.plasma.components 2.0 as PlasmaComponents
|
||||
|
||||
import org.kde.plasma.private.netctl 1.0
|
||||
|
||||
|
||||
Item {
|
||||
id: main
|
||||
|
||||
// variables
|
||||
// internal
|
||||
property variant weight: {
|
||||
"light": Font.Light,
|
||||
"normal": Font.Normal,
|
||||
"demibold": Font.DemiBold,
|
||||
"bold": Font.Bold,
|
||||
"black": Font.Black
|
||||
}
|
||||
property variant align: {
|
||||
"left": Text.AlignLeft,
|
||||
"center": Text.AlignHCenter,
|
||||
"right": Text.AlignRight,
|
||||
"justify": Text.AlignJustify
|
||||
}
|
||||
// external
|
||||
property variant iconPath: {
|
||||
"true": plasmoid.configuration.activeIconPath,
|
||||
"false": plasmoid.configuration.inactiveIconPath
|
||||
}
|
||||
property variant info: {
|
||||
"current": "N\\A",
|
||||
"extip4": "127.0.0.1",
|
||||
"extip6": "::1",
|
||||
"intip4": "127.0.0.1",
|
||||
"intip6": "::1",
|
||||
"interfaces": "lo",
|
||||
"profiles": "",
|
||||
"status": "N\\A"
|
||||
}
|
||||
property int interval: plasmoid.configuration.autoUpdateInterval
|
||||
property string pattern: plasmoid.configuration.textPattern
|
||||
property variant paths: {
|
||||
"netctl": plasmoid.configuration.netctlPath,
|
||||
"sudo": plasmoid.configuration.sudoPath
|
||||
}
|
||||
property bool status: false
|
||||
property bool useHelper: plasmoid.configuration.useHelper
|
||||
|
||||
// init
|
||||
Plasmoid.icon: icon.source
|
||||
|
||||
PlasmaCore.DataSource {
|
||||
id: mainData
|
||||
engine: "netctl"
|
||||
connectedSources: ["active", "current", "extip4", "extip6", "interfaces", "intip4", "intip6", "profiles", "status"]
|
||||
interval: main.interval
|
||||
|
||||
onNewData: {
|
||||
if (data.isEmpty) return
|
||||
if (sourceName == "active") {
|
||||
main.status = data.value == "true" ? true : false
|
||||
icon.source = iconPath[data.value]
|
||||
} else if (sourceName == "current") {
|
||||
info["current"] = data.value
|
||||
// text update
|
||||
info["info"] = NetctlAdds.getInfo(info["current"], info["status"])
|
||||
text.text = NetctlAdds.parsePattern(pattern, info)
|
||||
} else if (sourceName == "extip4") {
|
||||
info["extip4"] = data.value
|
||||
} else if (sourceName == "extip6") {
|
||||
info["extip6"] = data.value
|
||||
} else if (sourceName == "interfaces") {
|
||||
info["interfaces"] = data.value
|
||||
} else if (sourceName == "intip4") {
|
||||
info["intip4"] = data.value
|
||||
} else if (sourceName == "intip6") {
|
||||
info["intip6"] = data.value
|
||||
} else if (sourceName == "profiles") {
|
||||
info["profiles"] = data.value
|
||||
} else if (sourceName == "status") {
|
||||
info["status"] = data.value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ui
|
||||
Grid {
|
||||
id: mainGrid
|
||||
columns: 2
|
||||
|
||||
Image {
|
||||
id: icon
|
||||
source: iconPath["false"]
|
||||
}
|
||||
Text {
|
||||
id: text
|
||||
color: plasmoid.configuration.fontColor
|
||||
font.family: plasmoid.configuration.fontFamily
|
||||
font.italic: plasmoid.configuration.fontStyle == "italic" ? true : false
|
||||
font.pointSize: plasmoid.configuration.fontSize
|
||||
font.weight: weight[plasmoid.configuration.fontWeight]
|
||||
horizontalAlignment: align[plasmoid.configuration.textAlign]
|
||||
textFormat: Text.RichText
|
||||
text: "N\\A"
|
||||
}
|
||||
}
|
||||
|
||||
QtControls.Action {
|
||||
id: stopProfile
|
||||
text: i18n("Stop profile")
|
||||
iconSource: "dialog-close"
|
||||
onTriggered: NetctlAdds.stopProfileSlot(info, useHelper, paths["netctl"], paths["sudo"])
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
plasmoid.setAction("stopProfile", i18n("Stop profile"), "dialog-close")
|
||||
// plasmoid.setAction("powerdevilkcm", i18n("&Configure Power Saving..."), "preferences-system-power-management");
|
||||
}
|
||||
|
||||
function action_stopProfile() {
|
||||
NetctlAdds.stopProfileSlot(info, useHelper, paths["netctl"], paths["sudo"])
|
||||
}
|
||||
}
|
215
sources/plasmoid-kf5/plasmoid/contents/ui/widget.qml
Normal file
215
sources/plasmoid-kf5/plasmoid/contents/ui/widget.qml
Normal file
@ -0,0 +1,215 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Controls 1.0 as QtControls
|
||||
import QtQuick.Dialogs 1.1 as QtDialogs
|
||||
import QtQuick.Layouts 1.0 as QtLayouts
|
||||
|
||||
|
||||
Item {
|
||||
id: widgetPage
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
|
||||
property alias cfg_autoUpdateInterval: autoUpdate.value
|
||||
property alias cfg_guiPath: guiPath.text
|
||||
property alias cfg_useHelper: useHelper.checked
|
||||
property alias cfg_helperPath: helperPath.text
|
||||
property alias cfg_netctlPath: netctlPath.text
|
||||
property alias cfg_netctlPathAuto: netctlAutoPath.text
|
||||
property alias cfg_useSudo: useSudo.checked
|
||||
property alias cfg_sudoPath: sudoPath.text
|
||||
property alias cfg_useWifi: useWifi.checked
|
||||
property alias cfg_wifiPath: wifiPath.text
|
||||
property alias cfg_textPattern: textPattern.text
|
||||
|
||||
|
||||
QtLayouts.ColumnLayout {
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Auto update interval, msec")
|
||||
}
|
||||
QtControls.SpinBox {
|
||||
id: autoUpdate
|
||||
minimumValue: 1000
|
||||
maximumValue: 10000
|
||||
stepSize: 500
|
||||
value: plasmoid.configuration.autoUpdateInterval
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Path to GUI")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: guiPath
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.guiPath
|
||||
}
|
||||
QtControls.Button {
|
||||
text: i18n("Browse")
|
||||
onClicked: guiFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: guiFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: guiPath.text = guiFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.CheckBox {
|
||||
id: useHelper
|
||||
text: i18n("Use helper")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: helperPath
|
||||
enabled: useHelper.checked
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.helperPath
|
||||
}
|
||||
QtControls.Button {
|
||||
enabled: useHelper.checked
|
||||
text: i18n("Browse")
|
||||
onClicked: helperFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: helperFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: helperPath.text = helperFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Path to netctl")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: netctlPath
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.netctlPath
|
||||
}
|
||||
QtControls.Button {
|
||||
text: i18n("Browse")
|
||||
onClicked: netctlFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: netctlFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: netctlPath.text = netctlFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.Label {
|
||||
text: i18n("Path to netctl-auto")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: netctlAutoPath
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.netctlAutoPath
|
||||
}
|
||||
QtControls.Button {
|
||||
text: i18n("Browse")
|
||||
onClicked: netctlAutoFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: netctlAutoFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: netctlAutoPath.text = netctlAutoFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.CheckBox {
|
||||
id: useSudo
|
||||
text: i18n("Use sudo for netctl")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: sudoPath
|
||||
enabled: useSudo.checked
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.sudoPath
|
||||
}
|
||||
QtControls.Button {
|
||||
enabled: useSudo.checked
|
||||
text: i18n("Browse")
|
||||
onClicked: sudoFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: sudoFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: sudoPath.text = sudoFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtLayouts.RowLayout {
|
||||
QtControls.CheckBox {
|
||||
id: useWifi
|
||||
text: i18n("Show 'Start WiFi menu'")
|
||||
}
|
||||
QtControls.TextField {
|
||||
id: wifiPath
|
||||
enabled: useWifi.checked
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.wifiPath
|
||||
}
|
||||
QtControls.Button {
|
||||
enabled: useWifi.checked
|
||||
text: i18n("Browse")
|
||||
onClicked: wifiFileDialog.visible = true
|
||||
}
|
||||
|
||||
QtDialogs.FileDialog {
|
||||
id: wifiFileDialog
|
||||
title: i18n("Select a path")
|
||||
folder: "/usr/bin"
|
||||
nameFilters: [ "All files (*)" ]
|
||||
selectExisting: true
|
||||
onAccepted: wifiPath.text = wifiFileDialog.fileUrl
|
||||
}
|
||||
}
|
||||
|
||||
QtControls.TextArea {
|
||||
id: textPattern
|
||||
QtLayouts.Layout.fillWidth: true
|
||||
text: plasmoid.configuration.textPattern
|
||||
}
|
||||
}
|
||||
}
|
22
sources/plasmoid-kf5/plasmoid/metadata.desktop
Normal file
22
sources/plasmoid-kf5/plasmoid/metadata.desktop
Normal file
@ -0,0 +1,22 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=Netctl
|
||||
Comment=Plasmoid for netctl
|
||||
Type=Service
|
||||
Icon=netctl-gui-widget
|
||||
|
||||
X-KDE-ServiceTypes=Plasma/Applet
|
||||
X-Plasma-API=declarativeappletscript
|
||||
X-Plasma-MainScript=ui/main.qml
|
||||
X-Plasma-NotificationArea=true
|
||||
X-Plasma-RemoteLocation=
|
||||
|
||||
X-KDE-PluginInfo-Author=Evgeniy Alekseev
|
||||
X-KDE-PluginInfo-Email=esalexeev@gmail.com
|
||||
X-KDE-PluginInfo-Name=org.kde.plasma.netctl
|
||||
X-KDE-PluginInfo-Version=@PROJECT_VERSION@
|
||||
X-KDE-PluginInfo-Website=http://arcanis.name/projects/netctl-gui
|
||||
X-KDE-PluginInfo-Category=Network
|
||||
X-KDE-PluginInfo-Depends=
|
||||
X-KDE-PluginInfo-License=GPLv3
|
||||
X-KDE-PluginInfo-EnabledByDefault=true
|
16
sources/plasmoid-kf5/plugin/CMakeLists.txt
Normal file
16
sources/plasmoid-kf5/plugin/CMakeLists.txt
Normal file
@ -0,0 +1,16 @@
|
||||
include_directories (${CMAKE_SOURCE_DIR}
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../
|
||||
${PROJECT_TRDPARTY_DIR}
|
||||
${Qt_INCLUDE}
|
||||
${Kf5_INCLUDE})
|
||||
|
||||
file (GLOB SUBPROJECT_SOURCE *.cpp)
|
||||
|
||||
add_library (${PLUGIN_NAME} SHARED ${SUBPROJECT_SOURCE})
|
||||
target_link_libraries (${PLUGIN_NAME} ${Qt5Core_LIBRARIES} ${Qt5DBus_LIBRARIES} ${Qt5Qml_LIBRARIES} ${I18n_LIBRARIES} ${Plasma_LIBRARIES}
|
||||
KF5::I18n KF5::Notifications)
|
||||
|
||||
install (TARGETS ${PLUGIN_NAME} DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/netctl)
|
||||
install (FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/plasma/private/netctl)
|
38
sources/plasmoid-kf5/plugin/netctl.cpp
Normal file
38
sources/plasmoid-kf5/plugin/netctl.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
#include <QtQml>
|
||||
|
||||
#include "netctl.h"
|
||||
#include "netctladds.h"
|
||||
|
||||
|
||||
static QObject *netctl_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
|
||||
{
|
||||
Q_UNUSED(engine)
|
||||
Q_UNUSED(scriptEngine)
|
||||
|
||||
return new NetctlAdds();
|
||||
}
|
||||
|
||||
|
||||
void NetctlPlugin::registerTypes(const char *uri)
|
||||
{
|
||||
Q_ASSERT(uri == QLatin1String("org.kde.plasma.private.netctl"));
|
||||
|
||||
qmlRegisterSingletonType<NetctlAdds>(uri, 1, 0, "NetctlAdds", netctl_singletontype_provider);
|
||||
}
|
37
sources/plasmoid-kf5/plugin/netctl.h
Normal file
37
sources/plasmoid-kf5/plugin/netctl.h
Normal file
@ -0,0 +1,37 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef NETCTLPLUGIN_H
|
||||
#define NETCTLPLUGIN_H
|
||||
|
||||
#include <QQmlExtensionPlugin>
|
||||
|
||||
|
||||
class QQmlEngine;
|
||||
|
||||
class NetctlPlugin : public QQmlExtensionPlugin
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
|
||||
|
||||
public:
|
||||
void registerTypes(const char *uri);
|
||||
};
|
||||
|
||||
|
||||
#endif /* NETCTLPLUGIN_H */
|
297
sources/plasmoid-kf5/plugin/netctladds.cpp
Normal file
297
sources/plasmoid-kf5/plugin/netctladds.cpp
Normal file
@ -0,0 +1,297 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
#include <KI18n/KLocalizedString>
|
||||
#include <KNotifications/KNotification>
|
||||
|
||||
#include <QDBusConnection>
|
||||
#include <QDBusMessage>
|
||||
#include <QDebug>
|
||||
#include <QProcessEnvironment>
|
||||
|
||||
#include <pdebug/pdebug.h>
|
||||
|
||||
#include "netctladds.h"
|
||||
#include "version.h"
|
||||
|
||||
|
||||
NetctlAdds::NetctlAdds(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
// debug
|
||||
QProcessEnvironment environment = QProcessEnvironment::systemEnvironment();
|
||||
QString debugEnv = environment.value(QString("NETCTLGUI_DEBUG"), QString("no"));
|
||||
debug = (debugEnv == QString("yes"));
|
||||
}
|
||||
|
||||
|
||||
NetctlAdds::~NetctlAdds()
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
}
|
||||
|
||||
|
||||
bool NetctlAdds::checkHelperStatus(const bool useHelper)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
if (useHelper)
|
||||
return !sendDBusRequest(QString("Active"), QList<QVariant>()).isEmpty();
|
||||
else
|
||||
return useHelper;
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::startHelper(const QString cmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
QProcess command;
|
||||
|
||||
command.startDetached(cmd);
|
||||
}
|
||||
|
||||
|
||||
QList<QVariant> NetctlAdds::sendDBusRequest(const QString cmd, const QList<QVariant> args)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "args" << args;
|
||||
|
||||
QDBusConnection bus = QDBusConnection::systemBus();
|
||||
QDBusMessage request = QDBusMessage::createMethodCall(DBUS_HELPER_SERVICE, DBUS_CTRL_PATH,
|
||||
DBUS_HELPER_INTERFACE, cmd);
|
||||
if (!args.isEmpty())
|
||||
request.setArguments(args);
|
||||
QDBusMessage response = bus.call(request, QDBus::BlockWithGui);
|
||||
QList<QVariant> arguments = response.arguments();
|
||||
if (arguments.size() == 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error message" << response.errorMessage();
|
||||
|
||||
return arguments;
|
||||
}
|
||||
|
||||
|
||||
QString NetctlAdds::getAboutText(const QString type)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Type" << type;
|
||||
|
||||
QString text;
|
||||
if (type == QString("header"))
|
||||
text = QString(NAME);
|
||||
else if (type == QString("description"))
|
||||
text = i18n("KDE widget which interacts with netctl.");
|
||||
else if (type == QString("links"))
|
||||
text = i18n("Links:") + QString("<br>") +
|
||||
QString("<a href=\"%1\">%2</a><br>").arg(QString(HOMEPAGE)).arg(i18n("Homepage")) +
|
||||
QString("<a href=\"%1\">%2</a><br>").arg(QString(REPOSITORY)).arg(i18n("Repository")) +
|
||||
QString("<a href=\"%1\">%2</a><br>").arg(QString(BUGTRACKER)).arg(i18n("Bugtracker")) +
|
||||
QString("<a href=\"%1\">%2</a><br>").arg(QString(TRANSLATION)).arg(i18n("Translation issue")) +
|
||||
QString("<a href=\"%1\">%2</a>").arg(QString(AUR_PACKAGES)).arg(i18n("AUR packages"));
|
||||
else if (type == QString("copy"))
|
||||
text = QString("<small>© %1 <a href=\"mailto:%2\">%3</a><br>").arg(QString(DATE)).arg(QString(EMAIL)).arg(QString(AUTHOR)) +
|
||||
i18n("This software is licensed under %1", QString(LICENSE)) + QString("</small>");
|
||||
else if (type == QString("translators"))
|
||||
text = i18n("Translators: %1", QString(TRANSLATORS));
|
||||
else if (type == QString("3rdparty")) {
|
||||
QStringList trdPartyList = QString(TRDPARTY_LICENSE).split(QChar(';'), QString::SkipEmptyParts);
|
||||
for (int i=0; i<trdPartyList.count(); i++)
|
||||
trdPartyList[i] = QString("<a href=\"%3\">%1</a> (%2 license)")
|
||||
.arg(trdPartyList[i].split(QChar(','))[0])
|
||||
.arg(trdPartyList[i].split(QChar(','))[1])
|
||||
.arg(trdPartyList[i].split(QChar(','))[2]);
|
||||
text = i18n("This software uses: %1", trdPartyList.join(QString(", ")));
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
QString NetctlAdds::getInfo(const QString current, const QString status)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Current profiles" << current;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Statuses" << status;
|
||||
|
||||
QStringList profiles;
|
||||
for (int i=0; i<current.split(QChar('|')).count(); i++)
|
||||
profiles.append(current.split(QChar('|'))[i] +
|
||||
QString(" (") + status.split(QChar('|'))[i] + QString(")"));
|
||||
|
||||
return profiles.join(QString(" | "));
|
||||
}
|
||||
|
||||
|
||||
QString NetctlAdds::parsePattern(const QString pattern, const QMap<QString, QVariant> dict)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Dictionary" << dict;
|
||||
|
||||
QString parsed = pattern;
|
||||
for (int i=0; i<dict.keys().count(); i++)
|
||||
parsed.replace(QString("$") + dict.keys()[i], dict[dict.keys()[i]].toString());
|
||||
// fix newline
|
||||
parsed.replace(QString("\n"), QString("<br>"));
|
||||
|
||||
return parsed;
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::runCmd(const QString cmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd" << cmd;
|
||||
|
||||
QProcess command;
|
||||
|
||||
command.startDetached(cmd);
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::sendNotification(const QString eventId, const QString message)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Event" << eventId;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Message" << message;
|
||||
|
||||
KNotification::event(eventId, QString("Netctl ::: ") + eventId, message);
|
||||
}
|
||||
|
||||
|
||||
// context menu
|
||||
void NetctlAdds::enableProfileSlot(const QMap<QString, QVariant> dict, const bool useHelper,
|
||||
const QString cmd, const QString sudoCmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
QString enableStatus = QString("");
|
||||
if (dict[QString("status")].toString().contains(QString("enabled"))) {
|
||||
enableStatus = QString(" disable ");
|
||||
sendNotification(QString("Info"), i18n("Set profile %1 disabled", dict[QString("current")].toString()));
|
||||
} else {
|
||||
enableStatus = QString(" enable ");
|
||||
sendNotification(QString("Info"), i18n("Set profile %1 enabled", dict[QString("current")].toString()));
|
||||
}
|
||||
if (useHelper) {
|
||||
QList<QVariant> args;
|
||||
args.append(dict[QString("current")].toString());
|
||||
sendDBusRequest(QString("Enable"), args);
|
||||
} else {
|
||||
QProcess command;
|
||||
QString commandLine = sudoCmd + QString(" ") + cmd + enableStatus + dict[QString("current")].toString();
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::restartProfileSlot(const QMap<QString, QVariant> dict, const bool useHelper,
|
||||
const QString cmd, const QString sudoCmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
sendNotification(QString("Info"), i18n("Restart profile %1", dict[QString("current")].toString()));
|
||||
if (useHelper) {
|
||||
QList<QVariant> args;
|
||||
args.append(dict[QString("current")].toString());
|
||||
sendDBusRequest(QString("Restart"), args);
|
||||
} else {
|
||||
QProcess command;
|
||||
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" restart ") + dict[QString("current")].toString();
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::startProfileSlot(QString profile, const bool status,
|
||||
const bool useHelper, const QString cmd, const QString sudoCmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
|
||||
|
||||
profile.remove(QChar('&'));
|
||||
sendNotification(QString("Info"), i18n("Start profile %1", profile));
|
||||
if (useHelper) {
|
||||
QList<QVariant> args;
|
||||
args.append(profile);
|
||||
if (status)
|
||||
sendDBusRequest(QString("SwitchTo"), args);
|
||||
else
|
||||
sendDBusRequest(QString("Start"), args);
|
||||
} else {
|
||||
QProcess command;
|
||||
QString commandLine = sudoCmd + QString(" ") + cmd;
|
||||
if (status)
|
||||
commandLine += QString(" switch-to ") + profile;
|
||||
else
|
||||
commandLine += QString(" start ") + profile;
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::stopProfileSlot(const QMap<QString, QVariant> dict, const bool useHelper,
|
||||
const QString cmd, const QString sudoCmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
sendNotification(QString("Info"), i18n("Stop profile %1", dict[QString("current")].toString()));
|
||||
if (useHelper) {
|
||||
QList<QVariant> args;
|
||||
args.append(dict[QString("current")].toString());
|
||||
sendDBusRequest(QString("Start"), args);
|
||||
} else {
|
||||
QProcess command;
|
||||
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" stop ") + dict[QString("current")].toString();
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::stopAllProfilesSlot(const bool useHelper, const QString cmd, const QString sudoCmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
sendNotification(QString("Info"), i18n("Stop all profiles"));
|
||||
if (useHelper)
|
||||
sendDBusRequest(QString("StopAll"), QList<QVariant>());
|
||||
else {
|
||||
QProcess command;
|
||||
QString commandLine = sudoCmd + QString(" ") + cmd + QString(" stop-all");
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void NetctlAdds::switchToProfileSlot(QString profile, const bool useHelper,
|
||||
const QString cmd)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Profile" << profile;
|
||||
|
||||
profile.remove(QChar('&'));
|
||||
sendNotification(QString("Info"), i18n("Switch to profile %1", profile));
|
||||
if (useHelper) {
|
||||
QList<QVariant> args;
|
||||
args.append(profile);
|
||||
sendDBusRequest(QString("autoStart"), args);
|
||||
} else {
|
||||
QProcess command;
|
||||
QString commandLine = cmd + QString(" switch-to ") + profile;
|
||||
command.startDetached(commandLine);
|
||||
}
|
||||
}
|
74
sources/plasmoid-kf5/plugin/netctladds.h
Normal file
74
sources/plasmoid-kf5/plugin/netctladds.h
Normal file
@ -0,0 +1,74 @@
|
||||
/***************************************************************************
|
||||
* This file is part of netctl-gui *
|
||||
* *
|
||||
* netctl-gui is free software: you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
* published by the Free Software Foundation, either version 3 of the *
|
||||
* License, or (at your option) any later version. *
|
||||
* *
|
||||
* netctl-gui is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef NETCTLADDS_H
|
||||
#define NETCTLADDS_H
|
||||
|
||||
#include <QMap>
|
||||
#include <QObject>
|
||||
#include <QVariant>
|
||||
|
||||
|
||||
class NetctlAdds : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
NetctlAdds(QObject *parent = 0);
|
||||
~NetctlAdds();
|
||||
|
||||
Q_INVOKABLE QString getAboutText(const QString type = "header");
|
||||
Q_INVOKABLE QString getInfo(const QString current, const QString status);
|
||||
Q_INVOKABLE QString parsePattern(const QString pattern, const QMap<QString, QVariant> dict);
|
||||
Q_INVOKABLE void runCmd(const QString cmd);
|
||||
Q_INVOKABLE void sendNotification(const QString eventId, const QString message);
|
||||
// context menu
|
||||
Q_INVOKABLE void enableProfileSlot(const QMap<QString, QVariant> dict,
|
||||
const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl"),
|
||||
const QString sudoCmd = QString(""));
|
||||
Q_INVOKABLE void restartProfileSlot(const QMap<QString, QVariant> dict,
|
||||
const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl"),
|
||||
const QString sudoCmd = QString(""));
|
||||
Q_INVOKABLE void startProfileSlot(QString profile, const bool status,
|
||||
const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl"),
|
||||
const QString sudoCmd = QString(""));
|
||||
Q_INVOKABLE void stopProfileSlot(const QMap<QString, QVariant> dict,
|
||||
const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl"),
|
||||
const QString sudoCmd = QString(""));
|
||||
Q_INVOKABLE void stopAllProfilesSlot(const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl"),
|
||||
const QString sudoCmd = QString(""));
|
||||
Q_INVOKABLE void switchToProfileSlot(QString profile,
|
||||
const bool useHelper = true,
|
||||
const QString cmd = QString("/usr/bin/netctl-auto"));
|
||||
|
||||
private:
|
||||
bool debug = false;
|
||||
// helper
|
||||
bool checkHelperStatus(const bool useHelper = true);
|
||||
void startHelper(const QString cmd = QString("/usr/bin/netctlgui-helper"));
|
||||
// dbus
|
||||
QList<QVariant> sendDBusRequest(const QString cmd, const QList<QVariant> args = QList<QVariant>());
|
||||
};
|
||||
|
||||
|
||||
#endif /* NETCTLADDS_H */
|
3
sources/plasmoid-kf5/plugin/qmldir
Normal file
3
sources/plasmoid-kf5/plugin/qmldir
Normal file
@ -0,0 +1,3 @@
|
||||
module org.kde.plasma.private.netctl
|
||||
|
||||
plugin netctlplugin
|
24
sources/plasmoid-kf5/po/CMakeLists.txt
Normal file
24
sources/plasmoid-kf5/po/CMakeLists.txt
Normal file
@ -0,0 +1,24 @@
|
||||
find_package(KDE4 REQUIRED)
|
||||
find_package(Gettext REQUIRED)
|
||||
|
||||
if (NOT GETTEXT_MSGFMT_EXECUTABLE)
|
||||
message(FATAL_ERROR "Please install the msgfmt binary")
|
||||
endif (NOT GETTEXT_MSGFMT_EXECUTABLE)
|
||||
|
||||
file (GLOB _po_files *.po)
|
||||
|
||||
set (_gmoFiles)
|
||||
|
||||
foreach (_current_PO_FILE ${_po_files})
|
||||
get_filename_component (_lang ${_current_PO_FILE} NAME_WE)
|
||||
set (_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
|
||||
add_custom_command (OUTPUT ${_gmoFile}
|
||||
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_current_PO_FILE}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
DEPENDS ${_current_PO_FILE}
|
||||
)
|
||||
|
||||
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES/ RENAME plasma_applet_netctl.mo)
|
||||
list (APPEND _gmoFiles ${_gmoFile})
|
||||
endforeach (_current_PO_FILE)
|
||||
add_custom_target (pofiles ALL DEPENDS ${_gmoFiles})
|
448
sources/plasmoid-kf5/po/en.po
Normal file
448
sources/plasmoid-kf5/po/en.po
Normal file
@ -0,0 +1,448 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Evgeniy Alekseev <esalexeev@gmail.com>, 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/netctl-gui/issues\n"
|
||||
"POT-Creation-Date: 2014-08-24 16:44+0400\n"
|
||||
"PO-Revision-Date: 2014-08-20 12:00+0400\n"
|
||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
|
||||
#: netctl.cpp:270
|
||||
msgid "Set profile %1 disabled"
|
||||
msgstr "Set profile %1 disabled"
|
||||
|
||||
#: netctl.cpp:273
|
||||
msgid "Set profile %1 enabled"
|
||||
msgstr "Set profile %1 enabled"
|
||||
|
||||
#: netctl.cpp:294
|
||||
msgid "Restart profile %1"
|
||||
msgstr "Restart profile %1"
|
||||
|
||||
#: netctl.cpp:315
|
||||
msgid "Start profile %1"
|
||||
msgstr "Start profile %1"
|
||||
|
||||
#: netctl.cpp:341
|
||||
msgid "Stop profile %1"
|
||||
msgstr "Stop profile %1"
|
||||
|
||||
#: netctl.cpp:361 netctl.cpp:499
|
||||
msgid "Stop all profiles"
|
||||
msgstr "Stop all profiles"
|
||||
|
||||
#: netctl.cpp:381
|
||||
msgid "Switch to profile %1"
|
||||
msgstr "Switch to profile %1"
|
||||
|
||||
#: netctl.cpp:454
|
||||
msgid "Start another profile"
|
||||
msgstr "Start another profile"
|
||||
|
||||
#: netctl.cpp:455
|
||||
msgid "Stop %1"
|
||||
msgstr "Stop %1"
|
||||
|
||||
#: netctl.cpp:456
|
||||
msgid "Restart %1"
|
||||
msgstr "Restart %1"
|
||||
|
||||
#: netctl.cpp:458
|
||||
msgid "Disable %1"
|
||||
msgstr "Disable %1"
|
||||
|
||||
#: netctl.cpp:460
|
||||
msgid "Enable %1"
|
||||
msgstr "Enable %1"
|
||||
|
||||
#: netctl.cpp:463 netctl.cpp:486
|
||||
msgid "Start profile"
|
||||
msgstr "Start profile"
|
||||
|
||||
#: netctl.cpp:494
|
||||
msgid "Stop profile"
|
||||
msgstr "Stop profile"
|
||||
|
||||
#: netctl.cpp:504
|
||||
msgid "Switch to profile"
|
||||
msgstr "Switch to profile"
|
||||
|
||||
#: netctl.cpp:512
|
||||
msgid "Restart profile"
|
||||
msgstr "Restart profile"
|
||||
|
||||
#: netctl.cpp:517
|
||||
msgid "Enable profile"
|
||||
msgstr "Enable profile"
|
||||
|
||||
#: netctl.cpp:521
|
||||
msgid "Show netctl-gui"
|
||||
msgstr "Show netctl-gui"
|
||||
|
||||
#: netctl.cpp:526
|
||||
msgid "Show WiFi menu"
|
||||
msgstr "Show WiFi menu"
|
||||
|
||||
#: netctl.cpp:553
|
||||
msgid "Start GUI"
|
||||
msgstr "Start GUI"
|
||||
|
||||
#: netctl.cpp:564
|
||||
msgid "Start WiFi menu"
|
||||
msgstr "Start WiFi menu"
|
||||
|
||||
#: netctl.cpp:604
|
||||
msgid "Network is up"
|
||||
msgstr "Network is up"
|
||||
|
||||
#: netctl.cpp:608
|
||||
msgid "Network is down"
|
||||
msgstr "Network is down"
|
||||
|
||||
#: netctl.cpp:798
|
||||
msgid ""
|
||||
"Version %1\n"
|
||||
"(build date %2)"
|
||||
msgstr ""
|
||||
"Version %1\n"
|
||||
"(build date %2)"
|
||||
|
||||
#: netctl.cpp:799
|
||||
msgid "KDE widget which interacts with netctl."
|
||||
msgstr "KDE widget which interacts with netctl."
|
||||
|
||||
#: netctl.cpp:800
|
||||
msgid "Links:"
|
||||
msgstr "Links:"
|
||||
|
||||
#: netctl.cpp:801
|
||||
msgid "Homepage"
|
||||
msgstr "Homepage"
|
||||
|
||||
#: netctl.cpp:802
|
||||
msgid "Repository"
|
||||
msgstr "Repository"
|
||||
|
||||
#: netctl.cpp:803
|
||||
msgid "Bugtracker"
|
||||
msgstr "Bugtracker"
|
||||
|
||||
#: netctl.cpp:804
|
||||
msgid "Translation issue"
|
||||
msgstr "Translation issue"
|
||||
|
||||
#: netctl.cpp:805
|
||||
msgid "AUR packages"
|
||||
msgstr "AUR packages"
|
||||
|
||||
#: netctl.cpp:807
|
||||
msgid "This software is licensed under %1"
|
||||
msgstr "This software is licensed under %1"
|
||||
|
||||
#: netctl.cpp:815
|
||||
msgid "Translators: %1"
|
||||
msgstr "Translators: %1"
|
||||
|
||||
#: netctl.cpp:816
|
||||
msgid "This software uses: %1"
|
||||
msgstr "This software uses: %1"
|
||||
|
||||
#: netctl.cpp:818
|
||||
msgid "Netctl plasmoid"
|
||||
msgstr "Netctl plasmoid"
|
||||
|
||||
#: netctl.cpp:819
|
||||
msgid "Appearance"
|
||||
msgstr "Appearance"
|
||||
|
||||
#: netctl.cpp:820
|
||||
msgid "DataEngine"
|
||||
msgstr "DataEngine"
|
||||
|
||||
#: netctl.cpp:821
|
||||
msgid "About"
|
||||
msgstr "About"
|
||||
|
||||
#. i18n: file: appearance.ui:47
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
||||
#: po/rc.cpp:3 rc.cpp:3
|
||||
msgid "Inactive icon"
|
||||
msgstr "Inactive icon"
|
||||
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#: po/rc.cpp:6 po/rc.cpp:42 po/rc.cpp:54 po/rc.cpp:60 po/rc.cpp:66
|
||||
#: po/rc.cpp:72 po/rc.cpp:81 po/rc.cpp:87 po/rc.cpp:93 po/rc.cpp:99
|
||||
#: po/rc.cpp:105 po/rc.cpp:111 rc.cpp:6 rc.cpp:42 rc.cpp:54 rc.cpp:60
|
||||
#: rc.cpp:66 rc.cpp:72 rc.cpp:81 rc.cpp:87 rc.cpp:93 rc.cpp:99 rc.cpp:105
|
||||
#: rc.cpp:111
|
||||
msgid "Browse"
|
||||
msgstr "Browse"
|
||||
|
||||
#. i18n: file: appearance.ui:80
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
||||
#: po/rc.cpp:9 rc.cpp:9
|
||||
msgid "Font color"
|
||||
msgstr "Font color"
|
||||
|
||||
#. i18n: file: appearance.ui:112
|
||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
||||
#: po/rc.cpp:12 rc.cpp:12
|
||||
msgid "Set font color"
|
||||
msgstr "Set font color"
|
||||
|
||||
#. i18n: file: appearance.ui:142
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
||||
#: po/rc.cpp:15 rc.cpp:15
|
||||
msgid "Font size"
|
||||
msgstr "Font size"
|
||||
|
||||
#. i18n: file: appearance.ui:174
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
||||
#: po/rc.cpp:18 rc.cpp:18
|
||||
msgid "Set font size"
|
||||
msgstr "Set font size"
|
||||
|
||||
#. i18n: file: appearance.ui:203
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
||||
#: po/rc.cpp:21 rc.cpp:21
|
||||
msgid "Font weight"
|
||||
msgstr "Font weight"
|
||||
|
||||
#. i18n: file: appearance.ui:235
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
||||
#: po/rc.cpp:24 rc.cpp:24
|
||||
msgid "Set font weight"
|
||||
msgstr "Set font weight"
|
||||
|
||||
#. i18n: file: appearance.ui:267
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
||||
#: po/rc.cpp:27 rc.cpp:27
|
||||
msgid "Font style"
|
||||
msgstr "Font style"
|
||||
|
||||
#. i18n: file: appearance.ui:299
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
||||
#: po/rc.cpp:30 rc.cpp:30
|
||||
msgid "Set font style"
|
||||
msgstr "Set font style"
|
||||
|
||||
#. i18n: file: appearance.ui:326
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||
#: po/rc.cpp:33 rc.cpp:33
|
||||
msgid "Font"
|
||||
msgstr "Font"
|
||||
|
||||
#. i18n: file: appearance.ui:358
|
||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
||||
#: po/rc.cpp:36 rc.cpp:36
|
||||
msgid "Set font family"
|
||||
msgstr "Set font family"
|
||||
|
||||
#. i18n: file: appearance.ui:375
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
||||
#: po/rc.cpp:39 rc.cpp:39
|
||||
msgid "Active icon"
|
||||
msgstr "Active icon"
|
||||
|
||||
#. i18n: file: appearance.ui:408
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_textAlign)
|
||||
#: po/rc.cpp:45 rc.cpp:45
|
||||
msgid "Text align"
|
||||
msgstr "Text align"
|
||||
|
||||
#. i18n: file: appearance.ui:440
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_textAlign)
|
||||
#: po/rc.cpp:48 rc.cpp:48
|
||||
msgid "Set text align"
|
||||
msgstr "Set text align"
|
||||
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#: po/rc.cpp:51 po/rc.cpp:90 rc.cpp:51 rc.cpp:90
|
||||
msgid "Path to netctl"
|
||||
msgstr "Path to netctl"
|
||||
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#: po/rc.cpp:57 po/rc.cpp:96 rc.cpp:57 rc.cpp:96
|
||||
msgid "Path to netctl-auto"
|
||||
msgstr "Path to netctl-auto"
|
||||
|
||||
#. i18n: file: dataengine.ui:100
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp4)
|
||||
#: po/rc.cpp:63 rc.cpp:63
|
||||
msgid "Check external IPv4"
|
||||
msgstr "Check external IPv4"
|
||||
|
||||
#. i18n: file: dataengine.ui:136
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp6)
|
||||
#: po/rc.cpp:69 rc.cpp:69
|
||||
msgid "Check external IPv6"
|
||||
msgstr "Check external IPv6"
|
||||
|
||||
#. i18n: file: widget.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_autoUpdate)
|
||||
#: po/rc.cpp:75 rc.cpp:75
|
||||
msgid "Auto update interval, msec"
|
||||
msgstr "Auto update interval, msec"
|
||||
|
||||
#. i18n: file: widget.ui:92
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_gui)
|
||||
#: po/rc.cpp:78 rc.cpp:78
|
||||
msgid "Path to GUI"
|
||||
msgstr "Path to GUI"
|
||||
|
||||
#. i18n: file: widget.ui:125
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_helper)
|
||||
#: po/rc.cpp:84 rc.cpp:84
|
||||
msgid "Use helper"
|
||||
msgstr "Use helper"
|
||||
|
||||
#. i18n: file: widget.ui:227
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
|
||||
#: po/rc.cpp:102 rc.cpp:102
|
||||
msgid "Use sudo for netctl"
|
||||
msgstr "Use sudo for netctl"
|
||||
|
||||
#. i18n: file: widget.ui:263
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
|
||||
#: po/rc.cpp:108 rc.cpp:108
|
||||
msgid "Show 'Start WiFi menu'"
|
||||
msgstr "Show 'Start WiFi menu'"
|
||||
|
||||
#. i18n: file: widget.ui:291
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
|
||||
#: po/rc.cpp:114 rc.cpp:114
|
||||
msgid "Show more detailed interface"
|
||||
msgstr "Show more detailed interface"
|
||||
|
||||
#. i18n: file: widget.ui:309
|
||||
#. i18n: ectx: property (toolTip), widget (QPlainTextEdit, textEdit)
|
||||
#: po/rc.cpp:117 rc.cpp:117
|
||||
msgid ""
|
||||
"$info - active profile information\n"
|
||||
"$current - current profile name\n"
|
||||
"$extip4 - external IPv4\n"
|
||||
"$extip6 - external IPv6\n"
|
||||
"$interfaces - list of the network interfaces\n"
|
||||
"$intip4 - internal IPv4\n"
|
||||
"$intip6 - internal IPv6\n"
|
||||
"$profiles - list of the netctl profiles\n"
|
||||
"$status - current profile status (static/enabled)"
|
||||
msgstr ""
|
||||
"$info - active profile information\n"
|
||||
"$current - current profile name\n"
|
||||
"$extip4 - external IPv4\n"
|
||||
"$extip6 - external IPv6\n"
|
||||
"$interfaces - list of the network interfaces\n"
|
||||
"$intip4 - internal IPv4\n"
|
||||
"$intip6 - internal IPv6\n"
|
||||
"$profiles - list of the netctl profiles\n"
|
||||
"$status - current profile status (static/enabled)"
|
||||
|
||||
#: po/rc.cpp:126 rc.cpp:126
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Evgeniy Alekseev"
|
||||
|
||||
#: po/rc.cpp:127 rc.cpp:127
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "esalexeev@gmail.com"
|
||||
|
||||
#~ msgid "Acknowledgement"
|
||||
#~ msgstr "Acknowledgement"
|
||||
|
||||
#~ msgid "normal"
|
||||
#~ msgstr "normal"
|
||||
|
||||
#~ msgid "italic"
|
||||
#~ msgstr "italic"
|
||||
|
||||
#~ msgid "Path to ip"
|
||||
#~ msgstr "Path to ip"
|
||||
|
||||
#~ msgid "Path to interface list"
|
||||
#~ msgstr "Path to interface list"
|
||||
|
||||
#~ msgid "Show network devices"
|
||||
#~ msgstr "Show network devices"
|
||||
|
||||
#~ msgid "Show external IP"
|
||||
#~ msgstr "Show external IP"
|
||||
|
||||
#~ msgid "Show internal IP"
|
||||
#~ msgstr "Show internal IP"
|
||||
|
||||
#~ msgid "Configuration"
|
||||
#~ msgstr "Configuration"
|
47
sources/plasmoid-kf5/po/extract_messages.sh
Executable file
47
sources/plasmoid-kf5/po/extract_messages.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
# root of translatable sources
|
||||
BASEDIR="../"
|
||||
PROJECT="plasma_applet_netctl"
|
||||
BUGADDR="https://github.com/arcan1s/netctl-gui/issues"
|
||||
# working dir
|
||||
WDIR=`pwd`
|
||||
|
||||
|
||||
echo "Preparing rc files"
|
||||
cd ${BASEDIR}
|
||||
# we use simple sorting to make sure the lines do not jump around too much from system to system
|
||||
find . -name '*.rc' -o -name '*.ui' -o -name '*.kcfg' | sort > ${WDIR}/rcfiles.list
|
||||
xargs --arg-file=${WDIR}/rcfiles.list extractrc > ${WDIR}/rc.cpp
|
||||
# additional string for KAboutData
|
||||
echo 'i18nc("NAME OF TRANSLATORS","Your names");' >> ${WDIR}/rc.cpp
|
||||
echo 'i18nc("EMAIL OF TRANSLATORS","Your emails");' >> ${WDIR}/rc.cpp
|
||||
cd ${WDIR}
|
||||
echo "Done preparing rc files"
|
||||
|
||||
echo "Extracting messages"
|
||||
cd ${BASEDIR}
|
||||
# see above on sorting
|
||||
find . -name '*.cpp' -o -name '*.h' -o -name '*.c' | sort > ${WDIR}/infiles.list
|
||||
echo "rc.cpp" >> ${WDIR}/infiles.list
|
||||
cd ${WDIR}
|
||||
xgettext --from-code=UTF-8 -C -kde -ci18n -ki18n:1 -ki18nc:1c,2 -ki18np:1,2 -ki18ncp:1c,2,3 -ktr2i18n:1 \
|
||||
-kI18N_NOOP:1 -kI18N_NOOP2:1c,2 -kaliasLocale -kki18n:1 -kki18nc:1c,2 -kki18np:1,2 -kki18ncp:1c,2,3 \
|
||||
--msgid-bugs-address="${BUGADDR}" \
|
||||
--files-from=infiles.list -D ${BASEDIR} -D ${WDIR} -o ${PROJECT}.pot || { echo "Error while calling xgettext, aborting."; exit 1; }
|
||||
echo "Done extracting messages"
|
||||
|
||||
echo "Merging translations"
|
||||
catalogs=`find . -name '*.po'`
|
||||
for cat in $catalogs; do
|
||||
echo $cat
|
||||
msgmerge -o $cat.new $cat ${PROJECT}.pot
|
||||
mv $cat.new $cat
|
||||
done
|
||||
echo "Done merging translations"
|
||||
|
||||
|
||||
echo "Cleaning up"
|
||||
cd ${WDIR}
|
||||
rm -f rcfiles.list infiles.list rc.cpp
|
||||
echo "Done"
|
||||
|
422
sources/plasmoid-kf5/po/ja.po
Normal file
422
sources/plasmoid-kf5/po/ja.po
Normal file
@ -0,0 +1,422 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# NOGISAKA Sadata <ngsksdt@gmail.com>, 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/netctl-gui/issues\n"
|
||||
"POT-Creation-Date: 2014-08-24 16:44+0400\n"
|
||||
"PO-Revision-Date: 2014-10-13 16:37+0900\n"
|
||||
"Last-Translator: NOGISAKA Sadata <ngsksdt@gmail.com>\n"
|
||||
"Language-Team: Japanese <kde-i18n-doc@kde.org>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
|
||||
#: netctl.cpp:270
|
||||
msgid "Set profile %1 disabled"
|
||||
msgstr "プロファイル %1 を無効にする"
|
||||
|
||||
#: netctl.cpp:273
|
||||
msgid "Set profile %1 enabled"
|
||||
msgstr "プロファイル %1 を有効にする"
|
||||
|
||||
#: netctl.cpp:294
|
||||
msgid "Restart profile %1"
|
||||
msgstr "プロファイル %1 の利用を再開"
|
||||
|
||||
#: netctl.cpp:315
|
||||
msgid "Start profile %1"
|
||||
msgstr "プロファイル %1 の利用を開始"
|
||||
|
||||
#: netctl.cpp:341
|
||||
msgid "Stop profile %1"
|
||||
msgstr "プロファイル %1 の利用を停止する"
|
||||
|
||||
#: netctl.cpp:361 netctl.cpp:499
|
||||
msgid "Stop all profiles"
|
||||
msgstr "全てのプロファイルの利用を停止する"
|
||||
|
||||
#: netctl.cpp:381
|
||||
msgid "Switch to profile %1"
|
||||
msgstr "プロファイルを %1 へ切り替える"
|
||||
|
||||
#: netctl.cpp:454
|
||||
msgid "Start another profile"
|
||||
msgstr "他のプロファイルの利用を開始"
|
||||
|
||||
#: netctl.cpp:455
|
||||
msgid "Stop %1"
|
||||
msgstr "%1 を停止"
|
||||
|
||||
#: netctl.cpp:456
|
||||
msgid "Restart %1"
|
||||
msgstr "%1 を再開"
|
||||
|
||||
#: netctl.cpp:458
|
||||
msgid "Disable %1"
|
||||
msgstr "%1 を無効にする"
|
||||
|
||||
#: netctl.cpp:460
|
||||
msgid "Enable %1"
|
||||
msgstr "%1 を有効にする"
|
||||
|
||||
#: netctl.cpp:463 netctl.cpp:486
|
||||
msgid "Start profile"
|
||||
msgstr "プロファイルの利用を開始"
|
||||
|
||||
#: netctl.cpp:494
|
||||
msgid "Stop profile"
|
||||
msgstr "プロファイルの利用を停止する"
|
||||
|
||||
#: netctl.cpp:504
|
||||
msgid "Switch to profile"
|
||||
msgstr "プロファイルを切り替える"
|
||||
|
||||
#: netctl.cpp:512
|
||||
msgid "Restart profile"
|
||||
msgstr "プロファイルの利用を再開"
|
||||
|
||||
#: netctl.cpp:517
|
||||
msgid "Enable profile"
|
||||
msgstr "プロファイルを有効にする"
|
||||
|
||||
#: netctl.cpp:521
|
||||
msgid "Show netctl-gui"
|
||||
msgstr "netctl-gui を表示"
|
||||
|
||||
#: netctl.cpp:526
|
||||
msgid "Show WiFi menu"
|
||||
msgstr "WiFi メニューを表示"
|
||||
|
||||
#: netctl.cpp:553
|
||||
msgid "Start GUI"
|
||||
msgstr "GUI を開始"
|
||||
|
||||
#: netctl.cpp:564
|
||||
msgid "Start WiFi menu"
|
||||
msgstr "WiFi メニューを開始"
|
||||
|
||||
#: netctl.cpp:604
|
||||
msgid "Network is up"
|
||||
msgstr "ネットワークは有効です"
|
||||
|
||||
#: netctl.cpp:608
|
||||
msgid "Network is down"
|
||||
msgstr "ネットワークは無効です"
|
||||
|
||||
#: netctl.cpp:798
|
||||
msgid ""
|
||||
"Version %1\n"
|
||||
"(build date %2)"
|
||||
msgstr ""
|
||||
"バージョン:%1\n"
|
||||
"(ビルド日時:%2)"
|
||||
|
||||
#: netctl.cpp:799
|
||||
msgid "KDE widget which interacts with netctl."
|
||||
msgstr "netctl と連携する KDE ウィジェット"
|
||||
|
||||
#: netctl.cpp:800
|
||||
msgid "Links:"
|
||||
msgstr "リンク:"
|
||||
|
||||
#: netctl.cpp:801
|
||||
msgid "Homepage"
|
||||
msgstr "ホームページ"
|
||||
|
||||
#: netctl.cpp:802
|
||||
msgid "Repository"
|
||||
msgstr "レポジトリ"
|
||||
|
||||
#: netctl.cpp:803
|
||||
msgid "Bugtracker"
|
||||
msgstr "バグトラッカ"
|
||||
|
||||
#: netctl.cpp:804
|
||||
msgid "Translation issue"
|
||||
msgstr "翻訳に関する issue"
|
||||
|
||||
#: netctl.cpp:805
|
||||
msgid "AUR packages"
|
||||
msgstr "AUR パッケージ"
|
||||
|
||||
#: netctl.cpp:807
|
||||
msgid "This software is licensed under %1"
|
||||
msgstr "このソフトウェアは %1 の下で許諾されます"
|
||||
|
||||
#: netctl.cpp:815
|
||||
msgid "Translators: %1"
|
||||
msgstr "翻訳者:%1"
|
||||
|
||||
#: netctl.cpp:816
|
||||
msgid "This software uses: %1"
|
||||
msgstr "このソフトウェアは次を利用しています:%1"
|
||||
|
||||
#: netctl.cpp:818
|
||||
msgid "Netctl plasmoid"
|
||||
msgstr "Netctl plasmoid"
|
||||
|
||||
#: netctl.cpp:819
|
||||
msgid "Appearance"
|
||||
msgstr "外観"
|
||||
|
||||
#: netctl.cpp:820
|
||||
msgid "DataEngine"
|
||||
msgstr "DataEngine"
|
||||
|
||||
#: netctl.cpp:821
|
||||
msgid "About"
|
||||
msgstr "概要"
|
||||
|
||||
#. i18n: file: appearance.ui:47
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
||||
#: po/rc.cpp:3 rc.cpp:3
|
||||
msgid "Inactive icon"
|
||||
msgstr "非アクティブ時のアイコン"
|
||||
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#: po/rc.cpp:6 po/rc.cpp:42 po/rc.cpp:54 po/rc.cpp:60 po/rc.cpp:66
|
||||
#: po/rc.cpp:72 po/rc.cpp:81 po/rc.cpp:87 po/rc.cpp:93 po/rc.cpp:99
|
||||
#: po/rc.cpp:105 po/rc.cpp:111 rc.cpp:6 rc.cpp:42 rc.cpp:54 rc.cpp:60
|
||||
#: rc.cpp:66 rc.cpp:72 rc.cpp:81 rc.cpp:87 rc.cpp:93 rc.cpp:99 rc.cpp:105
|
||||
#: rc.cpp:111
|
||||
msgid "Browse"
|
||||
msgstr "参照"
|
||||
|
||||
#. i18n: file: appearance.ui:80
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
||||
#: po/rc.cpp:9 rc.cpp:9
|
||||
msgid "Font color"
|
||||
msgstr "フォントの色"
|
||||
|
||||
#. i18n: file: appearance.ui:112
|
||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
||||
#: po/rc.cpp:12 rc.cpp:12
|
||||
msgid "Set font color"
|
||||
msgstr "フォントの色を設定する"
|
||||
|
||||
#. i18n: file: appearance.ui:142
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
||||
#: po/rc.cpp:15 rc.cpp:15
|
||||
msgid "Font size"
|
||||
msgstr "フォントの大きさ"
|
||||
|
||||
#. i18n: file: appearance.ui:174
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
||||
#: po/rc.cpp:18 rc.cpp:18
|
||||
msgid "Set font size"
|
||||
msgstr "フォントの大きさを設定する"
|
||||
|
||||
#. i18n: file: appearance.ui:203
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
||||
#: po/rc.cpp:21 rc.cpp:21
|
||||
msgid "Font weight"
|
||||
msgstr "フォントの太さ"
|
||||
|
||||
#. i18n: file: appearance.ui:235
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
||||
#: po/rc.cpp:24 rc.cpp:24
|
||||
msgid "Set font weight"
|
||||
msgstr "フォントの太さを設定する"
|
||||
|
||||
#. i18n: file: appearance.ui:267
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
||||
#: po/rc.cpp:27 rc.cpp:27
|
||||
msgid "Font style"
|
||||
msgstr "フォントの字形"
|
||||
|
||||
#. i18n: file: appearance.ui:299
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
||||
#: po/rc.cpp:30 rc.cpp:30
|
||||
msgid "Set font style"
|
||||
msgstr "フォントの字形を設定する"
|
||||
|
||||
#. i18n: file: appearance.ui:326
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||
#: po/rc.cpp:33 rc.cpp:33
|
||||
msgid "Font"
|
||||
msgstr "フォント"
|
||||
|
||||
#. i18n: file: appearance.ui:358
|
||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
||||
#: po/rc.cpp:36 rc.cpp:36
|
||||
msgid "Set font family"
|
||||
msgstr "フォントを設定する"
|
||||
|
||||
#. i18n: file: appearance.ui:375
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
||||
#: po/rc.cpp:39 rc.cpp:39
|
||||
msgid "Active icon"
|
||||
msgstr "アクティブ時のアイコン"
|
||||
|
||||
#. i18n: file: appearance.ui:408
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_textAlign)
|
||||
#: po/rc.cpp:45 rc.cpp:45
|
||||
msgid "Text align"
|
||||
msgstr "テキストの位置"
|
||||
|
||||
#. i18n: file: appearance.ui:440
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_textAlign)
|
||||
#: po/rc.cpp:48 rc.cpp:48
|
||||
msgid "Set text align"
|
||||
msgstr "テキストの位置を設定する"
|
||||
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#: po/rc.cpp:51 po/rc.cpp:90 rc.cpp:51 rc.cpp:90
|
||||
msgid "Path to netctl"
|
||||
msgstr "netctl へのパス"
|
||||
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#: po/rc.cpp:57 po/rc.cpp:96 rc.cpp:57 rc.cpp:96
|
||||
msgid "Path to netctl-auto"
|
||||
msgstr "netctl-auto へのパス"
|
||||
|
||||
#. i18n: file: dataengine.ui:100
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp4)
|
||||
#: po/rc.cpp:63 rc.cpp:63
|
||||
msgid "Check external IPv4"
|
||||
msgstr "外部 IPv4 アドレスを確認"
|
||||
|
||||
#. i18n: file: dataengine.ui:136
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp6)
|
||||
#: po/rc.cpp:69 rc.cpp:69
|
||||
msgid "Check external IPv6"
|
||||
msgstr "外部 IPv6 アドレスを確認"
|
||||
|
||||
#. i18n: file: widget.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_autoUpdate)
|
||||
#: po/rc.cpp:75 rc.cpp:75
|
||||
msgid "Auto update interval, msec"
|
||||
msgstr "自動更新の間隔(ミリ秒)"
|
||||
|
||||
#. i18n: file: widget.ui:92
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_gui)
|
||||
#: po/rc.cpp:78 rc.cpp:78
|
||||
msgid "Path to GUI"
|
||||
msgstr "GUIへのパス"
|
||||
|
||||
#. i18n: file: widget.ui:125
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_helper)
|
||||
#: po/rc.cpp:84 rc.cpp:84
|
||||
msgid "Use helper"
|
||||
msgstr "ヘルパを使用する"
|
||||
|
||||
#. i18n: file: widget.ui:227
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
|
||||
#: po/rc.cpp:102 rc.cpp:102
|
||||
msgid "Use sudo for netctl"
|
||||
msgstr "netctl に対して sudo を使用する"
|
||||
|
||||
#. i18n: file: widget.ui:263
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
|
||||
#: po/rc.cpp:108 rc.cpp:108
|
||||
msgid "Show 'Start WiFi menu'"
|
||||
msgstr "「Wifi メニューの開始」を表示"
|
||||
|
||||
#. i18n: file: widget.ui:291
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
|
||||
#: po/rc.cpp:114 rc.cpp:114
|
||||
msgid "Show more detailed interface"
|
||||
msgstr "インターフェースについての詳細を表示"
|
||||
|
||||
#. i18n: file: widget.ui:309
|
||||
#. i18n: ectx: property (toolTip), widget (QPlainTextEdit, textEdit)
|
||||
#: po/rc.cpp:117 rc.cpp:117
|
||||
msgid ""
|
||||
"$info - active profile information\n"
|
||||
"$current - current profile name\n"
|
||||
"$extip4 - external IPv4\n"
|
||||
"$extip6 - external IPv6\n"
|
||||
"$interfaces - list of the network interfaces\n"
|
||||
"$intip4 - internal IPv4\n"
|
||||
"$intip6 - internal IPv6\n"
|
||||
"$profiles - list of the netctl profiles\n"
|
||||
"$status - current profile status (static/enabled)"
|
||||
msgstr ""
|
||||
"$info - アクティブなプロファイルの情報\n"
|
||||
"$current - 現在利用中プロファイルの情報\n"
|
||||
"$extip4 - 外部 IPv4 アドレス\n"
|
||||
"$extip6 - 外部 IPv6 アドレス\n"
|
||||
"$interfaces - ネットワークインターフェースの一覧\n"
|
||||
"$intip4 - 内部 IPv4 アドレス\n"
|
||||
"$intip6 - 内部 IPv6 アドレス\n"
|
||||
"$profiles - プロファイルの一覧\n"
|
||||
"$status - 現在のプロファイルの状態(静的/有効)"
|
||||
|
||||
#: po/rc.cpp:126 rc.cpp:126
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "NOGISAKA Sadata"
|
||||
|
||||
#: po/rc.cpp:127 rc.cpp:127
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "ngsksdt@gmail.com "
|
||||
|
||||
|
409
sources/plasmoid-kf5/po/plasma_applet_netctl.pot
Normal file
409
sources/plasmoid-kf5/po/plasma_applet_netctl.pot
Normal file
@ -0,0 +1,409 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/netctl-gui/issues\n"
|
||||
"POT-Creation-Date: 2014-08-24 16:44+0400\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: netctl.cpp:270
|
||||
msgid "Set profile %1 disabled"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:273
|
||||
msgid "Set profile %1 enabled"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:294
|
||||
msgid "Restart profile %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:315
|
||||
msgid "Start profile %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:341
|
||||
msgid "Stop profile %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:361 netctl.cpp:499
|
||||
msgid "Stop all profiles"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:381
|
||||
msgid "Switch to profile %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:454
|
||||
msgid "Start another profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:455
|
||||
msgid "Stop %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:456
|
||||
msgid "Restart %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:458
|
||||
msgid "Disable %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:460
|
||||
msgid "Enable %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:463 netctl.cpp:486
|
||||
msgid "Start profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:494
|
||||
msgid "Stop profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:504
|
||||
msgid "Switch to profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:512
|
||||
msgid "Restart profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:517
|
||||
msgid "Enable profile"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:521
|
||||
msgid "Show netctl-gui"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:526
|
||||
msgid "Show WiFi menu"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:553
|
||||
msgid "Start GUI"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:564
|
||||
msgid "Start WiFi menu"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:604
|
||||
msgid "Network is up"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:608
|
||||
msgid "Network is down"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:798
|
||||
msgid ""
|
||||
"Version %1\n"
|
||||
"(build date %2)"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:799
|
||||
msgid "KDE widget which interacts with netctl."
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:800
|
||||
msgid "Links:"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:801
|
||||
msgid "Homepage"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:802
|
||||
msgid "Repository"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:803
|
||||
msgid "Bugtracker"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:804
|
||||
msgid "Translation issue"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:805
|
||||
msgid "AUR packages"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:807
|
||||
msgid "This software is licensed under %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:815
|
||||
msgid "Translators: %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:816
|
||||
msgid "This software uses: %1"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:818
|
||||
msgid "Netctl plasmoid"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:819
|
||||
msgid "Appearance"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:820
|
||||
msgid "DataEngine"
|
||||
msgstr ""
|
||||
|
||||
#: netctl.cpp:821
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:47
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
||||
#: po/rc.cpp:3 rc.cpp:3
|
||||
msgid "Inactive icon"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#: po/rc.cpp:6 po/rc.cpp:42 po/rc.cpp:54 po/rc.cpp:60 po/rc.cpp:66
|
||||
#: po/rc.cpp:72 po/rc.cpp:81 po/rc.cpp:87 po/rc.cpp:93 po/rc.cpp:99
|
||||
#: po/rc.cpp:105 po/rc.cpp:111 rc.cpp:6 rc.cpp:42 rc.cpp:54 rc.cpp:60
|
||||
#: rc.cpp:66 rc.cpp:72 rc.cpp:81 rc.cpp:87 rc.cpp:93 rc.cpp:99 rc.cpp:105
|
||||
#: rc.cpp:111
|
||||
msgid "Browse"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:80
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
||||
#: po/rc.cpp:9 rc.cpp:9
|
||||
msgid "Font color"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:112
|
||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
||||
#: po/rc.cpp:12 rc.cpp:12
|
||||
msgid "Set font color"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:142
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
||||
#: po/rc.cpp:15 rc.cpp:15
|
||||
msgid "Font size"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:174
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
||||
#: po/rc.cpp:18 rc.cpp:18
|
||||
msgid "Set font size"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:203
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
||||
#: po/rc.cpp:21 rc.cpp:21
|
||||
msgid "Font weight"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:235
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
||||
#: po/rc.cpp:24 rc.cpp:24
|
||||
msgid "Set font weight"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:267
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
||||
#: po/rc.cpp:27 rc.cpp:27
|
||||
msgid "Font style"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:299
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
||||
#: po/rc.cpp:30 rc.cpp:30
|
||||
msgid "Set font style"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:326
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||
#: po/rc.cpp:33 rc.cpp:33
|
||||
msgid "Font"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:358
|
||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
||||
#: po/rc.cpp:36 rc.cpp:36
|
||||
msgid "Set font family"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:375
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
||||
#: po/rc.cpp:39 rc.cpp:39
|
||||
msgid "Active icon"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:408
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_textAlign)
|
||||
#: po/rc.cpp:45 rc.cpp:45
|
||||
msgid "Text align"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: appearance.ui:440
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_textAlign)
|
||||
#: po/rc.cpp:48 rc.cpp:48
|
||||
msgid "Set text align"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#: po/rc.cpp:51 po/rc.cpp:90 rc.cpp:51 rc.cpp:90
|
||||
msgid "Path to netctl"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#: po/rc.cpp:57 po/rc.cpp:96 rc.cpp:57 rc.cpp:96
|
||||
msgid "Path to netctl-auto"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: dataengine.ui:100
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp4)
|
||||
#: po/rc.cpp:63 rc.cpp:63
|
||||
msgid "Check external IPv4"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: dataengine.ui:136
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp6)
|
||||
#: po/rc.cpp:69 rc.cpp:69
|
||||
msgid "Check external IPv6"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_autoUpdate)
|
||||
#: po/rc.cpp:75 rc.cpp:75
|
||||
msgid "Auto update interval, msec"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:92
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_gui)
|
||||
#: po/rc.cpp:78 rc.cpp:78
|
||||
msgid "Path to GUI"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:125
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_helper)
|
||||
#: po/rc.cpp:84 rc.cpp:84
|
||||
msgid "Use helper"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:227
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
|
||||
#: po/rc.cpp:102 rc.cpp:102
|
||||
msgid "Use sudo for netctl"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:263
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
|
||||
#: po/rc.cpp:108 rc.cpp:108
|
||||
msgid "Show 'Start WiFi menu'"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:291
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
|
||||
#: po/rc.cpp:114 rc.cpp:114
|
||||
msgid "Show more detailed interface"
|
||||
msgstr ""
|
||||
|
||||
#. i18n: file: widget.ui:309
|
||||
#. i18n: ectx: property (toolTip), widget (QPlainTextEdit, textEdit)
|
||||
#: po/rc.cpp:117 rc.cpp:117
|
||||
msgid ""
|
||||
"$info - active profile information\n"
|
||||
"$current - current profile name\n"
|
||||
"$extip4 - external IPv4\n"
|
||||
"$extip6 - external IPv6\n"
|
||||
"$interfaces - list of the network interfaces\n"
|
||||
"$intip4 - internal IPv4\n"
|
||||
"$intip6 - internal IPv6\n"
|
||||
"$profiles - list of the netctl profiles\n"
|
||||
"$status - current profile status (static/enabled)"
|
||||
msgstr ""
|
||||
|
||||
#: po/rc.cpp:126 rc.cpp:126
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr ""
|
||||
|
||||
#: po/rc.cpp:127 rc.cpp:127
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr ""
|
448
sources/plasmoid-kf5/po/ru.po
Normal file
448
sources/plasmoid-kf5/po/ru.po
Normal file
@ -0,0 +1,448 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Evgeniy Alekseev <esalexeev@gmail.com>, 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/arcan1s/netctl-gui/issues\n"
|
||||
"POT-Creation-Date: 2014-08-24 16:44+0400\n"
|
||||
"PO-Revision-Date: 2014-08-20 12:00+0400\n"
|
||||
"Last-Translator: Evgeniy Alekseev <esalexeev@gmail.com>\n"
|
||||
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
|
||||
#: netctl.cpp:270
|
||||
msgid "Set profile %1 disabled"
|
||||
msgstr "Выключение автозагрузки профиля %1"
|
||||
|
||||
#: netctl.cpp:273
|
||||
msgid "Set profile %1 enabled"
|
||||
msgstr "Включение автозагрузки профиля %1"
|
||||
|
||||
#: netctl.cpp:294
|
||||
msgid "Restart profile %1"
|
||||
msgstr "Перезапуск профиля %1"
|
||||
|
||||
#: netctl.cpp:315
|
||||
msgid "Start profile %1"
|
||||
msgstr "Запуск профиля %1"
|
||||
|
||||
#: netctl.cpp:341
|
||||
msgid "Stop profile %1"
|
||||
msgstr "Остановка профиля %1"
|
||||
|
||||
#: netctl.cpp:361 netctl.cpp:499
|
||||
msgid "Stop all profiles"
|
||||
msgstr "Остановить все профили"
|
||||
|
||||
#: netctl.cpp:381
|
||||
msgid "Switch to profile %1"
|
||||
msgstr "Переключение на профиль %1"
|
||||
|
||||
#: netctl.cpp:454
|
||||
msgid "Start another profile"
|
||||
msgstr "Запустить другой профиль"
|
||||
|
||||
#: netctl.cpp:455
|
||||
msgid "Stop %1"
|
||||
msgstr "Остановить %1"
|
||||
|
||||
#: netctl.cpp:456
|
||||
msgid "Restart %1"
|
||||
msgstr "Перезапустить %1"
|
||||
|
||||
#: netctl.cpp:458
|
||||
msgid "Disable %1"
|
||||
msgstr "Отключить %1"
|
||||
|
||||
#: netctl.cpp:460
|
||||
msgid "Enable %1"
|
||||
msgstr "Включить %1"
|
||||
|
||||
#: netctl.cpp:463 netctl.cpp:486
|
||||
msgid "Start profile"
|
||||
msgstr "Запустить профиль"
|
||||
|
||||
#: netctl.cpp:494
|
||||
msgid "Stop profile"
|
||||
msgstr "Остановить профиль"
|
||||
|
||||
#: netctl.cpp:504
|
||||
msgid "Switch to profile"
|
||||
msgstr "Переключить профиль"
|
||||
|
||||
#: netctl.cpp:512
|
||||
msgid "Restart profile"
|
||||
msgstr "Перезапустить профиль"
|
||||
|
||||
#: netctl.cpp:517
|
||||
msgid "Enable profile"
|
||||
msgstr "Включить профиль"
|
||||
|
||||
#: netctl.cpp:521
|
||||
msgid "Show netctl-gui"
|
||||
msgstr "Показать netctl-gui"
|
||||
|
||||
#: netctl.cpp:526
|
||||
msgid "Show WiFi menu"
|
||||
msgstr "Запустить WiFi-menu"
|
||||
|
||||
#: netctl.cpp:553
|
||||
msgid "Start GUI"
|
||||
msgstr "Запуск GUI"
|
||||
|
||||
#: netctl.cpp:564
|
||||
msgid "Start WiFi menu"
|
||||
msgstr "Запуск WiFi-menu"
|
||||
|
||||
#: netctl.cpp:604
|
||||
msgid "Network is up"
|
||||
msgstr "Сеть работает"
|
||||
|
||||
#: netctl.cpp:608
|
||||
msgid "Network is down"
|
||||
msgstr "Сеть не работает"
|
||||
|
||||
#: netctl.cpp:798
|
||||
msgid ""
|
||||
"Version %1\n"
|
||||
"(build date %2)"
|
||||
msgstr ""
|
||||
"Версия %1\n"
|
||||
"(дата сборки %2)"
|
||||
|
||||
#: netctl.cpp:799
|
||||
msgid "KDE widget which interacts with netctl."
|
||||
msgstr "Виджет KDE, который взаимодействует с netctl."
|
||||
|
||||
#: netctl.cpp:800
|
||||
msgid "Links:"
|
||||
msgstr "Ссылки:"
|
||||
|
||||
#: netctl.cpp:801
|
||||
msgid "Homepage"
|
||||
msgstr "Домашняя страница"
|
||||
|
||||
#: netctl.cpp:802
|
||||
msgid "Repository"
|
||||
msgstr "Репозиторий"
|
||||
|
||||
#: netctl.cpp:803
|
||||
msgid "Bugtracker"
|
||||
msgstr "Багтрекер"
|
||||
|
||||
#: netctl.cpp:804
|
||||
msgid "Translation issue"
|
||||
msgstr "Тикет перевода"
|
||||
|
||||
#: netctl.cpp:805
|
||||
msgid "AUR packages"
|
||||
msgstr "Пакеты в AUR"
|
||||
|
||||
#: netctl.cpp:807
|
||||
msgid "This software is licensed under %1"
|
||||
msgstr "Данное приложение лицензировано под %1"
|
||||
|
||||
#: netctl.cpp:815
|
||||
msgid "Translators: %1"
|
||||
msgstr "Переводчики: %1"
|
||||
|
||||
#: netctl.cpp:816
|
||||
msgid "This software uses: %1"
|
||||
msgstr "Данное приложение использует: %1"
|
||||
|
||||
#: netctl.cpp:818
|
||||
msgid "Netctl plasmoid"
|
||||
msgstr "Netctl plasmoid"
|
||||
|
||||
#: netctl.cpp:819
|
||||
msgid "Appearance"
|
||||
msgstr "Внешний вид"
|
||||
|
||||
#: netctl.cpp:820
|
||||
msgid "DataEngine"
|
||||
msgstr "DataEngine"
|
||||
|
||||
#: netctl.cpp:821
|
||||
msgid "About"
|
||||
msgstr "О программе"
|
||||
|
||||
#. i18n: file: appearance.ui:47
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_inactiveIcon)
|
||||
#: po/rc.cpp:3 rc.cpp:3
|
||||
msgid "Inactive icon"
|
||||
msgstr "Иконка неактивного подключения"
|
||||
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#. i18n: file: appearance.ui:63
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_inactiveIcon)
|
||||
#. i18n: file: appearance.ui:391
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_activeIcon)
|
||||
#. i18n: file: dataengine.ui:50
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: dataengine.ui:83
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:119
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp4)
|
||||
#. i18n: file: dataengine.ui:155
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_extIp6)
|
||||
#. i18n: file: widget.ui:108
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_gui)
|
||||
#. i18n: file: widget.ui:144
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_helper)
|
||||
#. i18n: file: widget.ui:177
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctl)
|
||||
#. i18n: file: widget.ui:210
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_netctlAuto)
|
||||
#. i18n: file: widget.ui:246
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_sudo)
|
||||
#. i18n: file: widget.ui:282
|
||||
#. i18n: ectx: property (text), widget (QPushButton, pushButton_wifi)
|
||||
#: po/rc.cpp:6 po/rc.cpp:42 po/rc.cpp:54 po/rc.cpp:60 po/rc.cpp:66
|
||||
#: po/rc.cpp:72 po/rc.cpp:81 po/rc.cpp:87 po/rc.cpp:93 po/rc.cpp:99
|
||||
#: po/rc.cpp:105 po/rc.cpp:111 rc.cpp:6 rc.cpp:42 rc.cpp:54 rc.cpp:60
|
||||
#: rc.cpp:66 rc.cpp:72 rc.cpp:81 rc.cpp:87 rc.cpp:93 rc.cpp:99 rc.cpp:105
|
||||
#: rc.cpp:111
|
||||
msgid "Browse"
|
||||
msgstr "Обзор"
|
||||
|
||||
#. i18n: file: appearance.ui:80
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontColor)
|
||||
#: po/rc.cpp:9 rc.cpp:9
|
||||
msgid "Font color"
|
||||
msgstr "Цвет шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:112
|
||||
#. i18n: ectx: property (toolTip), widget (KColorCombo, kcolorcombo_fontColor)
|
||||
#: po/rc.cpp:12 rc.cpp:12
|
||||
msgid "Set font color"
|
||||
msgstr "Укажите цвет шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:142
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontSize)
|
||||
#: po/rc.cpp:15 rc.cpp:15
|
||||
msgid "Font size"
|
||||
msgstr "Размер шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:174
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontSize)
|
||||
#: po/rc.cpp:18 rc.cpp:18
|
||||
msgid "Set font size"
|
||||
msgstr "Укажите размер шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:203
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontWeight)
|
||||
#: po/rc.cpp:21 rc.cpp:21
|
||||
msgid "Font weight"
|
||||
msgstr "Толщина шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:235
|
||||
#. i18n: ectx: property (toolTip), widget (QSpinBox, spinBox_fontWeight)
|
||||
#: po/rc.cpp:24 rc.cpp:24
|
||||
msgid "Set font weight"
|
||||
msgstr "Укажите ширину шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:267
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_fontStyle)
|
||||
#: po/rc.cpp:27 rc.cpp:27
|
||||
msgid "Font style"
|
||||
msgstr "Стиль шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:299
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_fontStyle)
|
||||
#: po/rc.cpp:30 rc.cpp:30
|
||||
msgid "Set font style"
|
||||
msgstr "Укажите стиль шрифта"
|
||||
|
||||
#. i18n: file: appearance.ui:326
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_font)
|
||||
#: po/rc.cpp:33 rc.cpp:33
|
||||
msgid "Font"
|
||||
msgstr "Шрифт"
|
||||
|
||||
#. i18n: file: appearance.ui:358
|
||||
#. i18n: ectx: property (toolTip), widget (QFontComboBox, fontComboBox_font)
|
||||
#: po/rc.cpp:36 rc.cpp:36
|
||||
msgid "Set font family"
|
||||
msgstr "Укажите шрифт"
|
||||
|
||||
#. i18n: file: appearance.ui:375
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_activeIcon)
|
||||
#: po/rc.cpp:39 rc.cpp:39
|
||||
msgid "Active icon"
|
||||
msgstr "Иконка активного подключения"
|
||||
|
||||
#. i18n: file: appearance.ui:408
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_textAlign)
|
||||
#: po/rc.cpp:45 rc.cpp:45
|
||||
msgid "Text align"
|
||||
msgstr "Выравнивание текста"
|
||||
|
||||
#. i18n: file: appearance.ui:440
|
||||
#. i18n: ectx: property (toolTip), widget (QComboBox, comboBox_textAlign)
|
||||
#: po/rc.cpp:48 rc.cpp:48
|
||||
msgid "Set text align"
|
||||
msgstr "Установите выравнивание текста"
|
||||
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: dataengine.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#. i18n: file: widget.ui:161
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctl)
|
||||
#: po/rc.cpp:51 po/rc.cpp:90 rc.cpp:51 rc.cpp:90
|
||||
msgid "Path to netctl"
|
||||
msgstr "Путь к netctl"
|
||||
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: dataengine.ui:67
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#. i18n: file: widget.ui:194
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_netctlAuto)
|
||||
#: po/rc.cpp:57 po/rc.cpp:96 rc.cpp:57 rc.cpp:96
|
||||
msgid "Path to netctl-auto"
|
||||
msgstr "Путь к netctl-auto"
|
||||
|
||||
#. i18n: file: dataengine.ui:100
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp4)
|
||||
#: po/rc.cpp:63 rc.cpp:63
|
||||
msgid "Check external IPv4"
|
||||
msgstr "Проверять внешний IPv4"
|
||||
|
||||
#. i18n: file: dataengine.ui:136
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_extIp6)
|
||||
#: po/rc.cpp:69 rc.cpp:69
|
||||
msgid "Check external IPv6"
|
||||
msgstr "Проверять внешний IPv6"
|
||||
|
||||
#. i18n: file: widget.ui:34
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_autoUpdate)
|
||||
#: po/rc.cpp:75 rc.cpp:75
|
||||
msgid "Auto update interval, msec"
|
||||
msgstr "Интервал автообновления, мсек"
|
||||
|
||||
#. i18n: file: widget.ui:92
|
||||
#. i18n: ectx: property (text), widget (QLabel, label_gui)
|
||||
#: po/rc.cpp:78 rc.cpp:78
|
||||
msgid "Path to GUI"
|
||||
msgstr "Путь к GUI"
|
||||
|
||||
#. i18n: file: widget.ui:125
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_helper)
|
||||
#: po/rc.cpp:84 rc.cpp:84
|
||||
msgid "Use helper"
|
||||
msgstr "Использовать хелпер"
|
||||
|
||||
#. i18n: file: widget.ui:227
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_sudo)
|
||||
#: po/rc.cpp:102 rc.cpp:102
|
||||
msgid "Use sudo for netctl"
|
||||
msgstr "Использовать sudo для netctl"
|
||||
|
||||
#. i18n: file: widget.ui:263
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_wifi)
|
||||
#: po/rc.cpp:108 rc.cpp:108
|
||||
msgid "Show 'Start WiFi menu'"
|
||||
msgstr "Показать 'Запустить WiFi-menu'"
|
||||
|
||||
#. i18n: file: widget.ui:291
|
||||
#. i18n: ectx: property (text), widget (QCheckBox, checkBox_showBigInterface)
|
||||
#: po/rc.cpp:114 rc.cpp:114
|
||||
msgid "Show more detailed interface"
|
||||
msgstr "Показать более детальный интерфейс"
|
||||
|
||||
#. i18n: file: widget.ui:309
|
||||
#. i18n: ectx: property (toolTip), widget (QPlainTextEdit, textEdit)
|
||||
#: po/rc.cpp:117 rc.cpp:117
|
||||
msgid ""
|
||||
"$info - active profile information\n"
|
||||
"$current - current profile name\n"
|
||||
"$extip4 - external IPv4\n"
|
||||
"$extip6 - external IPv6\n"
|
||||
"$interfaces - list of the network interfaces\n"
|
||||
"$intip4 - internal IPv4\n"
|
||||
"$intip6 - internal IPv6\n"
|
||||
"$profiles - list of the netctl profiles\n"
|
||||
"$status - current profile status (static/enabled)"
|
||||
msgstr ""
|
||||
"$info - информация об активном профиле\n"
|
||||
"$current - имя текущего профиля\n"
|
||||
"$extip4 - внешний IPv4\n"
|
||||
"$extip6 - внешний IPv6\n"
|
||||
"$interfaces - список сетевых интерфейсов\n"
|
||||
"$intip4 - внутренний IPv4\n"
|
||||
"$intip6 - внутренний IPv6\n"
|
||||
"$profiles - список профилей netctl\n"
|
||||
"$status - статус текущего профиля (static/enabled)"
|
||||
|
||||
#: po/rc.cpp:126 rc.cpp:126
|
||||
msgctxt "NAME OF TRANSLATORS"
|
||||
msgid "Your names"
|
||||
msgstr "Evgeniy Alekseev"
|
||||
|
||||
#: po/rc.cpp:127 rc.cpp:127
|
||||
msgctxt "EMAIL OF TRANSLATORS"
|
||||
msgid "Your emails"
|
||||
msgstr "esalexeev@gmail.com"
|
||||
|
||||
#~ msgid "Acknowledgement"
|
||||
#~ msgstr "Благодарности"
|
||||
|
||||
#~ msgid "normal"
|
||||
#~ msgstr "normal"
|
||||
|
||||
#~ msgid "italic"
|
||||
#~ msgstr "italic"
|
||||
|
||||
#~ msgid "Path to ip"
|
||||
#~ msgstr "Путь к ip"
|
||||
|
||||
#~ msgid "Path to interface list"
|
||||
#~ msgstr "Путь к интерфейсам"
|
||||
|
||||
#~ msgid "Show network devices"
|
||||
#~ msgstr "Показать сетевые устройства"
|
||||
|
||||
#~ msgid "Show external IP"
|
||||
#~ msgstr "Показать внешний IP"
|
||||
|
||||
#~ msgid "Show internal IP"
|
||||
#~ msgstr "Показать внутренний IP"
|
||||
|
||||
#~ msgid "Configuration"
|
||||
#~ msgstr "Настройка"
|
@ -31,6 +31,7 @@
|
||||
#define PROJECT_BUILD_HELPER "@BUILD_HELPER@"
|
||||
#define PROJECT_BUILD_LIBRARY "@BUILD_LIBRARY@"
|
||||
#define PROJECT_BUILD_PLASMOID "@BUILD_PLASMOID@"
|
||||
#cmakedefine BUILD_KDE4
|
||||
// additional components
|
||||
#define PROJECT_BUILD_DOCS "@BUILD_DOCS@"
|
||||
#define PROJECT_BUILD_TEST "@BUILD_TEST@"
|
||||
|
Loading…
Reference in New Issue
Block a user