summary refs log tree commit diff
path: root/src/dialogs/Logout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialogs/Logout.cpp')
-rw-r--r--src/dialogs/Logout.cpp74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/dialogs/Logout.cpp b/src/dialogs/Logout.cpp
new file mode 100644

index 00000000..e2449817 --- /dev/null +++ b/src/dialogs/Logout.cpp
@@ -0,0 +1,74 @@ +/* + * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <QLabel> +#include <QPaintEvent> +#include <QStyleOption> +#include <QVBoxLayout> + +#include "dialogs/Logout.h" + +#include "Config.h" +#include "ui/FlatButton.h" +#include "ui/Theme.h" + +using namespace dialogs; + +Logout::Logout(QWidget *parent) + : QFrame(parent) +{ + setMaximumSize(400, 400); + + auto layout = new QVBoxLayout(this); + layout->setSpacing(30); + layout->setMargin(20); + + auto buttonLayout = new QHBoxLayout(); + buttonLayout->setSpacing(0); + buttonLayout->setMargin(0); + + confirmBtn_ = new FlatButton("OK", this); + confirmBtn_->setFontSize(conf::btn::fontSize); + + cancelBtn_ = new FlatButton(tr("CANCEL"), this); + cancelBtn_->setFontSize(conf::btn::fontSize); + + buttonLayout->addStretch(1); + buttonLayout->addWidget(confirmBtn_); + buttonLayout->addWidget(cancelBtn_); + + QFont font; + font.setPixelSize(conf::headerFontSize); + + auto label = new QLabel(tr("Logout. Are you sure?"), this); + label->setFont(font); + + layout->addWidget(label); + layout->addLayout(buttonLayout); + + connect(confirmBtn_, &QPushButton::clicked, [this]() { emit closing(true); }); + connect(cancelBtn_, &QPushButton::clicked, [this]() { emit closing(false); }); +} + +void +Logout::paintEvent(QPaintEvent *) +{ + QStyleOption opt; + opt.init(this); + QPainter p(this); + style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); +}