mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-12-02 02:53:42 +00:00
add FindSettings key
This commit is contained in:
@ -24,6 +24,7 @@
|
||||
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDirIterator>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QTextStream>
|
||||
@ -132,6 +133,62 @@ QString NetctlProfile::createProfile(const QString profile, const QMap<QString,
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @fn getRecommendedConfiguration
|
||||
*/
|
||||
QMap<QString, QString> NetctlProfile::getRecommendedConfiguration()
|
||||
{
|
||||
QMap<QString, QString> settings;
|
||||
QString cmd;
|
||||
TaskResult process;
|
||||
QStringList recommended;
|
||||
// force sudo
|
||||
// find out helper exe
|
||||
settings[QString("FORCE_SUDO")] = QString("true");
|
||||
recommended.clear();
|
||||
recommended.append(QString("netctlgui-helper"));
|
||||
recommended.append(QString("netctlgui-helper-suid"));
|
||||
for (int i=0; i<recommended.count(); i++) {
|
||||
cmd = QString("which ") + recommended[i];
|
||||
process = runTask(cmd, false);
|
||||
if (process.exitCode == 0) {
|
||||
settings[QString("FORCE_SUDO")] = QString("false");
|
||||
break;
|
||||
}
|
||||
}
|
||||
// profile path
|
||||
// find out netctl directory into /etc
|
||||
settings[QString("PROFILE_DIR")] = QString("");
|
||||
QDirIterator iterator(QDir("/etc"), QDirIterator::Subdirectories);
|
||||
while (iterator.hasNext()) {
|
||||
iterator.next();
|
||||
if (!iterator.fileInfo().isDir()) continue;
|
||||
QString name = iterator.filePath();
|
||||
if (name.contains(QString("netctl"))) {
|
||||
settings[QString("PROFILE_DIR")] = name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// sudo path
|
||||
// find out sudo, kdesu, gksu exes
|
||||
settings[QString("SUDO_PATH")] = QString("");
|
||||
recommended.clear();
|
||||
recommended.append("sudo");
|
||||
recommended.append("kdesu");
|
||||
recommended.append("gksu");
|
||||
for (int i=0; i<recommended.count(); i++) {
|
||||
cmd = QString("which ") + recommended[i];
|
||||
process = runTask(cmd, false);
|
||||
if (process.exitCode == 0) {
|
||||
settings[QString("SUDO_PATH")] = process.output.trimmed();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @fn getSettingsFromProfile
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user