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

feat(UI): new status icons for message notifications

implements #4858
This commit is contained in:
tox-user 2018-01-13 21:20:03 +01:00
parent fdcc695977
commit 4288785d31
21 changed files with 168 additions and 124 deletions

View File

Before

Width:  |  Height:  |  Size: 609 B

After

Width:  |  Height:  |  Size: 609 B

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
height="14"
width="14"
xml:space="preserve"
enable-background="new 0 0 10 10"
viewBox="0 0 14 14"
y="0px"
x="0px"
id="Layer_1"
version="1.1"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><g
style="stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#cdbe41"
id="layer1"
transform="matrix(3.0289233,0,0,3.0289233,0.18380903,-887.48895)"><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#cdbe41"
d=""
id="path4500" /><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#cdbe41"
d=""
id="path4498" /><path
id="path4528"
style="fill:none;stroke:#cdbe41;stroke-width:0.36135802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.10133195,293.90792 1.88406635,1.94794 H 2.5570778 L 4.3764717,293.9374 M 0.13990242,293.77165 H 4.375461 v 2.99779 H 0.13310726 l 9.0535e-4,-3.17789" /></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
height="14"
width="14"
xml:space="preserve"
enable-background="new 0 0 10 10"
viewBox="0 0 14 14"
y="0px"
x="0px"
id="Layer_1"
version="1.1"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><g
style="stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
id="layer1"
transform="matrix(3.0289233,0,0,3.0289233,0.18380903,-887.48895)"><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
d=""
id="path4500" /><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
d=""
id="path4498" /><path
id="path4528"
style="fill:none;stroke:#c94f50;stroke-width:0.36135802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.10133195,293.90792 1.88406635,1.94794 H 2.5570778 L 4.3764717,293.9374 M 0.13990242,293.77165 H 4.375461 v 2.99779 H 0.13310726 l 9.0535e-4,-3.17789" /></g><path
d="m 10.053717,7.2034804 c 0,-1.7077371 -1.3111442,-3.0490702 -3.0188813,-3.0490702 -1.7077372,0 -3.0188815,1.3111442 -3.0188815,3.0188812 0,1.7077372 1.3111443,3.0188816 3.0188815,3.0188816 1.7077371,0 3.0615753,-1.3236491 3.0188813,-2.9886926 z M 4.9216188,6.5695153 c 0.5055481,0 4.2264342,0 4.2264342,0 0,0.3576655 0,0.7183127 0,1.2075524 -0.5600147,0 -3.5305832,0 -4.2264342,0 0,-0.3231018 -2.1e-6,-0.720037 0,-1.2075524 z"
id="path3"
style="fill:#c94f50;stroke-width:0.60377628" /><rect
y="7.1552882"
x="5.6552882"
height="0.13001703"
width="2.8144238"
id="rect821"
style="opacity:1;fill:#ff00ff;fill-opacity:1;stroke:#ffffff;stroke-width:1.4043262;stroke-miterlimit:4;stroke-dasharray:none" /></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<g>
<g>
<path fill="#CDBE41" d="M8,4.5c1.9,0,3.5,1.6,3.5,3.5h-7C4.5,6.1,6.1,4.5,8,4.5 M8,3C5.2,3,3,5.2,3,8s2.2,5,5,5c2.8,0,5-2.2,5-5
S10.8,3,8,3z"/>
</g>
</g>
<g>
<path fill="#CDBE41" d="M8,1.5c3.6,0,6.5,2.9,6.5,6.5s-2.9,6.5-6.5,6.5S1.5,11.6,1.5,8S4.4,1.5,8,1.5 M8,0C3.6,0,0,3.6,0,8
s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 778 B

View File

