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