Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
savoirfairelinux
jami-client-windows
Commits
46508b52
Commit
46508b52
authored
Jan 04, 2019
by
Andreas Traczyk
Browse files
ui: fixes to font sizes and update scaling at app start
Change-Id: Ie2b68929369d3d3f084025dd16a30aabdf43a9eb
parent
868c3d65
Changes
6
Hide whitespace changes
Inline
Side-by-side
accountitemdelegate.cpp
View file @
46508b52
...
...
@@ -26,6 +26,7 @@
#include
"accountlistmodel.h"
#include
"ringthemeutils.h"
#include
"lrcinstance.h"
#include
"mainwindow.h"
#undef REGISTERED
...
...
@@ -63,8 +64,18 @@ AccountItemDelegate::paint(QPainter* painter,
QRect
&
rect
=
opt
.
rect
;
QFont
font
(
painter
->
font
());
font
.
setPointSize
(
fontSize_
);
// define and set the two fonts
QFont
fontPrimary
=
painter
->
font
();
QFont
fontSecondary
=
painter
->
font
();
fontPrimary
.
setWeight
(
QFont
::
ExtraLight
);
auto
scalingRatio
=
MainWindow
::
instance
().
getCurrentScalingRatio
();
if
(
scalingRatio
>
1.0
)
{
fontPrimary
.
setPointSize
(
fontSize_
-
1
);
fontSecondary
.
setPointSize
(
fontSize_
-
2
);
}
else
{
fontPrimary
.
setPointSize
(
fontSize_
);
fontSecondary
.
setPointSize
(
fontSize_
-
1
);
}
QPen
pen
(
painter
->
pen
());
...
...
@@ -72,8 +83,8 @@ AccountItemDelegate::paint(QPainter* painter,
if
(
index
.
row
()
==
LRCInstance
::
accountModel
().
getAccountList
().
size
())
{
pen
.
setColor
(
RingTheme
::
lightBlack_
);
painter
->
setPen
(
pen
);
painter
->
setFont
(
font
);
QFontMetrics
fontMetrics
(
font
);
painter
->
setFont
(
font
Primary
);
QFontMetrics
fontMetrics
(
font
Primary
);
painter
->
drawText
(
rect
,
Qt
::
AlignVCenter
|
Qt
::
AlignHCenter
,
tr
(
"Add Account"
)
+
"+"
);
return
;
}
...
...
@@ -117,12 +128,12 @@ AccountItemDelegate::paint(QPainter* painter,
QVariant
name
=
index
.
data
(
static_cast
<
int
>
(
AccountListModel
::
Role
::
Alias
));
if
(
name
.
isValid
())
{
font
.
setItalic
(
false
);
font
.
setBold
(
false
);
font
Primary
.
setItalic
(
false
);
font
Primary
.
setBold
(
false
);
pen
.
setColor
(
RingTheme
::
lightBlack_
);
painter
->
setPen
(
pen
);
painter
->
setFont
(
font
);
QFontMetrics
fontMetrics
(
font
);
painter
->
setFont
(
font
Primary
);
QFontMetrics
fontMetrics
(
font
Primary
);
QString
nameStr
=
fontMetrics
.
elidedText
(
name
.
value
<
QString
>
(),
Qt
::
ElideRight
,
rectTexts
.
width
()
-
avatarSize_
-
leftPadding_
-
rightPadding_
*
2
);
painter
->
drawText
(
rectTexts
,
Qt
::
AlignVCenter
|
Qt
::
AlignLeft
,
nameStr
);
...
...
@@ -132,12 +143,12 @@ AccountItemDelegate::paint(QPainter* painter,
QString
idStr
=
index
.
data
(
static_cast
<
int
>
(
AccountListModel
::
Role
::
Username
)).
value
<
QString
>
();
if
(
idStr
!=
name
.
toString
())
{
font
.
setItalic
(
false
);
font
.
setBold
(
false
);
font
Secondary
.
setItalic
(
false
);
font
Secondary
.
setBold
(
false
);
pen
.
setColor
(
RingTheme
::
grey_
);
painter
->
setPen
(
pen
);
painter
->
setFont
(
font
);
QFontMetrics
fontMetrics
(
font
);
painter
->
setFont
(
font
Secondary
);
QFontMetrics
fontMetrics
(
font
Secondary
);
if
(
!
idStr
.
isNull
())
{
idStr
=
fontMetrics
.
elidedText
(
idStr
,
Qt
::
ElideRight
,
rectTexts
.
width
()
-
avatarSize_
-
leftPadding_
-
rightPadding_
*
2
);
...
...
accountitemdelegate.h
View file @
46508b52
...
...
@@ -31,7 +31,7 @@ protected:
QSize
sizeHint
(
const
QStyleOptionViewItem
&
option
,
const
QModelIndex
&
index
)
const
;
private:
constexpr
static
int
fontSize_
=
1
0
;
constexpr
static
int
fontSize_
=
1
1
;
const
QFont
font_
=
QFont
(
"Arial"
,
fontSize_
);
constexpr
static
int
topPadding_
=
6
;
constexpr
static
int
bottomPadding_
=
6
;
...
...
conversationitemdelegate.cpp
View file @
46508b52
...
...
@@ -162,15 +162,18 @@ ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
{
Q_UNUSED
(
option
);
QFont
font
(
painter
->
font
());
font
.
setPointSize
(
fontSize_
);
QPen
pen
(
painter
->
pen
());
painter
->
setPen
(
pen
);
int
infoTextWidthModifier
=
0
;
int
infoText2HeightModifier
=
0
;
auto
scalingRatio
=
MainWindow
::
instance
().
getCurrentScalingRatio
();
if
(
scalingRatio
>
1.0
)
{
font
.
setPointSize
(
fontSize_
-
1
);
font
.
setPointSize
(
fontSize_
-
2
);
infoTextWidthModifier
=
12
;
infoText2HeightModifier
=
2
;
}
else
{
font
.
setPointSize
(
fontSize_
);
}
auto
leftMargin
=
dx_
+
sizeImage_
+
dx_
;
...
...
@@ -194,9 +197,9 @@ ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
rect
.
height
()
/
2
-
2
);
QRect
rectInfo2
(
rectInfo1
.
left
(),
rectInfo1
.
top
()
+
rectInfo1
.
height
(),
rectInfo1
.
top
()
+
rectInfo1
.
height
()
-
infoText2HeightModifier
,
rectInfo1
.
width
(),
rectInfo1
.
height
()
-
bottomMargin
);
rectInfo1
.
height
()
-
bottomMargin
+
infoText2HeightModifier
);
QFontMetrics
fontMetrics
(
font
);
...
...
@@ -240,6 +243,7 @@ ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
QString
interactionStr
=
index
.
data
(
static_cast
<
int
>
(
SmartListModel
::
Role
::
LastInteraction
)).
value
<
QString
>
();
if
(
!
interactionStr
.
isNull
())
{
painter
->
save
();
font
.
setWeight
(
QFont
::
ExtraLight
);
interactionStr
=
interactionStr
.
simplified
();
auto
type
=
Utils
::
toEnum
<
lrc
::
api
::
interaction
::
Type
>
(
index
.
data
(
static_cast
<
int
>
(
SmartListModel
::
Role
::
LastInteractionType
))
...
...
@@ -263,7 +267,7 @@ ConversationItemDelegate::paintRingConversationItem(QPainter* painter,
QFont
emojiMsgFont
(
QStringLiteral
(
"Segoe UI Emoji"
));
emojiMsgFont
.
setItalic
(
false
);
emojiMsgFont
.
setBold
(
false
);
emojiMsgFont
.
setPointSize
(
fontSize_
);
emojiMsgFont
.
setPointSize
(
scalingRatio
>
1.0
?
fontSize_
-
2
:
fontSize_
);
painter
->
setOpacity
(
0.7
);
painter
->
setFont
(
emojiMsgFont
);
}
...
...
conversationitemdelegate.h
View file @
46508b52
...
...
@@ -42,7 +42,7 @@ private:
constexpr
static
int
cellHeight_
=
60
;
constexpr
static
int
dy_
=
6
;
constexpr
static
int
dx_
=
12
;
constexpr
static
int
fontSize_
=
1
0
;
constexpr
static
int
fontSize_
=
1
1
;
constexpr
static
int
infoTextWidth_
=
144
;
mutable
std
::
map
<
int
,
bool
>
highlightMap_
;
...
...
currentaccountcombobox.cpp
View file @
46508b52
...
...
@@ -18,16 +18,16 @@
**************************************************************************/
#include
"currentaccountcombobox.h"
#include
<accountitemdelegate.h>
#include
"pixbufmanipulator.h"
#include
<QPixmap>
#include
<QMouseEvent>
#include
"accountitemdelegate.h"
#include
"pixbufmanipulator.h"
#include
"utils.h"
#include
"ringthemeutils.h"
#include
"lrcinstance.h"
#include
<QPixmap>
#include
"callwidget.h"
#include
"ui_callwidget.h"
#include
"mainwindow.h"
#undef REGISTERED
...
...
@@ -86,10 +86,15 @@ CurrentAccountComboBox::paintEvent(QPaintEvent* e)
// define and set the two fonts
QFont
fontPrimary
=
painter
.
font
();
QFont
fontSecondary
=
painter
.
font
();
fontPrimary
.
setPointSize
(
11
);
fontPrimary
.
setWeight
(
QFont
::
ExtraLight
);
fontSecondary
.
setPointSize
(
10
);
auto
scalingRatio
=
MainWindow
::
instance
().
getCurrentScalingRatio
();
if
(
scalingRatio
>
1.0
)
{
fontPrimary
.
setPointSize
(
10
);
fontSecondary
.
setPointSize
(
9
);
}
else
{
fontPrimary
.
setPointSize
(
11
);
fontSecondary
.
setPointSize
(
10
);
}
QFontMetrics
fontMetricPrimary
(
fontPrimary
);
QFontMetrics
fontMetricSecondary
(
fontSecondary
);
...
...
mainwindow.cpp
View file @
46508b52
...
...
@@ -149,15 +149,6 @@ MainWindow::MainWindow(QWidget* parent) :
}
lastScr_
=
startScreen
;
activeChangedConnection_
=
connect
(
windowHandle
(),
&
QWindow
::
activeChanged
,
[
this
]()
{
auto
screenNumber
=
qApp
->
desktop
()
->
screenNumber
();
QScreen
*
screen
=
qApp
->
screens
().
at
(
screenNumber
);
windowHandle
()
->
setScreen
(
nullptr
);
windowHandle
()
->
setScreen
(
screen
);
});
}
MainWindow
::~
MainWindow
()
...
...
@@ -351,12 +342,23 @@ MainWindow::show()
disconnect
(
screenChangedConnection_
);
screenChangedConnection_
=
connect
(
windowHandle
(),
&
QWindow
::
screenChanged
,
this
,
&
MainWindow
::
slotScreenChanged
);
disconnect
(
activeChangedConnection_
);
activeChangedConnection_
=
connect
(
windowHandle
(),
&
QWindow
::
activeChanged
,
[
this
]()
{
auto
screenNumber
=
qApp
->
desktop
()
->
screenNumber
();
windowHandle
()
->
setScreen
(
nullptr
);
QScreen
*
screen
=
qApp
->
screens
().
at
(
screenNumber
);
windowHandle
()
->
setScreen
(
screen
);
});
auto
screenNumber
=
qApp
->
desktop
()
->
screenNumber
();
QScreen
*
screen
=
qApp
->
screens
().
at
(
screenNumber
);
currentScalingRatio_
=
screen
->
logicalDotsPerInchX
()
/
96
;
qobject_cast
<
NavWidget
*>
(
ui
->
navStack
->
currentWidget
())
->
updateCustomUI
();
}
void
MainWindow
::
slotScreenChanged
(
QScreen
*
screen
)
{
Q_UNUSED
(
screen
);
adjustSize
();
updateGeometry
();
update
();
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment