Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
ee041b65
Commit
ee041b65
authored
Jul 16, 2009
by
con
Browse files
Simplify drawing of styled bar by just using the style.
parent
bb44837d
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/libs/utils/styledbar.cpp
View file @
ee041b65
...
...
@@ -6,6 +6,7 @@
#include <QtGui/QPainter>
#include <QtGui/QPixmapCache>
#include <QtGui/QStyle>
#include <QtGui/QStyleOption>
using
namespace
Core
::
Utils
;
...
...
@@ -30,48 +31,10 @@ void StyledBar::paintEvent(QPaintEvent *event)
{
Q_UNUSED
(
event
)
QPainter
painter
(
this
);
QRect
selfRect
=
rect
();
QString
key
;
key
.
sprintf
(
"mh_toolbar %d %d %d"
,
selfRect
.
width
(),
selfRect
.
height
(),
StyleHelper
::
baseColor
().
rgb
());;
QPixmap
pixmap
;
QPainter
*
p
=
&
painter
;
if
(
StyleHelper
::
usePixmapCache
()
&&
!
QPixmapCache
::
find
(
key
,
pixmap
))
{
pixmap
=
QPixmap
(
selfRect
.
size
());
p
=
new
QPainter
(
&
pixmap
);
selfRect
=
QRect
(
0
,
0
,
selfRect
.
width
(),
selfRect
.
height
());
}
// Map offset for global window gradient
QPoint
offset
=
window
()
->
mapToGlobal
(
selfRect
.
topLeft
())
-
mapToGlobal
(
selfRect
.
topLeft
());
QRect
gradientSpan
;
gradientSpan
=
QRect
(
offset
,
window
()
->
size
());
StyleHelper
::
horizontalGradient
(
p
,
gradientSpan
,
selfRect
);
p
->
setPen
(
StyleHelper
::
borderColor
());
// Note: This is a hack to determine if the
// toolbar should draw the top or bottom outline
// (needed for the find toolbar for instance)
QColor
lighter
(
255
,
255
,
255
,
40
);
if
(
property
(
"topBorder"
).
toBool
())
{
p
->
drawLine
(
selfRect
.
topLeft
(),
selfRect
.
topRight
());
p
->
setPen
(
lighter
);
p
->
drawLine
(
selfRect
.
topLeft
()
+
QPoint
(
0
,
1
),
selfRect
.
topRight
()
+
QPoint
(
0
,
1
));
}
else
{
p
->
drawLine
(
selfRect
.
bottomLeft
(),
selfRect
.
bottomRight
());
p
->
setPen
(
lighter
);
p
->
drawLine
(
selfRect
.
topLeft
(),
selfRect
.
topRight
());
}
if
(
StyleHelper
::
usePixmapCache
()
&&
!
QPixmapCache
::
find
(
key
,
pixmap
))
{
painter
.
drawPixmap
(
selfRect
.
topLeft
(),
pixmap
);
p
->
end
();
delete
p
;
QPixmapCache
::
insert
(
key
,
pixmap
);
}
QStyleOption
option
;
option
.
rect
=
rect
();
option
.
state
=
QStyle
::
State_Horizontal
;
style
()
->
drawControl
(
QStyle
::
CE_ToolBar
,
&
option
,
&
painter
,
this
);
}
StyledSeparator
::
StyledSeparator
(
QWidget
*
parent
)
...
...
@@ -84,15 +47,9 @@ void StyledSeparator::paintEvent(QPaintEvent *event)
{
Q_UNUSED
(
event
)
QPainter
painter
(
this
);
QRect
selfRect
=
rect
();
QColor
separatorColor
=
StyleHelper
::
borderColor
();
separatorColor
.
setAlpha
(
100
);
painter
.
setPen
(
separatorColor
);
const
int
margin
=
6
;
const
int
offset
=
selfRect
.
width
()
/
2
;
painter
.
drawLine
(
selfRect
.
bottomLeft
().
x
()
+
offset
,
selfRect
.
bottomLeft
().
y
()
-
margin
,
selfRect
.
topLeft
().
x
()
+
offset
,
selfRect
.
topLeft
().
y
()
+
margin
);
QStyleOption
option
;
option
.
rect
=
rect
();
option
.
state
=
QStyle
::
State_Horizontal
;
option
.
palette
=
palette
();
style
()
->
drawPrimitive
(
QStyle
::
PE_IndicatorToolBarSeparator
,
&
option
,
&
painter
,
this
);
}
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