summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortezeb <tezeb+github@outoftheblue.pl>2017-01-09 13:21:22 +0100
committertezeb <tezeb+github@outoftheblue.pl>2017-01-09 14:16:18 +0100
commit9f3e776b1f4cad274c5be3b332e47bc9f6923020 (patch)
tree522b41663f06a8819d4deec77737d2364e4546f5 /src
parenteb615345f0cbff970660f8c3921004f4edbf6849 (diff)
refactor unreadable switch
Diffstat (limited to 'src')
-rw-r--r--src/pass.cpp45
1 files changed, 16 insertions, 29 deletions
diff --git a/src/pass.cpp b/src/pass.cpp
index 53b74aae..18aca8af 100644
--- a/src/pass.cpp
+++ b/src/pass.cpp
@@ -3,6 +3,9 @@
#include "qtpasssettings.h"
#include "util.h"
#include <QTextCodec>
+#include <map>
+
+using namespace std;
/**
* @brief Pass::Pass wrapper for using either pass or the pass imitation
@@ -167,40 +170,24 @@ void Pass::finished(int id, int exitCode, const QString &out,
const QString &err) {
// TODO(bezet): remove !
dbg() << id << exitCode << out << err;
+
+ static const map<PROCESS, const char *> emitMsg = {
+ {GIT_PULL, QT_TR_NOOP("git pull successful")},
+ {GIT_PUSH, QT_TR_NOOP("git push successful")}};
+ PROCESS pid = static_cast<PROCESS>(id);
+ map<PROCESS, const char *>::const_iterator i = emitMsg.find(pid);
+
if (exitCode != 0) {
emit processErrorExit(exitCode, err);
return;
- }
- switch (static_cast<PROCESS>(id)) {
- case GIT_INIT:
- case GIT_ADD:
- case GIT_COMMIT:
- case GIT_RM:
- emit finishedAny(out, err);
- break;
- case GIT_PULL:
- emit statusMsg(tr("git pull successful"), 2000);
- break;
- case GIT_PUSH:
- emit finishedAny(out, err);
- break;
- case PASS_SHOW:
+ } else if (i != emitMsg.end()) {
+ emit statusMsg(tr(i->second), 2000);
+ // don't return here, need to emit finishedAny too
+ } else if (pid == PASS_SHOW) {
emit finishedShow(out);
- break;
- case PASS_INSERT:
- case PASS_REMOVE:
- case PASS_INIT:
- case GPG_GENKEYS:
- case PASS_MOVE:
- case PASS_COPY:
- case GIT_MOVE:
- case GIT_COPY:
- emit finishedAny(out, err);
- break;
- default:
- qDebug() << __FILE__ << ":" << __LINE__ << "\t"
- << "Unhandled PROCESS:" << id;
+ return;
}
+ emit finishedAny(out, err);
}
/**