Fix a few drawing glitches compared to the 3.x version
svn path=/trunk/KDE/kdebase/workspace/; revision=672142
This commit is contained in:
parent
92727530fe
commit
033e0cc6a1
1 changed files with 10 additions and 8 deletions
|
@ -113,7 +113,7 @@ static void read_config(B2ClientFactory *f)
|
||||||
{
|
{
|
||||||
// Force button size to be in a reasonable range.
|
// Force button size to be in a reasonable range.
|
||||||
// If the frame width is large, the button size must be large too.
|
// If the frame width is large, the button size must be large too.
|
||||||
buttonSize = (QFontMetrics(options()->font(true)).height() + 1) & 0x3e;
|
buttonSize = (QFontMetrics(options()->font(true)).height()) & 0x3e;
|
||||||
if (buttonSize < 16) buttonSize = 16;
|
if (buttonSize < 16) buttonSize = 16;
|
||||||
|
|
||||||
KConfig _conf( "kwinb2rc" );
|
KConfig _conf( "kwinb2rc" );
|
||||||
|
@ -420,15 +420,15 @@ void B2Client::init()
|
||||||
}
|
}
|
||||||
|
|
||||||
// titlebar
|
// titlebar
|
||||||
g->addItem( new QSpacerItem(0, buttonSize + 4), 0, 0 );
|
g->addItem(new QSpacerItem(0, buttonSize + 4), 0, 0);
|
||||||
|
|
||||||
titlebar = new B2Titlebar(this);
|
titlebar = new B2Titlebar(this);
|
||||||
titlebar->setMinimumWidth(buttonSize + 4);
|
titlebar->setMinimumWidth(buttonSize + 4);
|
||||||
titlebar->setFixedHeight(buttonSize + 4);
|
titlebar->setFixedHeight(buttonSize + 4);
|
||||||
|
|
||||||
QBoxLayout *titleLayout = new QBoxLayout(QBoxLayout::LeftToRight, titlebar );
|
QBoxLayout *titleLayout = new QBoxLayout(QBoxLayout::LeftToRight, titlebar);
|
||||||
titleLayout->setMargin(1);
|
titleLayout->setMargin(2);
|
||||||
titleLayout->setSpacing(3);
|
titleLayout->setSpacing(1);
|
||||||
|
|
||||||
if (options()->customButtonPositions()) {
|
if (options()->customButtonPositions()) {
|
||||||
addButtons(options()->titleButtonsLeft(), tips, titlebar, titleLayout);
|
addButtons(options()->titleButtonsLeft(), tips, titlebar, titleLayout);
|
||||||
|
@ -765,6 +765,8 @@ void B2Client::showEvent(QShowEvent *)
|
||||||
{
|
{
|
||||||
calcHiddenButtons();
|
calcHiddenButtons();
|
||||||
positionButtons();
|
positionButtons();
|
||||||
|
// TODO check if setting a flag and doing this during the paintEvent is a
|
||||||
|
// better approach.
|
||||||
doShape();
|
doShape();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -817,7 +819,7 @@ KDecoration::Position B2Client::mousePosition(const QPoint& p) const
|
||||||
void B2Client::titleMoveAbs(int new_ofs)
|
void B2Client::titleMoveAbs(int new_ofs)
|
||||||
{
|
{
|
||||||
if (new_ofs < 0) new_ofs = 0;
|
if (new_ofs < 0) new_ofs = 0;
|
||||||
if (new_ofs + titlebar->width() > width()) {
|
if (new_ofs > width() - titlebar->width()) {
|
||||||
new_ofs = width() - titlebar->width();
|
new_ofs = width() - titlebar->width();
|
||||||
}
|
}
|
||||||
if (bar_x_ofs != new_ofs) {
|
if (bar_x_ofs != new_ofs) {
|
||||||
|
@ -1303,7 +1305,7 @@ void B2Button::paintEvent(QPaintEvent *)
|
||||||
QPixmap miniIcon = client->icon().pixmap(
|
QPixmap miniIcon = client->icon().pixmap(
|
||||||
style()->pixelMetric(QStyle::PM_SmallIconSize),
|
style()->pixelMetric(QStyle::PM_SmallIconSize),
|
||||||
client->isActive() ? QIcon::Normal : QIcon::Disabled);
|
client->isActive() ? QIcon::Normal : QIcon::Disabled);
|
||||||
p.drawPixmap((width() - miniIcon.width()) / 2,
|
p.drawPixmap(1 + (width() - miniIcon.width()) / 2,
|
||||||
(height() - miniIcon.height()) / 2, miniIcon);
|
(height() - miniIcon.height()) / 2, miniIcon);
|
||||||
} else {
|
} else {
|
||||||
int type;
|
int type;
|
||||||
|
@ -1322,7 +1324,7 @@ void B2Button::paintEvent(QPaintEvent *)
|
||||||
else
|
else
|
||||||
type = INorm;
|
type = INorm;
|
||||||
}
|
}
|
||||||
p.drawPixmap((width() - icon[type]->width()) / 2,
|
p.drawPixmap(1 + (width() - icon[type]->width()) / 2,
|
||||||
(height() - icon[type]->height()) / 2, *icon[type]);
|
(height() - icon[type]->height()) / 2, *icon[type]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue