mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-25 20:48:52 +03:00
Remove pixel values from modals, use pointSize instead
This commit is contained in:
parent
24bad93f6b
commit
3d2e29bfa0
12 changed files with 154 additions and 99 deletions
18
src/Config.h
18
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(
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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_);
|
||||
|
|
|
@ -14,41 +14,51 @@ 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);
|
||||
|
||||
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.
|
||||
connect(confirmBtn_, &QPushButton::clicked, [this]() {
|
||||
emit closing(true, roomInput_->text());
|
||||
roomInput_->clear();
|
||||
});
|
||||
connect(cancelBtn_, &QPushButton::clicked, [this]() { emit closing(false, ""); });
|
||||
emit closing(true, roomInput_->text());
|
||||
roomInput_->clear();
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -20,6 +20,9 @@ protected:
|
|||
void paintEvent(QPaintEvent *event) override;
|
||||
void showEvent(QShowEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void handleInput();
|
||||
|
||||
private:
|
||||
FlatButton *confirmBtn_;
|
||||
FlatButton *cancelBtn_;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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); });
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue