Skip to content
Snippets Groups Projects
Commit 1a1791ab authored by Fawzi Mohamed's avatar Fawzi Mohamed
Browse files

consoleprocess: use empty string as default terminal


Using empty string as default terminal avoids storing a path to
QtCreator resources (which becomes invalid if creator is deleted)
on mac.

Change-Id: I9d5fe9bce38387d82de451652df6be9ec5eb5960
Reviewed-by: default avatarOswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: default avatarEike Ziller <eike.ziller@digia.com>
parent 1526011f
No related branches found
No related tags found
No related merge requests found
......@@ -141,11 +141,11 @@ QString ConsoleProcess::msgCannotExecute(const QString & p, const QString &why)
return tr("Cannot execute '%1': %2").arg(p, why);
}
QString ConsoleProcess::terminalEmulator(const QSettings *settings)
QString ConsoleProcess::terminalEmulator(const QSettings *settings, bool nonEmpty)
{
if (settings) {
const QString value = settings->value(QLatin1String("General/TerminalEmulator")).toString();
if (!value.isEmpty())
if (!nonEmpty || !value.isEmpty())
return value;
}
return defaultTerminalEmulator();
......
......@@ -96,7 +96,7 @@ public:
static QString defaultTerminalEmulator();
static QStringList availableTerminalEmulators();
static QString terminalEmulator(const QSettings *settings);
static QString terminalEmulator(const QSettings *settings, bool nonEmpty = true);
static void setTerminalEmulator(QSettings *settings, const QString &term);
signals:
......
......@@ -116,9 +116,11 @@ QWidget *GeneralSettings::createPage(QWidget *parent)
m_page->reloadBehavior->setCurrentIndex(EditorManager::instance()->reloadSetting());
#ifdef Q_OS_UNIX
const QStringList availableTerminals = ConsoleProcess::availableTerminalEmulators();
const QString currentTerminal = ConsoleProcess::terminalEmulator(settings);
const QString currentTerminal = ConsoleProcess::terminalEmulator(settings, false);
const QString currentTerminalExplicit = ConsoleProcess::terminalEmulator(settings, true);
m_page->terminalComboBox->addItems(availableTerminals);
m_page->terminalComboBox->lineEdit()->setText(currentTerminal);
m_page->terminalComboBox->lineEdit()->setPlaceholderText(currentTerminalExplicit);
#else
m_page->terminalLabel->hide();
m_page->terminalComboBox->hide();
......@@ -214,7 +216,7 @@ void GeneralSettings::resetWarnings()
void GeneralSettings::resetTerminal()
{
#if defined(Q_OS_UNIX)
m_page->terminalComboBox->lineEdit()->setText(ConsoleProcess::defaultTerminalEmulator());
m_page->terminalComboBox->lineEdit()->setText(QString());
#endif
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment