Added interval argument (-i/--interval)
This commit is contained in:
parent
68eb540e41
commit
50be6a3db4
7 changed files with 1715 additions and 1693 deletions
33
main.cpp
33
main.cpp
|
|
@ -1,17 +1,44 @@
|
|||
#include <QApplication>
|
||||
#include <QString>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
#include "spacetray.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
||||
if (argc != 2) {
|
||||
std::cerr << "Usage: " << argv[0] << " <statusurl>" << std::endl;
|
||||
if (argc != 2 && argc != 4) {
|
||||
std::cerr << "Usage: " << argv[0]
|
||||
<< " <statusurl> [-i|--interval <seconds>]\n " << argv[0]
|
||||
<< " [-i|--interval <seconds>] <statusurl>" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
SpaceTray tray(argv[1]);
|
||||
QString statusUrl;
|
||||
int intervalSeconds = 300;
|
||||
if (argc == 4) {
|
||||
const QString firstArgument = QString::fromLocal8Bit(argv[1]);
|
||||
const bool intervalFirst = firstArgument == "-i" || firstArgument == "--interval";
|
||||
const QString option = intervalFirst ? firstArgument : QString::fromLocal8Bit(argv[2]);
|
||||
const QString intervalArgument = QString::fromLocal8Bit(argv[intervalFirst ? 2 : 3]);
|
||||
bool validInterval = false;
|
||||
const qlonglong parsedInterval = intervalArgument.toLongLong(&validInterval);
|
||||
const qlonglong maximumSeconds = std::numeric_limits<int>::max() / 1000;
|
||||
|
||||
if ((option != "-i" && option != "--interval") ||
|
||||
!validInterval || parsedInterval <= 0 || parsedInterval > maximumSeconds) {
|
||||
std::cerr << "Invalid interval. Use -i or --interval followed by a positive number of seconds."
|
||||
<< std::endl;
|
||||
return 1;
|
||||
}
|
||||
intervalSeconds = static_cast<int>(parsedInterval);
|
||||
statusUrl = QString::fromLocal8Bit(argv[intervalFirst ? 3 : 1]);
|
||||
} else {
|
||||
statusUrl = QString::fromLocal8Bit(argv[1]);
|
||||
}
|
||||
|
||||
SpaceTray tray(statusUrl, intervalSeconds);
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue