+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_Turnstile
+{
+public:
+ QVBoxLayout *verticalLayout;
+ QGroupBox *groupBox;
+ QVBoxLayout *verticalLayout_2;
+ QGridLayout *gridLayout;
+ QLabel *msgIcon;
+ QLabel *label_3;
+ QLabel *label_2;
+ QLabel *label_4;
+ QLabel *label;
+ QLabel *label_5;
+ QSpacerItem *verticalSpacer;
+ QLabel *label_6;
+ QLabel *label_7;
+ QComboBox *migrateZaddList;
+ QComboBox *privLevel;
+ QLabel *label_8;
+ QLabel *label_9;
+ QComboBox *migrateTo;
+ QFrame *line;
+ QDialogButtonBox *buttonBox;
+
+ void setupUi(QDialog *Turnstile)
+ {
+ if (Turnstile->objectName().isEmpty())
+ Turnstile->setObjectName(QStringLiteral("Turnstile"));
+ Turnstile->resize(565, 416);
+ verticalLayout = new QVBoxLayout(Turnstile);
+ verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
+ groupBox = new QGroupBox(Turnstile);
+ groupBox->setObjectName(QStringLiteral("groupBox"));
+ verticalLayout_2 = new QVBoxLayout(groupBox);
+ verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2"));
+ gridLayout = new QGridLayout();
+ gridLayout->setObjectName(QStringLiteral("gridLayout"));
+ msgIcon = new QLabel(groupBox);
+ msgIcon->setObjectName(QStringLiteral("msgIcon"));
+ msgIcon->setAlignment(Qt::AlignCenter);
+
+ gridLayout->addWidget(msgIcon, 0, 0, 1, 1);
+
+ label_3 = new QLabel(groupBox);
+ label_3->setObjectName(QStringLiteral("label_3"));
+ label_3->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop);
+
+ gridLayout->addWidget(label_3, 5, 0, 2, 1);
+
+ label_2 = new QLabel(groupBox);
+ label_2->setObjectName(QStringLiteral("label_2"));
+
+ gridLayout->addWidget(label_2, 4, 0, 1, 1);
+
+ label_4 = new QLabel(groupBox);
+ label_4->setObjectName(QStringLiteral("label_4"));
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(label_4->sizePolicy().hasHeightForWidth());
+ label_4->setSizePolicy(sizePolicy);
+
+ gridLayout->addWidget(label_4, 5, 1, 1, 1);
+
+ label = new QLabel(groupBox);
+ label->setObjectName(QStringLiteral("label"));
+ QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Preferred);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(label->sizePolicy().hasHeightForWidth());
+ label->setSizePolicy(sizePolicy1);
+
+ gridLayout->addWidget(label, 2, 0, 1, 1);
+
+ label_5 = new QLabel(groupBox);
+ label_5->setObjectName(QStringLiteral("label_5"));
+ sizePolicy.setHeightForWidth(label_5->sizePolicy().hasHeightForWidth());
+ label_5->setSizePolicy(sizePolicy);
+
+ gridLayout->addWidget(label_5, 6, 1, 1, 1);
+
+ verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ gridLayout->addItem(verticalSpacer, 7, 0, 1, 2);
+
+ label_6 = new QLabel(groupBox);
+ label_6->setObjectName(QStringLiteral("label_6"));
+
+ gridLayout->addWidget(label_6, 5, 2, 1, 1);
+
+ label_7 = new QLabel(groupBox);
+ label_7->setObjectName(QStringLiteral("label_7"));
+
+ gridLayout->addWidget(label_7, 6, 2, 1, 1);
+
+ migrateZaddList = new QComboBox(groupBox);
+ migrateZaddList->setObjectName(QStringLiteral("migrateZaddList"));
+ QSizePolicy sizePolicy2(QSizePolicy::Expanding, QSizePolicy::Fixed);
+ sizePolicy2.setHorizontalStretch(0);
+ sizePolicy2.setVerticalStretch(0);
+ sizePolicy2.setHeightForWidth(migrateZaddList->sizePolicy().hasHeightForWidth());
+ migrateZaddList->setSizePolicy(sizePolicy2);
+ migrateZaddList->setEditable(false);
+
+ gridLayout->addWidget(migrateZaddList, 2, 1, 1, 2);
+
+ privLevel = new QComboBox(groupBox);
+ privLevel->setObjectName(QStringLiteral("privLevel"));
+ sizePolicy2.setHeightForWidth(privLevel->sizePolicy().hasHeightForWidth());
+ privLevel->setSizePolicy(sizePolicy2);
+
+ gridLayout->addWidget(privLevel, 4, 1, 1, 2);
+
+ label_8 = new QLabel(groupBox);
+ label_8->setObjectName(QStringLiteral("label_8"));
+ label_8->setWordWrap(true);
+
+ gridLayout->addWidget(label_8, 0, 1, 1, 2);
+
+ label_9 = new QLabel(groupBox);
+ label_9->setObjectName(QStringLiteral("label_9"));
+ sizePolicy1.setHeightForWidth(label_9->sizePolicy().hasHeightForWidth());
+ label_9->setSizePolicy(sizePolicy1);
+
+ gridLayout->addWidget(label_9, 3, 0, 1, 1);
+
+ migrateTo = new QComboBox(groupBox);
+ migrateTo->setObjectName(QStringLiteral("migrateTo"));
+
+ gridLayout->addWidget(migrateTo, 3, 1, 1, 2);
+
+ line = new QFrame(groupBox);
+ line->setObjectName(QStringLiteral("line"));
+ line->setFrameShape(QFrame::HLine);
+ line->setFrameShadow(QFrame::Sunken);
+
+ gridLayout->addWidget(line, 1, 0, 1, 3);
+
+
+ verticalLayout_2->addLayout(gridLayout);
+
+
+ verticalLayout->addWidget(groupBox);
+
+ buttonBox = new QDialogButtonBox(Turnstile);
+ buttonBox->setObjectName(QStringLiteral("buttonBox"));
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+
+ verticalLayout->addWidget(buttonBox);
+
+
+ retranslateUi(Turnstile);
+ QObject::connect(buttonBox, SIGNAL(accepted()), Turnstile, SLOT(accept()));
+ QObject::connect(buttonBox, SIGNAL(rejected()), Turnstile, SLOT(reject()));
+
+ QMetaObject::connectSlotsByName(Turnstile);
+ } // setupUi
+
+ void retranslateUi(QDialog *Turnstile)
+ {
+ Turnstile->setWindowTitle(QApplication::translate("Turnstile", "Turnstile Migration", nullptr));
+ groupBox->setTitle(QApplication::translate("Turnstile", "Turnstile Migration", nullptr));
+ msgIcon->setText(QString());
+ label_3->setText(QApplication::translate("Turnstile", "Total Fees", nullptr));
+ label_2->setText(QApplication::translate("Turnstile", "Privacy Level", nullptr));
+ label_4->setText(QApplication::translate("Turnstile", "Miner Fee:", nullptr));
+ label->setText(QApplication::translate("Turnstile", "From", nullptr));
+ label_5->setText(QApplication::translate("Turnstile", "Dev Fee: ", nullptr));
+ label_6->setText(QApplication::translate("Turnstile", "0.0004 ZEC $0.04", nullptr));
+ label_7->setText(QApplication::translate("Turnstile", "0.0004 ZEC $0.04", nullptr));
+ migrateZaddList->setCurrentText(QString());
+ label_8->setText(QApplication::translate("Turnstile", "Funds from Sprout z-Addresses (which start with "zc") need to be moved to the upgraded Sapling z-Addresses (which start with "zs"). The funds cannot be moved directly, but need to be sent through intermediate "transparent" addresses in privacy-preserving way.
This migration can be done automatically for you.
", nullptr));
+ label_9->setText(QApplication::translate("Turnstile", "To", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class Turnstile: public Ui_Turnstile {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_TURNSTILE_H
diff --git a/src/ui_turnstileprogress.h b/src/ui_turnstileprogress.h
new file mode 100644
index 0000000..2d34909
--- /dev/null
+++ b/src/ui_turnstileprogress.h
@@ -0,0 +1,141 @@
+/********************************************************************************
+** Form generated from reading UI file 'turnstileprogress.ui'
+**
+** Created by: Qt User Interface Compiler version 5.11.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_TURNSTILEPROGRESS_H
+#define UI_TURNSTILEPROGRESS_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+QT_BEGIN_NAMESPACE
+
+class Ui_TurnstileProgress
+{
+public:
+ QGridLayout *gridLayout;
+ QProgressBar *progressBar;
+ QLabel *label_4;
+ QFrame *line;
+ QLabel *label;
+ QLabel *label_3;
+ QLabel *label_2;
+ QLabel *msgIcon;
+ QDialogButtonBox *buttonBox;
+ QSpacerItem *verticalSpacer;
+ QFrame *line_2;
+
+ void setupUi(QDialog *TurnstileProgress)
+ {
+ if (TurnstileProgress->objectName().isEmpty())
+ TurnstileProgress->setObjectName(QStringLiteral("TurnstileProgress"));
+ TurnstileProgress->resize(400, 300);
+ gridLayout = new QGridLayout(TurnstileProgress);
+ gridLayout->setObjectName(QStringLiteral("gridLayout"));
+ progressBar = new QProgressBar(TurnstileProgress);
+ progressBar->setObjectName(QStringLiteral("progressBar"));
+ progressBar->setValue(33);
+
+ gridLayout->addWidget(progressBar, 3, 0, 1, 3);
+
+ label_4 = new QLabel(TurnstileProgress);
+ label_4->setObjectName(QStringLiteral("label_4"));
+ QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ sizePolicy.setHorizontalStretch(0);
+ sizePolicy.setVerticalStretch(0);
+ sizePolicy.setHeightForWidth(label_4->sizePolicy().hasHeightForWidth());
+ label_4->setSizePolicy(sizePolicy);
+ label_4->setWordWrap(true);
+
+ gridLayout->addWidget(label_4, 7, 1, 1, 2);
+
+ line = new QFrame(TurnstileProgress);
+ line->setObjectName(QStringLiteral("line"));
+ line->setFrameShape(QFrame::HLine);
+ line->setFrameShadow(QFrame::Sunken);
+
+ gridLayout->addWidget(line, 4, 0, 1, 3);
+
+ label = new QLabel(TurnstileProgress);
+ label->setObjectName(QStringLiteral("label"));
+
+ gridLayout->addWidget(label, 5, 0, 1, 3);
+
+ label_3 = new QLabel(TurnstileProgress);
+ label_3->setObjectName(QStringLiteral("label_3"));
+ label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
+
+ gridLayout->addWidget(label_3, 2, 2, 1, 1);
+
+ label_2 = new QLabel(TurnstileProgress);
+ label_2->setObjectName(QStringLiteral("label_2"));
+
+ gridLayout->addWidget(label_2, 2, 0, 1, 2);
+
+ msgIcon = new QLabel(TurnstileProgress);
+ msgIcon->setObjectName(QStringLiteral("msgIcon"));
+ QSizePolicy sizePolicy1(QSizePolicy::Minimum, QSizePolicy::Preferred);
+ sizePolicy1.setHorizontalStretch(0);
+ sizePolicy1.setVerticalStretch(0);
+ sizePolicy1.setHeightForWidth(msgIcon->sizePolicy().hasHeightForWidth());
+ msgIcon->setSizePolicy(sizePolicy1);
+ msgIcon->setAlignment(Qt::AlignCenter);
+
+ gridLayout->addWidget(msgIcon, 7, 0, 1, 1);
+
+ buttonBox = new QDialogButtonBox(TurnstileProgress);
+ buttonBox->setObjectName(QStringLiteral("buttonBox"));
+ buttonBox->setOrientation(Qt::Horizontal);
+ buttonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok);
+
+ gridLayout->addWidget(buttonBox, 9, 0, 1, 3);
+
+ verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
+
+ gridLayout->addItem(verticalSpacer, 6, 0, 1, 3);
+
+ line_2 = new QFrame(TurnstileProgress);
+ line_2->setObjectName(QStringLiteral("line_2"));
+ line_2->setFrameShape(QFrame::HLine);
+ line_2->setFrameShadow(QFrame::Sunken);
+
+ gridLayout->addWidget(line_2, 8, 0, 1, 3);
+
+
+ retranslateUi(TurnstileProgress);
+ QObject::connect(buttonBox, SIGNAL(accepted()), TurnstileProgress, SLOT(accept()));
+ QObject::connect(buttonBox, SIGNAL(rejected()), TurnstileProgress, SLOT(reject()));
+
+ QMetaObject::connectSlotsByName(TurnstileProgress);
+ } // setupUi
+
+ void retranslateUi(QDialog *TurnstileProgress)
+ {
+ TurnstileProgress->setWindowTitle(QApplication::translate("TurnstileProgress", "Dialog", nullptr));
+ label_4->setText(QApplication::translate("TurnstileProgress", "Please Ensure you have your wallet.dat backed up!", nullptr));
+ label->setText(QApplication::translate("TurnstileProgress", "Next Transaction in 4 hours", nullptr));
+ label_3->setText(QApplication::translate("TurnstileProgress", "4 / 12", nullptr));
+ label_2->setText(QApplication::translate("TurnstileProgress", "Migration Progress", nullptr));
+ msgIcon->setText(QApplication::translate("TurnstileProgress", "TextLabel", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class TurnstileProgress: public Ui_TurnstileProgress {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_TURNSTILEPROGRESS_H
diff --git a/zec-qt-wallet.pro b/zec-qt-wallet.pro
index c483f19..710aafa 100644
--- a/zec-qt-wallet.pro
+++ b/zec-qt-wallet.pro
@@ -71,7 +71,9 @@ FORMS += \
src/mainwindow.ui \
src/settings.ui \
src/about.ui \
- src/confirm.ui
+ src/confirm.ui \
+ src/turnstile.ui \
+ src/turnstileprogress.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin