mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
Adding GitQlient Qt5 git GUI app (#5229)
* Adding GitQlient Qt5 git GUI app
This commit is contained in:
117
dev-vcs/gitqlient/patches/gitqlient-1.2.0.patchset
Normal file
117
dev-vcs/gitqlient/patches/gitqlient-1.2.0.patchset
Normal file
@@ -0,0 +1,117 @@
|
||||
From d211437ffb404f24d7ed19b82b3afaa1bffd6afe Mon Sep 17 00:00:00 2001
|
||||
From: cyrusbuilt <cyrusbuilt@gmail.com>
|
||||
Date: Fri, 31 Jul 2020 19:31:45 -0400
|
||||
Subject: Adding Haiku OS support
|
||||
|
||||
|
||||
diff --git a/src/big_widgets/Controls.cpp b/src/big_widgets/Controls.cpp
|
||||
index 14e11d8..6e92312 100644
|
||||
--- a/src/big_widgets/Controls.cpp
|
||||
+++ b/src/big_widgets/Controls.cpp
|
||||
@@ -319,14 +319,19 @@ void Controls::pullCurrentBranch()
|
||||
const auto ret = git->pull();
|
||||
QApplication::restoreOverrideCursor();
|
||||
|
||||
+ const auto msg = ret.output.toString();
|
||||
+
|
||||
if (ret.success)
|
||||
- emit signalRepositoryUpdated();
|
||||
+ {
|
||||
+ if (msg.toLower().contains("merge conflict"))
|
||||
+ emit signalPullConflict();
|
||||
+ else
|
||||
+ emit signalRepositoryUpdated();
|
||||
+ }
|
||||
else
|
||||
{
|
||||
- const auto errorMsg = ret.output.toString();
|
||||
-
|
||||
- if (errorMsg.contains("error: could not apply", Qt::CaseInsensitive)
|
||||
- && errorMsg.contains("causing a conflict", Qt::CaseInsensitive))
|
||||
+ if (msg.contains("error: could not apply", Qt::CaseInsensitive)
|
||||
+ && msg.contains("causing a conflict", Qt::CaseInsensitive))
|
||||
{
|
||||
emit signalPullConflict();
|
||||
}
|
||||
@@ -336,7 +341,7 @@ void Controls::pullCurrentBranch()
|
||||
QString("There were problems during the pull operation. Please, see the detailed "
|
||||
"description for more information."),
|
||||
QMessageBox::Ok, this);
|
||||
- msgBox.setDetailedText(errorMsg);
|
||||
+ msgBox.setDetailedText(msg);
|
||||
msgBox.setStyleSheet(GitQlientStyles::getStyles());
|
||||
msgBox.exec();
|
||||
}
|
||||
@@ -515,16 +520,19 @@ void Controls::processUpdateFile()
|
||||
mLatestGitQlient = json["latest-version"].toString();
|
||||
const auto changeLogUrl = json["changelog"].toString();
|
||||
|
||||
+ QJsonObject os;
|
||||
+ auto platformSupported = true;
|
||||
#if defined(Q_OS_WIN)
|
||||
- const auto os = json["windows"].toObject();
|
||||
+ os = json["windows"].toObject();
|
||||
#elif defined(Q_OS_LINUX)
|
||||
- const auto os = json["linux"].toObject();
|
||||
+ os = json["linux"].toObject();
|
||||
#elif defined(Q_OS_OSX)
|
||||
- const auto os = json["osx"].toObject();
|
||||
+ os = json["osx"].toObject();
|
||||
+#else
|
||||
+ platformSupported = false;
|
||||
+ QLog_Error("Ui", QString("Platform not supported for updates"));
|
||||
#endif
|
||||
|
||||
- mGitQlientDownloadUrl = os["download-url"].toString();
|
||||
-
|
||||
const auto newVersion = mLatestGitQlient.split(".");
|
||||
const auto nv = newVersion.at(0).toInt() * 10000 + newVersion.at(1).toInt() * 100 + newVersion.at(2).toInt();
|
||||
const auto curVersion = QString("%1").arg(VER).split(".");
|
||||
@@ -532,20 +540,33 @@ void Controls::processUpdateFile()
|
||||
|
||||
if (nv > cv)
|
||||
{
|
||||
- mVersionCheck->setVisible(true);
|
||||
+ if (!platformSupported)
|
||||
+ {
|
||||
+ QMessageBox::information(
|
||||
+ this, tr("New version available!"),
|
||||
+ tr("There is a new version of GitQlient available but your OS doesn't have a binary built. If you want to "
|
||||
+ "get the latest version, pleas <a href='https://github.com/francescmm/GitQlient/releases/tag/v%1'>get "
|
||||
+ "the source code from GitHub</a>.")
|
||||
+ .arg(mLatestGitQlient));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ mGitQlientDownloadUrl = os["download-url"].toString();
|
||||
+ mVersionCheck->setVisible(true);
|
||||
|
||||
- QTimer::singleShot(200, this, [this, changeLogUrl] {
|
||||
- QNetworkRequest request;
|
||||
- request.setRawHeader("User-Agent", "GitQlient");
|
||||
- request.setRawHeader("X-Custom-User-Agent", "GitQlient");
|
||||
- request.setRawHeader("Content-Type", "application/json");
|
||||
- request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
- request.setUrl(QUrl(changeLogUrl));
|
||||
+ QTimer::singleShot(200, this, [this, changeLogUrl] {
|
||||
+ QNetworkRequest request;
|
||||
+ request.setRawHeader("User-Agent", "GitQlient");
|
||||
+ request.setRawHeader("X-Custom-User-Agent", "GitQlient");
|
||||
+ request.setRawHeader("Content-Type", "application/json");
|
||||
+ request.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
+ request.setUrl(QUrl(changeLogUrl));
|
||||
|
||||
- const auto reply = mManager->get(request);
|
||||
+ const auto reply = mManager->get(request);
|
||||
|
||||
- connect(reply, &QNetworkReply::finished, this, &Controls::processChangeLog);
|
||||
- });
|
||||
+ connect(reply, &QNetworkReply::finished, this, &Controls::processChangeLog);
|
||||
+ });
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Reference in New Issue
Block a user