forked from qt-creator/qt-creator
FileTransfer: Add some static helpers
Change-Id: Ie22e7ecce52b308df32316ff85d4744bd26060b0 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -71,10 +71,15 @@ public:
|
||||
void setFilesToTransfer(const FilesToTransfer &files);
|
||||
void setRsyncFlags(const QString &flags);
|
||||
|
||||
FileTransferMethod transferMethod() const;
|
||||
|
||||
void test();
|
||||
void start();
|
||||
void stop();
|
||||
|
||||
static QString transferMethodName(FileTransferMethod method);
|
||||
static QString defaultRsyncFlags();
|
||||
|
||||
signals:
|
||||
void progress(const QString &progressMessage);
|
||||
void done(const Utils::ProcessResultData &resultData);
|
||||
|
@@ -1459,16 +1459,6 @@ static QByteArray transferCommand(const TransferDirection transferDirection, boo
|
||||
return {};
|
||||
}
|
||||
|
||||
static QString methodName(FileTransferMethod method)
|
||||
{
|
||||
switch (method) {
|
||||
case FileTransferMethod::Sftp: return FileTransfer::tr("sftp"); break;
|
||||
case FileTransferMethod::Rsync: return FileTransfer::tr("rsync"); break;
|
||||
}
|
||||
QTC_CHECK(false);
|
||||
return {};
|
||||
}
|
||||
|
||||
class FileTransferInterface : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -1508,9 +1498,10 @@ protected:
|
||||
ProcessResultData resultData = m_process.resultData();
|
||||
if (resultData.m_error == QProcess::FailedToStart) {
|
||||
resultData.m_errorString = tr("\"%1\" failed to start: %2")
|
||||
.arg(methodName(m_method), resultData.m_errorString);
|
||||
.arg(FileTransfer::transferMethodName(m_method), resultData.m_errorString);
|
||||
} else if (resultData.m_exitStatus != QProcess::NormalExit) {
|
||||
resultData.m_errorString = tr("\"%1\" crashed.").arg(methodName(m_method));
|
||||
resultData.m_errorString = tr("\"%1\" crashed.")
|
||||
.arg(FileTransfer::transferMethodName(m_method));
|
||||
} else if (resultData.m_exitCode != 0) {
|
||||
resultData.m_errorString = QString::fromLocal8Bit(m_process.readAllStandardError());
|
||||
} else {
|
||||
@@ -1705,15 +1696,15 @@ class FileTransferPrivate : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
void setDevice(const ProjectExplorer::IDeviceConstPtr &device) { m_device = device; }
|
||||
void setTransferMethod(FileTransferMethod method) { m_method = method; }
|
||||
void setFilesToTransfer(const FilesToTransfer &files) { m_files = files; }
|
||||
void setRsyncFlags(const QString &flags) { m_rsyncFlags = flags; }
|
||||
|
||||
void test() { run(TestRun); }
|
||||
void start() { run(NormalRun); }
|
||||
void stop() { m_transfer.reset(); }
|
||||
|
||||
FileTransferMethod m_method = FileTransferMethod::Default;
|
||||
IDevice::ConstPtr m_device;
|
||||
FilesToTransfer m_files;
|
||||
QString m_rsyncFlags = FileTransfer::defaultRsyncFlags();
|
||||
|
||||
signals:
|
||||
void progress(const QString &progressMessage);
|
||||
void done(const Utils::ProcessResultData &resultData);
|
||||
@@ -1727,11 +1718,6 @@ private:
|
||||
void startFailed(const QString &errorString);
|
||||
void run(RunMode mode);
|
||||
|
||||
FileTransferMethod m_method = FileTransferMethod::Default;
|
||||
IDevice::ConstPtr m_device;
|
||||
FilesToTransfer m_files;
|
||||
QString m_rsyncFlags = {"-av"}; // TODO: see RsyncDeployStep::defaultFlags(), reuse it
|
||||
|
||||
std::unique_ptr<FileTransferInterface> m_transfer;
|
||||
};
|
||||
|
||||
@@ -1792,22 +1778,22 @@ FileTransfer::~FileTransfer()
|
||||
|
||||
void FileTransfer::setDevice(const ProjectExplorer::IDeviceConstPtr &device)
|
||||
{
|
||||
d->setDevice(device);
|
||||
d->m_device = device;
|
||||
}
|
||||
|
||||
void FileTransfer::setTransferMethod(FileTransferMethod method)
|
||||
{
|
||||
d->setTransferMethod(method);
|
||||
d->m_method = method;
|
||||
}
|
||||
|
||||
void FileTransfer::setFilesToTransfer(const FilesToTransfer &files)
|
||||
{
|
||||
d->setFilesToTransfer(files);
|
||||
d->m_files = files;
|
||||
}
|
||||
|
||||
void FileTransfer::setRsyncFlags(const QString &flags)
|
||||
{
|
||||
d->setRsyncFlags(flags);
|
||||
d->m_rsyncFlags = flags;
|
||||
}
|
||||
|
||||
void FileTransfer::test()
|
||||
@@ -1815,6 +1801,11 @@ void FileTransfer::test()
|
||||
d->test();
|
||||
}
|
||||
|
||||
FileTransferMethod FileTransfer::transferMethod() const
|
||||
{
|
||||
return d->m_method;
|
||||
}
|
||||
|
||||
void FileTransfer::start()
|
||||
{
|
||||
d->start();
|
||||
@@ -1825,6 +1816,21 @@ void FileTransfer::stop()
|
||||
d->stop();
|
||||
}
|
||||
|
||||
QString FileTransfer::transferMethodName(FileTransferMethod method)
|
||||
{
|
||||
switch (method) {
|
||||
case FileTransferMethod::Sftp: return FileTransfer::tr("sftp");
|
||||
case FileTransferMethod::Rsync: return FileTransfer::tr("rsync");
|
||||
}
|
||||
QTC_CHECK(false);
|
||||
return {};
|
||||
}
|
||||
|
||||
QString FileTransfer::defaultRsyncFlags()
|
||||
{
|
||||
return "-av";
|
||||
}
|
||||
|
||||
namespace Internal {
|
||||
|
||||
// Factory
|
||||
|
@@ -155,8 +155,6 @@ void RsyncDeployService::setFinished()
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
static const char s_defaultFlags[] = "-av";
|
||||
|
||||
RsyncDeployStep::RsyncDeployStep(BuildStepList *bsl, Utils::Id id)
|
||||
: AbstractRemoteLinuxDeployStep(bsl, id)
|
||||
{
|
||||
@@ -166,7 +164,7 @@ RsyncDeployStep::RsyncDeployStep(BuildStepList *bsl, Utils::Id id)
|
||||
flags->setDisplayStyle(StringAspect::LineEditDisplay);
|
||||
flags->setSettingsKey("RemoteLinux.RsyncDeployStep.Flags");
|
||||
flags->setLabelText(tr("Flags:"));
|
||||
flags->setValue(s_defaultFlags);
|
||||
flags->setValue(FileTransfer::defaultRsyncFlags());
|
||||
|
||||
auto ignoreMissingFiles = addAspect<BoolAspect>();
|
||||
ignoreMissingFiles->setSettingsKey("RemoteLinux.RsyncDeployStep.IgnoreMissingFiles");
|
||||
|
Reference in New Issue
Block a user