mirror of
https://github.com/arcan1s/awesome-widgets.git
synced 2025-07-13 13:55:50 +00:00
add configuration interface slots
This commit is contained in:
@ -144,6 +144,7 @@ void AwesomeWidget::init()
|
||||
// dataengines
|
||||
extsysmonEngine = dataEngine(QString("ext-sysmon"));
|
||||
sysmonEngine = dataEngine(QString("systemmonitor"));
|
||||
connect(sysmonEngine, SIGNAL(sourceAdded(QString)), this, SLOT(addDiskDevice(QString)));
|
||||
timeEngine = dataEngine(QString("time"));
|
||||
|
||||
// tooltip
|
||||
@ -175,6 +176,19 @@ void AwesomeWidget::init()
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::addDiskDevice(const QString source)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
QRegExp diskRegexp = QRegExp(QString("disk/(?:md|sd|hd)[a-z|0-9]_.*/Rate/(?:rblk)"));
|
||||
if (diskRegexp.indexIn(source) > -1) {
|
||||
QStringList splitSource = source.split(QChar('/'));
|
||||
QString device = splitSource[0] + QString("/") + splitSource[1];
|
||||
diskDevices.append(device);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QStringList AwesomeWidget::findKeys()
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
@ -284,37 +298,4 @@ QStringList AwesomeWidget::getKeys()
|
||||
}
|
||||
|
||||
|
||||
//QString DesktopPanel::parsePattern(const QString rawLine, const int num)
|
||||
//{
|
||||
// if (debug) qDebug() << PDEBUG;
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Run function with raw line" << rawLine;
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Run function with number" << num;
|
||||
|
||||
// QString line, mark;
|
||||
// line = rawLine;
|
||||
// if (currentDesktop == num + 1)
|
||||
// mark = configuration[QString("mark")];
|
||||
// else
|
||||
// mark = QString("");
|
||||
// if (line.split(QString("$mark"))[0] != line) {
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Found mark";
|
||||
// line = line.split(QString("$mark"))[0] + mark + line.split(QString("$mark"))[1];
|
||||
// }
|
||||
// if (line.split(QString("$name"))[0] != line) {
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Found name";
|
||||
// line = line.split(QString("$name"))[0] + desktopNames[num] + line.split(QString("$name"))[1];
|
||||
// }
|
||||
// if (line.split(QString("$number"))[0] != line) {
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Found number";
|
||||
// line = line.split(QString("$number"))[0] + QString::number(num + 1) + line.split(QString("$number"))[1];
|
||||
// }
|
||||
// if (line.split(QString("$total"))[0] != line) {
|
||||
// if (debug) qDebug() << PDEBUG << ":" << "Found total";
|
||||
// line = line.split(QString("$total"))[0] + QString::number(desktopNames.count()) + line.split(QString("$total"))[1];
|
||||
// }
|
||||
|
||||
// return line;
|
||||
//}
|
||||
|
||||
|
||||
K_EXPORT_PLASMA_APPLET(ptm-awesome-widget, AwesomeWidget)
|
||||
|
@ -53,6 +53,7 @@ public:
|
||||
|
||||
public slots:
|
||||
// dataengine
|
||||
void addDiskDevice(const QString source);
|
||||
void connectToEngine();
|
||||
void dataUpdated(const QString &sourceName, const Plasma::DataEngine::Data &data);
|
||||
void disconnectFromEngine();
|
||||
@ -66,6 +67,14 @@ public slots:
|
||||
private slots:
|
||||
void reinit();
|
||||
// configuration interface
|
||||
void addNewCustomCommand(QTableWidgetItem *item);
|
||||
void addNewPkgCommand(QTableWidgetItem *item);
|
||||
void contextMenuCustomCommand(const QPoint pos);
|
||||
void contextMenuPkgCommand(const QPoint pos);
|
||||
void editHddItem(QListWidgetItem *item);
|
||||
void editHddSpeedItem(QListWidgetItem *item);
|
||||
void editMountItem(QListWidgetItem *item);
|
||||
void editTempItem(QListWidgetItem *item);
|
||||
|
||||
protected:
|
||||
void createConfigurationInterface(KConfigDialog *parent);
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <KConfigDialog>
|
||||
#include <KGlobal>
|
||||
#include <KStandardDirs>
|
||||
#include <QMenu>
|
||||
#include <QNetworkInterface>
|
||||
#include <QTextCodec>
|
||||
|
||||
@ -125,7 +126,6 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
QString cmd, qoutput;
|
||||
QStringList headerList;
|
||||
TaskResult process;
|
||||
|
||||
QWidget *advWidget = new QWidget;
|
||||
uiAdvancedConfig.setupUi(advWidget);
|
||||
@ -169,21 +169,21 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
Qt::MatchFixedString));
|
||||
cmd = QString("sensors");
|
||||
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
|
||||
process = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
|
||||
if (process.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
|
||||
TaskResult sensorsProcess = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << sensorsProcess.exitCode;
|
||||
if (sensorsProcess.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << sensorsProcess.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(sensorsProcess.output);
|
||||
uiAdvancedConfig.listWidget_tempDevice->clear();
|
||||
for (int i=0; i<qoutput.split(QString("\n\n")).count(); i++) {
|
||||
QString sensor = qoutput.split(QString("\n\n"))[i];
|
||||
for (int j=0; j<sensor.split(QChar('\n')).count(); j++) {
|
||||
QString device = sensor.split(QChar('\n'))[j];
|
||||
if (device.indexOf(QString("°C")) > -1) {
|
||||
QListWidgetItem item = QListWidgetItem(QString("lmsensors/") + sensor.split(QChar('\n'))[0] + QString("/") +
|
||||
if (device.indexOf(QChar(0260)) > -1) {
|
||||
QListWidgetItem *item = new QListWidgetItem(QString("lmsensors/") + sensor.split(QChar('\n'))[0] + QString("/") +
|
||||
device.split(QChar(':'))[0].replace(QChar(' '), QChar('_')));
|
||||
item.setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_tempDevice->addItem(&item);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_tempDevice->addItem(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -195,17 +195,17 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
}
|
||||
cmd = QString("mount");
|
||||
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
|
||||
process = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
|
||||
if (process.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
|
||||
TaskResult mountProcess = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << mountProcess.exitCode;
|
||||
if (mountProcess.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << mountProcess.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(mountProcess.output);
|
||||
uiAdvancedConfig.listWidget_mount->clear();
|
||||
for (int i=0; i<qoutput.split(QChar('\n')).count(); i++) {
|
||||
QString mountPoint = qoutput.split(QChar('\n'))[i].split(QString(" on "))[1].split(QString(" type "))[0];
|
||||
QListWidgetItem item = QListWidgetItem(mountPoint);
|
||||
item.setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_mount->addItem(&item);
|
||||
QListWidgetItem *item = new QListWidgetItem(mountPoint);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_mount->addItem(item);
|
||||
}
|
||||
for (int i=0; i<configuration[QString("mount")].split(QString("@@")).count(); i++) {
|
||||
QList<QListWidgetItem *> items = uiAdvancedConfig.listWidget_mount
|
||||
@ -215,9 +215,9 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
}
|
||||
uiAdvancedConfig.listWidget_hddSpeedDevice->clear();
|
||||
for (int i=0; i<diskDevices.count(); i++) {
|
||||
QListWidgetItem item = QListWidgetItem(diskDevices[i]);
|
||||
item.setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_hddSpeedDevice->addItem(&item);
|
||||
QListWidgetItem *item = new QListWidgetItem(diskDevices[i]);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_hddSpeedDevice->addItem(item);
|
||||
}
|
||||
for (int i=0; i<configuration[QString("disk")].split(QString("@@")).count(); i++) {
|
||||
QList<QListWidgetItem *> items = uiAdvancedConfig.listWidget_hddSpeedDevice
|
||||
@ -225,18 +225,18 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
for (int j=0; j<items.count(); j++)
|
||||
items[j]->setCheckState(Qt::Checked);
|
||||
}
|
||||
cmd = QString("find /dev -name '[hms]d[a-z]'");
|
||||
cmd = QString("find /dev -name [hms]d[a-z]");
|
||||
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
|
||||
process = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
|
||||
if (process.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
|
||||
TaskResult findProcess = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << findProcess.exitCode;
|
||||
if (findProcess.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << findProcess.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(findProcess.output).trimmed();
|
||||
uiAdvancedConfig.listWidget_hddDevice->clear();
|
||||
for (int i=0; i<qoutput.split(QChar('\n')).count(); i++) {
|
||||
QListWidgetItem item = QListWidgetItem(qoutput.split(QChar('\n'))[i]);
|
||||
item.setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_hddDevice->addItem(&item);
|
||||
QListWidgetItem *item = new QListWidgetItem(qoutput.split(QChar('\n'))[i]);
|
||||
item->setCheckState(Qt::Unchecked);
|
||||
uiAdvancedConfig.listWidget_hddDevice->addItem(item);
|
||||
}
|
||||
for (int i=0; i<configuration[QString("hdd")].split(QString("@@")).count(); i++) {
|
||||
QList<QListWidgetItem *> items = uiAdvancedConfig.listWidget_hddDevice
|
||||
@ -331,13 +331,13 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
uiDEConfig.lineEdit_desktopCmd->setText(deSettings[QString("DESKTOPCMD")]);
|
||||
uiDEConfig.comboBox_gpudev->setCurrentIndex(
|
||||
uiDEConfig.comboBox_gpudev->findText(deSettings[QString("GPUDEV")], Qt::MatchFixedString));
|
||||
cmd = QString("find /dev -name '[hms]d[a-z]'");
|
||||
cmd = QString("find /dev -name [hms]d[a-z]");
|
||||
if (debug) qDebug() << PDEBUG << ":" << "cmd" << cmd;
|
||||
process = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << process.exitCode;
|
||||
if (process.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << process.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(process.output);
|
||||
TaskResult hddProcess = runTask(cmd);
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Cmd returns" << hddProcess.exitCode;
|
||||
if (hddProcess.exitCode != 0)
|
||||
if (debug) qDebug() << PDEBUG << ":" << "Error" << hddProcess.error;
|
||||
qoutput = QTextCodec::codecForMib(106)->toUnicode(hddProcess.output).trimmed();
|
||||
uiDEConfig.comboBox_hdddev->clear();
|
||||
uiDEConfig.comboBox_hdddev->addItem(QString("all"));
|
||||
uiDEConfig.comboBox_hdddev->addItem(QString("disable"));
|
||||
@ -361,6 +361,8 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
uiDEConfig.tableWidget_pkgCommand->setItem(i, 0, new QTableWidgetItem(deSettings[QString("PKGCMD")].split(QChar(','))[i]));
|
||||
uiDEConfig.tableWidget_pkgCommand->setItem(i, 1, new QTableWidgetItem(deSettings[QString("PKGNULL")].split(QChar(','))[i]));
|
||||
}
|
||||
uiDEConfig.tableWidget_pkgCommand->setItem(uiDEConfig.tableWidget_pkgCommand->rowCount() - 1, 1,
|
||||
new QTableWidgetItem(QString("0")));
|
||||
uiDEConfig.comboBox_playerSelect->setCurrentIndex(
|
||||
uiDEConfig.comboBox_playerSelect->findText(deSettings[QString("PLAYER")], Qt::MatchFixedString));
|
||||
|
||||
@ -370,6 +372,23 @@ void AwesomeWidget::createConfigurationInterface(KConfigDialog *parent)
|
||||
parent->addPage(appWidget, i18n("Appearance"), QString("preferences-desktop-theme"));
|
||||
parent->addPage(deConfigWidget, i18n("DataEngine"), QString("utilities-system-monitor"));
|
||||
|
||||
connect(uiAdvancedConfig.listWidget_hddDevice, SIGNAL(itemActivated(QListWidgetItem *)),
|
||||
this, SLOT(editHddItem(QListWidgetItem *)));
|
||||
connect(uiAdvancedConfig.listWidget_hddSpeedDevice, SIGNAL(itemActivated(QListWidgetItem *)),
|
||||
this, SLOT(editHddSpeedItem(QListWidgetItem *)));
|
||||
connect(uiAdvancedConfig.listWidget_mount, SIGNAL(itemActivated(QListWidgetItem *)),
|
||||
this, SLOT(editMountItem(QListWidgetItem *)));
|
||||
connect(uiAdvancedConfig.listWidget_tempDevice, SIGNAL(itemActivated(QListWidgetItem *)),
|
||||
this, SLOT(editTempItem(QListWidgetItem *)));
|
||||
connect(uiDEConfig.tableWidget_customCommand, SIGNAL(itemChanged(QTableWidgetItem *)),
|
||||
this, SLOT(addNewCustomCommand(QTableWidgetItem *)));
|
||||
connect(uiDEConfig.tableWidget_customCommand, SIGNAL(customContextMenuRequested(QPoint)),
|
||||
this, SLOT(contextMenuCustomCommand(QPoint)));
|
||||
connect(uiDEConfig.tableWidget_pkgCommand, SIGNAL(itemChanged(QTableWidgetItem *)),
|
||||
this, SLOT(addNewPkgCommand(QTableWidgetItem *)));
|
||||
connect(uiDEConfig.tableWidget_pkgCommand, SIGNAL(customContextMenuRequested(QPoint)),
|
||||
this, SLOT(contextMenuPkgCommand(QPoint)));
|
||||
|
||||
connect(parent, SIGNAL(okClicked()), this, SLOT(configAccepted()));
|
||||
connect(parent, SIGNAL(applyClicked()), this, SLOT(configAccepted()));
|
||||
}
|
||||
@ -558,3 +577,88 @@ void AwesomeWidget::configChanged()
|
||||
|
||||
reinit();
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::addNewCustomCommand(QTableWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
if (item->row() == (uiDEConfig.tableWidget_customCommand->rowCount() - 1))
|
||||
uiDEConfig.tableWidget_customCommand->insertRow(
|
||||
uiDEConfig.tableWidget_customCommand->rowCount());
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::addNewPkgCommand(QTableWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
if ((item->row() == (uiDEConfig.tableWidget_pkgCommand->rowCount() - 1)) &&
|
||||
(item->column() == 0)) {
|
||||
uiDEConfig.tableWidget_pkgCommand->insertRow(
|
||||
uiDEConfig.tableWidget_pkgCommand->rowCount());
|
||||
uiDEConfig.tableWidget_pkgCommand->setItem(
|
||||
uiDEConfig.tableWidget_pkgCommand->rowCount() - 1, 1,
|
||||
new QTableWidgetItem(QString("0")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::contextMenuCustomCommand(const QPoint pos)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (uiDEConfig.tableWidget_customCommand->currentItem() == 0) return;
|
||||
|
||||
QMenu menu(uiDEConfig.tableWidget_customCommand);
|
||||
QAction *remove = menu.addAction(i18n("Remove"));
|
||||
QAction *action = menu.exec(uiDEConfig.tableWidget_customCommand->viewport()->mapToGlobal(pos));
|
||||
if (action == remove)
|
||||
uiDEConfig.tableWidget_customCommand->removeRow(
|
||||
uiDEConfig.tableWidget_customCommand->currentRow());
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::contextMenuPkgCommand(const QPoint pos)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
if (uiDEConfig.tableWidget_pkgCommand->currentItem() == 0) return;
|
||||
|
||||
QMenu menu(uiDEConfig.tableWidget_pkgCommand);
|
||||
QAction *remove = menu.addAction(i18n("Remove"));
|
||||
QAction *action = menu.exec(uiDEConfig.tableWidget_pkgCommand->viewport()->mapToGlobal(pos));
|
||||
if (action == remove)
|
||||
uiDEConfig.tableWidget_pkgCommand->removeRow(
|
||||
uiDEConfig.tableWidget_pkgCommand->currentRow());
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::editHddItem(QListWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
uiAdvancedConfig.listWidget_hddDevice->openPersistentEditor(item);
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::editHddSpeedItem(QListWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
uiAdvancedConfig.listWidget_hddSpeedDevice->openPersistentEditor(item);
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::editMountItem(QListWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
uiAdvancedConfig.listWidget_mount->openPersistentEditor(item);
|
||||
}
|
||||
|
||||
|
||||
void AwesomeWidget::editTempItem(QListWidgetItem *item)
|
||||
{
|
||||
if (debug) qDebug() << PDEBUG;
|
||||
|
||||
uiAdvancedConfig.listWidget_tempDevice->openPersistentEditor(item);
|
||||
}
|
||||
|
@ -410,6 +410,9 @@
|
||||
<layout class="QVBoxLayout" name="layout_pkgCommand">
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget_pkgCommand">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Editable
|
||||
del - remove item</string>
|
||||
@ -439,6 +442,9 @@ del - remove item</string>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QTableWidget" name="tableWidget_customCommand">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Editable
|
||||
del - remove item</string>
|
||||
|
Reference in New Issue
Block a user