From 791eabd80637697c0cc8db0c873a68744e44e68b Mon Sep 17 00:00:00 2001 From: R4SAS Date: Sat, 10 Feb 2018 05:47:35 +0300 Subject: [PATCH] add translation for paperwallet --- src/qt/locale/gostcoin_ru.ts | 18 ++- src/qt/paperwallet.cpp | 144 +++++++++--------- src/qt/paperwallet.qrc | 17 ++- .../{paperwallet.html => paperwallet_en.html} | 10 +- src/qt/res/html/paperwallet_ru.html | 77 ++++++++++ 5 files changed, 178 insertions(+), 88 deletions(-) rename src/qt/res/html/{paperwallet.html => paperwallet_en.html} (85%) create mode 100644 src/qt/res/html/paperwallet_ru.html diff --git a/src/qt/locale/gostcoin_ru.ts b/src/qt/locale/gostcoin_ru.ts index ca248c3..a6f5970 100644 --- a/src/qt/locale/gostcoin_ru.ts +++ b/src/qt/locale/gostcoin_ru.ts @@ -346,12 +346,12 @@ BitcoinGUI - + Gostcoin ГОСТкойн - + Wallet Бумажник @@ -516,12 +516,22 @@ Открыть консоль отладки и диагностики - + + &Print paper wallet... + &Распечатать бумажный кошелек + + + + Generate new address and print + Сгенерировать новый адрес и распечатать его + + + &File &Файл - + &Settings &Настройки diff --git a/src/qt/paperwallet.cpp b/src/qt/paperwallet.cpp index fb4ea27..064263c 100644 --- a/src/qt/paperwallet.cpp +++ b/src/qt/paperwallet.cpp @@ -15,104 +15,104 @@ static void printAsQR(QPainter &painter, QString &vchKey, int shift) { - QRcode *qr = QRcode_encodeString(vchKey.toStdString().c_str(), 1, QR_ECLEVEL_L, QR_MODE_8, 1); - if (qr) + QRcode *qr = QRcode_encodeString(vchKey.toStdString().c_str(), 1, QR_ECLEVEL_L, QR_MODE_8, 1); + if (qr) { - QPaintDevice *pd = painter.device(); - const double w = pd->width(); - const double h = pd->height(); - QColor bg("white"); - QColor fg("black"); - painter.setBrush(bg); - painter.fillRect(0, 0, w, h, bg); - painter.setPen(Qt::SolidLine); - painter.setPen(fg); - painter.setBrush(fg); - const int s=qr->width > 0 ? qr->width : 1; - const double aspect = w / h; - const double scale = ((aspect > 1.0) ? h : w) / s;// * 0.3; - for(int y = 0; y < s; y++) + QPaintDevice *pd = painter.device(); + const double w = pd->width(); + const double h = pd->height(); + QColor bg("white"); + QColor fg("black"); + painter.setBrush(bg); + painter.fillRect(0, 0, w, h, bg); + painter.setPen(Qt::SolidLine); + painter.setPen(fg); + painter.setBrush(fg); + const int s=qr->width > 0 ? qr->width : 1; + const double aspect = w / h; + const double scale = ((aspect > 1.0) ? h : w) / s;// * 0.3; + for(int y = 0; y < s; y++) { - const int yy = y*s; - for(int x = 0; x < s; x++) + const int yy = y*s; + for(int x = 0; x < s; x++) { - const int xx = yy + x; - const unsigned char b = qr->data[xx]; - if(b & 0x01) + const int xx = yy + x; + const unsigned char b = qr->data[xx]; + if(b & 0x01) { - const double rx1 = x*scale, ry1 = y*scale; - QRectF r(rx1 + shift, ry1, scale, scale); - painter.drawRects(&r, 1); - } - } - } - QRcode_free(qr); - } + const double rx1 = x*scale, ry1 = y*scale; + QRectF r(rx1 + shift, ry1, scale, scale); + painter.drawRects(&r, 1); + } + } + } + QRcode_free(qr); + } } static bool readHtmlTemplate(const QString &res_name, QString &htmlContent) { - QFile htmlFile(res_name); - if (!htmlFile.open(QIODevice::ReadOnly | QIODevice::Text)) + QFile htmlFile(res_name); + if (!htmlFile.open(QIODevice::ReadOnly | QIODevice::Text)) { - printf("Cant open %s\n", res_name.toStdString().c_str ()); - return false; - } + printf("Cant open %s\n", res_name.toStdString().c_str ()); + return false; + } - QTextStream in(&htmlFile); - in.setCodec("UTF-8"); - htmlContent = in.readAll(); - return true; + QTextStream in(&htmlFile); + in.setCodec("UTF-8"); + htmlContent = in.readAll(); + return true; } void PrintPaperWallet (QWidget * parent) { RandAddSeedPerfmon(); CKey secret; - secret.MakeNewKey(true); + secret.MakeNewKey(true); CPrivKey privkey = secret.GetPrivKey(); - CPubKey pubkey = secret.GetPubKey(); - CKeyID keyid = pubkey.GetID(); + CPubKey pubkey = secret.GetPubKey(); + CKeyID keyid = pubkey.GetID(); std::string secret_str = CBitcoinSecret(secret).ToString(); - std::string address = CBitcoinAddress(keyid).ToString(); - - QString qsecret = QString::fromStdString(secret_str); - QString qaddress = QString::fromStdString(address); + std::string address = CBitcoinAddress(keyid).ToString(); + + QString qsecret = QString::fromStdString(secret_str); + QString qaddress = QString::fromStdString(address); QPrinter printer(QPrinter::HighResolution); - printer.setPageMargins(0, 10, 0, 0, QPrinter::Millimeter); - - QPrintDialog dlg(&printer, parent); - if(dlg.exec() == QDialog::Accepted) + printer.setPageMargins(0, 10, 0, 0, QPrinter::Millimeter); + + QPrintDialog dlg(&printer, parent); + if(dlg.exec() == QDialog::Accepted) { QImage img1(200, 200, QImage::Format_ARGB32); - QImage img2(200, 200, QImage::Format_ARGB32); - QPainter painter(&img1); - painter.setRenderHint(QPainter::Antialiasing, false); - painter.setRenderHint(QPainter::TextAntialiasing, false); - painter.setRenderHint(QPainter::SmoothPixmapTransform, false); - painter.setRenderHint(QPainter::HighQualityAntialiasing, false); - painter.setRenderHint(QPainter::NonCosmeticDefaultPen, false); - printAsQR(painter, qaddress, 0); + QImage img2(200, 200, QImage::Format_ARGB32); + QPainter painter(&img1); + painter.setRenderHint(QPainter::Antialiasing, false); + painter.setRenderHint(QPainter::TextAntialiasing, false); + painter.setRenderHint(QPainter::SmoothPixmapTransform, false); + painter.setRenderHint(QPainter::HighQualityAntialiasing, false); + painter.setRenderHint(QPainter::NonCosmeticDefaultPen, false); + printAsQR(painter, qaddress, 0); painter.end(); - painter.begin(&img2); - printAsQR(painter, qsecret, 0); - painter.end(); + painter.begin(&img2); + printAsQR(painter, qsecret, 0); + painter.end(); QString html; - readHtmlTemplate(":/html/paperwallet", html); - - html.replace("__ADDRESS__", qaddress); - html.replace("__PRIVATE__", qsecret); - - QTextDocument document; - document.addResource(QTextDocument::ImageResource, QUrl(":qr1.png" ), img1); - document.addResource(QTextDocument::ImageResource, QUrl(":qr2.png" ), img2); - document.setHtml(html); - document.setPageSize(QSizeF(printer.pageRect(QPrinter::Point).size())); - document.print(&printer); - } + readHtmlTemplate(":/html/paperwallet", html); + + html.replace("__ADDRESS__", qaddress); + html.replace("__PRIVATE__", qsecret); + + QTextDocument document; + document.addResource(QTextDocument::ImageResource, QUrl(":qr1.png" ), img1); + document.addResource(QTextDocument::ImageResource, QUrl(":qr2.png" ), img2); + document.setHtml(html); + document.setPageSize(QSizeF(printer.pageRect(QPrinter::Point).size())); + document.print(&printer); + } } diff --git a/src/qt/paperwallet.qrc b/src/qt/paperwallet.qrc index 4da32f3..df7a07b 100644 --- a/src/qt/paperwallet.qrc +++ b/src/qt/paperwallet.qrc @@ -1,9 +1,12 @@ - - res/html/paperwallet.html - - - res/icons/cash.png - res/icons/cash_print.png - + + res/html/paperwallet_en.html + + + res/html/paperwallet_ru.html + + + res/icons/cash.png + res/icons/cash_print.png + diff --git a/src/qt/res/html/paperwallet.html b/src/qt/res/html/paperwallet_en.html similarity index 85% rename from src/qt/res/html/paperwallet.html rename to src/qt/res/html/paperwallet_en.html index 906debe..0751fd6 100644 --- a/src/qt/res/html/paperwallet.html +++ b/src/qt/res/html/paperwallet_en.html @@ -16,8 +16,8 @@ __ADDRESS__
-

Use this address to deposit your Gostcoins.

-

The balance and transactoin history you can find in public blockchain: http://explorer.gostco.in





+

Use this address to deposit your Gostcoins.

+

The balance and transactoin history you can find in public blockchain: http://explorer.gostco.in





@@ -31,7 +31,7 @@ __PRIVATE__
-

To send your Gostcoins you need to import this key into you wallet, using importprivkey command.

+

To send your Gostcoins you need to import this key into you wallet, using importprivkey command.

@@ -41,11 +41,11 @@ Attention!
-
diff --git a/src/qt/res/html/paperwallet_ru.html b/src/qt/res/html/paperwallet_ru.html new file mode 100644 index 0000000..e9e71ce --- /dev/null +++ b/src/qt/res/html/paperwallet_ru.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + +
+ +

+ Ваш адрес пополнения: +

+
+ __ADDRESS__ +
+
+

Используйте данный адрес для зачисления ГОСТКоинов.

+

Баланс и историю по данному адресу вы можете посмотреть в реестре сети: http://explorer.gostco.in





+ +
+
+ + +

+ Ваш ключ для отправки ГОСТКоинов: +

+
+ __PRIVATE__ +
+
+

Чтобы отправить монеты вам необходимо импортировать данный ключ в кошелек, используя команду importprivkey.

+
+
+

+ Внимание! +

+
+
    +
  • Старайтесь использовать бумажный кошелек однократно. В момент импортирования ключ сохраняется в кошельке навсегда
  • +
  • Если вы потеряете ключ, то не сможете воспользоваться монетами, зачисленными на адрес бумажного кошелька
  • +
  • Все транзакции в сети безотзывные, отменить их невозможно. Будьте внимательны при вводе адресов для пополнения и отправки монет. По возможности пользуйтесь функцией сканирования QR-кода при вводе ключа или адреса, чтобы избежать опечаток.
  • +
+
+
+ + + + + +
+
+ +
+
+
+

ГОСТКоин (GST)

+
+

+ Бумажный кошелек +

+
+
+
+
+ +