add options to set terminal
This commit is contained in:
parent
4f61797a50
commit
edc9fe6ed0
|
@ -318,6 +318,15 @@ win32: SOURCES += \
|
||||||
settingsdialog/environmentfileassociationwidget.cpp \
|
settingsdialog/environmentfileassociationwidget.cpp \
|
||||||
settingsdialog/projectversioninfowidget.cpp
|
settingsdialog/projectversioninfowidget.cpp
|
||||||
|
|
||||||
|
linux: HEADERS += \
|
||||||
|
settingsdialog/environmentprogramswidget.h
|
||||||
|
|
||||||
|
linux: SOURCES += \
|
||||||
|
settingsdialog/environmentprogramswidget.cpp
|
||||||
|
|
||||||
|
linux: FORMS += \
|
||||||
|
settingsdialog/environmentprogramswidget.ui
|
||||||
|
|
||||||
TRANSLATIONS += \
|
TRANSLATIONS += \
|
||||||
RedPandaIDE_zh_CN.ts
|
RedPandaIDE_zh_CN.ts
|
||||||
|
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -228,7 +228,7 @@ void CompilerManager::run(const QString &filename, const QString &arguments, con
|
||||||
#else
|
#else
|
||||||
QString newArguments = QString(" -e \"%1\" %2")
|
QString newArguments = QString(" -e \"%1\" %2")
|
||||||
.arg(localizePath(filename)).arg(arguments);
|
.arg(localizePath(filename)).arg(arguments);
|
||||||
execRunner = new ExecutableRunner("/usr/bin/x-terminal-emulator",newArguments,workDir);
|
execRunner = new ExecutableRunner(pSettings->environment().terminalPath(),newArguments,workDir);
|
||||||
#endif
|
#endif
|
||||||
execRunner->setStartConsole(true);
|
execRunner->setStartConsole(true);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -2253,8 +2253,13 @@ void DebugTarget::run()
|
||||||
cmd= mGDBServer;
|
cmd= mGDBServer;
|
||||||
arguments = QString(" localhost:%1 \"%2\"").arg(mPort).arg(mInferior);
|
arguments = QString(" localhost:%1 \"%2\"").arg(mPort).arg(mInferior);
|
||||||
#else
|
#else
|
||||||
cmd= "/usr/bin/x-terminal-emulator";
|
if (programHasConsole(mInferior)) {
|
||||||
arguments = QString(" -e \"%1\" localhost:%2 \"%3\"").arg(mGDBServer).arg(mPort).arg(mInferior);
|
cmd= pSettings->environment().terminalPath();
|
||||||
|
arguments = QString(" -e \"%1\" localhost:%2 \"%3\"").arg(mGDBServer).arg(mPort).arg(mInferior);
|
||||||
|
} else {
|
||||||
|
cmd= mGDBServer;
|
||||||
|
arguments = QString(" localhost:%1 \"%2\"").arg(mPort).arg(mInferior);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
QString workingDir = QFileInfo(mInferior).path();
|
QString workingDir = QFileInfo(mInferior).path();
|
||||||
|
|
||||||
|
|
|
@ -2798,6 +2798,10 @@ void Settings::Environment::doLoad()
|
||||||
if (!fileExists(mDefaultOpenFolder)) {
|
if (!fileExists(mDefaultOpenFolder)) {
|
||||||
mDefaultOpenFolder = QDir::currentPath();
|
mDefaultOpenFolder = QDir::currentPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
mTerminalPath = stringValue("terminal_path","/usr/bin/x-terminal-emulator");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int Settings::Environment::interfaceFontSize() const
|
int Settings::Environment::interfaceFontSize() const
|
||||||
|
@ -2850,6 +2854,16 @@ void Settings::Environment::setIconSet(const QString &newIconSet)
|
||||||
mIconSet = newIconSet;
|
mIconSet = newIconSet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Settings::Environment::terminalPath() const
|
||||||
|
{
|
||||||
|
return mTerminalPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Settings::Environment::setTerminalPath(const QString &terminalPath)
|
||||||
|
{
|
||||||
|
mTerminalPath = terminalPath;
|
||||||
|
}
|
||||||
|
|
||||||
void Settings::Environment::doSave()
|
void Settings::Environment::doSave()
|
||||||
{
|
{
|
||||||
//Appearence
|
//Appearence
|
||||||
|
@ -2861,6 +2875,9 @@ void Settings::Environment::doSave()
|
||||||
|
|
||||||
saveValue("current_folder",mCurrentFolder);
|
saveValue("current_folder",mCurrentFolder);
|
||||||
saveValue("default_open_folder",mDefaultOpenFolder);
|
saveValue("default_open_folder",mDefaultOpenFolder);
|
||||||
|
#ifndef Q_OS_WIN
|
||||||
|
saveValue("terminal_path",mTerminalPath);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Settings::Environment::interfaceFont() const
|
QString Settings::Environment::interfaceFont() const
|
||||||
|
|
|
@ -487,6 +487,9 @@ public:
|
||||||
const QString &iconSet() const;
|
const QString &iconSet() const;
|
||||||
void setIconSet(const QString &newIconSet);
|
void setIconSet(const QString &newIconSet);
|
||||||
|
|
||||||
|
QString terminalPath() const;
|
||||||
|
void setTerminalPath(const QString &terminalPath);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
//Appearence
|
//Appearence
|
||||||
|
@ -498,6 +501,7 @@ public:
|
||||||
QString mIconSet;
|
QString mIconSet;
|
||||||
|
|
||||||
QString mDefaultOpenFolder;
|
QString mDefaultOpenFolder;
|
||||||
|
QString mTerminalPath;
|
||||||
// _Base interface
|
// _Base interface
|
||||||
protected:
|
protected:
|
||||||
void doSave() override;
|
void doSave() override;
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
#include "environmentprogramswidget.h"
|
||||||
|
#include "ui_environmentprogramswidget.h"
|
||||||
|
#include "../settings.h"
|
||||||
|
#include "../iconsmanager.h"
|
||||||
|
|
||||||
|
#include <QFileDialog>
|
||||||
|
|
||||||
|
EnvironmentProgramsWidget::EnvironmentProgramsWidget(const QString& name, const QString& group, QWidget *parent) :
|
||||||
|
SettingsWidget(name,group,parent),
|
||||||
|
ui(new Ui::EnvironmentProgramsWidget)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
EnvironmentProgramsWidget::~EnvironmentProgramsWidget()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnvironmentProgramsWidget::doLoad()
|
||||||
|
{
|
||||||
|
ui->txtTerminal->setText(pSettings->environment().terminalPath());
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnvironmentProgramsWidget::doSave()
|
||||||
|
{
|
||||||
|
pSettings->environment().setTerminalPath(ui->txtTerminal->text());
|
||||||
|
pSettings->environment().save();
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnvironmentProgramsWidget::updateIcons(const QSize &)
|
||||||
|
{
|
||||||
|
pIconsManager->setIcon(ui->btnChooseTerminal,IconsManager::ACTION_FILE_OPEN_FOLDER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void EnvironmentProgramsWidget::on_btnChooseTerminal_clicked()
|
||||||
|
{
|
||||||
|
QString filename = QFileDialog::getOpenFileName(
|
||||||
|
this,
|
||||||
|
tr("Choose Terminal Program"),
|
||||||
|
QString(),
|
||||||
|
tr("All files (*.*)"));
|
||||||
|
if (!filename.isEmpty() && fileExists(filename) ) {
|
||||||
|
ui->txtTerminal->setText(filename);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef ENVIRONMENTPROGRAMSWIDGET_H
|
||||||
|
#define ENVIRONMENTPROGRAMSWIDGET_H
|
||||||
|
|
||||||
|
#include "settingswidget.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class EnvironmentProgramsWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
class EnvironmentProgramsWidget : public SettingsWidget
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit EnvironmentProgramsWidget(const QString& name, const QString& group, QWidget *parent = nullptr);
|
||||||
|
~EnvironmentProgramsWidget();
|
||||||
|
|
||||||
|
private:
|
||||||
|
Ui::EnvironmentProgramsWidget *ui;
|
||||||
|
|
||||||
|
// SettingsWidget interface
|
||||||
|
protected:
|
||||||
|
void doLoad();
|
||||||
|
void doSave();
|
||||||
|
void updateIcons(const QSize &size);
|
||||||
|
private slots:
|
||||||
|
void on_btnChooseTerminal_clicked();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ENVIRONMENTPROGRAMSWIDGET_H
|
|
@ -0,0 +1,57 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>EnvironmentProgramsWidget</class>
|
||||||
|
<widget class="QWidget" name="EnvironmentProgramsWidget">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Form</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="txtTerminal"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QToolButton" name="btnChooseTerminal">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../icons.qrc">
|
||||||
|
<normaloff>:/icons/images/newlook24/053-open.png</normaloff>:/icons/images/newlook24/053-open.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Terminal</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<spacer name="verticalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources>
|
||||||
|
<include location="../icons.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -36,6 +36,9 @@
|
||||||
#include "environmentfileassociationwidget.h"
|
#include "environmentfileassociationwidget.h"
|
||||||
#include "projectversioninfowidget.h"
|
#include "projectversioninfowidget.h"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
#include "environmentprogramswidget.h"
|
||||||
|
#endif
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QModelIndex>
|
#include <QModelIndex>
|
||||||
|
@ -129,6 +132,12 @@ PSettingsDialog SettingsDialog::optionDialog()
|
||||||
widget->init();
|
widget->init();
|
||||||
dialog->addWidget(widget);
|
dialog->addWidget(widget);
|
||||||
|
|
||||||
|
#ifdef Q_OS_LINUX
|
||||||
|
widget = new EnvironmentProgramsWidget(tr("Terminal"),tr("Environment"));
|
||||||
|
widget->init();
|
||||||
|
dialog->addWidget(widget);
|
||||||
|
#endif
|
||||||
|
|
||||||
widget = new EnvironmentPerformanceWidget(tr("Performance"),tr("Environment"));
|
widget = new EnvironmentPerformanceWidget(tr("Performance"),tr("Environment"));
|
||||||
widget->init();
|
widget->init();
|
||||||
dialog->addWidget(widget);
|
dialog->addWidget(widget);
|
||||||
|
|
|
@ -21,7 +21,11 @@ void ToolsManager::load()
|
||||||
mTools.clear();
|
mTools.clear();
|
||||||
PToolItem item = std::make_shared<ToolItem>();
|
PToolItem item = std::make_shared<ToolItem>();
|
||||||
item->title = tr("Remove Compiled");
|
item->title = tr("Remove Compiled");
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
item->program = "del";
|
item->program = "del";
|
||||||
|
#else
|
||||||
|
item->program = "rm";
|
||||||
|
#endif
|
||||||
item->workingDirectory = "<SOURCEPATH>";
|
item->workingDirectory = "<SOURCEPATH>";
|
||||||
item->parameters = "<EXENAME>";
|
item->parameters = "<EXENAME>";
|
||||||
item->pauseAfterExit = false;
|
item->pauseAfterExit = false;
|
||||||
|
|
Loading…
Reference in New Issue