update extscript to inherit from QDialog

This commit is contained in:
arcan1s
2014-11-17 10:01:57 +03:00
parent e54ab7e1a5
commit 16d7ca2005
10 changed files with 592 additions and 491 deletions

View File

@ -1,5 +1,7 @@
# set project name
set (SUBPROJECT plasma_engine_extsysmon)
set (PLUGIN_NAME ${SUBPROJECT})
message (STATUS "Subproject ${SUBPROJECT}")
# find required libaries
find_package (KDE4 REQUIRED)
@ -13,11 +15,11 @@ include_directories (${CMAKE_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/../
${PROJECT_TRDPARTY_DIR})
set (PLUGIN_NAME ${SUBPROJECT})
file (GLOB SUBPROJECT_DESKTOP_IN *.desktop)
file (RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN})
file (GLOB_RECURSE SUBPROJECT_SOURCE *.cpp ${PROJECT_TRDPARTY_DIR}/task/*.cpp)
set (TASK_HEADER ${PROJECT_TRDPARTY_DIR}/task/task.h)
file (GLOB SUBPROJECT_UI *.ui)
file (GLOB SUBPROJECT_CONF *.conf)
set (SUBPROJECT_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/scripts)
@ -26,6 +28,7 @@ configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJEC
# make
qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER})
kde4_add_ui_files (SUBPROJECT_SOURCE ${SUBPROJECT_UI})
kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE})
target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS})

View File

@ -16,6 +16,7 @@
***************************************************************************/
#include "extscript.h"
#include "ui_extscript.h"
#include <QDebug>
#include <QDir>
@ -25,19 +26,23 @@
#include <task/taskadds.h>
ExtScript::ExtScript(const QString scriptName, const QStringList directories, const bool debugCmd)
: QObject(0),
name(scriptName),
dirs(directories),
debug(debugCmd)
ExtScript::ExtScript(QWidget *parent, const QString scriptName, const QStringList directories, const bool debugCmd) :
QDialog(parent),
name(scriptName),
dirs(directories),
debug(debugCmd),
ui(new Ui::ExtScript)
{
readConfiguration();
ui->setupUi(this);
}
ExtScript::~ExtScript()
{
if (debug) qDebug() << PDEBUG;
delete ui;
}

View File

@ -18,11 +18,14 @@
#ifndef EXTSCRIPT_H
#define EXTSCRIPT_H
#include <QObject>
#include <QStringList>
#include <QDialog>
class ExtScript : public QObject
namespace Ui {
class ExtScript;
}
class ExtScript : public QDialog
{
Q_OBJECT
@ -38,8 +41,8 @@ public:
QString output;
bool refresh;
} ScriptData;
ExtScript(const QString scriptName, const QStringList directories, const bool debugCmd = false);
explicit ExtScript(QWidget *parent = 0, const QString scriptName = QString(),
const QStringList directories = QStringList(), const bool debugCmd = false);
~ExtScript();
// configuration
void addDirectory(const QString dir);
@ -63,21 +66,22 @@ public slots:
void tryDelete();
void writeConfiguration();
private:
QString name;
QStringList dirs;
bool debug;
Ui::ExtScript *ui;
// configuration
void fromExternalConfiguration(const QMap<QString, QString> settings);
QMap<QString, QString> getConfigurationFromFile(const QString fileName);
QMap<QString, QString> toExternalConfiguration();
// properties
bool active = true;
QString name;
QStringList dirs;
int interval = 1;
bool output = true;
QString prefix = QString("");
Redirect redirect = nothing;
// other
bool debug;
};

View File

@ -0,0 +1,67 @@
<ui version="4.0">
<class>ExtScript</class>
<widget class="QDialog" name="ExtScript">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>240</width>
<height>320</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="geometry">
<rect>
<x>10</x>
<y>270</y>
<width>221</width>
<height>41</height>
</rect>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>ExtScript</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>ExtScript</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -130,7 +130,7 @@ void ExtendedSysMon::initScripts()
if (names.contains(files[j])) continue;
if (debug) qDebug() << PDEBUG << ":" << "Found file" << files[j] << "in" << dirs[i];
names.append(files[j]);
externalScripts.append(new ExtScript(files[j], dirs, debug));
externalScripts.append(new ExtScript(0, files[j], dirs, debug));
times.append(1);
}
}