mirror of
https://github.com/transmission/transmission
synced 2025-03-13 07:33:02 +00:00
Some look-and-feel improvements for Mac and GTK+ styles (Qt client)
This commit is contained in:
parent
ba7ea94c7d
commit
1a885dcb17
5 changed files with 39 additions and 3 deletions
|
@ -7,6 +7,7 @@
|
|||
* $Id$
|
||||
*/
|
||||
|
||||
#include <QStyle>
|
||||
#include <QStyleOption>
|
||||
#include <QStyleOptionToolButton>
|
||||
#include <QStylePainter>
|
||||
|
@ -18,11 +19,24 @@ IconToolButton::IconToolButton (QWidget * parent):
|
|||
{
|
||||
}
|
||||
|
||||
QSize
|
||||
IconToolButton::sizeHint () const
|
||||
{
|
||||
QStyleOptionToolButton option;
|
||||
initStyleOption (&option);
|
||||
option.features = QStyleOptionToolButton::None;
|
||||
option.toolButtonStyle = Qt::ToolButtonIconOnly;
|
||||
const QSize size = style ()->sizeFromContents (QStyle::CT_ToolButton, &option, iconSize (), this);
|
||||
|
||||
return size.expandedTo (iconSize () + QSize (8, 8));
|
||||
}
|
||||
|
||||
void IconToolButton::paintEvent (QPaintEvent * /*event*/)
|
||||
{
|
||||
QStylePainter painter(this);
|
||||
QStyleOptionToolButton option;
|
||||
initStyleOption (&option);
|
||||
option.features &= ~QStyleOptionToolButton::HasMenu;
|
||||
option.features = QStyleOptionToolButton::None;
|
||||
option.toolButtonStyle = Qt::ToolButtonIconOnly;
|
||||
painter.drawComplexControl(QStyle::CC_ToolButton, option);
|
||||
}
|
||||
|
|
|
@ -19,6 +19,9 @@ class IconToolButton: public QToolButton
|
|||
public:
|
||||
IconToolButton (QWidget * parent = nullptr);
|
||||
|
||||
// QWidget
|
||||
virtual QSize sizeHint () const;
|
||||
|
||||
protected:
|
||||
// QWidget
|
||||
virtual void paintEvent (QPaintEvent * event);
|
||||
|
|
|
@ -111,6 +111,7 @@ MainWindow::MainWindow (Session& session, Prefs& prefs, TorrentModel& model, boo
|
|||
const QSize smallIconSize (i, i);
|
||||
|
||||
ui.listView->setStyle (new ListViewProxyStyle);
|
||||
ui.listView->setAttribute (Qt::WA_MacShowFocusRect, false);
|
||||
|
||||
// icons
|
||||
ui.action_OpenFile->setIcon (getStockIcon (QLatin1String ("document-open"), QStyle::SP_DialogOpenButton));
|
||||
|
|
|
@ -67,6 +67,12 @@
|
|||
<iconset resource="application.qrc">
|
||||
<normaloff>:/icons/utilities.png</normaloff>:/icons/utilities.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="popupMode">
|
||||
<enum>QToolButton::InstantPopup</enum>
|
||||
</property>
|
||||
|
@ -79,12 +85,18 @@
|
|||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="altSpeedButton">
|
||||
<widget class="IconToolButton" name="altSpeedButton">
|
||||
<property name="icon">
|
||||
<iconset resource="application.qrc">
|
||||
<normaloff>:/icons/alt-limit-off.png</normaloff>
|
||||
<normalon>:/icons/alt-limit-on.png</normalon>:/icons/alt-limit-off.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
|
@ -135,6 +147,12 @@
|
|||
<iconset resource="application.qrc">
|
||||
<normaloff>:/icons/ratio.png</normaloff>:/icons/ratio.png</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>16</width>
|
||||
<height>16</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="popupMode">
|
||||
<enum>QToolButton::InstantPopup</enum>
|
||||
</property>
|
||||
|
|
|
@ -32,7 +32,7 @@ enum
|
|||
{
|
||||
GUI_PAD = 6,
|
||||
BAR_WIDTH = 50,
|
||||
BAR_HEIGHT = 12,
|
||||
BAR_HEIGHT = 16,
|
||||
LINE_SPACING = 4
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue