#include "WedgeCrypto.h"
#include "WedgeStyle.h"
#include <QFormLayout>
#include <QFrame>
#include <QHBoxLayout>
#include <QLabel>
#include <QSizePolicy>
#include <QSpacerItem>
#include <QVBoxLayout>
#include <QWidget>
static QSpacerItem* makeSpacer(int height) {
return new QSpacerItem(0, height, QSizePolicy::Minimum, QSizePolicy::Fixed);
}
static QWidget* makeSectionHeader(const QString &title) {
auto *w = new QWidget();
auto *h = new QHBoxLayout(w);
h->setContentsMargins(0, 0, 0, 0);
h->setSpacing(8);
auto *label = new QLabel(title);
label->setStyleSheet("color: #999999; font-size: 8pt;");
label->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
h->addWidget(label);
auto *hr = new QFrame();
hr->setFrameShape(QFrame::HLine);
hr->setFrameShadow(QFrame::Plain);
hr->setStyleSheet("color: #cccccc; background-color: #cccccc;");
hr->setFixedHeight(1);
hr->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
h->addWidget(hr, 1);
return w;
}
CryptoWindow::CryptoWindow(Mode mode, QWidget *parent) : QDialog(parent) {
setWindowTitle("");
setFixedWidth(333);
setStyleSheet(WedgeStyle::sheet());
auto *layout = new QHBoxLayout(this);
layout->setContentsMargins(16, 14, 16, 14);
layout->setSpacing(8);
phraseEdit = new QLineEdit(this);
phraseEdit->setEchoMode(QLineEdit::Password);
phraseEdit->setPlaceholderText("Phrase");
phraseEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
actionBtn = new QPushButton(mode == Encrypt ? "Encrypt" : "Decrypt", this);
actionBtn->setDefault(true);
layout->addWidget(phraseEdit);
layout->addWidget(actionBtn);
auto submit = [this]() {
if (!phraseEdit->text().isEmpty()) {
emit phraseSubmitted(phraseEdit->text());
}
};
connect(actionBtn, &QPushButton::clicked, this, submit);
connect(phraseEdit, &QLineEdit::returnPressed, this, submit);
}