1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

Small fixes to status button

This commit is contained in:
Kevin Flynn 2014-07-05 15:03:53 -07:00
parent 0b45edbfd1
commit c5c0f35f59
6 changed files with 70 additions and 14 deletions

View File

@ -108,5 +108,6 @@
<file>ui/statusButton/dot_idle.png</file> <file>ui/statusButton/dot_idle.png</file>
<file>ui/statusButton/dot_online.png</file> <file>ui/statusButton/dot_online.png</file>
<file>ui/statusButton/statusButton.css</file> <file>ui/statusButton/statusButton.css</file>
<file>ui/statusButton/menu_indicator.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -16,11 +16,11 @@
QProgressBar { QProgressBar {
background-color: transparent; background-color: transparent;
border: 1px solid black; border: 1px solid rgb(150,150,150);
height: 11px; height: 11px;
} }
QProgressBar::chunk { QProgressBar::chunk {
background-color: black; background-color: rgb(150,150,150);
width: 2px; width: 2px;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

View File

@ -1,17 +1,41 @@
QPushButton QPushButton
{ {
background: none; background: none;
background-color: rgb(65,65,65); background-color: rgb(65,65,65);
border: none; border: none;
border-radius: 6px; border-radius: 6px;
} }
/*Disabled due to a bug preventing button status from QPushButton#online
resetting to default after menu item pressed {
image: url(":ui/statusButton/dot_online.png") center center;
}
QPushButton#away
{
image: url(":ui/statusButton/dot_idle.png") center center;
}
QPushButton#busy
{
image: url(":ui/statusButton/dot_busy.png") center center;
}
QPushButton#offline
{
image: url(":ui/statusButton/dot_away.png") center center;
}
QPushButton:default
{
background-color: rgb(65,65,65);
}
/*Bugged in Qt, but it's probably better to leave enabled so that users can tell it's clickable*/
QPushButton:hover QPushButton:hover
{ {
background-color: rgb(75,75,75); background-color: rgb(75,75,75);
}*/ }
QPushButton:pressed QPushButton:pressed
{ {
@ -21,3 +45,14 @@ QPushButton:pressed
QPushButton:focus { QPushButton:focus {
outline: none; outline: none;
} }
QPushButton::menu-indicator {image: none;}
QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open
{
image: url(":ui/statusButton/menu_indicator.png");
subcontrol-origin: padding;
subcontrol-position: bottom center;
position: relative;
bottom: 2px;
}

View File

@ -2026,19 +2026,24 @@ QSplitter:handle{
</item> </item>
<item> <item>
<widget class="QPushButton" name="statusButton"> <widget class="QPushButton" name="statusButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon">
<iconset resource="res.qrc">
<normaloff>:/ui/statusButton/dot_away.png</normaloff>:/ui/statusButton/dot_away.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>10</width> <width>10</width>

View File

@ -156,6 +156,7 @@ Widget::Widget(QWidget *parent) :
setStatusBusy->setIcon(QIcon(":ui/statusButton/dot_busy.png")); setStatusBusy->setIcon(QIcon(":ui/statusButton/dot_busy.png"));
ui->statusButton->setMenu(statusButtonMenu); ui->statusButton->setMenu(statusButtonMenu);
this->setMouseTracking(true); this->setMouseTracking(true);
QList<QWidget*> widgets = this->findChildren<QWidget*>(); QList<QWidget*> widgets = this->findChildren<QWidget*>();
@ -315,14 +316,28 @@ void Widget::onFailedToStartCore()
void Widget::onStatusSet(Status status) void Widget::onStatusSet(Status status)
{ {
//We have to use stylesheets here, there's no way to
//prevent the button icon from moving when pressed otherwise
if (status == Status::Online) if (status == Status::Online)
ui->statusButton->setIcon(QIcon(":ui/statusButton/dot_online.png")); {
ui->statusButton->setObjectName("online");
ui->statusButton->style()->polish(ui->statusButton);
}
else if (status == Status::Away) else if (status == Status::Away)
ui->statusButton->setIcon(QIcon(":ui/statusButton/dot_idle.png")); {
ui->statusButton->setObjectName("away");
ui->statusButton->style()->polish(ui->statusButton);
}
else if (status == Status::Busy) else if (status == Status::Busy)
ui->statusButton->setIcon(QIcon(":ui/statusButton/dot_busy.png")); {
ui->statusButton->setObjectName("busy");
ui->statusButton->style()->polish(ui->statusButton);
}
else if (status == Status::Offline) else if (status == Status::Offline)
ui->statusButton->setIcon(QIcon(":ui/statusButton/dot_away.png")); {
ui->statusButton->setObjectName("offline");
ui->statusButton->style()->polish(ui->statusButton);
}
} }
void Widget::onAddClicked() void Widget::onAddClicked()