Correcting for PR comments

This commit is contained in:
Anselm Busse 2021-03-12 16:22:16 +01:00 committed by Cameron Gutman
parent de88176995
commit 0802609fd8
6 changed files with 42 additions and 17 deletions

View File

@ -541,18 +541,22 @@ void ListCommandLineParser::parse(const QStringList &args)
parser.setupCommonOptions();
parser.setApplicationDescription(
"\n"
"List the available apps on the given host as CSV:\n"
"\tName, ID, HDR Support, App Collection Game, Hidden, Direct Launch, Path to Boxart"
"List the available apps on the given host."
);
parser.addPositionalArgument("list", "list available apps");
parser.addPositionalArgument("host", "Host computer name, UUID, or IP address", "<host>");
parser.addFlagOption("csv", "Print as CSV with additional information");
if (!parser.parse(args)) {
parser.showError(parser.errorText());
}
parser.handleUnknownOptions();
m_PrintCSV = parser.isSet("csv");
// This method will not return and terminates the process if --version or
// --help is specified
parser.handleHelpAndVersionOptions();
@ -569,3 +573,8 @@ QString ListCommandLineParser::getHost() const
{
return m_Host;
}
bool ListCommandLineParser::isPrintCSV() const
{
return m_PrintCSV;
}

View File

@ -83,7 +83,9 @@ public:
void parse(const QStringList &args);
QString getHost() const;
bool isPrintCSV() const;
private:
QString m_Host;
bool m_PrintCSV;
};

View File

@ -102,9 +102,7 @@ public:
// Occurs when a computer is updated
case Event::ComputerUpdated:
if (m_State == StateSeekApp) {
for (int i = 0; i < m_Computer->appList.length(); i++) {
printApp(m_Computer->appList[i]);
}
m_PrintCSV ? printAppsCSV(m_Computer->appList) : printApps(m_Computer->appList);
QCoreApplication::exit(0);
}
@ -112,9 +110,22 @@ public:
}
}
void printApp(NvApp app) const
void printApps(QVector<NvApp> apps) {
for (int i = 0; i < apps.length(); i++) {
fprintf(stdout, "%s\n", qPrintable(apps[i].name));
}
}
void printAppsCSV(QVector<NvApp> apps) {
fprintf(stdout, "Name, ID, HDR Support, App Collection Game, Hidden, Direct Launch, Boxart URL\n");
for (int i = 0; i < apps.length(); i++) {
printAppCSV(apps[i]);
}
}
void printAppCSV(NvApp app) const
{
fprintf(stdout, "%s,%d,%s,%s,%s,%s,%s\n", qPrintable(app.name),
fprintf(stdout, "\"%s\",%d,%s,%s,%s,%s,\"%s\"\n", qPrintable(app.name),
app.id,
app.hdrSupported ? "true" : "false",
app.isAppCollectorGame ? "true" : "false",
@ -131,9 +142,10 @@ public:
NvComputer *m_Computer;
State m_State;
QTimer *m_TimeoutTimer;
bool m_PrintCSV;
};
Launcher::Launcher(QString computer, QObject *parent)
Launcher::Launcher(QString computer, bool printCSV, QObject *parent)
: QObject(parent),
m_DPtr(new LauncherPrivate(this))
{
@ -142,6 +154,7 @@ Launcher::Launcher(QString computer, QObject *parent)
d->m_State = StateInit;
d->m_TimeoutTimer = new QTimer(this);
d->m_TimeoutTimer->setSingleShot(true);
d->m_PrintCSV = printCSV;
connect(d->m_TimeoutTimer, &QTimer::timeout,
this, &Launcher::onComputerSeekTimeout);
}

View File

@ -17,7 +17,7 @@ class Launcher : public QObject
Q_DECLARE_PRIVATE_D(m_DPtr, Launcher)
public:
explicit Launcher(QString computer, QObject *parent = nullptr);
explicit Launcher(QString computer, bool printCSV, QObject *parent = nullptr);
~Launcher();
Q_INVOKABLE void execute(ComputerManager *manager);
@ -35,6 +35,7 @@ private slots:
private:
QScopedPointer<LauncherPrivate> m_DPtr;
bool m_Print_CSV;
};
}

View File

@ -10,7 +10,7 @@ Item {
}
function onSearchingApps() {
stageLabel.text = qsTr("Searching for Apps...")
stageLabel.text = qsTr("Loading app list...")
}
function onFailure(message) {

View File

@ -626,7 +626,7 @@ int main(int argc, char *argv[])
initialView = "qrc:/gui/CliListAppsSegue.qml";
ListCommandLineParser listParser;
listParser.parse(app.arguments());
auto launcher = new CliListApps::Launcher(listParser.getHost(), &app);
auto launcher = new CliListApps::Launcher(listParser.getHost(), listParser.isPrintCSV(), &app);
engine.rootContext()->setContextProperty("launcher", launcher);
break;
}