Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F103983
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
23 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/src/ApplicationGlobal.cpp b/src/ApplicationGlobal.cpp
index d7e6665..1d41a5b 100644
--- a/src/ApplicationGlobal.cpp
+++ b/src/ApplicationGlobal.cpp
@@ -1,12 +1,11 @@
#include "ApplicationGlobal.h"
ApplicationGlobal::ApplicationGlobal()
{
// branch_label_color.head = QColor(255, 192, 224); // pink
// branch_label_color.local = QColor(192, 224, 255); // blue
// branch_label_color.remote = QColor(192, 240, 224); // green
// branch_label_color.tag = QColor(255, 224, 192); // orange
-
}
diff --git a/src/SettingProgramsForm.cpp b/src/SettingProgramsForm.cpp
index 330407b..fecb6da 100644
--- a/src/SettingProgramsForm.cpp
+++ b/src/SettingProgramsForm.cpp
@@ -1,69 +1,90 @@
#include "SettingProgramsForm.h"
#include "ui_SettingProgramsForm.h"
#include <QFileDialog>
#include "SettingsDialog.h"
#include "common/misc.h"
SettingProgramsForm::SettingProgramsForm(QWidget *parent) :
AbstractSettingForm(parent),
ui(new Ui::SettingProgramsForm)
{
ui->setupUi(this);
+
+#ifdef Q_OS_WIN
+ ui->groupBox_terminal->setVisible(false);
+#endif
}
SettingProgramsForm::~SettingProgramsForm()
{
delete ui;
}
void SettingProgramsForm::exchange(bool save)
{
if (save) {
settings()->git_command = ui->lineEdit_git_command->text();
settings()->file_command = ui->lineEdit_file_command->text();
settings()->gpg_command = ui->lineEdit_gpg_command->text();
settings()->ssh_command = ui->lineEdit_ssh_command->text();
+ settings()->terminal_command = ui->lineEdit_terminal_command->text();
} else {
ui->lineEdit_git_command->setText(settings()->git_command);
ui->lineEdit_file_command->setText(settings()->file_command);
ui->lineEdit_gpg_command->setText(settings()->gpg_command);
ui->lineEdit_ssh_command->setText(settings()->ssh_command);
+ ui->lineEdit_terminal_command->setText(settings()->terminal_command);
}
}
void SettingProgramsForm::on_pushButton_select_git_command_clicked()
{
QString path = mainwindow()->selectGitCommand(false);
if (!path.isEmpty()) {
settings()->git_command = path;
ui->lineEdit_git_command->setText(path);
}
}
void SettingProgramsForm::on_pushButton_select_file_command_clicked()
{
QString path = mainwindow()->selectFileCommand(false);
if (!path.isEmpty()) {
settings()->file_command = path;
ui->lineEdit_file_command->setText(path);
}
}
void SettingProgramsForm::on_pushButton_select_gpg_command_clicked()
{
QString path = mainwindow()->selectGpgCommand(false);
if (!path.isEmpty()) {
settings()->gpg_command = path;
ui->lineEdit_gpg_command->setText(path);
}
}
void SettingProgramsForm::on_pushButton_select_ssh_command_clicked()
{
QString path = mainwindow()->selectSshCommand(false);
if (!path.isEmpty()) {
settings()->ssh_command = path;
ui->lineEdit_ssh_command->setText(path);
}
}
+
+void SettingProgramsForm::on_pushButton_select_term_command_clicked()
+{
+ QString path = QFileDialog::getOpenFileName(window(), tr("Terminal Command"), "/usr/bin");
+ if (!path.isEmpty()) {
+ settings()->terminal_command = path;
+ ui->lineEdit_terminal_command->setText(path);
+ }
+}
+
+void SettingProgramsForm::on_pushButton_reset_term_command_clicked()
+{
+ QString path = ApplicationSettings::defaultSettings().terminal_command;
+ ui->lineEdit_terminal_command->setText(path);
+}
diff --git a/src/SettingProgramsForm.h b/src/SettingProgramsForm.h
index e75d5bb..87e985e 100644
--- a/src/SettingProgramsForm.h
+++ b/src/SettingProgramsForm.h
@@ -1,26 +1,27 @@
#ifndef SETTINGPROGRAMSFORM_H
#define SETTINGPROGRAMSFORM_H
#include "AbstractSettingForm.h"
namespace Ui {
class SettingProgramsForm;
}
class SettingProgramsForm : public AbstractSettingForm {
Q_OBJECT
private:
Ui::SettingProgramsForm *ui;
public:
explicit SettingProgramsForm(QWidget *parent = nullptr);
~SettingProgramsForm() override;
void exchange(bool save) override;
private slots:
void on_pushButton_select_git_command_clicked();
void on_pushButton_select_file_command_clicked();
void on_pushButton_select_gpg_command_clicked();
-
void on_pushButton_select_ssh_command_clicked();
+ void on_pushButton_select_term_command_clicked();
+ void on_pushButton_reset_term_command_clicked();
};
#endif // SETTINGPROGRAMSFORM_H
diff --git a/src/SettingProgramsForm.ui b/src/SettingProgramsForm.ui
index d211009..3f37bac 100644
--- a/src/SettingProgramsForm.ui
+++ b/src/SettingProgramsForm.ui
@@ -1,118 +1,144 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>SettingProgramsForm</class>
<widget class="QWidget" name="SettingProgramsForm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
- <width>309</width>
- <height>260</height>
+ <width>950</width>
+ <height>736</height>
</rect>
</property>
<property name="windowTitle">
<string>Programs</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Git command</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="lineEdit_git_command"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_select_git_command">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>File command</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLineEdit" name="lineEdit_file_command"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_select_file_command">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>GPG command (option)</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLineEdit" name="lineEdit_gpg_command"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_select_gpg_command">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>SSH command (option)</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLineEdit" name="lineEdit_ssh_command"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_select_ssh_command">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
+ <item>
+ <widget class="QGroupBox" name="groupBox_terminal">
+ <property name="title">
+ <string>Terminal command (option)</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_8">
+ <item>
+ <widget class="QLineEdit" name="lineEdit_terminal_command"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_reset_term_command">
+ <property name="text">
+ <string>Reset</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pushButton_select_term_command">
+ <property name="text">
+ <string>Browse...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>74</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<tabstops>
<tabstop>lineEdit_git_command</tabstop>
<tabstop>pushButton_select_git_command</tabstop>
<tabstop>lineEdit_file_command</tabstop>
<tabstop>pushButton_select_file_command</tabstop>
<tabstop>lineEdit_gpg_command</tabstop>
<tabstop>pushButton_select_gpg_command</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>
diff --git a/src/SettingsDialog.cpp b/src/SettingsDialog.cpp
index 3204c4d..1487935 100644
--- a/src/SettingsDialog.cpp
+++ b/src/SettingsDialog.cpp
@@ -1,227 +1,229 @@
#include "SettingsDialog.h"
#include "ui_SettingsDialog.h"
#include "MySettings.h"
#include "common/misc.h"
#include <QFileDialog>
static int page_number = 0;
SettingsDialog::SettingsDialog(MainWindow *parent) :
QDialog(parent),
ui(new Ui::SettingsDialog)
{
ui->setupUi(this);
Qt::WindowFlags flags = windowFlags();
flags &= ~Qt::WindowContextHelpButtonHint;
setWindowFlags(flags);
mainwindow_ = parent;
loadSettings();
QTreeWidgetItem *item;
auto AddPage = [&](QWidget *page){
page->layout()->setMargin(0);
QString name = page->windowTitle();
item = new QTreeWidgetItem();
item->setText(0, name);
item->setData(0, Qt::UserRole, QVariant::fromValue((uintptr_t)(QWidget *)page));
ui->treeWidget->addTopLevelItem(item);
};
AddPage(ui->page_general);
AddPage(ui->page_programs);
AddPage(ui->page_behavior);
AddPage(ui->page_network);
AddPage(ui->page_visual);
// AddPage(ui->page_example);
ui->treeWidget->setCurrentItem(ui->treeWidget->topLevelItem(page_number));
}
SettingsDialog::~SettingsDialog()
{
delete ui;
}
namespace {
template <typename T> class GetValue {
private:
public:
MySettings &settings;
QString name;
GetValue(MySettings &s, QString const &name)
: settings(s)
, name(name)
{
}
// void operator >> (T &value)
// {
// value = settings.value(name, value).template value<T>();
// }
};
template <typename T> void operator >> (GetValue<T> const &l, T &r)
{
r = l.settings.value(l.name, r).template value<T>();
}
template <> void operator >> (GetValue<QColor> const &l, QColor &r)
{
QString s = l.settings.value(l.name, QString()).template value<QString>(); // 文字列で取得
if (s.startsWith('#')) {
r = s;
}
}
template <typename T> class SetValue {
private:
public:
MySettings &settings;
QString name;
SetValue(MySettings &s, QString const &name)
: settings(s)
, name(name)
{
}
// void operator << (T const &value)
// {
// settings.setValue(name, value);
// }
};
-template <typename T> void operator << (SetValue<T> const &l, T const &r) // 左辺をconstにしないとビルドが通らない
+template <typename T> void operator << (SetValue<T> &&l, T const &r)
{
- const_cast<SetValue<T> *>(&l)->settings.setValue(l.name, r);
+ l.settings.setValue(l.name, r);
}
-template <> void operator << (SetValue<QColor> const &l, QColor const &r)
+template <> void operator << (SetValue<QColor> &&l, QColor const &r)
{
QString s = QString::asprintf("#%02x%02x%02x", r.red(), r.green(), r.blue());
- const_cast<SetValue<QColor> *>(&l)->settings.setValue(l.name, s);
+ l.settings.setValue(l.name, s);
}
} // namespace
void SettingsDialog::loadSettings(ApplicationSettings *as)
{
MySettings s;
*as = ApplicationSettings::defaultSettings();
s.beginGroup("Global");
GetValue<bool>(s, "SaveWindowPosition") >> as->remember_and_restore_window_position;
GetValue<QString>(s, "DefaultWorkingDirectory") >> as->default_working_dir;
GetValue<QString>(s, "GitCommand") >> as->git_command;
GetValue<QString>(s, "FileCommand") >> as->file_command;
GetValue<QString>(s, "GpgCommand") >> as->gpg_command;
GetValue<QString>(s, "SshCommand") >> as->ssh_command;
+ GetValue<QString>(s, "TerminalCommand") >> as->terminal_command;
s.endGroup();
s.beginGroup("UI");
GetValue<bool>(s, "EnableHighDpiScaling") >> as->enable_high_dpi_scaling;
GetValue<bool>(s, "ShowLabels") >> as->show_labels;
s.endGroup();
s.beginGroup("Network");
GetValue<QString>(s, "ProxyType") >> as->proxy_type;
GetValue<QString>(s, "ProxyServer") >> as->proxy_server;
GetValue<bool>(s, "GetCommitterIcon") >> as->get_committer_icon;
s.endGroup();
as->proxy_server = misc::makeProxyServerURL(as->proxy_server);
s.beginGroup("Behavior");
GetValue<bool>(s, "AutomaticFetch") >> as->automatically_fetch_when_opening_the_repository;
GetValue<unsigned int>(s, "MaxCommitItemAcquisitions") >> as->maximum_number_of_commit_item_acquisitions;
s.endGroup();
s.beginGroup("Visual");
GetValue<QColor>(s, "LabelColorHead") >> as->branch_label_color.head;
GetValue<QColor>(s, "LabelColorLocalBranch") >> as->branch_label_color.local;
GetValue<QColor>(s, "LabelColorRemoteBranch") >> as->branch_label_color.remote;
GetValue<QColor>(s, "LabelColorTag") >> as->branch_label_color.tag;
s.endGroup();
}
void SettingsDialog::saveSettings(ApplicationSettings const *as)
{
MySettings s;
s.beginGroup("Global");
SetValue<bool>(s, "SaveWindowPosition") << as->remember_and_restore_window_position;
SetValue<QString>(s, "DefaultWorkingDirectory") << as->default_working_dir;
SetValue<QString>(s, "GitCommand") << as->git_command;
SetValue<QString>(s, "FileCommand") << as->file_command;
SetValue<QString>(s, "GpgCommand") << as->gpg_command;
SetValue<QString>(s, "SshCommand") << as->ssh_command;
+ SetValue<QString>(s, "TerminalCommand") << as->terminal_command;
s.endGroup();
s.beginGroup("UI");
SetValue<bool>(s, "EnableHighDpiScaling") << as->enable_high_dpi_scaling;
SetValue<bool>(s, "ShowLabels") << as->show_labels;
s.endGroup();
s.beginGroup("Network");
SetValue<QString>(s, "ProxyType") << as->proxy_type;
SetValue<QString>(s, "ProxyServer") << misc::makeProxyServerURL(as->proxy_server);
SetValue<bool>(s, "GetCommitterIcon") << as->get_committer_icon;
s.endGroup();
s.beginGroup("Behavior");
SetValue<bool>(s, "AutomaticFetch") << as->automatically_fetch_when_opening_the_repository;
SetValue<unsigned int>(s, "MaxCommitItemAcquisitions") << as->maximum_number_of_commit_item_acquisitions;
s.endGroup();
s.beginGroup("Visual");
SetValue<QColor>(s, "LabelColorHead") << as->branch_label_color.head;
SetValue<QColor>(s, "LabelColorLocalBranch") << as->branch_label_color.local;
SetValue<QColor>(s, "LabelColorRemoteBranch") << as->branch_label_color.remote;
SetValue<QColor>(s, "LabelColorTag") << as->branch_label_color.tag;
s.endGroup();
}
void SettingsDialog::saveSettings()
{
saveSettings(&set);
}
void SettingsDialog::exchange(bool save)
{
QList<AbstractSettingForm *> forms = ui->stackedWidget->findChildren<AbstractSettingForm *>();
for (AbstractSettingForm *form : forms) {
form->exchange(save);
}
}
void SettingsDialog::loadSettings()
{
loadSettings(&set);
exchange(false);
}
void SettingsDialog::done(int r)
{
page_number = ui->treeWidget->currentIndex().row();
QDialog::done(r);
}
void SettingsDialog::accept()
{
exchange(true);
saveSettings();
done(QDialog::Accepted);
}
void SettingsDialog::on_treeWidget_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous)
{
(void)previous;
if (current) {
uintptr_t p = current->data(0, Qt::UserRole).value<uintptr_t>();
QWidget *w = reinterpret_cast<QWidget *>(p);
Q_ASSERT(w);
ui->stackedWidget->setCurrentWidget(w);
}
}
diff --git a/src/Terminal.cpp b/src/Terminal.cpp
index 84c2e57..aa9e7e2 100644
--- a/src/Terminal.cpp
+++ b/src/Terminal.cpp
@@ -1,59 +1,47 @@
#include "Terminal.h"
-
+#include "ApplicationGlobal.h"
#include <QFileInfo>
#ifdef Q_OS_WIN
#include <windows.h>
void Terminal::open(QString const &dir)
{
if (dir.indexOf('\"') < 0 && QFileInfo(dir).isDir()) {
QString arg;
if (dir.at(0).isLetter() && dir.at(1) == ':') {
arg = QString("%1 & cd %2").arg(dir.mid(0, 2)).arg(dir);
} else {
arg = QString("cd %1").arg(dir);
}
QString cmd = "cmd.exe /k \"%1\"";
cmd = cmd.arg(arg);
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
CreateProcess(nullptr, (wchar_t *)cmd.utf16(), nullptr, nullptr, FALSE, NORMAL_PRIORITY_CLASS, nullptr, nullptr, &si, &pi);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
}
}
#else
void Terminal::open(QString const &dir)
{
if (dir.indexOf('\"') < 0 && QFileInfo(dir).isDir()) {
- auto GetTerm = [&](std::vector<char const *> const &vec){
- #ifndef __HAIKU__
- for (char const *name : vec) {
- char const *p = getenv(name);
- if (p && *p) return p;
- }
- return "x-terminal-emulator";
- #else
- return "Terminal";
- #endif
- };
- QString term = GetTerm({"COLORTERM", "TERM"});
-
+ QString term = global->appsettings.terminal_command;
QString cmd = "/bin/sh -c \"cd \\\"%1\\\" && %2\" &";
cmd = cmd.arg(dir).arg(term);
int r = system(cmd.toStdString().c_str());
(void)r;
}
}
#endif
diff --git a/src/main.cpp b/src/main.cpp
index 5a41008..c0693cc 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,191 +1,197 @@
#include "main.h"
#include "ApplicationGlobal.h"
#include "MainWindow.h"
#include "MySettings.h"
#include "SettingGeneralForm.h"
#include "common/joinpath.h"
#include "common/misc.h"
#include "darktheme/DarkStyle.h"
#include "platform.h"
#include "webclient.h"
#include <QApplication>
#include <QDebug>
#include <QDir>
#include <QMessageBox>
#include <QProxyStyle>
#include <QStandardPaths>
#include <QTranslator>
#include <signal.h>
#include <string>
#ifdef Q_OS_WIN
#include "win32/win32.h"
#include "SettingGeneralForm.h"
#endif
#ifndef APP_GUITAR
#error APP_GUITAR is not defined.
#endif
ApplicationGlobal *global = nullptr;
ApplicationSettings ApplicationSettings::defaultSettings()
{
ApplicationSettings s;
s.proxy_server = "http://squid:3128/";
s.branch_label_color.head = QColor(255, 192, 224); // pink
s.branch_label_color.local = QColor(192, 224, 255); // blue
s.branch_label_color.remote = QColor(192, 240, 224); // green
s.branch_label_color.tag = QColor(255, 224, 192); // orange
+#ifndef __HAIKU__
+ s.terminal_command = "x-terminal-emulator";
+#else
+ s.terminal_command = "Terminal";
+#endif
+
return s;
}
static bool isHighDpiScalingEnabled()
{
MySettings s;
s.beginGroup("UI");
QVariant v = s.value("EnableHighDpiScaling");
return v.isNull() || v.toBool();
}
void setEnvironmentVariable(QString const &name, QString const &value);
void onSigTerm(int)
{
qDebug() << "SIGTERM caught";
if (global->mainwindow) {
global->mainwindow->close();
}
}
int main(int argc, char *argv[])
{
#ifdef Q_OS_WIN
setEnvironmentVariable("UNICODEMAP_JP", "cp932");
#else
setenv("UNICODEMAP_JP", "cp932", 1);
#endif
ApplicationGlobal g;
global = &g;
signal(SIGTERM, onSigTerm);
global->organization_name = ORGANIZATION_NAME;
global->application_name = APPLICATION_NAME;
global->generic_config_dir = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
global->app_config_dir = global->generic_config_dir / global->organization_name / global->application_name;
global->config_file_path = joinpath(global->app_config_dir, global->application_name + ".ini");
if (!QFileInfo(global->app_config_dir).isDir()) {
QDir().mkpath(global->app_config_dir);
}
if (isHighDpiScalingEnabled()){
#if (QT_VERSION < QT_VERSION_CHECK(5, 6, 0))
qDebug() << "High DPI scaling is not supported";
#else
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
}
QApplication a(argc, argv);
a.setAttribute(Qt::AA_UseHighDpiPixmaps);
QApplication::setOrganizationName(global->organization_name);
QApplication::setApplicationName(global->application_name);
qRegisterMetaType<RepositoryItem>("RepositoryItem");
qRegisterMetaType<RepositoryWrapperFrameP>("RepositoryWrapperFrameP");
{
MySettings s;
s.beginGroup("UI");
global->language_id = s.value("Language").toString();
global->theme_id = s.value("Theme").toString();
if (global->theme_id.compare("dark", Qt::CaseInsensitive) == 0) {
global->theme = createDarkTheme();
} else {
global->theme = createStandardTheme();
}
s.endGroup();
}
QApplication::setStyle(global->theme->newStyle());
if (QApplication::queryKeyboardModifiers() & Qt::ShiftModifier) {
global->start_with_shift_key = true;
}
WebClient::initialize();
bool f_open_here = false;
QStringList args;
for (int i = 1; i < argc; i++) {
std::string arg = argv[i];
if (arg[0] == '-') {
if (arg == "--open-here") {
f_open_here = true;
}
} else {
args.push_back(QString::fromStdString(arg));
}
}
if (global->app_config_dir.isEmpty()) {
QMessageBox::warning(nullptr, qApp->applicationName(), "Preparation of data storage folder failed.");
return 1;
}
// 設定ファイルがないときは、言語の選択をする。
if (!QFileInfo::exists(global->config_file_path)) {
auto langs = SettingGeneralForm::languages();
SettingGeneralForm::execSelectLanguageDialog(nullptr, langs, [](){});
}
QTranslator translator;
{
if (global->language_id.isEmpty() || global->language_id == "en") {
// thru
} else {
QString path = ":/translations/Guitar_" + global->language_id;
bool f = translator.load(path, QApplication::applicationDirPath());
if (!f) {
qDebug() << QString("Failed to load the translation file: %1").arg(path);
}
QApplication::installTranslator(&translator);
}
}
MainWindow w;
global->mainwindow = &w;
global->panel_bg_color = w.palette().color(QPalette::Background);
w.setWindowIcon(QIcon(":/image/guitar.png"));
w.show();
w.shown();
if (f_open_here) {
QString dir = QDir::current().absolutePath();
w.autoOpenRepository(dir);
} else if (args.size() == 1) {
QString dir = args[0] / QString();
if (dir.startsWith("./") || dir.startsWith(".\\")) {
dir = QDir::current().absolutePath() / dir.mid(2);
}
QFileInfo fi(dir);
if (fi.isDir()) {
dir = fi.absolutePath();
w.autoOpenRepository(dir);
}
}
int r = QApplication::exec();
global->mainwindow = nullptr;
return r;
}
diff --git a/src/main.h b/src/main.h
index 4565d7d..0d21403 100644
--- a/src/main.h
+++ b/src/main.h
@@ -1,37 +1,38 @@
#ifndef MAIN_H
#define MAIN_H
#include <QColor>
#include <QString>
#define ORGANIZATION_NAME "soramimi.jp"
#define APPLICATION_NAME "Guitar"
class ApplicationSettings {
public:
QString git_command;
QString file_command;
QString gpg_command;
QString ssh_command;
+ QString terminal_command;
QString default_working_dir;
QString proxy_type;
QString proxy_server;
bool get_committer_icon = true;
bool remember_and_restore_window_position = false;
bool enable_high_dpi_scaling = true;
bool automatically_fetch_when_opening_the_repository = true;
unsigned int maximum_number_of_commit_item_acquisitions = 10000;
bool show_labels = true;
struct {
QColor head;
QColor local;
QColor remote;
QColor tag;
} branch_label_color;
static ApplicationSettings defaultSettings();
};
#endif // MAIN_H
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Feb 7, 1:30 PM (10 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
55952
Default Alt Text
(23 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline
Log In to Comment