Browse Source

Merge pull request #41 from MyHush/dev

fix theme error, fix Fix a phishing vulnerability for memos, Redo Zcash uri parsing to use QUrlQuery, add serbian translation
pull/78/head
Denio 5 years ago
committed by GitHub
parent
commit
b9c6c42605
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      application.qrc
  2. 0
      res/silentdragonlite_de.qm
  3. 0
      res/silentdragonlite_de.ts
  4. 0
      res/silentdragonlite_es.qm
  5. 0
      res/silentdragonlite_es.ts
  6. 0
      res/silentdragonlite_fr.qm
  7. 0
      res/silentdragonlite_fr.ts
  8. BIN
      res/silentdragonlite_hr.qm
  9. 1936
      res/silentdragonlite_hr.ts
  10. 0
      res/silentdragonlite_it.qm
  11. 0
      res/silentdragonlite_it.ts
  12. 0
      res/silentdragonlite_pot.ts
  13. 0
      res/silentdragonlite_pt.qm
  14. 0
      res/silentdragonlite_pt.ts
  15. BIN
      res/silentdragonlite_sr.qm
  16. 1936
      res/silentdragonlite_sr.ts
  17. 0
      res/silentdragonlite_template.qm
  18. 0
      res/silentdragonlite_template.ts
  19. 0
      res/silentdragonlite_tr.qm
  20. 0
      res/silentdragonlite_tr.ts
  21. 0
      res/silentdragonlite_zh.qm
  22. 0
      res/silentdragonlite_zh.ts
  23. 16
      silentdragon-lite.pro
  24. 2
      src/main.cpp
  25. 2
      src/mainwindow.cpp
  26. 38
      src/settings.cpp
  27. 2
      src/txtablemodel.cpp

11
application.qrc

@ -13,11 +13,12 @@
<file>res/logobig.gif</file>
</qresource>
<qresource prefix="/translations">
<file>res/zec_qt_wallet_de.qm</file>
<file>res/zec_qt_wallet_es.qm</file>
<file>res/zec_qt_wallet_fr.qm</file>
<file>res/zec_qt_wallet_pt.qm</file>
<file>res/zec_qt_wallet_it.qm</file>
<file>res/silentdragonlite_de.qm</file>
<file>res/silentdragonlite_es.qm</file>
<file>res/silentdragonlite_fr.qm</file>
<file>res/silentdragonlite_pt.qm</file>
<file>res/silentdragonlite_it.qm</file>
<file>res/silentdragonlite_hr.qm</file>
</qresource>
<qresource prefix="/css">
<file>res/css/blue.css</file>

0
res/zec_qt_wallet_de.qm → res/silentdragonlite_de.qm

0
res/zec_qt_wallet_de.ts → res/silentdragonlite_de.ts

0
res/zec_qt_wallet_es.qm → res/silentdragonlite_es.qm

0
res/zec_qt_wallet_es.ts → res/silentdragonlite_es.ts

0
res/zec_qt_wallet_fr.qm → res/silentdragonlite_fr.qm

0
res/zec_qt_wallet_fr.ts → res/silentdragonlite_fr.ts

BIN
res/silentdragonlite_hr.qm

Binary file not shown.

1936
res/silentdragonlite_hr.ts

File diff suppressed because it is too large

0
res/zec_qt_wallet_it.qm → res/silentdragonlite_it.qm

0
res/zec_qt_wallet_it.ts → res/silentdragonlite_it.ts

0
res/zec_qt_wallet_pot.ts → res/silentdragonlite_pot.ts

0
res/zec_qt_wallet_pt.qm → res/silentdragonlite_pt.qm

0
res/zec_qt_wallet_pt.ts → res/silentdragonlite_pt.ts

BIN
res/silentdragonlite_sr.qm

Binary file not shown.

1936
res/silentdragonlite_sr.ts

File diff suppressed because it is too large

0
res/zec_qt_wallet_template.qm → res/silentdragonlite_template.qm

0
res/zec_qt_wallet_template.ts → res/silentdragonlite_template.ts

0
res/zec_qt_wallet_tr.qm → res/silentdragonlite_tr.qm

0
res/zec_qt_wallet_tr.ts → res/silentdragonlite_tr.ts

0
res/zec_qt_wallet_zh.qm → res/silentdragonlite_zh.qm

