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!
-
+
You should use a paper wallet only once. When you import your key it stays forever
If you lose your key, you will lose your Gostcoins
All transactions on the Gostcoin network irrevocable, they can not be canceled. Be careful when entering addresses to avoid typos. If possible, use the QR-code reading function.
-
+
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)
+
+
+ Бумажный кошелек
+
+
+
+
+
+
+
+
+
+
+