Browse Source

fixes #332, #334 and other visual glitches

pull/336/head
krepa098 11 years ago
parent
commit
87c9bbf1e6
  1. BIN
      img/contact.png
  2. BIN
      img/contact_dark.png
  3. BIN
      img/group.png
  4. BIN
      img/group_2x.png
  5. BIN
      img/group_dark.png
  6. 12
      mainwindow.ui
  7. 1
      res.qrc
  8. 12
      ui/friendList/friendList.css
  9. 22
      widget/adjustingscrollarea.cpp
  10. 7
      widget/adjustingscrollarea.h
  11. 10
      widget/groupwidget.cpp
  12. 5
      widget/groupwidget.h
  13. 6
      widget/maskablepixmapwidget.cpp

BIN
img/contact.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 790 B

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
img/contact_dark.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 744 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
img/group.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
img/group_2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

BIN
img/group_dark.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 671 B

After

Width:  |  Height:  |  Size: 2.2 KiB

12
mainwindow.ui

@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>714</width>
<height>541</height>
<width>712</width>
<height>539</height>
</rect>
</property>
<property name="minimumSize">
@ -2083,8 +2083,8 @@ QSplitter:handle{ @@ -2083,8 +2083,8 @@ QSplitter:handle{
<rect>
<x>0</x>
<y>0</y>
<width>262</width>
<height>375</height>
<width>261</width>
<height>373</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5"/>
@ -2587,7 +2587,7 @@ QSplitter:handle{ @@ -2587,7 +2587,7 @@ QSplitter:handle{
</property>
<property name="icon">
<iconset resource="res.qrc">
<normaloff>:/img/group.png</normaloff>:/img/group.png</iconset>
<normaloff>:/img/group_2x.png</normaloff>:/img/group_2x.png</iconset>
</property>
<property name="flat">
<bool>true</bool>
@ -3218,7 +3218,7 @@ QSplitter:handle{ @@ -3218,7 +3218,7 @@ QSplitter:handle{
<rect>
<x>0</x>
<y>0</y>
<width>714</width>
<width>712</width>
<height>25</height>
</rect>
</property>

1
res.qrc

@ -143,5 +143,6 @@ @@ -143,5 +143,6 @@
<file>translations/fi.qm</file>
<file>translations/mannol.qm</file>
<file>img/avatar_mask.png</file>
<file>img/group_2x.png</file>
</qresource>
</RCC>

12
ui/friendList/friendList.css

@ -3,18 +3,16 @@ QScrollArea { @@ -3,18 +3,16 @@ QScrollArea {
}
QScrollBar:vertical {
background: transparent;
width: 14px;
margin-top: 2px;
margin-bottom: 2px;
background: rgb(65,65,65);
width: 16px;
padding: 0px 3px 0px 3px;
}
QScrollBar:handle:vertical {
background: rgba(18, 18, 18, 204);
min-height: 20px;
border-radius: 3px;
margin-left: 3px;
margin-right: 1px;
border-radius: 5px;
margin: 3px 0px 3px 0px;
}
QScrollBar:handle:vertical:hover {

22
widget/adjustingscrollarea.cpp

@ -21,14 +21,19 @@ @@ -21,14 +21,19 @@
#include <QScrollBar>
#include <QDebug>
AdjustingScrollArea::AdjustingScrollArea(QWidget *parent) :
QScrollArea(parent)
AdjustingScrollArea::AdjustingScrollArea(QWidget *parent)
: QScrollArea(parent)
{
}
void AdjustingScrollArea::resizeEvent(QResizeEvent *ev)
{
int scrollBarWidth = verticalScrollBar()->isVisible() ? verticalScrollBar()->sizeHint().width() : 0;
if (layoutDirection() == Qt::RightToLeft)
setViewportMargins(-scrollBarWidth, 0, 0, 0);
updateGeometry();
QScrollArea::resizeEvent(ev);
}
@ -43,3 +48,16 @@ QSize AdjustingScrollArea::sizeHint() const @@ -43,3 +48,16 @@ QSize AdjustingScrollArea::sizeHint() const
return QScrollArea::sizeHint();
}
bool AdjustingScrollArea::eventFilter(QObject *obj, QEvent *ev)
{
if (ev->type() == QEvent::Paint)
{
// workaround: sometimes a child widget gets drawn on top of the scrollbar
// so we trigger a repaint afterwards
verticalScrollBar()->update();
horizontalScrollBar()->update();
}
return QObject::eventFilter(obj, ev);
}

7
widget/adjustingscrollarea.h

@ -25,12 +25,9 @@ class AdjustingScrollArea : public QScrollArea @@ -25,12 +25,9 @@ class AdjustingScrollArea : public QScrollArea
public:
explicit AdjustingScrollArea(QWidget *parent = 0);
virtual void resizeEvent(QResizeEvent *ev);
virtual void resizeEvent(QResizeEvent *ev) override;
virtual QSize sizeHint() const override;
signals:
public slots:
virtual bool eventFilter(QObject *obj, QEvent *ev) override;
};
#endif // ADJUSTINGSCROLLAREA_H

10
widget/groupwidget.cpp

@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
#include "group.h"
#include "settings.h"
#include "widget/form/groupchatform.h"
#include "widget/maskablepixmapwidget.h"
#include <QPalette>
#include <QMenu>
#include <QContextMenuEvent>
@ -38,7 +39,8 @@ GroupWidget::GroupWidget(int GroupId, QString Name) @@ -38,7 +39,8 @@ GroupWidget::GroupWidget(int GroupId, QString Name)
textLayout.setMargin(0);
setLayoutDirection(Qt::LeftToRight); // parent might have set Qt::RightToLeft
avatar.setPixmap(QPixmap(":img/group.png"));
avatar = new MaskablePixmapWidget(this, QSize(40,40), QString(), Qt::transparent);
avatar->setPixmap(QPixmap(":img/group.png"));
statusPic.setPixmap(QPixmap(":img/status/dot_online.png"));
name.setText(Name);
QFont small;
@ -65,7 +67,7 @@ GroupWidget::GroupWidget(int GroupId, QString Name) @@ -65,7 +67,7 @@ GroupWidget::GroupWidget(int GroupId, QString Name)
textLayout.addStretch();
layout.addSpacing(20);
layout.addWidget(&avatar);
layout.addWidget(avatar);
layout.addSpacing(5);
layout.addLayout(&textLayout);
layout.addStretch();
@ -118,7 +120,7 @@ void GroupWidget::setAsActiveChatroom() @@ -118,7 +120,7 @@ void GroupWidget::setAsActiveChatroom()
QPalette pal3;
pal3.setColor(QPalette::Background, Qt::white);
this->setPalette(pal3);
avatar.setPixmap(QPixmap(":img/group_dark.png"));
avatar->setPixmap(QPixmap(":img/group_dark.png"));
}
void GroupWidget::setAsInactiveChatroom()
@ -137,7 +139,7 @@ void GroupWidget::setAsInactiveChatroom() @@ -137,7 +139,7 @@ void GroupWidget::setAsInactiveChatroom()
QPalette pal3;
pal3.setColor(QPalette::Background, QColor(65,65,65,255));
this->setPalette(pal3);
avatar.setPixmap(QPixmap(":img/group.png"));
avatar->setPixmap(QPixmap(":img/group.png"));
}
void GroupWidget::updateStatusLight()

5
widget/groupwidget.h

@ -20,6 +20,8 @@ @@ -20,6 +20,8 @@
#include <QLabel>
#include "genericchatroomwidget.h"
class MaskablePixmapWidget;
class GroupWidget : public GenericChatroomWidget
{
Q_OBJECT
@ -39,7 +41,8 @@ signals: @@ -39,7 +41,8 @@ signals:
public:
int groupId;
QLabel avatar, name, nusers, statusPic;
QLabel name, nusers, statusPic;
MaskablePixmapWidget* avatar;
};
#endif // GROUPWIDGET_H

6
widget/maskablepixmapwidget.cpp

@ -23,7 +23,11 @@ MaskablePixmapWidget::MaskablePixmapWidget(QWidget *parent, QSize size, QString @@ -23,7 +23,11 @@ MaskablePixmapWidget::MaskablePixmapWidget(QWidget *parent, QSize size, QString
, clickable(false)
{
setFixedSize(size);
mask = QPixmap(maskName).scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
QPixmap pmapMask = QPixmap(maskName);
if (!pmapMask.isNull())
mask = QPixmap(maskName).scaled(size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
}
void MaskablePixmapWidget::setClickable(bool clickable)

Loading…
Cancel
Save