0
res/zec_qt_wallet_zh.ts → res/silentdragonlite_zh.ts

16
silentdragon-lite.pro

@ -116,13 +116,15 @@ FORMS += \
src/recurringmultiple.ui
TRANSLATIONS = res/zec_qt_wallet_es.ts \
res/zec_qt_wallet_fr.ts \
res/zec_qt_wallet_de.ts \
res/zec_qt_wallet_pt.ts \
res/zec_qt_wallet_it.ts \
res/zec_qt_wallet_zh.ts \
res/zec_qt_wallet_tr.ts
TRANSLATIONS = res/silentdragonlite_es.ts \
res/silentdragonlite_fr.ts \
res/silentdragonlite_de.ts \
res/silentdragonlite_pt.ts \
res/silentdragonlite_it.ts \
res/silentdragonlite_zh.ts \
res/silentdragonlite_hr.ts \
res/silentdragonlite_sr.ts \
res/silentdragonlite_tr.ts
include(singleapplication/singleapplication.pri)
DEFINES += QAPPLICATION_CLASS=QApplication

2
src/main.cpp

@ -172,7 +172,7 @@ public:
qDebug() << "Loading locale " << locale;
QTranslator translator;
translator.load(QString(":/translations/res/hush_qt_wallet_") + locale);
translator.load(QString(":/translations/res/zec_qt_wallet_") + locale);
a.installTranslator(&translator);
QIcon icon(":/icons/res/icon.ico");

2
src/mainwindow.cpp

@ -886,6 +886,7 @@ void MainWindow::setupTransactionsTab() {
if (!memo.isEmpty()) {
QMessageBox mb(QMessageBox::Information, tr("Memo"), memo, QMessageBox::Ok, this);
mb.setTextFormat(Qt::PlainText);
mb.setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
mb.exec();
}
@ -934,6 +935,7 @@ void MainWindow::setupTransactionsTab() {
if (!memo.isEmpty()) {
menu.addAction(tr("View Memo"), [=] () {
QMessageBox mb(QMessageBox::Information, tr("Memo"), memo, QMessageBox::Ok, this);
mb.setTextFormat(Qt::PlainText);
mb.setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
mb.exec();
});

38
src/settings.cpp

@ -292,27 +292,23 @@ PaymentURI Settings::parseURI(QString uri) {
ans.error = "Could not understand address";
return ans;
}
uri = uri.right(uri.length() - ans.addr.length());
if (!uri.isEmpty()) {
uri = uri.right(uri.length() - 1); // Eat the "?"
QStringList args = uri.split("&");
for (QString arg: args) {
QStringList kv = arg.split("=");
if (kv.length() != 2) {
ans.error = "No value argument was seen";
return ans;
}
if (kv[0].toLower() == "amt" || kv[0].toLower() == "amount") {
ans.amt = kv[1];
} else if (kv[0].toLower() == "memo" || kv[0].toLower() == "message" || kv[0].toLower() == "msg") {
ans.memo = QUrl::fromPercentEncoding(kv[1].toUtf8());
} else {
// Ignore unknown fields, since some developers use it to pass extra data.
}
}
uri = uri.right(uri.length() - ans.addr.length()-1); // swallow '?'
QUrlQuery query(uri);
// parse out amt / amount
if (query.hasQueryItem("amt")) {
ans.amt = query.queryItemValue("amt");
} else if (query.hasQueryItem("amount")) {
ans.amt = query.queryItemValue("amount");
}
// parse out memo / msg / message
if (query.hasQueryItem("memo")) {
ans.memo = query.queryItemValue("memo");
} else if (query.hasQueryItem("msg")) {
ans.memo = query.queryItemValue("msg");
} else if (query.hasQueryItem("message")) {
ans.memo = query.queryItemValue("message");
}
return ans;

2
src/txtablemodel.cpp

@ -137,7 +137,7 @@ QVariant TxTableModel::data(const QModelIndex &index, int role) const {
return Settings::paymentURIPretty(Settings::parseURI(memo));
} else {
return modeldata->at(index.row()).type +
(memo.isEmpty() ? "" : " tx memo: \"" + memo + "\"");
(memo.isEmpty() ? "" : " tx memo: \"" + memo.toHtmlEscaped() + "\"");
}
} else {
return concatMultipleMemos(dat);

Loading…
Cancel
Save