diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Config.h | 18 | ||||
-rw-r--r-- | src/UserSettingsPage.cpp | 36 | ||||
-rw-r--r-- | src/dialogs/CreateRoom.cpp | 23 | ||||
-rw-r--r-- | src/dialogs/InviteUsers.cpp | 19 | ||||
-rw-r--r-- | src/dialogs/JoinRoom.cpp | 36 | ||||
-rw-r--r-- | src/dialogs/JoinRoom.h | 3 | ||||
-rw-r--r-- | src/dialogs/LeaveRoom.cpp | 16 | ||||
-rw-r--r-- | src/dialogs/Logout.cpp | 17 | ||||
-rw-r--r-- | src/dialogs/MemberList.cpp | 25 | ||||
-rw-r--r-- | src/dialogs/PreviewUploadOverlay.cpp | 22 | ||||
-rw-r--r-- | src/dialogs/ReCaptcha.cpp | 15 | ||||
-rw-r--r-- | src/dialogs/ReadReceipts.cpp | 23 |
12 files changed, 154 insertions, 99 deletions
diff --git a/src/Config.h b/src/Config.h index dea8851a..08db958f 100644 --- a/src/Config.h +++ b/src/Config.h @@ -33,6 +33,24 @@ namespace dialogs { constexpr int labelSize = 15; } +namespace modals { +constexpr int MIN_WIDGET_WIDTH = 400; +constexpr int MIN_WIDGET_HEIGHT = 400; + +constexpr int WIDGET_MARGIN = 20; +constexpr int WIDGET_SPACING = 15; +constexpr int WIDGET_TOP_MARGiN = 2 * WIDGET_MARGIN; + +constexpr int TEXT_SPACING = 4; + +constexpr int BUTTON_SIZE = 36; +constexpr int BUTTON_RADIUS = BUTTON_SIZE / 2; + +constexpr float BUTTON_TEXT_SIZE_RATIO = 1.3; +constexpr float LABEL_MEDIUM_SIZE_RATIO = 1.3; +constexpr float LABEL_BIG_SIZE_RATIO = 2; +} + namespace strings { const QString url_html = "<a href=\"\\1\">\\1</a>"; const QRegExp url_regex( diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp index 4c249369..04ce5b5d 100644 --- a/src/UserSettingsPage.cpp +++ b/src/UserSettingsPage.cpp @@ -118,8 +118,8 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge backBtn_->setIcon(icon); backBtn_->setIconSize(QSize(24, 24)); - auto heading_ = new QLabel(tr("User Settings")); - heading_->setStyleSheet("font-weight: bold; font-size: 22px;"); + QFont font; + font.setPointSizeF(font.pointSizeF() * 1.1); auto versionInfo = new QLabel(QString("%1 | %2").arg(nheko::version).arg(nheko::build_os)); versionInfo->setTextInteractionFlags(Qt::TextBrowserInteraction); @@ -128,14 +128,13 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge topBarLayout_->setSpacing(0); topBarLayout_->setMargin(0); topBarLayout_->addWidget(backBtn_, 1, Qt::AlignLeft | Qt::AlignVCenter); - topBarLayout_->addWidget(heading_, 0, Qt::AlignBottom); topBarLayout_->addStretch(1); auto trayOptionLayout_ = new QHBoxLayout; trayOptionLayout_->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto trayLabel = new QLabel(tr("Minimize to tray"), this); - trayToggle_ = new Toggle(this); - trayLabel->setStyleSheet("font-size: 15px;"); + trayLabel->setFont(font); + trayToggle_ = new Toggle(this); trayOptionLayout_->addWidget(trayLabel); trayOptionLayout_->addWidget(trayToggle_, 0, Qt::AlignBottom | Qt::AlignRight); @@ -143,10 +142,10 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge auto startInTrayOptionLayout_ = new QHBoxLayout; startInTrayOptionLayout_->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto startInTrayLabel = new QLabel(tr("Start in tray"), this); - startInTrayToggle_ = new Toggle(this); + startInTrayLabel->setFont(font); + startInTrayToggle_ = new Toggle(this); if (!settings_->isTrayEnabled()) startInTrayToggle_->setDisabled(true); - startInTrayLabel->setStyleSheet("font-size: 15px;"); startInTrayOptionLayout_->addWidget(startInTrayLabel); startInTrayOptionLayout_->addWidget( @@ -154,9 +153,9 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge auto orderRoomLayout = new QHBoxLayout; orderRoomLayout->setContentsMargins(0, OptionMargin, 0, OptionMargin); - auto orderLabel = new QLabel(tr("Re-order rooms based on activity"), this); + auto orderLabel = new QLabel(tr("Re-order rooms based on activity"), this); + orderLabel->setFont(font); roomOrderToggle_ = new Toggle(this); - orderLabel->setStyleSheet("font-size: 15px;"); orderRoomLayout->addWidget(orderLabel); orderRoomLayout->addWidget(roomOrderToggle_, 0, Qt::AlignBottom | Qt::AlignRight); @@ -164,17 +163,17 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge auto groupViewLayout = new QHBoxLayout; groupViewLayout->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto groupViewLabel = new QLabel(tr("Group's sidebar"), this); - groupViewToggle_ = new Toggle(this); - groupViewLabel->setStyleSheet("font-size: 15px;"); + groupViewLabel->setFont(font); + groupViewToggle_ = new Toggle(this); groupViewLayout->addWidget(groupViewLabel); groupViewLayout->addWidget(groupViewToggle_, 0, Qt::AlignBottom | Qt::AlignRight); auto typingLayout = new QHBoxLayout; typingLayout->setContentsMargins(0, OptionMargin, 0, OptionMargin); - auto typingLabel = new QLabel(tr("Typing notifications"), this); + auto typingLabel = new QLabel(tr("Typing notifications"), this); + typingLabel->setFont(font); typingNotifications_ = new Toggle(this); - typingLabel->setStyleSheet("font-size: 15px;"); typingLayout->addWidget(typingLabel); typingLayout->addWidget(typingNotifications_, 0, Qt::AlignBottom | Qt::AlignRight); @@ -182,8 +181,8 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge auto receiptsLayout = new QHBoxLayout; receiptsLayout->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto receiptsLabel = new QLabel(tr("Read receipts"), this); - readReceipts_ = new Toggle(this); - receiptsLabel->setStyleSheet("font-size: 15px;"); + receiptsLabel->setFont(font); + readReceipts_ = new Toggle(this); receiptsLayout->addWidget(receiptsLabel); receiptsLayout->addWidget(readReceipts_, 0, Qt::AlignBottom | Qt::AlignRight); @@ -191,17 +190,18 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge auto themeOptionLayout_ = new QHBoxLayout; themeOptionLayout_->setContentsMargins(0, OptionMargin, 0, OptionMargin); auto themeLabel_ = new QLabel(tr("Theme"), this); - themeCombo_ = new QComboBox(this); + themeLabel_->setFont(font); + themeCombo_ = new QComboBox(this); themeCombo_->addItem("Light"); themeCombo_->addItem("Dark"); themeCombo_->addItem("System"); - themeLabel_->setStyleSheet("font-size: 15px;"); themeOptionLayout_->addWidget(themeLabel_); themeOptionLayout_->addWidget(themeCombo_, 0, Qt::AlignBottom | Qt::AlignRight); + font.setWeight(65); auto general_ = new QLabel(tr("GENERAL"), this); - general_->setStyleSheet("font-size: 17px"); + general_->setFont(font); mainLayout_ = new QVBoxLayout; mainLayout_->setSpacing(7); diff --git a/src/dialogs/CreateRoom.cpp b/src/dialogs/CreateRoom.cpp index 3c538b49..27407d45 100644 --- a/src/dialogs/CreateRoom.cpp +++ b/src/dialogs/CreateRoom.cpp @@ -16,21 +16,25 @@ using namespace dialogs; CreateRoom::CreateRoom(QWidget *parent) : QFrame(parent) { - setMaximumSize(520, 600); + setMinimumSize(conf::modals::MIN_WIDGET_WIDTH, conf::modals::MIN_WIDGET_HEIGHT); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("CREATE", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); @@ -55,8 +59,7 @@ CreateRoom::CreateRoom(QWidget *parent) presetLayout->setContentsMargins(0, 10, 0, 10); auto visibilityLabel = new QLabel(tr("Room Visibility"), this); - visibilityLabel->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - visibilityCombo_ = new QComboBox(this); + visibilityCombo_ = new QComboBox(this); visibilityCombo_->addItem("Private"); visibilityCombo_->addItem("Public"); @@ -64,8 +67,7 @@ CreateRoom::CreateRoom(QWidget *parent) visibilityLayout->addWidget(visibilityCombo_, 0, Qt::AlignBottom | Qt::AlignRight); auto presetLabel = new QLabel(tr("Room Preset"), this); - presetLabel->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - presetCombo_ = new QComboBox(this); + presetCombo_ = new QComboBox(this); presetCombo_->addItem("Private Chat"); presetCombo_->addItem("Public Chat"); presetCombo_->addItem("Trusted Private Chat"); @@ -74,8 +76,7 @@ CreateRoom::CreateRoom(QWidget *parent) presetLayout->addWidget(presetCombo_, 0, Qt::AlignBottom | Qt::AlignRight); auto directLabel_ = new QLabel(tr("Direct Chat"), this); - directLabel_->setStyleSheet(QString("font-size: %1px;").arg(conf::dialogs::labelSize)); - directToggle_ = new Toggle(this); + directToggle_ = new Toggle(this); directToggle_->setActiveColor(QColor("#38A3D8")); directToggle_->setInactiveColor(QColor("gray")); directToggle_->setState(true); diff --git a/src/dialogs/InviteUsers.cpp b/src/dialogs/InviteUsers.cpp index bcd163b0..8361468a 100644 --- a/src/dialogs/InviteUsers.cpp +++ b/src/dialogs/InviteUsers.cpp @@ -20,29 +20,30 @@ using namespace dialogs; InviteUsers::InviteUsers(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 350); + setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("INVITE", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); buttonLayout->addWidget(cancelBtn_); - QFont font; - font.setPixelSize(conf::headerFontSize); - inviteeInput_ = new TextField(this); inviteeInput_->setLabel(tr("User ID to invite")); @@ -54,8 +55,6 @@ InviteUsers::InviteUsers(QWidget *parent) errorLabel_ = new QLabel(this); errorLabel_->setAlignment(Qt::AlignCenter); - font.setPixelSize(12); - errorLabel_->setFont(font); layout->addWidget(inviteeInput_); layout->addWidget(errorLabel_); diff --git a/src/dialogs/JoinRoom.cpp b/src/dialogs/JoinRoom.cpp index 05c0f455..1ff6bba1 100644 --- a/src/dialogs/JoinRoom.cpp +++ b/src/dialogs/JoinRoom.cpp @@ -14,44 +14,54 @@ using namespace dialogs; JoinRoom::JoinRoom(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 400); + setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("JOIN", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); buttonLayout->addWidget(cancelBtn_); - QFont font; - font.setPixelSize(conf::headerFontSize); - roomInput_ = new TextField(this); roomInput_->setLabel(tr("Room ID or alias")); layout->addWidget(roomInput_); layout->addLayout(buttonLayout); + layout->addStretch(1); - // TODO: input validation with error messages. - connect(confirmBtn_, &QPushButton::clicked, [this]() { - emit closing(true, roomInput_->text()); - roomInput_->clear(); - }); + connect(roomInput_, &QLineEdit::returnPressed, this, &JoinRoom::handleInput); + connect(confirmBtn_, &QPushButton::clicked, this, &JoinRoom::handleInput); connect(cancelBtn_, &QPushButton::clicked, [this]() { emit closing(false, ""); }); } void +JoinRoom::handleInput() +{ + if (roomInput_->text().isEmpty()) + return; + + // TODO: input validation with error messages. + emit closing(true, roomInput_->text()); + roomInput_->clear(); +} + +void JoinRoom::paintEvent(QPaintEvent *) { QStyleOption opt; diff --git a/src/dialogs/JoinRoom.h b/src/dialogs/JoinRoom.h index 5919f08f..0c2f47d7 100644 --- a/src/dialogs/JoinRoom.h +++ b/src/dialogs/JoinRoom.h @@ -20,6 +20,9 @@ protected: void paintEvent(QPaintEvent *event) override; void showEvent(QShowEvent *event) override; +private slots: + void handleInput(); + private: FlatButton *confirmBtn_; FlatButton *cancelBtn_; diff --git a/src/dialogs/LeaveRoom.cpp b/src/dialogs/LeaveRoom.cpp index 9647d19f..30f8dace 100644 --- a/src/dialogs/LeaveRoom.cpp +++ b/src/dialogs/LeaveRoom.cpp @@ -13,28 +13,32 @@ using namespace dialogs; LeaveRoom::LeaveRoom(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 400); + setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("LEAVE", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); buttonLayout->addWidget(cancelBtn_); QFont font; - font.setPixelSize(conf::headerFontSize); + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); auto label = new QLabel(tr("Are you sure you want to leave?"), this); label->setFont(font); diff --git a/src/dialogs/Logout.cpp b/src/dialogs/Logout.cpp index e2449817..f790eb92 100644 --- a/src/dialogs/Logout.cpp +++ b/src/dialogs/Logout.cpp @@ -31,34 +31,39 @@ using namespace dialogs; Logout::Logout(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 400); + setMinimumWidth(conf::modals::MIN_WIDGET_WIDTH); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(0); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + confirmBtn_ = new FlatButton("OK", this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new FlatButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(confirmBtn_); buttonLayout->addWidget(cancelBtn_); QFont font; - font.setPixelSize(conf::headerFontSize); + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); auto label = new QLabel(tr("Logout. Are you sure?"), this); label->setFont(font); layout->addWidget(label); layout->addLayout(buttonLayout); + layout->addStretch(1); connect(confirmBtn_, &QPushButton::clicked, [this]() { emit closing(true); }); connect(cancelBtn_, &QPushButton::clicked, [this]() { emit closing(false); }); diff --git a/src/dialogs/MemberList.cpp b/src/dialogs/MemberList.cpp index 60c2eb0a..9757b8af 100644 --- a/src/dialogs/MemberList.cpp +++ b/src/dialogs/MemberList.cpp @@ -26,7 +26,7 @@ MemberItem::MemberItem(const RoomMember &member, QWidget *parent) textLayout_->setSpacing(0); avatar_ = new Avatar(this); - avatar_->setSize(44); + avatar_->setSize(46); avatar_->setLetter(utils::firstChar(member.display_name)); if (!member.avatar.isNull()) @@ -37,18 +37,14 @@ MemberItem::MemberItem(const RoomMember &member, QWidget *parent) this, [this](const QImage &img) { avatar_->setImage(img); }); - QFont nameFont, idFont; + QFont nameFont; nameFont.setWeight(65); - nameFont.setPixelSize(conf::receipts::font + 1); - idFont.setWeight(50); - idFont.setPixelSize(conf::receipts::font); + nameFont.setPointSizeF(nameFont.pointSizeF() * 1.1); + userId_ = new QLabel(member.user_id, this); userName_ = new QLabel(member.display_name, this); userName_->setFont(nameFont); - userId_ = new QLabel(member.user_id, this); - userId_->setFont(idFont); - textLayout_->addWidget(userName_); textLayout_->addWidget(userId_); @@ -60,12 +56,17 @@ MemberList::MemberList(const QString &room_id, QWidget *parent) : QFrame(parent) , room_id_{room_id} { - setMaximumSize(420, 380); + QFont doubleFont; + doubleFont.setPointSizeF(doubleFont.pointSizeF() * 2); + setMinimumWidth(QFontMetrics(doubleFont).averageCharWidth() * 30); + setMinimumHeight(conf::modals::MIN_WIDGET_HEIGHT); + + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); setAttribute(Qt::WA_DeleteOnClose, true); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); list_ = new QListWidget; list_->setFrameStyle(QFrame::NoFrame); @@ -74,7 +75,7 @@ MemberList::MemberList(const QString &room_id, QWidget *parent) list_->setSpacing(5); QFont font; - font.setPixelSize(conf::headerFontSize); + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_BIG_SIZE_RATIO); topLabel_ = new QLabel(tr("Room members"), this); topLabel_->setAlignment(Qt::AlignCenter); diff --git a/src/dialogs/PreviewUploadOverlay.cpp b/src/dialogs/PreviewUploadOverlay.cpp index 7e54ba4e..31167727 100644 --- a/src/dialogs/PreviewUploadOverlay.cpp +++ b/src/dialogs/PreviewUploadOverlay.cpp @@ -39,18 +39,23 @@ PreviewUploadOverlay::PreviewUploadOverlay(QWidget *parent) : QWidget{parent} , titleLabel_{this} , fileName_{this} - , upload_{tr("Upload"), this} - , cancel_{tr("Cancel"), this} + , upload_{tr("Upload").toUpper(), this} + , cancel_{tr("Cancel").toUpper(), this} { auto hlayout = new QHBoxLayout; + hlayout->addStretch(1); hlayout->addWidget(&upload_); hlayout->addWidget(&cancel_); + hlayout->setSpacing(0); + hlayout->setMargin(0); auto vlayout = new QVBoxLayout{this}; vlayout->addWidget(&titleLabel_); vlayout->addWidget(&infoLabel_); vlayout->addWidget(&fileName_); vlayout->addLayout(hlayout); + vlayout->setSpacing(conf::modals::WIDGET_SPACING); + vlayout->setMargin(conf::modals::WIDGET_MARGIN); connect(&upload_, &QPushButton::clicked, [this]() { emit confirmUpload(data_, mediaType_, fileName_.text()); @@ -79,8 +84,10 @@ PreviewUploadOverlay::init() setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint); setWindowModality(Qt::WindowModal); - titleLabel_.setStyleSheet( - QString{"font-weight: bold; font-size: %1px;"}.arg(conf::headerFontSize)); + QFont font; + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); + + titleLabel_.setFont(font); titleLabel_.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); titleLabel_.setAlignment(Qt::AlignCenter); infoLabel_.setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); @@ -88,8 +95,11 @@ PreviewUploadOverlay::init() fileName_.setAlignment(Qt::AlignCenter); upload_.setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); cancel_.setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - upload_.setFontSize(conf::btn::fontSize); - cancel_.setFontSize(conf::btn::fontSize); + + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + upload_.setFont(buttonFont); + cancel_.setFont(buttonFont); if (isImage_) { infoLabel_.setAlignment(Qt::AlignCenter); diff --git a/src/dialogs/ReCaptcha.cpp b/src/dialogs/ReCaptcha.cpp index 9181d588..0995e955 100644 --- a/src/dialogs/ReCaptcha.cpp +++ b/src/dialogs/ReCaptcha.cpp @@ -22,21 +22,24 @@ ReCaptcha::ReCaptcha(const QString &session, QWidget *parent) setWindowModality(Qt::WindowModal); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); auto buttonLayout = new QHBoxLayout(); buttonLayout->setSpacing(8); buttonLayout->setMargin(0); + QFont buttonFont; + buttonFont.setPointSizeF(buttonFont.pointSizeF() * conf::modals::BUTTON_TEXT_SIZE_RATIO); + openCaptchaBtn_ = new FlatButton("OPEN reCAPTCHA", this); - openCaptchaBtn_->setFontSize(conf::btn::fontSize); + openCaptchaBtn_->setFont(buttonFont); confirmBtn_ = new RaisedButton(tr("CONFIRM"), this); - confirmBtn_->setFontSize(conf::btn::fontSize); + confirmBtn_->setFont(buttonFont); cancelBtn_ = new RaisedButton(tr("CANCEL"), this); - cancelBtn_->setFontSize(conf::btn::fontSize); + cancelBtn_->setFont(buttonFont); buttonLayout->addStretch(1); buttonLayout->addWidget(openCaptchaBtn_); @@ -44,7 +47,7 @@ ReCaptcha::ReCaptcha(const QString &session, QWidget *parent) buttonLayout->addWidget(cancelBtn_); QFont font; - font.setPixelSize(conf::headerFontSize); + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); auto label = new QLabel(tr("Solve the reCAPTCHA and press the confirm button"), this); label->setFont(font); diff --git a/src/dialogs/ReadReceipts.cpp b/src/dialogs/ReadReceipts.cpp index c27146ac..f3201de5 100644 --- a/src/dialogs/ReadReceipts.cpp +++ b/src/dialogs/ReadReceipts.cpp @@ -28,15 +28,16 @@ ReceiptItem::ReceiptItem(QWidget *parent, textLayout_ = new QVBoxLayout; textLayout_->setMargin(0); - textLayout_->setSpacing(5); + textLayout_->setSpacing(conf::modals::TEXT_SPACING); - QFont font; - font.setPixelSize(conf::receipts::font); + QFont nameFont; + nameFont.setWeight(65); + nameFont.setPointSizeF(nameFont.pointSizeF() * 1.1); auto displayName = Cache::displayName(room_id, user_id); avatar_ = new Avatar(this); - avatar_->setSize(40); + avatar_->setSize(44); avatar_->setLetter(utils::firstChar(displayName)); // If it's a matrix id we use the second letter. @@ -44,10 +45,9 @@ ReceiptItem::ReceiptItem(QWidget *parent, avatar_->setLetter(QChar(displayName.at(1))); userName_ = new QLabel(displayName, this); - userName_->setFont(font); + userName_->setFont(nameFont); timestamp_ = new QLabel(dateFormat(QDateTime::fromMSecsSinceEpoch(timestamp)), this); - timestamp_->setFont(font); textLayout_->addWidget(userName_); textLayout_->addWidget(timestamp_); @@ -80,20 +80,21 @@ ReceiptItem::dateFormat(const QDateTime &then) const ReadReceipts::ReadReceipts(QWidget *parent) : QFrame(parent) { - setMaximumSize(400, 350); + setMinimumSize(conf::modals::MIN_WIDGET_WIDTH, conf::modals::MIN_WIDGET_HEIGHT); + setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); auto layout = new QVBoxLayout(this); - layout->setSpacing(30); - layout->setMargin(20); + layout->setSpacing(conf::modals::WIDGET_SPACING); + layout->setMargin(conf::modals::WIDGET_MARGIN); userList_ = new QListWidget; userList_->setFrameStyle(QFrame::NoFrame); userList_->setSelectionMode(QAbstractItemView::NoSelection); userList_->setAttribute(Qt::WA_MacShowFocusRect, 0); - userList_->setSpacing(5); + userList_->setSpacing(conf::modals::TEXT_SPACING); QFont font; - font.setPixelSize(conf::headerFontSize); + font.setPointSizeF(font.pointSizeF() * conf::modals::LABEL_MEDIUM_SIZE_RATIO); topLabel_ = new QLabel(tr("Read receipts"), this); topLabel_->setAlignment(Qt::AlignCenter); |