int main(int argc, char *argv[]) { QApplication a(argc, argv); bool render_gui = true; int ret_value = 0; init_command_map(); QMap<Command *, QStringList> tasks = retrieve_tasks(a.arguments()); if (tasks.isEmpty()) { print_usage(); a.exit(); render_gui = false; } QMapIterator<Command *, QStringList> i(tasks); QImage image; while(i.hasNext()) { i.next(); try { i.key()->run(i.value()); image = i.key()->working_image; } catch (CommandException& cme) { qout << "Exception running command " << i.key()->name << ": " << cme.message << "." << endl; qout << i.key()->name << " usage:" << endl << "\t " << i.key()->usage() << endl; render_gui = false; } } if (render_gui) { MainWindow m; m.setImage(image); m.show(); ret_value = a.exec(); } else { a.exit(); } return ret_value; }
Command::Command() : remote(nullptr) { init_command_map(); }