Page MenuHomePhabricator (Chris)

No OneTemporary

Size
23 KB
Referenced Files
None
Subscribers
None
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

Mime Type
text/x-diff
Expires
Sat, Feb 7, 9:05 AM (16 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
55952
Default Alt Text
(23 KB)

Event Timeline