Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F131898
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
17 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0bbb541..5c60f72 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,361 +1,361 @@
cmake_minimum_required(VERSION 3.2)
project(Guitar
VERSION 0.9.0
LANGUAGES CXX C
)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
find_package(Qt5 COMPONENTS Core Widgets Network Svg REQUIRED)
find_package(zlib REQUIRED )
find_package(OpenSSL REQUIRED )
find_package(Qt5LinguistTools REQUIRED)
set(Guitar_SOURCES
version.c
src/main.cpp
src/MainWindow.cpp
src/Git.cpp
src/common/joinpath.cpp
src/common/misc.cpp
src/ConfigCredentialHelperDialog.cpp
src/MySettings.cpp
src/FileDiffWidget.cpp
src/TextEditDialog.cpp
src/LogTableWidget.cpp
src/FileDiffSliderWidget.cpp
src/FileUtil.cpp
src/SettingsDialog.cpp
src/MergeBranchDialog.cpp
src/CloneDialog.cpp
src/AboutDialog.cpp
src/RepositoryInfoFrame.cpp
src/RepositoryPropertyDialog.cpp
src/RepositoryData.cpp
src/MyToolButton.cpp
src/GitDiff.cpp
src/CommitPropertyDialog.cpp
src/Terminal.cpp
src/DeleteTagsDialog.cpp
src/RepositoriesTreeWidget.cpp
src/SelectCommandDialog.cpp
src/ImageViewWidget.cpp
src/FileHistoryWindow.cpp
src/GitPackIdxV2.cpp
src/GitPack.cpp
src/GitObjectManager.cpp
src/FilePropertyDialog.cpp
src/BigDiffWindow.cpp
src/MaximizeButton.cpp
src/CommitExploreWindow.cpp
src/ReadOnlyLineEdit.cpp
src/ReadOnlyPlainTextEdit.cpp
src/MyTableWidgetDelegate.cpp
src/SetRemoteUrlDialog.cpp
src/ClearButton.cpp
src/SetUserDialog.cpp
src/SearchFromGitHubDialog.cpp
src/webclient.cpp
src/charvec.cpp
src/urlencode.cpp
src/HyperLinkLabel.cpp
src/JumpDialog.cpp
src/CheckoutDialog.cpp
src/DeleteBranchDialog.cpp
src/BasicRepositoryDialog.cpp
src/RemoteRepositoriesTableWidget.cpp
src/LocalSocketReader.cpp
src/PushDialog.cpp
src/StatusLabel.cpp
src/RepositoryLineEdit.cpp
src/DirectoryLineEdit.cpp
src/AbstractSettingForm.cpp
src/SettingExampleForm.cpp
src/CreateRepositoryDialog.cpp
src/GitHubAPI.cpp
src/MemoryReader.cpp
src/ExperimentDialog.cpp
src/gunzip.cpp
src/AvatarLoader.cpp
src/SettingNetworkForm.cpp
src/Photoshop.cpp
src/SettingBehaviorForm.cpp
src/MyProcess.cpp
src/FileViewWidget.cpp
src/MyTextEditorWidget.cpp
src/AbstractProcess.cpp
src/texteditor/AbstractCharacterBasedApplication.cpp
src/texteditor/InputMethodPopup.cpp
src/texteditor/TextEditorTheme.cpp
src/texteditor/TextEditorWidget.cpp
src/texteditor/unicode.cpp
src/texteditor/UnicodeWidth.cpp
src/MyImageViewWidget.cpp
src/SetGlobalUserDialog.cpp
src/ReflogWindow.cpp
src/Theme.cpp
src/ApplicationGlobal.cpp
src/BlameWindow.cpp
src/MenuButton.cpp
src/SettingGeneralForm.cpp
src/WelcomeWizardDialog.cpp
src/DialogHeaderFrame.cpp
src/CommitViewWindow.cpp
src/EditRemoteDialog.cpp
src/gpg.cpp
src/SelectGpgKeyDialog.cpp
src/SetGpgSigningDialog.cpp
src/CommitDialog.cpp
src/ConfigSigningDialog.cpp
src/AreYouSureYouWantToContinueConnectingDialog.cpp
src/LineEditDialog.cpp
src/SettingProgramsForm.cpp
src/InputNewTagDialog.cpp
src/EditTagsDialog.cpp
- ./darktheme/src/DarkStyle.cpp
- ./darktheme/src/NinePatch.cpp
- ./darktheme/src/StandardStyle.cpp
- ./darktheme/src/TraditionalWindowsStyleTreeControl.cpp
+ src/darktheme/DarkStyle.cpp
+ src/darktheme/NinePatch.cpp
+ src/darktheme/StandardStyle.cpp
+ src/darktheme/TraditionalWindowsStyleTreeControl.cpp
src/EditGitIgnoreDialog.cpp
src/SelectItemDialog.cpp
src/RebaseOntoDialog.cpp
)
set(Guitar_HEADERS
src/MainWindow.h
src/Git.h
src/common/joinpath.h
src/common/misc.h
src/ConfigCredentialHelperDialog.h
src/MySettings.h
src/main.h
src/FileDiffWidget.h
src/TextEditDialog.h
src/LogTableWidget.h
src/FileDiffSliderWidget.h
src/FileUtil.h
src/SettingsDialog.h
src/MergeBranchDialog.h
src/CloneDialog.h
src/AboutDialog.h
src/RepositoryInfoFrame.h
src/RepositoryPropertyDialog.h
src/RepositoryData.h
src/MyToolButton.h
src/GitDiff.h
src/CommitPropertyDialog.h
src/Terminal.h
src/DeleteTagsDialog.h
src/RepositoriesTreeWidget.h
src/SelectCommandDialog.h
src/ImageViewWidget.h
src/FileHistoryWindow.h
src/Debug.h
src/GitPackIdxV2.h
src/GitPack.h
src/GitObjectManager.h
src/FilePropertyDialog.h
src/BigDiffWindow.h
src/MaximizeButton.h
src/CommitExploreWindow.h
src/ReadOnlyLineEdit.h
src/ReadOnlyPlainTextEdit.h
src/MyTableWidgetDelegate.h
src/SetRemoteUrlDialog.h
myzlib.h
src/ClearButton.h
src/SetUserDialog.h
src/SearchFromGitHubDialog.h
src/webclient.h
src/charvec.h
src/urlencode.h
src/HyperLinkLabel.h
src/JumpDialog.h
src/CheckoutDialog.h
src/DeleteBranchDialog.h
src/BasicRepositoryDialog.h
src/RemoteRepositoriesTableWidget.h
src/LocalSocketReader.h
src/PushDialog.h
src/StatusLabel.h
src/RepositoryLineEdit.h
src/DirectoryLineEdit.h
src/AbstractSettingForm.h
src/SettingExampleForm.h
src/CreateRepositoryDialog.h
src/GitHubAPI.h
src/MemoryReader.h
src/ExperimentDialog.h
src/gunzip.h
src/AvatarLoader.h
src/SettingNetworkForm.h
src/Photoshop.h
src/SettingBehaviorForm.h
src/MyProcess.h
src/FileViewWidget.h
src/MyTextEditorWidget.h
src/AbstractProcess.h
src/texteditor/AbstractCharacterBasedApplication.h
src/texteditor/InputMethodPopup.h
src/texteditor/TextEditorTheme.h
src/texteditor/TextEditorWidget.h
src/texteditor/unicode.h
src/texteditor/UnicodeWidth.h
src/MyImageViewWidget.h
src/SetGlobalUserDialog.h
src/ReflogWindow.h
src/Theme.h
src/ApplicationGlobal.h
src/BlameWindow.h
src/MenuButton.h
src/SettingGeneralForm.h
src/WelcomeWizardDialog.h
src/DialogHeaderFrame.h
src/CommitViewWindow.h
src/EditRemoteDialog.h
src/gpg.h
src/SelectGpgKeyDialog.h
src/SetGpgSigningDialog.h
src/CommitDialog.h
src/ConfigSigningDialog.h
src/AreYouSureYouWantToContinueConnectingDialog.h
src/LineEditDialog.h
src/SettingProgramsForm.h
src/InputNewTagDialog.h
src/EditTagsDialog.h
- ./darktheme/src/DarkStyle.h
- ./darktheme/src/NinePatch.h
- ./darktheme/src/StandardStyle.h
- ./darktheme/src/TraditionalWindowsStyleTreeControl.h
+ src/darktheme/DarkStyle.h
+ src/darktheme/NinePatch.h
+ src/darktheme/StandardStyle.h
+ src/darktheme/TraditionalWindowsStyleTreeControl.h
src/EditGitIgnoreDialog.h
src/SelectItemDialog.h
src/RebaseOntoDialog.h
)
if(UNIX)
list(APPEND Guitar_SOURCES
src/unix/UnixProcess.cpp
src/unix/UnixPtyProcess.cpp
)
list(APPEND Guitar_HEADERS
src/unix/UnixProcess.h
src/unix/UnixPtyProcess.h
)
elseif(WIN32)
list(APPEND Guitar_SOURCES
src/win32/thread.cpp
src/win32/event.cpp
src/win32/win32.cpp
src/win32/Win32Process.cpp
src/win32/Win32PtyProcess.cpp
)
list(APPEND Guitar_HEADERS
src/win32/thread.h
src/win32/event.h
src/win32/mutex.h
src/win32/win32.h
src/win32/Win32Process.h
src/win32/Win32PtyProcess.h
)
endif()
set(Guitar_UIS
src/MainWindow.ui
src/ConfigCredentialHelperDialog.ui
src/TextEditDialog.ui
src/SettingsDialog.ui
src/MergeBranchDialog.ui
src/CloneDialog.ui
src/AboutDialog.ui
src/RepositoryPropertyDialog.ui
src/CommitPropertyDialog.ui
src/DeleteTagsDialog.ui
src/SelectCommandDialog.ui
src/FileDiffWidget.ui
src/FileHistoryWindow.ui
src/FilePropertyDialog.ui
src/BigDiffWindow.ui
src/CommitExploreWindow.ui
src/SetRemoteUrlDialog.ui
src/SetUserDialog.ui
src/SearchFromGitHubDialog.ui
src/JumpDialog.ui
src/CheckoutDialog.ui
src/DeleteBranchDialog.ui
src/PushDialog.ui
src/SettingExampleForm.ui
src/CreateRepositoryDialog.ui
src/ExperimentDialog.ui
src/SettingNetworkForm.ui
src/SettingBehaviorForm.ui
src/SetGlobalUserDialog.ui
src/ReflogWindow.ui
src/BlameWindow.ui
src/SettingGeneralForm.ui
src/WelcomeWizardDialog.ui
src/CommitViewWindow.ui
src/EditRemoteDialog.ui
src/SelectGpgKeyDialog.ui
src/SetGpgSigningDialog.ui
src/CommitDialog.ui
src/ConfigSigningDialog.ui
src/AreYouSureYouWantToContinueConnectingDialog.ui
src/LineEditDialog.ui
src/SettingProgramsForm.ui
src/InputNewTagDialog.ui
src/EditTagsDialog.ui
src/EditGitIgnoreDialog.ui
src/SelectItemDialog.ui
src/RebaseOntoDialog.ui
)
set(Guitar_RESOURCES
src/resources/resources.qrc
)
set(Guitar_TRANSLATIONS
src/resources/translations/ja_JPN.ts
)
qt5_add_translation(Guitar_QM_FILES ${Guitar_TRANSLATIONS})
configure_file(${Guitar_RESOURCES} ${CMAKE_BINARY_DIR} COPYONLY)
add_custom_target(translations ALL DEPENDS ${Guitar_QM_FILES})
add_custom_target(resources ALL DEPENDS ${Guitar_RESOURCES})
add_dependencies(resources translations)
include_directories(src)
include_directories(src/texteditor)
add_executable(${PROJECT_NAME}
${Guitar_SOURCES}
${Guitar_HEADERS}
${Guitar_UIS}
${Guitar_RESOURCES}
${Guitar_QM_FILES}
)
set_target_properties(${PROJECT_NAME} PROPERTIES
CXX_STANDARD 11
CXX_EXTENSIONS OFF
)
target_link_libraries(${PROJECT_NAME}
Qt5::Widgets
Qt5::Network
Qt5::Svg
zlib
OpenSSL::SSL OpenSSL::Crypto
)
add_subdirectory(extra)
diff --git a/src/Theme.cpp b/src/Theme.cpp
index 3a523a2..f04e7fa 100644
--- a/src/Theme.cpp
+++ b/src/Theme.cpp
@@ -1,142 +1,142 @@
#include "Theme.h"
#include <QApplication>
#include <QRgb>
#include <QProxyStyle>
// AbstractTheme
AbstractTheme::AbstractTheme()
{
}
AbstractTheme::~AbstractTheme()
{
}
// StandardTheme
-#include "../darktheme/src/StandardStyle.h"
+#include "../darktheme/StandardStyle.h"
StandardTheme::StandardTheme()
{
}
QStyle *StandardTheme::newStyle()
{
return new StandardStyle();
}
QImage StandardTheme::graphColorMap()
{
QImage image;
image.load(":/image/graphcolor.png");
return image;
}
QPixmap StandardTheme::resource_clear_png()
{
return QPixmap(":/image/clear.png");
}
QPixmap StandardTheme::resource_maximize_png()
{
return QPixmap(":/image/maximize.png");
}
QPixmap StandardTheme::resource_menu_png()
{
return QPixmap(":/image/menu.png");
}
ThemePtr createStandardTheme()
{
AbstractTheme *p = new StandardTheme;
p->text_editor_theme = TextEditorTheme::Light();
p->dialog_header_frame_bg = Qt::white;
p->diff_slider_normal_bg = Qt::white;
p->diff_slider_unknown_bg = QColor(208, 208, 208);
p->diff_slider_add_bg = QColor(64, 192, 64);
p->diff_slider_del_bg = QColor(240, 64, 64);
p->diff_slider_handle = Qt::black;
return ThemePtr(p);
}
//#ifdef USE_DARK_THEME
-#include "../darktheme/src/DarkStyle.h"
+#include "darktheme/DarkStyle.h"
// DarkTheme
DarkTheme::DarkTheme()
{
}
QStyle *DarkTheme::newStyle()
{
return new DarkStyle();
}
QImage DarkTheme::graphColorMap()
{
QImage image;
image.load(":/darktheme/graphcolor.png");
return image;
}
static QImage loadInvertedImage(QString const &path)
{
QImage img(path);
int w = img.width();
int h = img.height();
for (int y = 0; y < h; y++) {
QRgb *p = (QRgb *)img.scanLine(y);
for (int x = 0; x < w; x++) {
int r = qRed(*p);
int g = qGreen(*p);
int b = qBlue(*p);
int a = qAlpha(*p);
*p = qRgba(255 - r, 255 - g, 255 - b, a);
p++;
}
}
return img;
}
QPixmap DarkTheme::resource_clear_png()
{
QImage img = loadInvertedImage(":/image/clear.png");
return QPixmap::fromImage(img);
}
QPixmap DarkTheme::resource_maximize_png()
{
QImage img = loadInvertedImage(":/image/maximize.png");
return QPixmap::fromImage(img);
}
QPixmap DarkTheme::resource_menu_png()
{
QImage img = loadInvertedImage(":/image/menu.png");
return QPixmap::fromImage(img);
}
ThemePtr createDarkTheme()
{
AbstractTheme *p = new DarkTheme;
p->text_editor_theme = TextEditorTheme::Dark();
p->dialog_header_frame_bg = QColor(32, 32, 32);
p->diff_slider_normal_bg = QColor(48, 48, 48);
p->diff_slider_unknown_bg = QColor(0, 0, 0);
p->diff_slider_add_bg = QColor(0, 144, 0);
p->diff_slider_del_bg = QColor(160, 0, 0);
p->diff_slider_handle = QColor(255, 255, 255);
return ThemePtr(p);
}
//#endif // USE_DAR_THEME
diff --git a/darktheme/src/DarkStyle.cpp b/src/darktheme/DarkStyle.cpp
similarity index 100%
rename from darktheme/src/DarkStyle.cpp
rename to src/darktheme/DarkStyle.cpp
diff --git a/darktheme/src/DarkStyle.h b/src/darktheme/DarkStyle.h
similarity index 100%
rename from darktheme/src/DarkStyle.h
rename to src/darktheme/DarkStyle.h
diff --git a/darktheme/src/NinePatch.cpp b/src/darktheme/NinePatch.cpp
similarity index 100%
rename from darktheme/src/NinePatch.cpp
rename to src/darktheme/NinePatch.cpp
diff --git a/darktheme/src/NinePatch.h b/src/darktheme/NinePatch.h
similarity index 100%
rename from darktheme/src/NinePatch.h
rename to src/darktheme/NinePatch.h
diff --git a/darktheme/src/StandardStyle.cpp b/src/darktheme/StandardStyle.cpp
similarity index 100%
rename from darktheme/src/StandardStyle.cpp
rename to src/darktheme/StandardStyle.cpp
diff --git a/darktheme/src/StandardStyle.h b/src/darktheme/StandardStyle.h
similarity index 100%
rename from darktheme/src/StandardStyle.h
rename to src/darktheme/StandardStyle.h
diff --git a/darktheme/src/TraditionalWindowsStyleTreeControl.cpp b/src/darktheme/TraditionalWindowsStyleTreeControl.cpp
similarity index 100%
rename from darktheme/src/TraditionalWindowsStyleTreeControl.cpp
rename to src/darktheme/TraditionalWindowsStyleTreeControl.cpp
diff --git a/darktheme/src/TraditionalWindowsStyleTreeControl.h b/src/darktheme/TraditionalWindowsStyleTreeControl.h
similarity index 100%
rename from darktheme/src/TraditionalWindowsStyleTreeControl.h
rename to src/darktheme/TraditionalWindowsStyleTreeControl.h
diff --git a/src/main.cpp b/src/main.cpp
index 52c33ef..12455f9 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,128 +1,128 @@
#include "MainWindow.h"
#include <QApplication>
#include "ApplicationGlobal.h"
#include "MySettings.h"
#include "main.h"
#include <string>
#include <QMessageBox>
#include <QDir>
#include <QDebug>
#include <QProxyStyle>
#include <QTranslator>
#include "webclient.h"
#include "win32/win32.h"
#include "common/misc.h"
-#include "../darktheme/src/DarkStyle.h"
+#include "darktheme/DarkStyle.h"
#include <QStandardPaths>
#include "common/joinpath.h"
ApplicationGlobal *global = 0;
ApplicationSettings ApplicationSettings::defaultSettings()
{
ApplicationSettings s;
s.proxy_server = "http://squid:3128/";
return s;
}
static bool isHighDpiScalingEnabled()
{
MySettings s;
s.beginGroup("UI");
QVariant v = s.value("EnableHighDpiScaling");
return v.isNull() || v.toBool();
}
int main(int argc, char *argv[])
{
putenv((char *)"UNICODEMAP_JP=cp932");
ApplicationGlobal g;
global = &g;
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.setOrganizationName(global->organization_name);
a.setApplicationName(global->application_name);
{
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;
for (int i = 1; i < argc; i++) {
std::string arg = argv[i];
if (arg == "--open-here") {
f_open_here = true;
}
}
if (global->app_config_dir.isEmpty()) {
QMessageBox::warning(0, qApp->applicationName(), "Preparation of data storage folder failed.");
return 1;
}
QTranslator translator;
{
if (global->language_id.isEmpty() || global->language_id == "en") {
// thru
} else {
#if defined(Q_OS_MACX)
QString path = "../Resources/Guitar_" + global->language_id;
#else
QString path = "Guitar_" + global->language_id;
#endif
translator.load(path, a.applicationDirPath());
a.installTranslator(&translator);
}
}
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);
}
return a.exec();
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Tue, Jun 16, 12:23 AM (2 w, 1 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
71339
Default Alt Text
(17 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline