gui: reduce size of icons in chat for font.height lesser than 26

This commit is contained in:
chelovechishko 2018-07-04 22:46:01 +09:00
parent 77c3eae976
commit b3fb7abf99
2 changed files with 28 additions and 16 deletions

View file

@ -80,7 +80,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString)));
int S = QFontMetricsF(font()).height() ; int S = QFontMetricsF(font()).height() ;
ui.participantsList->setIconSize(QSize(1.4*S,1.4*S)); ui.participantsList->setIconSize(QSize(1.4*S,1.4*S));
ui.participantsList->setColumnCount(COLUMN_COUNT); ui.participantsList->setColumnCount(COLUMN_COUNT);
@ -128,23 +128,27 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
QString headerText = headerItem->text(COLUMN_NAME ); QString headerText = headerItem->text(COLUMN_NAME );
ui.filterLineEdit->addFilter(QIcon(), headerText, COLUMN_NAME , QString("%1 %2").arg(tr("Search"), headerText)); ui.filterLineEdit->addFilter(QIcon(), headerText, COLUMN_NAME , QString("%1 %2").arg(tr("Search"), headerText));
// just empiric values
double scaler_factor = S > 25 ? 2.4 : 1.8;
QSize icon_size(scaler_factor * S, scaler_factor * S);
// Add a button to invite friends. // Add a button to invite friends.
// //
inviteFriendsButton = new QToolButton ; inviteFriendsButton = new QToolButton ;
inviteFriendsButton->setMinimumSize(QSize(2.4*S,2.4*S)) ; inviteFriendsButton->setMinimumSize(icon_size);
inviteFriendsButton->setMaximumSize(QSize(2.4*S,2.4*S)) ; inviteFriendsButton->setMaximumSize(icon_size);
inviteFriendsButton->setText(QString()) ; inviteFriendsButton->setText(QString()) ;
inviteFriendsButton->setAutoRaise(true) ; inviteFriendsButton->setAutoRaise(true) ;
inviteFriendsButton->setToolTip(tr("Invite friends to this lobby")); inviteFriendsButton->setToolTip(tr("Invite friends to this lobby"));
mParticipantCompareRole = new RSTreeWidgetItemCompareRole; mParticipantCompareRole = new RSTreeWidgetItemCompareRole;
mParticipantCompareRole->setRole(COLUMN_ACTIVITY, ROLE_SORT); mParticipantCompareRole->setRole(COLUMN_ACTIVITY, ROLE_SORT);
{ {
QIcon icon ; QIcon icon ;
icon.addPixmap(QPixmap(":/icons/png/invite.png")) ; icon.addPixmap(QPixmap(":/icons/png/invite.png")) ;
inviteFriendsButton->setIcon(icon) ; inviteFriendsButton->setIcon(icon) ;
inviteFriendsButton->setIconSize(QSize(2.4*S,2.4*S)) ; inviteFriendsButton->setIconSize(icon_size);
} }
connect(inviteFriendsButton, SIGNAL(clicked()), this , SLOT(inviteFriends())); connect(inviteFriendsButton, SIGNAL(clicked()), this , SLOT(inviteFriends()));
@ -175,9 +179,9 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
connect(ownIdChooser,SIGNAL(currentIndexChanged(int)),this,SLOT(changeNickname())) ; connect(ownIdChooser,SIGNAL(currentIndexChanged(int)),this,SLOT(changeNickname())) ;
unsubscribeButton = new QToolButton ; unsubscribeButton = new QToolButton;
unsubscribeButton->setMinimumSize(QSize(2.4*S,2.4*S)) ; unsubscribeButton->setMinimumSize(icon_size);
unsubscribeButton->setMaximumSize(QSize(2.4*S,2.4*S)) ; unsubscribeButton->setMaximumSize(icon_size);
unsubscribeButton->setText(QString()) ; unsubscribeButton->setText(QString()) ;
unsubscribeButton->setAutoRaise(true) ; unsubscribeButton->setAutoRaise(true) ;
unsubscribeButton->setToolTip(tr("Leave this chat room (Unsubscribe)")); unsubscribeButton->setToolTip(tr("Leave this chat room (Unsubscribe)"));
@ -186,7 +190,7 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi
QIcon icon ; QIcon icon ;
icon.addPixmap(QPixmap(":/icons/png/leave.png")) ; icon.addPixmap(QPixmap(":/icons/png/leave.png")) ;
unsubscribeButton->setIcon(icon) ; unsubscribeButton->setIcon(icon) ;
unsubscribeButton->setIconSize(QSize(2.4*S,2.4*S)) ; unsubscribeButton->setIconSize(icon_size);
} }
/* Initialize splitter */ /* Initialize splitter */

View file

@ -65,6 +65,8 @@
#include <time.h> #include <time.h>
#define FMM 2.5//fontMetricsMultiplicator #define FMM 2.5//fontMetricsMultiplicator
#define FMM_SMALLER 1.8
#define FMM_THRESHOLD 25
/***** /*****
* #define CHAT_DEBUG 1 * #define CHAT_DEBUG 1
@ -75,9 +77,12 @@ ChatWidget::ChatWidget(QWidget *parent) :
{ {
ui->setupUi(this); ui->setupUi(this);
int iconHeight = FMM*QFontMetricsF(font()).height() ; int iconHeight = QFontMetricsF(font()).height();
QSize iconSize = QSize(iconHeight,iconHeight); double fmm = iconHeight > FMM_THRESHOLD ? FMM : FMM_SMALLER;
QSize buttonSize = QSize(iconSize + QSize((int)FMM,(int)FMM)); iconHeight *= fmm;
QSize iconSize = QSize(iconHeight, iconHeight);
int butt_size(iconSize.height() + fmm);
QSize buttonSize = QSize(butt_size, butt_size);
newMessages = false; newMessages = false;
typing = false; typing = false;
@ -259,9 +264,12 @@ void ChatWidget::addChatHorizontalWidget(QWidget *w)
void ChatWidget::addChatBarWidget(QWidget *w) void ChatWidget::addChatBarWidget(QWidget *w)
{ {
int iconHeight = FMM*QFontMetricsF(font()).height() ; int iconHeight = QFontMetricsF(font()).height();
QSize iconSize = QSize(iconHeight,iconHeight); double fmm = iconHeight > FMM_THRESHOLD ? FMM : FMM_SMALLER;
QSize buttonSize = QSize(iconSize + QSize((int)FMM,(int)FMM)); iconHeight *= fmm;
QSize iconSize = QSize(iconHeight, iconHeight);
int butt_size(iconSize.height() + fmm);
QSize buttonSize = QSize(butt_size, butt_size);
w->setFixedSize(buttonSize); w->setFixedSize(buttonSize);
ui->pluginButtonFrame->layout()->addWidget(w) ; ui->pluginButtonFrame->layout()->addWidget(w) ;
} }