Allow --all-dirs and --all-devs in wait-for-idle

This commit is contained in:
Martchus 2018-01-24 23:16:35 +01:00
parent 8bd8dc53b3
commit 9017de6e1d
3 changed files with 5 additions and 11 deletions

View File

@ -283,11 +283,6 @@ void Application::handleError(
QCoreApplication::exit(-3);
}
void Application::findRelevantDirsAndDevs()
{
findRelevantDirsAndDevs(OperationType::Status);
}
void Application::requestLog(const ArgumentOccurrence &)
{
m_connection.requestLog(&Application::printLog);
@ -533,7 +528,7 @@ void Application::printDev(const SyncthingDev *dev)
void Application::printStatus(const ArgumentOccurrence &)
{
findRelevantDirsAndDevs();
findRelevantDirsAndDevs(OperationType::Status);
// display dirs
if (!m_relevantDirs.empty()) {
@ -600,7 +595,7 @@ void Application::waitForIdle(const ArgumentOccurrence &)
// define handler for newDirs/newDevices to call findRelevantDirsAndDevs() in that case
function<void(void)> handleNewDirsOrDevs([this, &handleStatusChange] {
findRelevantDirsAndDevs();
findRelevantDirsAndDevs(OperationType::WaitForIdle);
handleStatusChange();
});

View File

@ -12,7 +12,7 @@
namespace Cli {
enum class OperationType { Status, PauseResume };
enum class OperationType { Status, PauseResume, WaitForIdle };
struct RelevantDir {
RelevantDir(const Data::SyncthingDir *dir = nullptr, const QString &subDir = QString());
@ -48,7 +48,6 @@ private slots:
void handleResponse();
void handleError(
const QString &message, Data::SyncthingErrorCategory category, int networkError, const QNetworkRequest &request, const QByteArray &response);
void findRelevantDirsAndDevs();
void findRelevantDirsAndDevs(OperationType operationType);
bool findPwd();

View File

@ -6,7 +6,7 @@ namespace Cli {
Args::Args()
: help(parser)
, status("status", 's', "shows the status")
, status("status", 's', "shows the status (for all dirs and devs if none specified)")
, log("log", 'l', "shows the Syncthing log")
, stop("stop", '\0', "stops Syncthing")
, restart("restart", '\0', "restarts Syncthing")
@ -40,7 +40,7 @@ Args::Args()
dev.setValueCompletionBehavior(ValueCompletionBehavior::PreDefinedValues | ValueCompletionBehavior::InvokeCallback);
status.setSubArguments({ &dir, &dev, &allDirs, &allDevs });
status.setExample(PROJECT_NAME " status # shows all dirs and devs\n" PROJECT_NAME " status --dir dir1 --dir dir2 --dev dev1 --dev dev2");
waitForIdle.setSubArguments({ &dir, &dev, &atLeast, &timeout });
waitForIdle.setSubArguments({ &dir, &dev, &allDirs, &allDevs, &atLeast, &timeout });
waitForIdle.setExample(PROJECT_NAME " wait-for-idle --timeout 1800000 --at-least 5000 && systemctl poweroff\n" PROJECT_NAME
" wait-for-idle --dir dir1 --dir dir2 --dev dev1 --dev dev2 --at-least 5000");
pwd.setSubArguments({ &statusPwd, &rescanPwd, &pausePwd, &resumePwd });