summary refs log tree commit diff
path: root/src/WelcomePage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/WelcomePage.cc')
-rw-r--r--src/WelcomePage.cc117
1 files changed, 47 insertions, 70 deletions
diff --git a/src/WelcomePage.cc b/src/WelcomePage.cc
index 1673029f..5ea145f7 100644
--- a/src/WelcomePage.cc
+++ b/src/WelcomePage.cc
@@ -15,7 +15,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include <QApplication>
+#include <QLabel>
 #include <QLayout>
 
 #include "Config.h"
@@ -26,79 +26,56 @@ WelcomePage::WelcomePage(QWidget *parent)
 {
         setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-        top_layout_ = new QVBoxLayout(this);
-        top_layout_->setSpacing(0);
-        top_layout_->setMargin(0);
+        auto topLayout_ = new QVBoxLayout(this);
+        topLayout_->setSpacing(20);
 
-        intro_banner_ = new QLabel(this);
-        intro_banner_->setPixmap(QPixmap(":/logos/nheko-256.png"));
-        intro_banner_->setAlignment(Qt::AlignCenter);
+        QFont headingFont("Open Sans", 23);
+        QFont subTitleFont("Open Sans", 22);
 
-        intro_text_ = new QLabel(this);
+        auto logo_ = new QLabel(this);
+        logo_->setPixmap(QPixmap(":/logos/nheko-256.png"));
+        logo_->setAlignment(Qt::AlignCenter);
 
         QString heading(tr("Welcome to nheko! The desktop client for the Matrix protocol."));
         QString main(tr("Enjoy your stay!"));
 
-        intro_text_->setText(QString("<p align=\"center\" style=\"margin: 0; line-height: 2pt\">"
-                                     "  <span style=\" font-size:18px; color:#515151;\"> %1 </span>"
-                                     "</p>"
-                                     "<p align=\"center\" style=\"margin: 1pt; line-height: 2pt;\">"
-                                     "  <span style=\" font-size:18px; color:#515151;\"> %2 </span>"
-                                     "</p>")
-                               .arg(heading)
-                               .arg(main));
-
-        top_layout_->addStretch(1);
-        top_layout_->addWidget(intro_banner_);
-        top_layout_->addStretch(1);
-        top_layout_->addWidget(intro_text_, 0, Qt::AlignCenter);
-        top_layout_->addStretch(1);
-
-        button_layout_ = new QHBoxLayout();
-        button_layout_->setSpacing(0);
-        button_layout_->setContentsMargins(0, 20, 0, 80);
-
-        register_button_ = new RaisedButton(tr("REGISTER"), this);
-        register_button_->setBackgroundColor(QColor("#333333"));
-        register_button_->setForegroundColor(QColor("white"));
-        register_button_->setMinimumSize(240, 60);
-        register_button_->setFontSize(conf::btn::fontSize);
-        register_button_->setCornerRadius(conf::btn::cornerRadius);
-
-        login_button_ = new RaisedButton(tr("LOGIN"), this);
-        login_button_->setBackgroundColor(QColor("#333333"));
-        login_button_->setForegroundColor(QColor("white"));
-        login_button_->setMinimumSize(240, 60);
-        login_button_->setFontSize(conf::btn::fontSize);
-        login_button_->setCornerRadius(conf::btn::cornerRadius);
-
-        button_spacer_ =
-          new QSpacerItem(20, 20, QSizePolicy::MinimumExpanding, QSizePolicy::Minimum);
-
-        button_layout_->addStretch(1);
-        button_layout_->addWidget(register_button_);
-        button_layout_->addItem(button_spacer_);
-        button_layout_->addWidget(login_button_);
-        button_layout_->addStretch(1);
-
-        top_layout_->addLayout(button_layout_);
-
-        connect(register_button_, SIGNAL(clicked()), this, SLOT(onRegisterButtonClicked()));
-        connect(login_button_, SIGNAL(clicked()), this, SLOT(onLoginButtonClicked()));
-}
-
-void
-WelcomePage::onLoginButtonClicked()
-{
-        emit userLogin();
-}
-
-void
-WelcomePage::onRegisterButtonClicked()
-{
-        emit userRegister();
-}
-
-WelcomePage::~WelcomePage()
-{
+        auto intoTxt_ = new QLabel(heading, this);
+        intoTxt_->setFont(headingFont);
+        intoTxt_->setContentsMargins(0, 20, 0, 0);
+
+        auto subTitle = new QLabel(main, this);
+        subTitle->setFont(subTitleFont);
+        subTitle->setContentsMargins(0, 0, 0, 0);
+
+        topLayout_->addStretch(1);
+        topLayout_->addWidget(logo_);
+        topLayout_->addWidget(intoTxt_, 0, Qt::AlignCenter);
+        topLayout_->addWidget(subTitle, 0, Qt::AlignCenter);
+
+        auto btnLayout_ = new QHBoxLayout();
+        btnLayout_->setSpacing(20);
+        btnLayout_->setContentsMargins(0, 20, 0, 20);
+
+        registerBtn_ = new RaisedButton(tr("REGISTER"), this);
+        registerBtn_->setBackgroundColor(QColor("#333333"));
+        registerBtn_->setMinimumSize(240, 65);
+        registerBtn_->setFontSize(conf::btn::fontSize);
+        registerBtn_->setCornerRadius(conf::btn::cornerRadius);
+
+        loginBtn_ = new RaisedButton(tr("LOGIN"), this);
+        loginBtn_->setBackgroundColor(QColor("#333333"));
+        loginBtn_->setMinimumSize(240, 65);
+        loginBtn_->setFontSize(conf::btn::fontSize);
+        loginBtn_->setCornerRadius(conf::btn::cornerRadius);
+
+        btnLayout_->addStretch(1);
+        btnLayout_->addWidget(registerBtn_);
+        btnLayout_->addWidget(loginBtn_);
+        btnLayout_->addStretch(1);
+
+        topLayout_->addLayout(btnLayout_);
+        topLayout_->addStretch(1);
+
+        connect(registerBtn_, &QPushButton::clicked, this, &WelcomePage::userRegister);
+        connect(loginBtn_, &QPushButton::clicked, this, &WelcomePage::userLogin);
 }