@ -1,52 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 16 16"
enable-background="new 0 0 16 16"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="dot_busy_notification.svg"><metadata
id="metadata13"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs11" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="721"
id="namedview9"
showgrid="false"
inkscape:zoom="29.5"
inkscape:cx="6.3555457"
inkscape:cy="7.1223848"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1"
inkscape:current-layer="Layer_1" /><g
id="g5"><path
fill="#C94F50"
d="M8,1.5c3.6,0,6.5,2.9,6.5,6.5s-2.9,6.5-6.5,6.5S1.5,11.6,1.5,8S4.4,1.5,8,1.5 M8,0C3.6,0,0,3.6,0,8 s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z"
id="path7" /></g><path
d="M 13,8.0499997 C 13,5.2215727 10.828427,3.0000002 7.9999997,3.0000002 5.1715726,3.0000002 3,5.1715727 3,7.9999997 3,10.828428 5.1715726,13 7.9999997,13 10.828427,13 13.070711,10.807717 13,8.0499997 Z m -8.5000003,-1.05 c 0.8373105,0 7.0000003,0 7.0000003,0 0,0.592382 0,1.1897 0,2 -0.92752,0 -5.8475021,0 -7.0000003,0 0,-0.535134 -3.5e-6,-1.192555 0,-2 z"
id="path3-0"
inkscape:connector-curvature="0"
style="fill:#c94f50"
sodipodi:nodetypes="cssscccccc" /></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<g>
<path fill="#C94F50" d="M8,4.5c1.9,0,3.5,1.6,3.5,3.5S9.9,11.5,8,11.5c-1.9,0-3.5-1.6-3.5-3.5S6.1,4.5,8,4.5 M8,3C5.2,3,3,5.2,3,8
s2.2,5,5,5c2.8,0,5-2.2,5-5S10.8,3,8,3z"/>
</g>
<g>
<path fill="#C94F50" d="M8,1.5c3.6,0,6.5,2.9,6.5,6.5s-2.9,6.5-6.5,6.5S1.5,11.6,1.5,8S4.4,1.5,8,1.5 M8,0C3.6,0,0,3.6,0,8
s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 793 B

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
<circle fill="#6FC062" cx="8" cy="8" r="5"/>
<g>
<path fill="#6FC062" d="M8,1.5c3.6,0,6.5,2.9,6.5,6.5s-2.9,6.5-6.5,6.5S1.5,11.6,1.5,8S4.4,1.5,8,1.5 M8,0C3.6,0,0,3.6,0,8
s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 657 B

View File

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 489 B

View File

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 657 B

View File

Before

Width:  |  Height:  |  Size: 657 B

After

Width:  |  Height:  |  Size: 657 B

View File

Before

Width:  |  Height:  |  Size: 639 B

After

Width:  |  Height:  |  Size: 639 B

View File

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 621 B

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
height="14"
width="14"
xml:space="preserve"
enable-background="new 0 0 10 10"
viewBox="0 0 14 14"
y="0px"
x="0px"
id="Layer_1"
version="1.1"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><g
style="stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
id="layer1"
transform="matrix(3.0289233,0,0,3.0289233,0.18380903,-887.48895)"><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
d=""
id="path4500" /><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none;stroke:#c94f50"
d=""
id="path4498" /><path
id="path4528"
style="fill:none;stroke:#c94f50;stroke-width:0.36135802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.10133195,293.90792 1.88406635,1.94794 H 2.5570778 L 4.3764717,293.9374 M 0.13990242,293.77165 H 4.375461 v 2.99779 H 0.13310726 l 9.0535e-4,-3.17789" /></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 489 B

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
height="14"
width="14"
xml:space="preserve"
enable-background="new 0 0 10 10"
viewBox="0 0 14 14"
y="0px"
x="0px"
id="Layer_1"
version="1.1"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><g
style="stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none"
id="layer1"
transform="matrix(3.0289233,0,0,3.0289233,0.18380903,-887.48895)"><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none"
d=""
id="path4500" /><path
style="fill:#000000;stroke-width:0.36135802;stroke-miterlimit:4;stroke-dasharray:none"
d=""
id="path4498" /><path
id="path4528"
style="fill:none;stroke:#6fc062;stroke-width:0.36135802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 0.10133195,293.90792 1.88406635,1.94794 H 2.5570778 L 4.3764717,293.9374 M 0.13990242,293.77165 H 4.375461 v 2.99779 H 0.13310726 l 9.0535e-4,-3.17789" /></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

22
res.qrc
View File

@ -21,17 +21,17 @@
<file>img/settings/general.png</file>
<file>img/settings/identity.png</file>
<file>img/settings/privacy.png</file>
<file>img/status/dot_away.svg</file>
<file>img/status/dot_away_notification.svg</file>
<file>img/status/dot_busy.svg</file>
<file>img/status/dot_busy_notification.svg</file>
<file>img/status/dot_groupchat.svg</file>
<file>img/status/dot_groupchat_newmessages.svg</file>
<file>img/status/dot_groupchat_notification.svg</file>
<file>img/status/dot_offline.svg</file>
<file>img/status/dot_offline_notification.svg</file>
<file>img/status/dot_online.svg</file>
<file>img/status/dot_online_notification.svg</file>
<file>img/status/away.svg</file>
<file>img/status/away_notification.svg</file>
<file>img/status/busy.svg</file>
<file>img/status/busy_notification.svg</file>
<file>img/status/groupchat.svg</file>
<file>img/status/groupchat_newmessages.svg</file>
<file>img/status/groupchat_notification.svg</file>
<file>img/status/offline.svg</file>
<file>img/status/offline_notification.svg</file>
<file>img/status/online.svg</file>
<file>img/status/online_notification.svg</file>
<file>img/taskbar/dark/taskbar_online.svg</file>
<file>img/taskbar/dark/taskbar_away.svg</file>
<file>img/taskbar/dark/taskbar_busy.svg</file>

