+ add de page

* rewrite de configuration to use qsettings
- remove cppcheck
+ add notifyrc
This commit is contained in:
arcan1s
2015-01-05 00:29:52 +03:00
parent 924beacc23
commit 73ba838685
14 changed files with 259 additions and 150 deletions

View File

@ -7,6 +7,7 @@ include_directories (${CMAKE_SOURCE_DIR}
${Kf5_INCLUDE})
file (GLOB SUBPROJECT_SOURCE *.cpp)
file (GLOB SUBPROJECT_NOTIFY *.notifyrc)
add_library (${PLUGIN_NAME} SHARED ${SUBPROJECT_SOURCE})
target_link_libraries (${PLUGIN_NAME} ${Qt5Core_LIBRARIES} ${Qt5DBus_LIBRARIES} ${Qt5Qml_LIBRARIES} ${I18n_LIBRARIES} ${Plasma_LIBRARIES}
@ -14,3 +15,4 @@ target_link_libraries (${PLUGIN_NAME} ${Qt5Core_LIBRARIES} ${Qt5DBus_LIBRARIES}
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)
install (FILES ${SUBPROJECT_NOTIFY} DESTINATION ${KNOTIFYRC_INSTALL_DIR})

View File

@ -22,6 +22,8 @@
#include <QDBusMessage>
#include <QDebug>
#include <QProcessEnvironment>
#include <QSettings>
#include <QStandardPaths>
#include <pdebug/pdebug.h>
@ -135,6 +137,14 @@ QString NetctlAdds::getInfo(const QString current, const QString status)
}
bool NetctlAdds::isDebugEnabled()
{
if (debug) qDebug() << PDEBUG;
return debug;
}
QString NetctlAdds::parsePattern(const QString pattern, const QMap<QString, QVariant> dict)
{
if (debug) qDebug() << PDEBUG;
@ -293,3 +303,51 @@ void NetctlAdds::switchToProfileSlot(QString profile, const bool useHelper,
command.startDetached(commandLine);
}
}
QMap<QString, QVariant> NetctlAdds::readDataEngineConfiguration()
{
if (debug) qDebug() << PDEBUG;
QMap<QString, QVariant> configuration;
QString fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation, QString("netctl.conf"));
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName;
QSettings settings(fileName, QSettings::IniFormat);
settings.beginGroup(QString("Netctl commands"));
configuration[QString("NETCTLCMD")] = settings.value(QString("NETCTLCMD"), QString("/usr/bin/netctl"));
configuration[QString("NETCTLAUTOCMD")] = settings.value(QString("NETCTLAUTOCMD"), QString("/usr/bin/netctl-auto"));
settings.endGroup();
settings.beginGroup(QString("External IP"));
configuration[QString("EXTIP4")] = settings.value(QString("EXTIP4"), QString("false"));
configuration[QString("EXTIP4CMD")] = settings.value(QString("EXTIP4CMD"), QString("curl ip4.telize.com"));
configuration[QString("EXTIP6")] = settings.value(QString("EXTIP6"), QString("false"));
configuration[QString("EXTIP6CMD")] = settings.value(QString("EXTIP6CMD"), QString("curl ip6.telize.com"));
settings.endGroup();
return configuration;
}
void NetctlAdds::writeDataEngineConfiguration(const QMap<QString, QVariant> configuration)
{
if (debug) qDebug() << PDEBUG;
QString fileName = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + QString("/netctl.conf");
QSettings settings(fileName, QSettings::IniFormat);
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << settings.fileName();
settings.beginGroup(QString("Netctl commands"));
settings.setValue(QString("NETCTLCMD"), configuration[QString("NETCTLCMD")].toString());
settings.setValue(QString("NETCTLAUTOCMD"), configuration[QString("NETCTLAUTOCMD")].toString());
settings.endGroup();
settings.beginGroup(QString("External IP"));
settings.setValue(QString("EXTIP4"), configuration[QString("EXTIP4")].toString());
settings.setValue(QString("EXTIP4CMD"), configuration[QString("EXTIP4CMD")].toString());
settings.setValue(QString("EXTIP6"), configuration[QString("EXTIP6")].toString());
settings.setValue(QString("EXTIP6CMD"), configuration[QString("EXTIP6CMD")].toString());
settings.endGroup();
settings.sync();
}

View File

@ -34,6 +34,7 @@ public:
Q_INVOKABLE QString getAboutText(const QString type = "header");
Q_INVOKABLE QString getInfo(const QString current, const QString status);
Q_INVOKABLE bool isDebugEnabled();
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);
@ -60,6 +61,9 @@ public:
Q_INVOKABLE void switchToProfileSlot(QString profile,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl-auto"));
// dataengine
Q_INVOKABLE QMap<QString, QVariant> readDataEngineConfiguration();
Q_INVOKABLE void writeDataEngineConfiguration(const QMap<QString, QVariant> configuration);
private:
bool debug = false;

View 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