forked from qt-creator/qt-creator
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: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
@@ -141,11 +141,11 @@ QString ConsoleProcess::msgCannotExecute(const QString & p, const QString &why)
|
|||||||
return tr("Cannot execute '%1': %2").arg(p, 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) {
|
if (settings) {
|
||||||
const QString value = settings->value(QLatin1String("General/TerminalEmulator")).toString();
|
const QString value = settings->value(QLatin1String("General/TerminalEmulator")).toString();
|
||||||
if (!value.isEmpty())
|
if (!nonEmpty || !value.isEmpty())
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
return defaultTerminalEmulator();
|
return defaultTerminalEmulator();
|
||||||
|
@@ -96,7 +96,7 @@ public:
|
|||||||
|
|
||||||
static QString defaultTerminalEmulator();
|
static QString defaultTerminalEmulator();
|
||||||
static QStringList availableTerminalEmulators();
|
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);
|
static void setTerminalEmulator(QSettings *settings, const QString &term);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
@@ -116,9 +116,11 @@ QWidget *GeneralSettings::createPage(QWidget *parent)
|
|||||||
m_page->reloadBehavior->setCurrentIndex(EditorManager::instance()->reloadSetting());
|
m_page->reloadBehavior->setCurrentIndex(EditorManager::instance()->reloadSetting());
|
||||||
#ifdef Q_OS_UNIX
|
#ifdef Q_OS_UNIX
|
||||||
const QStringList availableTerminals = ConsoleProcess::availableTerminalEmulators();
|
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->addItems(availableTerminals);
|
||||||
m_page->terminalComboBox->lineEdit()->setText(currentTerminal);
|
m_page->terminalComboBox->lineEdit()->setText(currentTerminal);
|
||||||
|
m_page->terminalComboBox->lineEdit()->setPlaceholderText(currentTerminalExplicit);
|
||||||
#else
|
#else
|
||||||
m_page->terminalLabel->hide();
|
m_page->terminalLabel->hide();
|
||||||
m_page->terminalComboBox->hide();
|
m_page->terminalComboBox->hide();
|
||||||
@@ -214,7 +216,7 @@ void GeneralSettings::resetWarnings()
|
|||||||
void GeneralSettings::resetTerminal()
|
void GeneralSettings::resetTerminal()
|
||||||
{
|
{
|
||||||
#if defined(Q_OS_UNIX)
|
#if defined(Q_OS_UNIX)
|
||||||
m_page->terminalComboBox->lineEdit()->setText(ConsoleProcess::defaultTerminalEmulator());
|
m_page->terminalComboBox->lineEdit()->setText(QString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user