remove dublicates

This commit is contained in:
arcan1s
2014-08-28 23:00:08 +04:00
parent 93abb86340
commit 81105fb12d
5 changed files with 19 additions and 61 deletions

View File

@ -122,43 +122,6 @@ void DesktopPanel::init()
}
QStringList DesktopPanel::getDesktopNames()
{
if (debug) qDebug() << PDEBUG;
QStringList list;
QString fileName = KGlobal::dirs()->findResource("config", "kwinrc");
if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName;
QFile configFile(fileName);
if (!configFile.open(QIODevice::ReadOnly)) return list;
QString fileStr;
QStringList value;
bool desktopSection = false;
while (true) {
fileStr = QString(configFile.readLine()).trimmed();
if ((fileStr.isEmpty()) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar('#')) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar(';')) && (!configFile.atEnd())) continue;
if (fileStr[0] == QChar('[')) desktopSection = false;
if (fileStr == QString("[Desktops]")) desktopSection = true;
if (desktopSection) {
if (fileStr.contains(QChar('='))) {
value.clear();
for (int i=1; i<fileStr.split(QChar('=')).count(); i++)
value.append(fileStr.split(QChar('='))[i]);
if (fileStr.split(QChar('='))[0].contains(QString("Name_")))
list.append(value.join(QChar('=')));
}
}
if (configFile.atEnd()) break;
}
configFile.close();
return list;
}
QList<Plasma::Containment *> DesktopPanel::getPanels()
{
if (debug) qDebug() << PDEBUG;
@ -228,6 +191,7 @@ QString DesktopPanel::parsePattern(const QString rawLine, const int num)
void DesktopPanel::reinit()
{
if (debug) qDebug() << PDEBUG;
if (desktopNames.isEmpty()) return;
// clear
// labels
@ -274,9 +238,9 @@ void DesktopPanel::changePanelsState()
QList<Plasma::Containment *> panels = getPanels();
for (int i=0; i<panels.count(); i++) {
if ((configuration[QString("panels")].split(QChar(','))
.contains(QString::number(i))) ||
(configuration[QString("panels")] == QString("-1")))
if ((!configuration[QString("panels")].split(QChar(','))
.contains(QString::number(i))) &&
(configuration[QString("panels")] != QString("-1")))
continue;
bool wasVisible = panels[i]->view()->isVisible();
int winId = panels[i]->view()->winId();
@ -337,6 +301,10 @@ void DesktopPanel::dataUpdated(const QString &sourceName, const Plasma::DataEngi
return;
if (sourceName == QString("desktop")) {
currentDesktop = data[QString("currentNumber")].toInt();
if (desktopNames.isEmpty()) {
desktopNames = data[QString("list")].toString().split(QString(";;"));
reinit();
}
updateText();
}
}
@ -484,8 +452,6 @@ void DesktopPanel::configChanged()
configuration[QString("pattern")] = cg.readEntry("pattern", "[$mark$number/$total: $name]");
configuration[QString("rightStretch")] = cg.readEntry("rightStretch", "2");
desktopNames = getDesktopNames();
extsysmonEngine->connectSource(QString("desktop"), this, configuration[QString("interval")].toInt());
QString fontFamily = cg.readEntry("currentFontFamily", "Terminus");

View File

@ -81,7 +81,6 @@ protected:
private:
// functions
QStringList getDesktopNames();
QList<Plasma::Containment *> getPanels();
QString panelLocationToStr(Plasma::Location loc);
void updateText();

View File

@ -454,8 +454,7 @@ QMap<QString, QVariant> ExtendedSysMon::getPlayerInfo(const QString playerName,
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("time")) {
info[QString("duration")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[0];
info[QString("progress")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed().split(QString(":"))[1];
}
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Title"))
} else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("Title"))
info[QString("title")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
}
@ -471,8 +470,7 @@ QMap<QString, QVariant> ExtendedSysMon::getPlayerInfo(const QString playerName,
info[QString("duration")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
else if (qstr.split(QString(": "), QString::SkipEmptyParts)[0] == QString("title"))
info[QString("title")] = qstr.split(QString(": "), QString::SkipEmptyParts)[1].trimmed();
}
else {
} else {
int time = qstr.toInt() / 1000;
info[QString("progress")] = QString::number(time);
}
@ -550,38 +548,31 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source)
setData(source, QString("custom") + QString::number(i),
getCustomCmd(configuration[QString("CUSTOM")].split(QString("@@"), QString::SkipEmptyParts)[i]));
}
}
else if (source == QString("desktop")) {
} else if (source == QString("desktop")) {
QMap<QString, QVariant> desktop = getCurrentDesktop(configuration[QString("DESKTOPCMD")]);
for (int i=0; i<desktop.keys().count(); i++)
setData(source, desktop.keys()[i], desktop[desktop.keys()[i]]);
}
else if (source == QString("gpu")) {
} else if (source == QString("gpu")) {
setData(source, QString("GPU"), getGpu(configuration[QString("GPUDEV")]));
}
else if (source == QString("gputemp")) {
} else if (source == QString("gputemp")) {
setData(source, QString("GPUTemp"), getGpuTemp(configuration[QString("GPUDEV")]));
}
else if (source == QString("hddtemp")) {
} else if (source == QString("hddtemp")) {
QStringList deviceList = configuration[QString("HDDDEV")].split(QChar(','), QString::SkipEmptyParts);
for (int i=0; i<deviceList.count(); i++)
setData(source, deviceList[i],
getHddTemp(configuration[QString("HDDTEMPCMD")], deviceList[i]));
}
else if (source == QString("pkg")) {
} else if (source == QString("pkg")) {
for (int i=0; i<configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts).count(); i++)
setData(source, QString("pkgCount") + QString::number(i),
getUpgradeInfo(configuration[QString("PKGCMD")].split(QString(","), QString::SkipEmptyParts)[i]));
}
else if (source == QString("player")) {
} else if (source == QString("player")) {
QMap<QString, QVariant> player = getPlayerInfo(configuration[QString("PLAYER")],
configuration[QString("MPDADDRESS")],
configuration[QString("MPDPORT")],
configuration[QString("MPRIS")]);
for (int i=0; i<player.keys().count(); i++)
setData(source, player.keys()[i], player[player.keys()[i]]);
}
else if (source == QString("ps")) {
} else if (source == QString("ps")) {
QMap<QString, QVariant> ps = getPsStats();
for (int i=0; i<ps.keys().count(); i++)
setData(source, ps.keys()[i], ps[ps.keys()[i]]);