View File

@ -493,10 +493,10 @@ void ContentDialog::updateTitleAndStatusIcon()
Status currentStatus = activeChatroomWidget->getFriend()->getStatus();
QMap<Status, QIcon> icons{{Status::Online, QIcon(":/img/status/dot_online.svg")},
{Status::Away, QIcon(":/img/status/dot_away.svg")},
{Status::Busy, QIcon(":/img/status/dot_busy.svg")},
{Status::Offline, QIcon(":/img/status/dot_offline.svg")}};
QMap<Status, QIcon> icons{{Status::Online, QIcon(":/img/status/online.svg")},
{Status::Away, QIcon(":/img/status/away.svg")},
{Status::Busy, QIcon(":/img/status/busy.svg")},
{Status::Offline, QIcon(":/img/status/offline.svg")}};
setWindowIcon(icons[currentStatus]);
}

View File

@ -63,7 +63,7 @@ FriendWidget::FriendWidget(const Friend* f, bool compact)
, isDefaultAvatar{true}
{
avatar->setPixmap(QPixmap(":/img/contact.svg"));
statusPic.setPixmap(QPixmap(":/img/status/dot_offline.svg"));
statusPic.setPixmap(QPixmap(":/img/status/offline.svg"));
statusPic.setMargin(3);
nameLabel->setText(f->getDisplayedName());
nameLabel->setTextFormat(Qt::PlainText);
@ -300,14 +300,14 @@ void FriendWidget::setAsInactiveChatroom()
void FriendWidget::updateStatusLight()
{
static const QString statuses[] = {
":img/status/dot_online.svg",
":img/status/dot_online_notification.svg",
":img/status/dot_away.svg",
":img/status/dot_away_notification.svg",
":img/status/dot_busy.svg",
":img/status/dot_busy_notification.svg",
":img/status/dot_offline.svg",
":img/status/dot_offline_notification.svg",
":img/status/online.svg",
":img/status/online_notification.svg",
":img/status/away.svg",
":img/status/away_notification.svg",
":img/status/busy.svg",
":img/status/busy_notification.svg",
":img/status/offline.svg",
":img/status/offline_notification.svg",
};
const bool event = frnd->getEventFlag();

View File

@ -45,7 +45,7 @@ GroupWidget::GroupWidget(int groupId, const QString& name, bool compact)
, groupId{groupId}
{
avatar->setPixmap(Style::scaleSvgImage(":img/group.svg", avatar->width(), avatar->height()));
statusPic.setPixmap(QPixmap(":img/status/dot_online.svg"));
statusPic.setPixmap(QPixmap(":img/status/online.svg"));
statusPic.setMargin(3);
nameLabel->setText(name);
@ -179,10 +179,10 @@ void GroupWidget::updateStatusLight()
Group* g = GroupList::findGroup(groupId);
if (!g->getEventFlag()) {
statusPic.setPixmap(QPixmap(":img/status/dot_online.svg"));
statusPic.setPixmap(QPixmap(":img/status/online.svg"));
statusPic.setMargin(3);
} else {
statusPic.setPixmap(QPixmap(":img/status/dot_online_notification.svg"));
statusPic.setPixmap(QPixmap(":img/status/online_notification.svg"));
statusPic.setMargin(0);
}
}

View File

@ -2188,13 +2188,13 @@ QString Widget::getStatusIconPath(Status status)
{
switch (status) {
case Status::Online:
return ":/img/status/dot_online.svg";
return ":/img/status/online.svg";
case Status::Away:
return ":/img/status/dot_away.svg";
return ":/img/status/away.svg";
case Status::Busy:
return ":/img/status/dot_busy.svg";
return ":/img/status/busy.svg";
case Status::Offline:
return ":/img/status/dot_offline.svg";
return ":/img/status/offline.svg";
}
qWarning() << "Status unknown";
assert(false);