[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bkcm-grub2=5D_src=3A_Quote/unquote_GRUB_values_only_?=
From: Konstantinos Smanis <konstantinos.smanis () gmail ! com>
Date: 2011-04-14 10:11:54
Message-ID: 20110414101154.16B6FA60AE () git ! kde ! org
[Download RAW message or body]
Git commit f062acd41fbfbb9b0eb2d636b01eb1f6bd7becf4 by Konstantinos Smanis.
Committed on 14/04/2011 at 11:57.
Pushed by ksmanis into branch 'master'.
Quote/unquote GRUB values only when saving.
Preserve the original (quoted) strings internally, but show them in a
user-friendly manner. Implemented to minimize changes made to internal
structures. Also useful for command substibutions using echo. For
example:
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
but the user doesn't see this ugly command, he only sees the result.
M +151 -177 src/kcm_grub2.cpp
M +25 -24 src/kcm_grub2.h
http://commits.kde.org/kcm-grub2/f062acd41fbfbb9b0eb2d636b01eb1f6bd7becf4
diff --git a/src/kcm_grub2.cpp b/src/kcm_grub2.cpp
index 601b11a..b3f1fee 100644
--- a/src/kcm_grub2.cpp
+++ b/src/kcm_grub2.cpp
@@ -63,16 +63,19 @@ void KCMGRUB2::load()
bool ok;
ui.comboBox_default->clear();
- ui.comboBox_default->addItems(m_entries);
- if (m_settings.value("GRUB_DEFAULT").compare("saved") == 0) {
+ foreach(const QString &entry, m_entries) {
+ ui.comboBox_default->addItem(unquoteWord(entry), entry);
+ }
+ QString grubDefault = unquoteWord(m_settings.value("GRUB_DEFAULT"));
+ if (grubDefault.compare("saved") == 0) {
ui.radioButton_saved->setChecked(true);
} else {
- int entryIndex = m_entries.indexOf(m_settings.value("GRUB_DEFAULT"));
+ int entryIndex = \
ui.comboBox_default->findData(m_settings.value("GRUB_DEFAULT")); if (entryIndex != \
-1) { ui.radioButton_default->setChecked(true);
ui.comboBox_default->setCurrentIndex(entryIndex);
} else {
- entryIndex = m_settings.value("GRUB_DEFAULT").toInt(&ok);
+ entryIndex = grubDefault.toInt(&ok);
if (ok && entryIndex >= 0 && entryIndex < m_entries.size()) {
ui.radioButton_default->setChecked(true);
ui.comboBox_default->setCurrentIndex(entryIndex);
@@ -81,51 +84,45 @@ void KCMGRUB2::load()
}
}
}
- ui.checkBox_savedefault->setChecked(m_settings.value("GRUB_SAVEDEFAULT").compare("true") \
== 0); + ui.checkBox_savedefault->setChecked(unquoteWord(m_settings.value("GRUB_SAVEDEFAULT")).compare("true") \
== 0);
- ui.spinBox_hiddenTimeout->blockSignals(true);
- ui.spinBox_timeout->blockSignals(true);
- int hiddenTimeout = m_settings.value("GRUB_HIDDEN_TIMEOUT").toInt(&ok);
- if (ok && hiddenTimeout >= 0) {
- ui.checkBox_hiddenTimeout->setChecked(hiddenTimeout > 0);
- ui.spinBox_hiddenTimeout->setValue(hiddenTimeout);
+ int grubHiddenTimeout = \
unquoteWord(m_settings.value("GRUB_HIDDEN_TIMEOUT")).toInt(&ok); + if (ok && \
grubHiddenTimeout >= 0) { + \
ui.checkBox_hiddenTimeout->setChecked(grubHiddenTimeout > 0); + \
ui.spinBox_hiddenTimeout->setValue(grubHiddenTimeout); } else {
kWarning() << "Invalid GRUB_HIDDEN_TIMEOUT value";
}
- ui.checkBox_hiddenTimeoutShowTimer->setChecked(m_settings.value("GRUB_HIDDEN_TIMEOUT_QUIET").compare("true") \
!= 0);
- int timeout = m_settings.value("GRUB_TIMEOUT").toInt(&ok);
- if (ok && timeout >= -1) {
- ui.checkBox_timeout->setChecked(timeout > -1);
- ui.radioButton_timeout0->setChecked(timeout == 0);
- ui.radioButton_timeout->setChecked(timeout > 0);
- ui.spinBox_timeout->setValue(timeout);
+ ui.checkBox_hiddenTimeoutShowTimer->setChecked(unquoteWord(m_settings.value("GRUB_HIDDEN_TIMEOUT_QUIET")).compare("true") \
!= 0); + int grubTimeout = \
unquoteWord(m_settings.value("GRUB_TIMEOUT")).toInt(&ok); + if (ok && grubTimeout \
>= -1) { + ui.checkBox_timeout->setChecked(grubTimeout > -1);
+ ui.radioButton_timeout0->setChecked(grubTimeout == 0);
+ ui.radioButton_timeout->setChecked(grubTimeout > 0);
+ ui.spinBox_timeout->setValue(grubTimeout);
} else {
kWarning() << "Invalid GRUB_TIMEOUT value";
}
- ui.spinBox_hiddenTimeout->blockSignals(false);
- ui.spinBox_timeout->blockSignals(false);
- ui.comboBox_gfxmode->blockSignals(true);
- ui.comboBox_gfxpayload->blockSignals(true);
ui.comboBox_gfxmode->clear();
ui.comboBox_gfxmode->addItems(m_gfxmodes);
- ui.comboBox_gfxmode->setEditText(m_settings.value("GRUB_GFXMODE"));
+ ui.comboBox_gfxmode->setEditText(unquoteWord(m_settings.value("GRUB_GFXMODE")));
ui.comboBox_gfxpayload->clear();
ui.comboBox_gfxpayload->addItems(m_gfxmodes);
- if (m_settings.value("GRUB_GFXPAYLOAD_LINUX").compare("text") == 0) {
+ QString grubGfxpayloadLinux = \
unquoteWord(m_settings.value("GRUB_GFXPAYLOAD_LINUX")); + if \
(grubGfxpayloadLinux.compare("text") == 0) { \
ui.radioButton_gfxpayloadText->setChecked(true);
- } else if (m_settings.value("GRUB_GFXPAYLOAD_LINUX").compare("keep") == 0) {
+ } else if (grubGfxpayloadLinux.compare("keep") == 0) {
ui.radioButton_gfxpayloadKeep->setChecked(true);
} else {
ui.radioButton_gfxpayloadOther->setChecked(true);
- ui.comboBox_gfxpayload->setEditText(m_settings.value("GRUB_GFXPAYLOAD_LINUX"));
+ ui.comboBox_gfxpayload->setEditText(grubGfxpayloadLinux);
}
- ui.comboBox_gfxpayload->blockSignals(false);
- ui.comboBox_gfxmode->blockSignals(false);
- if (!m_settings.value("GRUB_COLOR_NORMAL").isEmpty()) {
- int normalForegroundIndex = \
ui.comboBox_normalForeground->findData(m_settings.value("GRUB_COLOR_NORMAL").section('/', \
0, 0));
- int normalBackgroundIndex = \
ui.comboBox_normalBackground->findData(m_settings.value("GRUB_COLOR_NORMAL").section('/', \
1)); + QString grubColorNormal = \
unquoteWord(m_settings.value("GRUB_COLOR_NORMAL")); + if \
(!grubColorNormal.isEmpty()) { + int normalForegroundIndex = \
ui.comboBox_normalForeground->findData(grubColorNormal.section('/', 0, 0)); + \
int normalBackgroundIndex = \
ui.comboBox_normalBackground->findData(grubColorNormal.section('/', 1)); if \
(normalForegroundIndex == -1 || normalBackgroundIndex == -1) { kWarning() << \
"Invalid GRUB_COLOR_NORMAL value"; }
@@ -136,9 +133,10 @@ void KCMGRUB2::load()
ui.comboBox_normalBackground->setCurrentIndex(normalBackgroundIndex);
}
}
- if (!m_settings.value("GRUB_COLOR_HIGHLIGHT").isEmpty()) {
- int highlightForegroundIndex = \
ui.comboBox_highlightForeground->findData(m_settings.value("GRUB_COLOR_HIGHLIGHT").section('/', \
0, 0));
- int highlightBackgroundIndex = \
ui.comboBox_highlightBackground->findData(m_settings.value("GRUB_COLOR_HIGHLIGHT").section('/', \
1)); + QString grubColorHighlight = \
unquoteWord(m_settings.value("GRUB_COLOR_HIGHLIGHT")); + if \
(!grubColorHighlight.isEmpty()) { + int highlightForegroundIndex = \
ui.comboBox_highlightForeground->findData(grubColorHighlight.section('/', 0, 0)); + \
int highlightBackgroundIndex = \
ui.comboBox_highlightBackground->findData(grubColorHighlight.section('/', \
1));
if (highlightForegroundIndex == -1 || highlightBackgroundIndex == -1) {
kWarning() << "Invalid GRUB_COLOR_HIGHLIGHT value";
}
@@ -150,46 +148,37 @@ void KCMGRUB2::load()
}
}
- ui.kurlrequester_background->blockSignals(true);
- ui.kurlrequester_theme->blockSignals(true);
- ui.kurlrequester_background->setText(m_settings.value("GRUB_BACKGROUND"));
- ui.kpushbutton_preview->setEnabled(!m_settings.value("GRUB_BACKGROUND").isEmpty());
- ui.kurlrequester_theme->setText(m_settings.value("GRUB_THEME"));
- ui.kurlrequester_background->blockSignals(false);
- ui.kurlrequester_theme->blockSignals(false);
+ QString grubBackground = unquoteWord(m_settings.value("GRUB_BACKGROUND"));
+ ui.kurlrequester_background->setText(grubBackground);
+ ui.kpushbutton_preview->setEnabled(!grubBackground.isEmpty());
+ ui.kurlrequester_theme->setText(unquoteWord(m_settings.value("GRUB_THEME")));
- ui.lineEdit_cmdlineDefault->setText(m_settings.value("GRUB_CMDLINE_LINUX_DEFAULT"));
- ui.lineEdit_cmdline->setText(m_settings.value("GRUB_CMDLINE_LINUX"));
+ ui.lineEdit_cmdlineDefault->setText(unquoteWord(m_settings.value("GRUB_CMDLINE_LINUX_DEFAULT")));
+ ui.lineEdit_cmdline->setText(unquoteWord(m_settings.value("GRUB_CMDLINE_LINUX")));
- ui.lineEdit_terminal->setText(m_settings.value("GRUB_TERMINAL"));
- if (m_settings.value("GRUB_TERMINAL").isEmpty()) {
- ui.lineEdit_terminalInput->setText(m_settings.value("GRUB_TERMINAL_INPUT"));
- ui.lineEdit_terminalOutput->setText(m_settings.value("GRUB_TERMINAL_OUTPUT"));
- } else {
- ui.lineEdit_terminalInput->setReadOnly(true);
- ui.lineEdit_terminalOutput->setReadOnly(true);
- ui.lineEdit_terminalInput->setText(m_settings.value("GRUB_TERMINAL"));
- ui.lineEdit_terminalOutput->setText(m_settings.value("GRUB_TERMINAL"));
- }
+ QString grubTerminal = unquoteWord(m_settings.value("GRUB_TERMINAL"));
+ ui.lineEdit_terminal->setText(grubTerminal);
+ ui.lineEdit_terminalInput->setReadOnly(!grubTerminal.isEmpty());
+ ui.lineEdit_terminalOutput->setReadOnly(!grubTerminal.isEmpty());
+ ui.lineEdit_terminalInput->setText(!grubTerminal.isEmpty() ? grubTerminal : \
unquoteWord(m_settings.value("GRUB_TERMINAL_INPUT"))); + \
ui.lineEdit_terminalOutput->setText(!grubTerminal.isEmpty() ? grubTerminal : \
unquoteWord(m_settings.value("GRUB_TERMINAL_OUTPUT")));
- ui.lineEdit_distributor->setText(m_settings.value("GRUB_DISTRIBUTOR"));
- ui.lineEdit_serial->setText(m_settings.value("GRUB_SERIAL_COMMAND"));
- ui.lineEdit_initTune->setText(m_settings.value("GRUB_INIT_TUNE"));
+ ui.lineEdit_distributor->setText(unquoteWord(m_settings.value("GRUB_DISTRIBUTOR")));
+ ui.lineEdit_serial->setText(unquoteWord(m_settings.value("GRUB_SERIAL_COMMAND")));
+ ui.lineEdit_initTune->setText(unquoteWord(m_settings.value("GRUB_INIT_TUNE")));
- ui.checkBox_uuid->setChecked(m_settings.value("GRUB_DISABLE_LINUX_UUID").compare("true") \
!= 0);
- ui.checkBox_recovery->setChecked(m_settings.value("GRUB_DISABLE_RECOVERY").compare("true") \
!= 0);
- ui.checkBox_osProber->setChecked(m_settings.value("GRUB_DISABLE_OS_PROBER").compare("true") \
!= 0); + ui.checkBox_uuid->setChecked(unquoteWord(m_settings.value("GRUB_DISABLE_LINUX_UUID")).compare("true") \
!= 0); + ui.checkBox_recovery->setChecked(unquoteWord(m_settings.value("GRUB_DISABLE_RECOVERY")).compare("true") \
!= 0); + ui.checkBox_osProber->setChecked(unquoteWord(m_settings.value("GRUB_DISABLE_OS_PROBER")).compare("true") \
!= 0);
m_dirtyBits.fill(0);
emit changed(false);
}
void KCMGRUB2::save()
{
- kDebug() << m_dirtyBits;
if (m_dirtyBits.testBit(grubDefaultDirty)) {
if (ui.radioButton_default->isChecked()) {
- //TODO: Use m_entries instead?
- m_settings["GRUB_DEFAULT"] = ui.comboBox_default->currentText();
+ m_settings["GRUB_DEFAULT"] = \
m_entries.at(ui.comboBox_default->currentIndex()); } else if \
(ui.radioButton_saved->isChecked()) { m_settings["GRUB_DEFAULT"] = "saved";
}
@@ -229,7 +218,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubGfxmodeDirty)) {
QString gfxmode = ui.comboBox_gfxmode->currentText();
if (!gfxmode.isEmpty()) {
- m_settings["GRUB_GFXMODE"] = gfxmode;
+ m_settings["GRUB_GFXMODE"] = quoteWord(gfxmode);
} else {
m_settings.remove("GRUB_GFXMODE");
}
@@ -242,7 +231,7 @@ void KCMGRUB2::save()
} else {
QString gfxPayload = ui.comboBox_gfxpayload->currentText();
if (!gfxPayload.isEmpty()) {
- m_settings["GRUB_GFXPAYLOAD_LINUX"] = gfxPayload;
+ m_settings["GRUB_GFXPAYLOAD_LINUX"] = quoteWord(gfxPayload);
} else {
m_settings.remove("GRUB_GFXPAYLOAD_LINUX");
}
@@ -269,7 +258,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubBackgroundDirty)) {
QString background = ui.kurlrequester_background->url().toLocalFile();
if (!background.isEmpty()) {
- m_settings["GRUB_BACKGROUND"] = background;
+ m_settings["GRUB_BACKGROUND"] = quoteWord(background);
} else {
m_settings.remove("GRUB_BACKGROUND");
}
@@ -277,7 +266,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubThemeDirty)) {
QString theme = ui.kurlrequester_theme->url().toLocalFile();
if (!theme.isEmpty()) {
- m_settings["GRUB_THEME"] = theme;
+ m_settings["GRUB_THEME"] = quoteWord(theme);
} else {
m_settings.remove("GRUB_THEME");
}
@@ -285,7 +274,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubCmdlineLinuxDefaultDirty)) {
QString cmdlineLinuxDefault = ui.lineEdit_cmdlineDefault->text();
if (!cmdlineLinuxDefault.isEmpty()) {
- m_settings["GRUB_CMDLINE_LINUX_DEFAULT"] = cmdlineLinuxDefault;
+ m_settings["GRUB_CMDLINE_LINUX_DEFAULT"] = \
quoteWord(cmdlineLinuxDefault); } else {
m_settings.remove("GRUB_CMDLINE_LINUX_DEFAULT");
}
@@ -293,7 +282,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubCmdlineLinuxDirty)) {
QString cmdlineLinux = ui.lineEdit_cmdline->text();
if (!cmdlineLinux.isEmpty()) {
- m_settings["GRUB_CMDLINE_LINUX"] = cmdlineLinux;
+ m_settings["GRUB_CMDLINE_LINUX"] = quoteWord(cmdlineLinux);
} else {
m_settings.remove("GRUB_CMDLINE_LINUX");
}
@@ -301,7 +290,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubTerminalDirty)) {
QString terminal = ui.lineEdit_terminal->text();
if (!terminal.isEmpty()) {
- m_settings["GRUB_TERMINAL"] = terminal;
+ m_settings["GRUB_TERMINAL"] = quoteWord(terminal);
} else {
m_settings.remove("GRUB_TERMINAL");
}
@@ -309,7 +298,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubTerminalInputDirty)) {
QString terminalInput = ui.lineEdit_terminalInput->text();
if (!terminalInput.isEmpty()) {
- m_settings["GRUB_TERMINAL_INPUT"] = terminalInput;
+ m_settings["GRUB_TERMINAL_INPUT"] = quoteWord(terminalInput);
} else {
m_settings.remove("GRUB_TERMINAL_INPUT");
}
@@ -317,7 +306,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubTerminalOutputDirty)) {
QString terminalOutput = ui.lineEdit_terminalOutput->text();
if (!terminalOutput.isEmpty()) {
- m_settings["GRUB_TERMINAL_OUTPUT"] = terminalOutput;
+ m_settings["GRUB_TERMINAL_OUTPUT"] = quoteWord(terminalOutput);
} else {
m_settings.remove("GRUB_TERMINAL_OUTPUT");
}
@@ -325,7 +314,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubDistributorDirty)) {
QString distributor = ui.lineEdit_distributor->text();
if (!distributor.isEmpty()) {
- m_settings["GRUB_DISTRIBUTOR"] = distributor;
+ m_settings["GRUB_DISTRIBUTOR"] = quoteWord(distributor);
} else {
m_settings.remove("GRUB_DISTRIBUTOR");
}
@@ -333,7 +322,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubSerialCommandDirty)) {
QString serialCommand = ui.lineEdit_serial->text();
if (!serialCommand.isEmpty()) {
- m_settings["GRUB_SERIAL_COMMAND"] = serialCommand;
+ m_settings["GRUB_SERIAL_COMMAND"] = quoteWord(serialCommand);
} else {
m_settings.remove("GRUB_SERIAL_COMMAND");
}
@@ -341,7 +330,7 @@ void KCMGRUB2::save()
if (m_dirtyBits.testBit(grubInitTuneDirty)) {
QString initTune = ui.lineEdit_initTune->text();
if (!initTune.isEmpty()) {
- m_settings["GRUB_INIT_TUNE"] = initTune;
+ m_settings["GRUB_INIT_TUNE"] = quoteWord(initTune);
} else {
m_settings.remove("GRUB_INIT_TUNE");
}
@@ -371,11 +360,7 @@ void KCMGRUB2::save()
QString config;
QTextStream stream(&config, QIODevice::WriteOnly | QIODevice::Text);
for (QHash<QString, QString>::const_iterator it = m_settings.constBegin(); it != \
m_settings.constEnd(); it++) {
- QString key = it.key(), value = it.value();
- if (!value.startsWith('`') || !value.endsWith('`')) {
- value = KShell::quoteArg(value);
- }
- stream << key << '=' << value << endl;
+ stream << it.key() << '=' << it.value() << endl;
}
if (!saveFile(Settings::configPaths().at(0), config)) {
return;
@@ -387,58 +372,54 @@ void KCMGRUB2::save()
}
}
-void KCMGRUB2::updateGrubDefault()
+void KCMGRUB2::slotGrubDefaultChanged()
{
m_dirtyBits.setBit(grubDefaultDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubSavedefault(bool checked)
+void KCMGRUB2::slotGrubSavedefaultChanged()
{
- Q_UNUSED(checked)
m_dirtyBits.setBit(grubSavedefaultDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubHiddenTimeout()
+void KCMGRUB2::slotGrubHiddenTimeoutChanged()
{
m_dirtyBits.setBit(grubHiddenTimeoutDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubHiddenTimeoutQuiet(bool checked)
+void KCMGRUB2::slotGrubHiddenTimeoutQuietChanged()
{
- Q_UNUSED(checked)
m_dirtyBits.setBit(grubHiddenTimeoutQuietDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubTimeout()
+void KCMGRUB2::slotGrubTimeoutChanged()
{
m_dirtyBits.setBit(grubTimeoutDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubGfxmode(const QString &text)
+void KCMGRUB2::slotGrubGfxmodeChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubGfxmodeDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubGfxpayloadLinux()
+void KCMGRUB2::slotGrubGfxpayloadLinuxChanged()
{
m_dirtyBits.setBit(grubGfxpayloadLinuxDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubColorNormal()
+void KCMGRUB2::slotGrubColorNormalChanged()
{
m_dirtyBits.setBit(grubColorNormalDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubColorHighlight()
+void KCMGRUB2::slotGrubColorHighlightChanged()
{
m_dirtyBits.setBit(grubColorHighlightDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubBackground(const QString &text)
+void KCMGRUB2::slowGrubBackgroundChanged()
{
- Q_UNUSED(text)
- ui.kpushbutton_preview->setEnabled(!text.isEmpty());
+ ui.kpushbutton_preview->setEnabled(!ui.kurlrequester_background->text().isEmpty());
m_dirtyBits.setBit(grubBackgroundDirty);
emit changed(true);
}
@@ -449,7 +430,7 @@ void KCMGRUB2::previewGrubBackground()
return;
}
- QDialog *dialog = new QDialog(this);
+ QDialog *dialog = new QDialog(this);
QLabel *label = new QLabel(dialog);
label->setPixmap(QPixmap::fromImage(QImage::fromData(file.readAll())).scaled(QDesktopWidget().screenGeometry(this).size()));
dialog->setAttribute(Qt::WA_DeleteOnClose);
@@ -464,84 +445,73 @@ void KCMGRUB2::createGrubBackground()
convertDlg.exec();
#endif
}
-void KCMGRUB2::updateGrubTheme(const QString &text)
+void KCMGRUB2::slotGrubThemeChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubThemeDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubCmdlineLinuxDefault(const QString &text)
+void KCMGRUB2::slotGrubCmdlineLinuxDefaultChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubCmdlineLinuxDefaultDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubCmdlineLinux(const QString &text)
+void KCMGRUB2::slotGrubCmdlineLinuxChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubCmdlineLinuxDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubTerminal(const QString &text)
+void KCMGRUB2::slotGrubTerminalChanged()
{
- Q_UNUSED(text)
- ui.lineEdit_terminalInput->setReadOnly(!text.isEmpty());
- ui.lineEdit_terminalOutput->setReadOnly(!text.isEmpty());
- ui.lineEdit_terminalInput->setText(!text.isEmpty() ? text : \
m_settings.value("GRUB_TERMINAL_INPUT"));
- ui.lineEdit_terminalOutput->setText(!text.isEmpty() ? text : \
m_settings.value("GRUB_TERMINAL_OUTPUT")); + QString grubTerminal = \
ui.lineEdit_terminal->text(); + \
ui.lineEdit_terminalInput->setReadOnly(!grubTerminal.isEmpty()); + \
ui.lineEdit_terminalOutput->setReadOnly(!grubTerminal.isEmpty()); + \
ui.lineEdit_terminalInput->setText(!grubTerminal.isEmpty() ? grubTerminal : \
unquoteWord(m_settings.value("GRUB_TERMINAL_INPUT"))); + \
ui.lineEdit_terminalOutput->setText(!grubTerminal.isEmpty() ? grubTerminal : \
unquoteWord(m_settings.value("GRUB_TERMINAL_OUTPUT"))); \
m_dirtyBits.setBit(grubTerminalDirty); emit changed(true);
}
-void KCMGRUB2::updateGrubTerminalInput(const QString &text)
+void KCMGRUB2::slotGrubTerminalInputChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubTerminalInputDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubTerminalOutput(const QString &text)
+void KCMGRUB2::slotGrubTerminalOutputChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubTerminalOutputDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubDistributor(const QString &text)
+void KCMGRUB2::slotGrubDistributorChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubDistributorDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubSerialCommand(const QString &text)
+void KCMGRUB2::slotGrubSerialCommandChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubSerialCommandDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubInitTune(const QString& text)
+void KCMGRUB2::slotGrubInitTuneChanged()
{
- Q_UNUSED(text)
m_dirtyBits.setBit(grubInitTuneDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubDisableLinuxUUID(bool checked)
+void KCMGRUB2::slotGrubDisableLinuxUuidChanged()
{
- Q_UNUSED(checked)
m_dirtyBits.setBit(grubDisableLinuxUuidDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubDisableRecovery(bool checked)
+void KCMGRUB2::slotGrubDisableRecoveryChanged()
{
- Q_UNUSED(checked)
m_dirtyBits.setBit(grubDisableRecoveryDirty);
emit changed(true);
}
-void KCMGRUB2::updateGrubDisableOsProber(bool checked)
+void KCMGRUB2::slotGrubDisableOsProberChanged()
{
- Q_UNUSED(checked)
m_dirtyBits.setBit(grubDisableOsProberDirty);
emit changed(true);
}
-void KCMGRUB2::updateSuggestions()
+void KCMGRUB2::slotUpdateSuggestions()
{
if (!sender()->isWidgetType()) {
return;
@@ -569,25 +539,25 @@ void KCMGRUB2::updateSuggestions()
action->setChecked(lineEdit->text().contains(QRegExp(QString("\\b%1\\b").arg(action->data().toString()))));
}
}
-void KCMGRUB2::triggeredSuggestion(QAction *action)
+void KCMGRUB2::slotTriggeredSuggestion(QAction *action)
{
QLineEdit *lineEdit = 0;
- void (KCMGRUB2::*updateFunction)(const QString &) = 0;
+ void (KCMGRUB2::*updateFunction)() = 0;
if (ui.kpushbutton_cmdlineDefaultSuggestions->isDown()) {
lineEdit = ui.lineEdit_cmdlineDefault;
- updateFunction = &KCMGRUB2::updateGrubCmdlineLinuxDefault;
+ updateFunction = &KCMGRUB2::slotGrubCmdlineLinuxDefaultChanged;
} else if (ui.kpushbutton_cmdlineSuggestions->isDown()) {
lineEdit = ui.lineEdit_cmdline;
- updateFunction = &KCMGRUB2::updateGrubCmdlineLinux;
+ updateFunction = &KCMGRUB2::slotGrubCmdlineLinuxChanged;
} else if (ui.kpushbutton_terminalSuggestions->isDown()) {
lineEdit = ui.lineEdit_terminal;
- updateFunction = &KCMGRUB2::updateGrubTerminal;
+ updateFunction = &KCMGRUB2::slotGrubTerminalChanged;
} else if (ui.kpushbutton_terminalInputSuggestions->isDown()) {
lineEdit = ui.lineEdit_terminalInput;
- updateFunction = &KCMGRUB2::updateGrubTerminalInput;
+ updateFunction = &KCMGRUB2::slotGrubTerminalInputChanged;
} else if (ui.kpushbutton_terminalOutputSuggestions->isDown()) {
lineEdit = ui.lineEdit_terminalOutput;
- updateFunction = &KCMGRUB2::updateGrubTerminalOutput;
+ updateFunction = &KCMGRUB2::slotGrubTerminalOutputChanged;
} else {
return;
}
@@ -598,7 +568,7 @@ void KCMGRUB2::triggeredSuggestion(QAction *action)
} else {
lineEdit->setText(lineEditText.isEmpty() ? action->data().toString() : \
lineEditText + ' ' + action->data().toString()); }
- (this->*updateFunction)(lineEdit->text());
+ (this->*updateFunction)();
}
void KCMGRUB2::setupObjects()
@@ -702,59 +672,59 @@ void KCMGRUB2::setupObjects()
}
void KCMGRUB2::setupConnections()
{
- connect(ui.radioButton_default, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubDefault()));
- connect(ui.comboBox_default, SIGNAL(activated(int)), this, \
SLOT(updateGrubDefault()));
- connect(ui.radioButton_saved, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubDefault()));
- connect(ui.checkBox_savedefault, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubSavedefault(bool))); + connect(ui.radioButton_default, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubDefaultChanged())); + \
connect(ui.comboBox_default, SIGNAL(activated(int)), this, \
SLOT(slotGrubDefaultChanged())); + connect(ui.radioButton_saved, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubDefaultChanged())); + \
connect(ui.checkBox_savedefault, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubSavedefaultChanged()));
- connect(ui.checkBox_hiddenTimeout, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubHiddenTimeout()));
- connect(ui.spinBox_hiddenTimeout, SIGNAL(valueChanged(int)), this, \
SLOT(updateGrubHiddenTimeout()));
- connect(ui.checkBox_hiddenTimeoutShowTimer, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubHiddenTimeoutQuiet(bool)));
- connect(ui.checkBox_timeout, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubTimeout()));
- connect(ui.radioButton_timeout0, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubTimeout()));
- connect(ui.radioButton_timeout, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubTimeout()));
- connect(ui.spinBox_timeout, SIGNAL(valueChanged(int)), this, \
SLOT(updateGrubTimeout())); + connect(ui.checkBox_hiddenTimeout, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubHiddenTimeoutChanged())); + \
connect(ui.spinBox_hiddenTimeout, SIGNAL(valueChanged(int)), this, \
SLOT(slotGrubHiddenTimeoutChanged())); + \
connect(ui.checkBox_hiddenTimeoutShowTimer, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubHiddenTimeoutQuietChanged())); + connect(ui.checkBox_timeout, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubTimeoutChanged())); + \
connect(ui.radioButton_timeout0, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubTimeoutChanged())); + connect(ui.radioButton_timeout, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubTimeoutChanged())); + \
connect(ui.spinBox_timeout, SIGNAL(valueChanged(int)), this, \
SLOT(slotGrubTimeoutChanged()));
- connect(ui.comboBox_gfxmode, SIGNAL(editTextChanged(QString)), this, \
SLOT(updateGrubGfxmode(QString)));
- connect(ui.radioButton_gfxpayloadText, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubGfxpayloadLinux()));
- connect(ui.radioButton_gfxpayloadKeep, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubGfxpayloadLinux()));
- connect(ui.radioButton_gfxpayloadOther, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubGfxpayloadLinux()));
- connect(ui.comboBox_gfxpayload, SIGNAL(editTextChanged(QString)), this, \
SLOT(updateGrubGfxpayloadLinux())); + connect(ui.comboBox_gfxmode, \
SIGNAL(editTextChanged(QString)), this, SLOT(slotGrubGfxmodeChanged())); + \
connect(ui.radioButton_gfxpayloadText, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubGfxpayloadLinuxChanged())); + connect(ui.radioButton_gfxpayloadKeep, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubGfxpayloadLinuxChanged())); + \
connect(ui.radioButton_gfxpayloadOther, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubGfxpayloadLinuxChanged())); + connect(ui.comboBox_gfxpayload, \
SIGNAL(editTextChanged(QString)), this, SLOT(slotGrubGfxpayloadLinuxChanged()));
- connect(ui.comboBox_normalForeground, SIGNAL(activated(int)), this, \
SLOT(updateGrubColorNormal()));
- connect(ui.comboBox_normalBackground, SIGNAL(activated(int)), this, \
SLOT(updateGrubColorNormal()));
- connect(ui.comboBox_highlightForeground, SIGNAL(activated(int)), this, \
SLOT(updateGrubColorHighlight()));
- connect(ui.comboBox_highlightBackground, SIGNAL(activated(int)), this, \
SLOT(updateGrubColorHighlight())); + connect(ui.comboBox_normalForeground, \
SIGNAL(activated(int)), this, SLOT(slotGrubColorNormalChanged())); + \
connect(ui.comboBox_normalBackground, SIGNAL(activated(int)), this, \
SLOT(slotGrubColorNormalChanged())); + connect(ui.comboBox_highlightForeground, \
SIGNAL(activated(int)), this, SLOT(slotGrubColorHighlightChanged())); + \
connect(ui.comboBox_highlightBackground, SIGNAL(activated(int)), this, \
SLOT(slotGrubColorHighlightChanged()));
- connect(ui.kurlrequester_background, SIGNAL(textChanged(QString)), this, \
SLOT(updateGrubBackground(QString))); + connect(ui.kurlrequester_background, \
SIGNAL(textChanged(QString)), this, \
SLOT(slowGrubBackgroundChanged()));
connect(ui.kpushbutton_preview, SIGNAL(clicked(bool)), this, \
SLOT(previewGrubBackground()));
connect(ui.kpushbutton_create, SIGNAL(clicked(bool)), this, \
SLOT(createGrubBackground()));
- connect(ui.kurlrequester_theme, SIGNAL(textChanged(QString)), this, \
SLOT(updateGrubTheme(QString))); + connect(ui.kurlrequester_theme, \
SIGNAL(textChanged(QString)), this, SLOT(slotGrubThemeChanged()));
- connect(ui.lineEdit_cmdlineDefault, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubCmdlineLinuxDefault(QString)));
- connect(ui.kpushbutton_cmdlineDefaultSuggestions->menu(), SIGNAL(aboutToShow()), \
this, SLOT(updateSuggestions()));
- connect(ui.kpushbutton_cmdlineDefaultSuggestions->menu(), \
SIGNAL(triggered(QAction*)), this, \
SLOT(triggeredSuggestion(QAction*)));
- connect(ui.lineEdit_cmdline, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubCmdlineLinux(QString)));
- connect(ui.kpushbutton_cmdlineSuggestions->menu(), SIGNAL(aboutToShow()), this, \
SLOT(updateSuggestions()));
- connect(ui.kpushbutton_cmdlineSuggestions->menu(), SIGNAL(triggered(QAction*)), \
this, SLOT(triggeredSuggestion(QAction*))); + connect(ui.lineEdit_cmdlineDefault, \
SIGNAL(textEdited(QString)), this, SLOT(slotGrubCmdlineLinuxDefaultChanged())); + \
connect(ui.kpushbutton_cmdlineDefaultSuggestions->menu(), SIGNAL(aboutToShow()), \
this, SLOT(slotUpdateSuggestions())); + \
connect(ui.kpushbutton_cmdlineDefaultSuggestions->menu(), \
SIGNAL(triggered(QAction*)), this, SLOT(slotTriggeredSuggestion(QAction*))); + \
connect(ui.lineEdit_cmdline, SIGNAL(textEdited(QString)), this, \
SLOT(slotGrubCmdlineLinuxChanged())); + \
connect(ui.kpushbutton_cmdlineSuggestions->menu(), SIGNAL(aboutToShow()), this, \
SLOT(slotUpdateSuggestions())); + \
connect(ui.kpushbutton_cmdlineSuggestions->menu(), SIGNAL(triggered(QAction*)), this, \
SLOT(slotTriggeredSuggestion(QAction*)));
- connect(ui.lineEdit_terminal, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubTerminal(QString)));
- connect(ui.kpushbutton_terminalSuggestions->menu(), SIGNAL(aboutToShow()), this, \
SLOT(updateSuggestions()));
- connect(ui.kpushbutton_terminalSuggestions->menu(), SIGNAL(triggered(QAction*)), \
this, SLOT(triggeredSuggestion(QAction*)));
- connect(ui.lineEdit_terminalInput, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubTerminalInput(QString)));
- connect(ui.kpushbutton_terminalInputSuggestions->menu(), SIGNAL(aboutToShow()), \
this, SLOT(updateSuggestions()));
- connect(ui.kpushbutton_terminalInputSuggestions->menu(), \
SIGNAL(triggered(QAction*)), this, \
SLOT(triggeredSuggestion(QAction*)));
- connect(ui.lineEdit_terminalOutput, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubTerminalOutput(QString)));
- connect(ui.kpushbutton_terminalOutputSuggestions->menu(), SIGNAL(aboutToShow()), \
this, SLOT(updateSuggestions()));
- connect(ui.kpushbutton_terminalOutputSuggestions->menu(), \
SIGNAL(triggered(QAction*)), this, SLOT(triggeredSuggestion(QAction*))); + \
connect(ui.lineEdit_terminal, SIGNAL(textEdited(QString)), this, \
SLOT(slotGrubTerminalChanged())); + \
connect(ui.kpushbutton_terminalSuggestions->menu(), SIGNAL(aboutToShow()), this, \
SLOT(slotUpdateSuggestions())); + \
connect(ui.kpushbutton_terminalSuggestions->menu(), SIGNAL(triggered(QAction*)), \
this, SLOT(slotTriggeredSuggestion(QAction*))); + \
connect(ui.lineEdit_terminalInput, SIGNAL(textEdited(QString)), this, \
SLOT(slotGrubTerminalInputChanged())); + \
connect(ui.kpushbutton_terminalInputSuggestions->menu(), SIGNAL(aboutToShow()), this, \
SLOT(slotUpdateSuggestions())); + \
connect(ui.kpushbutton_terminalInputSuggestions->menu(), SIGNAL(triggered(QAction*)), \
this, SLOT(slotTriggeredSuggestion(QAction*))); + \
connect(ui.lineEdit_terminalOutput, SIGNAL(textEdited(QString)), this, \
SLOT(slotGrubTerminalOutputChanged())); + \
connect(ui.kpushbutton_terminalOutputSuggestions->menu(), SIGNAL(aboutToShow()), \
this, SLOT(slotUpdateSuggestions())); + \
connect(ui.kpushbutton_terminalOutputSuggestions->menu(), \
SIGNAL(triggered(QAction*)), this, SLOT(slotTriggeredSuggestion(QAction*)));
- connect(ui.lineEdit_distributor, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubDistributor(QString)));
- connect(ui.lineEdit_serial, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubSerialCommand(QString)));
- connect(ui.lineEdit_initTune, SIGNAL(textEdited(QString)), this, \
SLOT(updateGrubInitTune(QString))); + connect(ui.lineEdit_distributor, \
SIGNAL(textEdited(QString)), this, SLOT(slotGrubDistributorChanged())); + \
connect(ui.lineEdit_serial, SIGNAL(textEdited(QString)), this, \
SLOT(slotGrubSerialCommandChanged())); + connect(ui.lineEdit_initTune, \
SIGNAL(textEdited(QString)), this, SLOT(slotGrubInitTuneChanged()));
- connect(ui.checkBox_uuid, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubDisableLinuxUUID(bool)));
- connect(ui.checkBox_recovery, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubDisableRecovery(bool)));
- connect(ui.checkBox_osProber, SIGNAL(clicked(bool)), this, \
SLOT(updateGrubDisableOsProber(bool))); + connect(ui.checkBox_uuid, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubDisableLinuxUuidChanged())); + \
connect(ui.checkBox_recovery, SIGNAL(clicked(bool)), this, \
SLOT(slotGrubDisableRecoveryChanged())); + connect(ui.checkBox_osProber, \
SIGNAL(clicked(bool)), this, SLOT(slotGrubDisableOsProberChanged())); }
QString KCMGRUB2::convertToGRUBFileName(const QString &fileName)
@@ -969,6 +939,10 @@ bool KCMGRUB2::readSettings()
return false;
}
+QString KCMGRUB2::quoteWord(const QString &word)
+{
+ return !word.startsWith('`') || !word.endsWith('`') ? KShell::quoteArg(word) : \
word; +}
QString KCMGRUB2::unquoteWord(const QString &word)
{
KProcess echo(this);
@@ -1065,7 +1039,7 @@ void KCMGRUB2::parseSettings(const QString &config)
while (!stream.atEnd()) {
line = stream.readLine().trimmed();
if (line.startsWith("GRUB_")) {
- m_settings[line.section('=', 0, 0)] = unquoteWord(line.section('=', 1));
+ m_settings[line.section('=', 0, 0)] = line.section('=', 1);
}
}
}
@@ -1134,7 +1108,7 @@ void KCMGRUB2::parseEntries(const QString &config)
}
}
}
- m_entries.append(unquoteWord(entry));
+ m_entries.append(entry);
entry.clear();
}
}
diff --git a/src/kcm_grub2.h b/src/kcm_grub2.h
index 05cc177..eae7c96 100644
--- a/src/kcm_grub2.h
+++ b/src/kcm_grub2.h
@@ -36,33 +36,33 @@ public:
virtual void load();
virtual void save();
private Q_SLOTS:
- void updateGrubDefault();
- void updateGrubSavedefault(bool checked);
- void updateGrubHiddenTimeout();
- void updateGrubHiddenTimeoutQuiet(bool checked);
- void updateGrubTimeout();
- void updateGrubGfxmode(const QString &text);
- void updateGrubGfxpayloadLinux();
- void updateGrubColorNormal();
- void updateGrubColorHighlight();
- void updateGrubBackground(const QString &text);
+ void slotGrubDefaultChanged();
+ void slotGrubSavedefaultChanged();
+ void slotGrubHiddenTimeoutChanged();
+ void slotGrubHiddenTimeoutQuietChanged();
+ void slotGrubTimeoutChanged();
+ void slotGrubGfxmodeChanged();
+ void slotGrubGfxpayloadLinuxChanged();
+ void slotGrubColorNormalChanged();
+ void slotGrubColorHighlightChanged();
+ void slowGrubBackgroundChanged();
void previewGrubBackground();
void createGrubBackground();
- void updateGrubTheme(const QString &text);
- void updateGrubCmdlineLinuxDefault(const QString &text);
- void updateGrubCmdlineLinux(const QString &text);
- void updateGrubTerminal(const QString &text);
- void updateGrubTerminalInput(const QString &text);
- void updateGrubTerminalOutput(const QString &text);
- void updateGrubDistributor(const QString &text);
- void updateGrubSerialCommand(const QString &text);
- void updateGrubInitTune(const QString &text);
- void updateGrubDisableLinuxUUID(bool checked);
- void updateGrubDisableRecovery(bool checked);
- void updateGrubDisableOsProber(bool checked);
+ void slotGrubThemeChanged();
+ void slotGrubCmdlineLinuxDefaultChanged();
+ void slotGrubCmdlineLinuxChanged();
+ void slotGrubTerminalChanged();
+ void slotGrubTerminalInputChanged();
+ void slotGrubTerminalOutputChanged();
+ void slotGrubDistributorChanged();
+ void slotGrubSerialCommandChanged();
+ void slotGrubInitTuneChanged();
+ void slotGrubDisableLinuxUuidChanged();
+ void slotGrubDisableRecoveryChanged();
+ void slotGrubDisableOsProberChanged();
- void updateSuggestions();
- void triggeredSuggestion(QAction *action);
+ void slotUpdateSuggestions();
+ void slotTriggeredSuggestion(QAction *action);
private:
void setupObjects();
void setupConnections();
@@ -79,6 +79,7 @@ private:
bool readEntries();
bool readSettings();
+ QString quoteWord(const QString &word);
QString unquoteWord(const QString &word);
void parseSettings(const QString &config);
void parseEntries(const QString &config);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic