summaryrefslogtreecommitdiff
path: root/client/pracro.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/pracro.cc')
-rw-r--r--client/pracro.cc66
1 files changed, 48 insertions, 18 deletions
diff --git a/client/pracro.cc b/client/pracro.cc
index 6d9c574..eacdeb1 100644
--- a/client/pracro.cc
+++ b/client/pracro.cc
@@ -35,6 +35,7 @@
#include "netcom.h"
#include "mainwindow.h"
+#include "viewer.h"
#define CPR_DEFAULT ""
#define MACRO_DEFAULT ""
@@ -54,10 +55,6 @@ static void print_usage()
printf("Executes the requested Pracro MACRO using supplied CPR and USER.\n");
printf("\n");
printf(" -h, --help Displays this help text.\n");
- /*
- printf(" -m, --macro MACRO Requests macro MACRO from the Pracro \n"
- " Server, defaults to \""MACRO_DEFAULT"\".\n");
- */
printf(" -t, --template TEMPLATE Requests template TEMPLATE from the Pracro \n"
" Server, defaults to \""TEMPLATE_DEFAULT"\".\n");
printf(" -C, --cpr CPR Defines the cpr for use with the macro,\n"
@@ -65,8 +62,10 @@ static void print_usage()
printf(" -c, --config FILE The configfile to use. Default is \""CONFIG_DEFAULT"\"\n");
printf(" -u, -U, --user USER Defines the requesting user(not the patient),\n"
" defaults to \""USER_DEFAULT"\"\n");
- // printf(" -t, --test macro Run client in testmode, i.e. run without contactig any\n"
- // " servers. The macro must be a local xml file.\n");
+ printf(" -v, --version Print version information and exit.\n");
+ printf(" -V, --viewer TEMPLATES Show the viewer with TEMPLATES.\n");
+ printf(" -O, --viewer-only TEMPLATES\n");
+ printf(" Show the viewer only (no pracro editor window) with TEMPLATES.\n");
}
static void print_version()
@@ -90,6 +89,9 @@ int main(int argc, char *argv[])
QString macro = MACRO_DEFAULT;
QString templ = TEMPLATE_DEFAULT;
+ bool show_viewer = false;
+ bool show_editor = true;
+ QString templs;
QStringList args = app.arguments();
QStringList::iterator arg = args.begin();
@@ -99,22 +101,18 @@ int main(int argc, char *argv[])
if(*arg == "--help" ||
*arg == "-h") {
print_usage();
+ return 0;
}
else if(*arg == "--version" ||
*arg == "-v") {
print_version();
+ return 0;
}
else if(*arg == "--user" ||
*arg == "-U" ||
*arg == "-u") {
user = getParam(args,arg);
}
- /*
- else if(*arg == "--macro" ||
- *arg == "-m") {
- macro = getParam(args, arg);
- }
- */
else if(*arg == "--template" ||
*arg == "-t") {
templ = getParam(args, arg);
@@ -127,6 +125,17 @@ int main(int argc, char *argv[])
*arg == "-c") {
config = getParam(args, arg);
}
+ else if(*arg == "--viewer" ||
+ *arg == "-V") {
+ templs = getParam(args, arg);
+ show_viewer = true;
+ }
+ else if(*arg == "--viewer-only" ||
+ *arg == "-O") {
+ templs = getParam(args, arg);
+ show_viewer = true;
+ show_editor = false;
+ }
else {
print_version();
print_usage();
@@ -141,16 +150,37 @@ int main(int argc, char *argv[])
settings.beginGroup("server");
host = settings.value("host").toString();
port = settings.value("port").toInt();
+ QString journalpath = settings.value("journalpath").toString();
settings.endGroup();
QTranslator translator;
- translator.load("pracro_dk");
- app.installTranslator(&translator);
+ if(translator.load("pracro_dk")) {
+ app.installTranslator(&translator);
+ }
+
+ if(show_editor && show_viewer) {
+ MainWindow mainwindow(cpr, templ, host, port, user);
+ mainwindow.show();
+
+ Viewer viewer(cpr, templs, host, port, user, journalpath);
+ viewer.show();
- MainWindow mainwindow(cpr, templ, host, port, user);
- mainwindow.show();
+ return app.exec();
+ }
+
+ if(show_editor) {
+ MainWindow mainwindow(cpr, templ, host, port, user);
+ mainwindow.show();
+
+ return app.exec();
+ }
+
+ if(show_viewer) {
+ Viewer viewer(cpr, templs, host, port, user, journalpath);
+ viewer.show();
- int ret = app.exec();
+ return app.exec();
+ }
- return ret;
+ return 1;
}