File indexing completed on 2025-01-19 04:22:43

0001 /*
0002 SPDX-FileCopyrightText: 2021 Hamed Masafi <hamed.masfi@gmail.com>
0003 
0004 SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006 
0007 #include "abstractcommand.h"
0008 
0009 #include <utility>
0010 
0011 namespace Git
0012 {
0013 
0014 AbstractCommand::~AbstractCommand() = default;
0015 
0016 bool AbstractCommand::isValid() const
0017 {
0018     return mIsValid;
0019 }
0020 
0021 QWidget *AbstractCommand::createWidget()
0022 {
0023     return nullptr;
0024 }
0025 
0026 int AbstractCommand::progress() const
0027 {
0028     return m_progress;
0029 }
0030 
0031 AbstractCommand::Status AbstractCommand::status() const
0032 {
0033     return mStatus;
0034 }
0035 
0036 void AbstractCommand::setStatus(Status newStatus)
0037 {
0038     mStatus = newStatus;
0039 }
0040 
0041 const QString &AbstractCommand::errorMessage() const
0042 {
0043     return mErrorMessage;
0044 }
0045 
0046 void AbstractCommand::setErrorMessage(const QString &newErrorMessage)
0047 {
0048     mErrorMessage = newErrorMessage;
0049 }
0050 
0051 AbstractCommand::AbstractCommand(QObject *parent)
0052     : QObject(parent)
0053 {
0054 }
0055 
0056 AbstractCommand::AbstractCommand(QStringList args)
0057     : QObject()
0058     , mArgs(std::move(args))
0059 {
0060 }
0061 
0062 AbstractCommand::AbstractCommand(Manager *git)
0063     : QObject()
0064     , mGit(git)
0065 {
0066 }
0067 
0068 bool AbstractCommand::parseOutput(const QByteArray &output, const QByteArray &errorOutput)
0069 {
0070     Q_UNUSED(output)
0071     Q_UNUSED(errorOutput)
0072     return true;
0073 }
0074 
0075 void AbstractCommand::parseOutputSection(const QByteArray &output, const QByteArray &errorOutput)
0076 {
0077     Q_UNUSED(output)
0078     Q_UNUSED(errorOutput)
0079 }
0080 
0081 void AbstractCommand::setProgress(int newProgress)
0082 {
0083     if (m_progress == newProgress)
0084         return;
0085     m_progress = newProgress;
0086     Q_EMIT progressChanged(newProgress);
0087 }
0088 
0089 void AbstractCommand::appendBool(OptionalBool b, QStringList &cmd, const QString &name) const
0090 {
0091     switch (b) {
0092     case OptionalBool::True:
0093         cmd.append(QStringLiteral("--") + name);
0094         break;
0095     case OptionalBool::False:
0096         cmd.append(QStringLiteral("--no-") + name);
0097         break;
0098     case OptionalBool::Unset:
0099         break;
0100     }
0101 }
0102 
0103 void AbstractCommand::appendBool(bool b, QStringList &cmd, const QString &name) const
0104 {
0105     if (b)
0106         cmd.append(QStringLiteral("--") + name);
0107     else
0108         cmd.append(QStringLiteral("--no-") + name);
0109 }
0110 
0111 OptionalBool checkStateToOptionalBool(Qt::CheckState checkState)
0112 {
0113     switch (checkState) {
0114     case Qt::Unchecked:
0115         return OptionalBool::False;
0116     case Qt::PartiallyChecked:
0117         return OptionalBool::Unset;
0118     case Qt::Checked:
0119         return OptionalBool::True;
0120     }
0121     return OptionalBool::Unset;
0122 }
0123 
0124 } // namespace Git