1
0
forked from blue/squawk

more info about groups, tooltip fixes, logo corretions, invisible state, initiated fallback icons

This commit is contained in:
Blue 2019-06-22 23:37:22 +03:00
parent e456ba980d
commit 49aa99d4db
41 changed files with 1237 additions and 54 deletions

View File

@ -346,8 +346,12 @@ void Core::Account::setServer(const QString& p_server)
Shared::Availability Core::Account::getAvailability() const Shared::Availability Core::Account::getAvailability() const
{ {
if (state == Shared::connected) {
QXmppPresence::AvailableStatusType pres = presence.availableStatusType(); QXmppPresence::AvailableStatusType pres = presence.availableStatusType();
return static_cast<Shared::Availability>(pres); //TODO that's a shame! gotta do something about it return static_cast<Shared::Availability>(pres); //they are compatible;
} else {
return Shared::offline;
}
} }
void Core::Account::setAvailability(Shared::Availability avail) void Core::Account::setAvailability(Shared::Availability avail)

View File

@ -21,6 +21,7 @@ enum Availability {
extendedAway, extendedAway,
busy, busy,
chatty, chatty,
invisible,
offline offline
}; };
@ -42,14 +43,15 @@ static const std::deque<QString> connectionStateNames = {"Disconnected", "Connec
static const std::deque<QString> connectionStateThemeIcons = {"network-disconnect", "view-refresh", "network-connect", "state-error"}; static const std::deque<QString> connectionStateThemeIcons = {"network-disconnect", "view-refresh", "network-connect", "state-error"};
static const std::deque<QString> availabilityThemeIcons = { static const std::deque<QString> availabilityThemeIcons = {
"im-user-online", "user-online",
"im-user-away", "user-away",
"im-user-away", "user-away-extended",
"im-user-busy", "user-busy",
"im-user-online", "user-online",
"im-user-offline" "user-invisible",
"user-offline"
}; };
static const std::deque<QString> availabilityNames = {"Online", "Away", "Absent", "Busy", "Chatty", "Offline"}; static const std::deque<QString> availabilityNames = {"Online", "Away", "Absent", "Busy", "Chatty", "Invisible", "Offline"};
static const std::deque<QString> subscriptionStateThemeIcons = {"edit-none", "arrow-down-double", "arrow-up-double", "dialog-ok", "question"}; static const std::deque<QString> subscriptionStateThemeIcons = {"edit-none", "arrow-down-double", "arrow-up-double", "dialog-ok", "question"};
static const std::deque<QString> subscriptionStateNames = {"None", "From", "To", "Both", "Unknown"}; static const std::deque<QString> subscriptionStateNames = {"None", "From", "To", "Both", "Unknown"};

View File

@ -20,6 +20,18 @@ int main(int argc, char *argv[])
QCoreApplication::setApplicationName("Squawk"); QCoreApplication::setApplicationName("Squawk");
QCoreApplication::setApplicationVersion("0.0.1"); QCoreApplication::setApplicationVersion("0.0.1");
QIcon icon;
icon.addFile(":images/logo.svg", QSize(16, 16));
icon.addFile(":images/logo.svg", QSize(24, 24));
icon.addFile(":images/logo.svg", QSize(32, 32));
icon.addFile(":images/logo.svg", QSize(48, 48));
icon.addFile(":images/logo.svg", QSize(64, 64));
icon.addFile(":images/logo.svg", QSize(96, 96));
icon.addFile(":images/logo.svg", QSize(128, 128));
icon.addFile(":images/logo.svg", QSize(256, 256));
icon.addFile(":images/logo.svg", QSize(512, 512));
QApplication::setWindowIcon(icon);
Squawk w; Squawk w;
w.show(); w.show();

View File

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="22"
height="22"
id="svg3049"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="user-idle.svg"
inkscape:export-filename="/home/uri/.kde/share/icons/NITRUX-KDE/16x16/actions/view-right-new.png"
inkscape:export-xdpi="30"
inkscape:export-ydpi="30">
<defs
id="defs3051">
<style
type="text/css"
id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
.ColorScheme-Background {
color:#eff0f1;
}
.ColorScheme-Highlight {
color:#3daee9;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground {
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#93cee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground {
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#93cee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}
</style>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="30.958333"
inkscape:cx="3.9340232"
inkscape:cy="7.1526137"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1021"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
borderlayer="true">
<sodipodi:guide
position="1.9999956,20"
orientation="18,0"
id="guide4067" />
<sodipodi:guide
position="1.9999956,2.0000004"
orientation="0,18"
id="guide4069" />
<sodipodi:guide
position="19.999996,2.0000004"
orientation="-18,0"
id="guide4071" />
<sodipodi:guide
position="19.999996,20"
orientation="0,-18"
id="guide4073" />
<sodipodi:guide
position="2.9999956,19"
orientation="16,0"
id="guide4077" />
<sodipodi:guide
position="2.9999956,3.0000004"
orientation="0,16"
id="guide4079" />
<sodipodi:guide
position="18.999996,3.0000004"
orientation="-16,0"
id="guide4081" />
<sodipodi:guide
position="18.999996,19"
orientation="0,-16"
id="guide4083" />
<inkscape:grid
type="xygrid"
id="grid4085"
originx="-8.8635937e-06"
originy="-2.9100781e-05" />
</sodipodi:namedview>
<metadata
id="metadata3054">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-421.71429,-525.79071)">
<path
style="opacity:1;fill:#9b59b6;fill-opacity:1;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 12 13.080078 L 12 12.070312 A 7.9999504 8.0000296 0 0 0 11 12 z M 15.5 12 A 3.4999852 3.4999852 0 0 0 12 15.5 A 3.4999852 3.4999852 0 0 0 15.5 19 A 3.4999852 3.4999852 0 0 0 19 15.5 A 3.4999852 3.4999852 0 0 0 15.5 12 z "
transform="translate(421.71429,525.79071)"
id="path4152" />
<path
transform="matrix(0,1,-1,0,0,0)"
style="opacity:0.7;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 541.79071,-435.21429 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="circle4207" />
<path
style="opacity:0.4;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 437.71429,541.29071 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="path4188-7" />
<path
style="opacity:0.3;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 439.71429,541.29071 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="path4188-0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,52 @@
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 24 24"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="im-user-away.svg">
<metadata
id="metadata18">
<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="defs16" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="828"
inkscape:window-height="480"
id="namedview14"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
style="fill:#fdbc4b"
d="M 12 4 A 3.99999 4.00003 0 0 0 8 8 A 3.99999 4.00003 0 0 0 12 12 A 3.99999 4.00003 0 0 0 16 8 A 3.99999 4.00003 0 0 0 12 4 z M 12 5 A 3 3.00003 0 0 1 15 8 A 3 3.00003 0 0 1 12 11 A 3 3.00003 0 0 1 9 8 A 3 3.00003 0 0 1 12 5 z M 20 12 L 12 16 L 14 17 L 15 20 L 16 18 L 18 19 L 20 12 z M 12 13 A 7.99995 8.00003 0 0 0 4.0722656 20 L 5.0800781 20 A 6.99996 7.00003 0 0 1 12 14 A 6.99996 7.00003 0 0 1 13 14.080078 L 13 13.070312 A 7.99995 8.00003 0 0 0 12 13 z "
id="path8" />
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,60 @@
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 24 24"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="im-user-busy.svg">
<metadata
id="metadata18">
<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="defs16" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="828"
inkscape:window-height="480"
id="namedview14"
showgrid="true"
inkscape:zoom="27.812867"
inkscape:cx="16.120468"
inkscape:cy="7.5282487"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2">
<inkscape:grid
type="xygrid"
id="grid4155" />
</sodipodi:namedview>
<path
style="fill:#f47750"
d="M 12 4 A 3.99999 4.00003 0 0 0 8 8 A 3.99999 4.00003 0 0 0 12 12 A 3.99999 4.00003 0 0 0 16 8 A 3.99999 4.00003 0 0 0 12 4 z M 12 5 A 3 3.00003 0 0 1 15 8 A 3 3.00003 0 0 1 12 11 A 3 3.00003 0 0 1 9 8 A 3 3.00003 0 0 1 12 5 z M 12 13 A 7.99995 8.00003 0 0 0 4.0722656 20 L 5.0800781 20 A 6.99996 7.00003 0 0 1 12 14 A 6.99996 7.00003 0 0 1 13 14.080078 L 13 13.070312 A 7.99995 8.00003 0 0 0 12 13 z M 16.5 13 A 3.5 3.5 0 0 0 13 16.5 A 3.5 3.5 0 0 0 16.5 20 A 3.5 3.5 0 0 0 20 16.5 A 3.5 3.5 0 0 0 16.5 13 z M 16 14 L 17 14 L 17 16 L 18 16 L 18 17 L 17 17 L 16 17 L 16 16 L 16 14 z "
id="path8" />
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 16 14 L 16 17 L 17 17 L 18 17 L 18 16 L 17 16 L 17 14 L 16 14 z "
id="rect4157" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path
style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 12 13.080078 L 12 12.070312 A 7.9999504 8.0000296 0 0 0 11 12 z M 15.5 12 A 3.5 3.5 0 0 0 12 15.5 A 3.5 3.5 0 0 0 15.5 19 A 3.5 3.5 0 0 0 19 15.5 A 3.5 3.5 0 0 0 15.5 12 z M 16.792969 13.5 L 17.5 14.207031 L 14.207031 17.5 L 13.5 16.792969 L 16.792969 13.5 z "
class="ColorScheme-Text"
/>
<path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 438.50726,539.29071 0.70703,0.70703 -3.29297,3.29297 -0.70703,-0.70703 z" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path
style="fill:currentColor;fill-opacity:0.5;stroke:none"
d="M 12 4 A 3.9999902 4.0000296 0 0 0 8 8 A 3.9999902 4.0000296 0 0 0 12 12 A 3.9999902 4.0000296 0 0 0 16 8 A 3.9999902 4.0000296 0 0 0 12 4 z M 12 5 A 3 3.0000296 0 0 1 15 8 A 3 3.0000296 0 0 1 12 11 A 3 3.0000296 0 0 1 9 8 A 3 3.0000296 0 0 1 12 5 z M 12 13 A 7.9999504 8.0000296 0 0 0 4.0722656 20 L 5.0800781 20 A 6.9999604 7.0000296 0 0 1 12 14 A 6.9999604 7.0000296 0 0 1 13 14.080078 L 13 13.070312 A 7.9999504 8.0000296 0 0 0 12 13 z M 16.5 13 C 14.567003 13 13 14.567003 13 16.5 C 13 18.432997 14.567003 20 16.5 20 C 18.432997 20 20 18.432997 20 16.5 C 20 14.567003 18.432997 13 16.5 13 z M 14 16 L 19 16 L 19 17 L 14 17 L 14 16 z "
class="ColorScheme-Text"
/>
<path
style="fill:#ffffff;fill-opacity:1;stroke:none"
d="M 14 16 L 14 17 L 19 17 L 19 16 L 14 16 z "
id="path10" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,56 @@
<?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"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 24 24"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="im-user-online.svg">
<metadata
id="metadata22">
<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="defs20" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="828"
inkscape:window-height="480"
id="namedview18"
showgrid="false"
inkscape:zoom="9.8333333"
inkscape:cx="12"
inkscape:cy="12"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
style="fill:#43be80"
d="M 12 4 A 3.99999 4.00003 0 0 0 8 8 A 3.99999 4.00003 0 0 0 12 12 A 3.99999 4.00003 0 0 0 16 8 A 3.99999 4.00003 0 0 0 12 4 z M 12 5 A 3 3.00003 0 0 1 15 8 A 3 3.00003 0 0 1 12 11 A 3 3.00003 0 0 1 9 8 A 3 3.00003 0 0 1 12 5 z M 12 13 A 7.99995 8.00003 0 0 0 4.0722656 20 L 5.0800781 20 A 6.99996 7.00003 0 0 1 12 14 A 6.99996 7.00003 0 0 1 13 14.080078 L 13 13.070312 A 7.99995 8.00003 0 0 0 12 13 z M 16.5 13 A 3.5 3.5 0 0 0 13 16.5 A 3.5 3.5 0 0 0 16.5 20 A 3.5 3.5 0 0 0 20 16.5 A 3.5 3.5 0 0 0 16.5 13 z "
id="path10" />
<path
style="fill:#ffffff;fill-rule:evenodd"
d="M 18 15 L 16 17 L 15 16 L 14 17 L 16 19 L 19 16 L 18 15 z "
id="path16" />
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 12 4 A 3.9999902 4.0000296 0 0 0 8 8 A 3.9999902 4.0000296 0 0 0 12 12 A 3.9999902 4.0000296 0 0 0 16 8 A 3.9999902 4.0000296 0 0 0 12 4 z M 12 5 A 3 3.0000296 0 0 1 15 8 A 3 3.0000296 0 0 1 12 11 A 3 3.0000296 0 0 1 9 8 A 3 3.0000296 0 0 1 12 5 z M 12 13 A 7.9999504 8.0000296 0 0 0 4.0722656 20 L 5.0800781 20 A 6.9999604 7.0000296 0 0 1 12 14 A 6.9999604 7.0000296 0 0 1 18.921875 20 L 19.929688 20 A 7.9999504 8.0000296 0 0 0 12 13 z "
class="ColorScheme-Text"
/>
</svg>

After

Width:  |  Height:  |  Size: 776 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path
style="opacity:1;fill:#9b59b6;fill-opacity:1;stroke:none;stroke-opacity:1"
d="M 8 2 C 6.3431458 2 5 3.3431458 5 5 C 5 6.6568542 6.3431458 8 8 8 C 9.6568542 8 11 6.6568542 11 5 C 11 3.3431458 9.6568542 2 8 2 z M 8 9 A 5 4.5 0 0 0 3 13.5 A 5 4.5 0 0 0 3.0332031 14 L 4 14 L 4.0449219 14 L 11.955078 14 L 12 14 L 12.962891 14 A 5 4.5 0 0 0 13 13.5 A 5 4.5 0 0 0 8 9 z M 8 10 A 4 3.5 0 0 1 11.955078 13 L 4.0449219 13 A 4 3.5 0 0 1 8 10 z "
/>
<path
style="fill:#ffffff"
d="M 6.5 4.5 A 0.5 0.5 0 0 0 6 5 A 0.5 0.5 0 0 0 6.5 5.5 A 0.5 0.5 0 0 0 7 5 A 0.5 0.5 0 0 0 6.5 4.5 z M 8 4.5 A 0.5 0.5 0 0 0 7.5 5 A 0.5 0.5 0 0 0 8 5.5 A 0.5 0.5 0 0 0 8.5 5 A 0.5 0.5 0 0 0 8 4.5 z M 9.5 4.5 A 0.5 0.5 0 0 0 9 5 A 0.5 0.5 0 0 0 9.5 5.5 A 0.5 0.5 0 0 0 10 5 A 0.5 0.5 0 0 0 9.5 4.5 z "/>
</svg>

After

Width:  |  Height:  |  Size: 882 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<g fill="#fdbc4b" transform="translate(-421.71-531.79)">
<path d="M8 9A5 4.5 0 0 0 3 13.5 5 4.5 0 0 0 3.033203 14H12.963A5 4.5 0 0 0 13 13.5 5 4.5 0 0 0 8 9M8 10A4 3.5 0 0 1 11.955078 13H4.045A4 3.5 0 0 1 8 10" transform="translate(421.71 531.79)"/>
<path fill-rule="evenodd" d="m433.71 532.79l-7 4 2 1 1 3 1-2 2 1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 398 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path fill="#f47750" d="m8 2c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m-1 1h1v2h1v1h-2zm1 6c-2.761 0-5 2.01-5 4.5.001.167.012.334.033.5h9.93c.023-.166.035-.333.037-.5 0-2.485-2.239-4.5-5-4.5m0 1c1.987.002 3.671 1.279 3.955 3h-7.91c.284-1.721 1.968-2.998 3.955-3"/>
<path fill="#fff" d="m7 3v3h2v-1h-1v-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 417 B

View File

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 8 2 A 3 3 0 0 0 5 5 A 3 3 0 0 0 8 8 A 3 3 0 0 0 11 5 A 3 3 0 0 0 8 2 z M 9.2929688 3 L 10 3.7070312 L 6.7070312 7 L 6 6.2929688 L 9.2929688 3 z M 8 9 A 5 4.5 0 0 0 3 13.5 A 5 4.5 0 0 0 3.0332031 14 L 12.962891 14 A 5 4.5 0 0 0 13 13.5 A 5 4.5 0 0 0 8 9 z M 8 10 A 4 3.5 0 0 1 11.955078 13 L 4.0449219 13 A 4 3.5 0 0 1 8 10 z "
class="ColorScheme-Text"
/>
<path
style="fill:#ffffff"
d="M 9.3,3 10.007,3.707 6.714,7 6.007,6.293 Z" />
</svg>

After

Width:  |  Height:  |  Size: 753 B

View File

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
transform="translate(-421.71-531.79)"
d="m429.71 533.79c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m-2 2.5h4v1h-4zm2 4.5c-2.761 0-5 2.01-5 4.5.001.167.012.334.033.5h9.93c.023-.166.035-.333.037-.5 0-2.485-2.239-4.5-5-4.5m0 1c1.987.002 3.671 1.279 3.955 3h-7.91c.284-1.721 1.968-2.998 3.955-3"
class="ColorScheme-Text"
/>
<path fill="#fff" d="m427.71 536.29h4v1h-4z" transform="translate(-421.71-531.79)" />
</svg>

After

Width:  |  Height:  |  Size: 758 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<g transform="translate(-421.71-531.79)">
<g fill="#43be80">
<path d="M8 9A5 4.5 0 0 0 3 13.5 5 4.5 0 0 0 3.033203 14H12.963A5 4.5 0 0 0 13 13.5 5 4.5 0 0 0 8 9M8 10A4 3.5 0 0 1 11.955078 13H4.045A4 3.5 0 0 1 8 10" transform="translate(421.71 531.79)"/>
<path d="m429.71 533.79c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m1.592 1.232l.707.707-2.83 2.828-1.768-1.768.707-.707 1.061 1.061z"/>
</g>
<path fill="#fff" d="m431.31 535.02l.707.707-2.83 2.828-1.768-1.768.707-.707 1.061 1.061z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 613 B

View File

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#232629;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
d="m429.71429 533.79074a3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3m0 1a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2m0 6a5 4.5 0 0 0 -5 4.5 5 4.5 0 0 0 .0332 .5h9.93a5 4.5 0 0 0 .0371 -.5 5 4.5 0 0 0 -5 -4.5m.00005 1a4 3.5 0 0 1 3.95508 3h-7.91a4 3.5 0 0 1 3.95508 -3"
transform="translate(-421.71-531.79)"
class="ColorScheme-Text"
/>
</svg>

After

Width:  |  Height:  |  Size: 675 B

View File

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<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"
width="22"
height="22"
id="svg3049"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="user-idle.svg"
inkscape:export-filename="/home/uri/.kde/share/icons/NITRUX-KDE/16x16/actions/view-right-new.png"
inkscape:export-xdpi="30"
inkscape:export-ydpi="30">
<defs
id="defs3051">
<style
type="text/css"
id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
.ColorScheme-Background {
color:#31363b;
}
.ColorScheme-Highlight {
color:#3daee9;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground {
color:#4f575f;
}
.ColorScheme-ViewHover {
color:#93cee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground {
color:#31363b;
}
.ColorScheme-ButtonHover {
color:#93cee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}
</style>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="30.958333"
inkscape:cx="3.9340232"
inkscape:cy="7.1526137"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1021"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
borderlayer="true">
<sodipodi:guide
position="1.9999956,20"
orientation="18,0"
id="guide4067" />
<sodipodi:guide
position="1.9999956,2.0000004"
orientation="0,18"
id="guide4069" />
<sodipodi:guide
position="19.999996,2.0000004"
orientation="-18,0"
id="guide4071" />
<sodipodi:guide
position="19.999996,20"
orientation="0,-18"
id="guide4073" />
<sodipodi:guide
position="2.9999956,19"
orientation="16,0"
id="guide4077" />
<sodipodi:guide
position="2.9999956,3.0000004"
orientation="0,16"
id="guide4079" />
<sodipodi:guide
position="18.999996,3.0000004"
orientation="-16,0"
id="guide4081" />
<sodipodi:guide
position="18.999996,19"
orientation="0,-16"
id="guide4083" />
<inkscape:grid
type="xygrid"
id="grid4085"
originx="-8.8635937e-06"
originy="-2.9100781e-05" />
</sodipodi:namedview>
<metadata
id="metadata3054">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Capa 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-421.71429,-525.79071)">
<path
style="opacity:1;fill:#9b59b6;fill-opacity:1;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 12 13.080078 L 12 12.070312 A 7.9999504 8.0000296 0 0 0 11 12 z M 15.5 12 A 3.4999852 3.4999852 0 0 0 12 15.5 A 3.4999852 3.4999852 0 0 0 15.5 19 A 3.4999852 3.4999852 0 0 0 19 15.5 A 3.4999852 3.4999852 0 0 0 15.5 12 z "
transform="translate(421.71429,525.79071)"
id="path4152" />
<path
transform="matrix(0,1,-1,0,0,0)"
style="opacity:0.7;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 541.79071,-435.21429 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="circle4207" />
<path
style="opacity:0.4;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 437.71429,541.29071 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="path4188-7" />
<path
style="opacity:0.3;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 439.71429,541.29071 a 0.5,0.5 0 0 1 -0.5,0.5 0.5,0.5 0 0 1 -0.5,-0.5 0.5,0.5 0 0 1 0.5,-0.5 0.5,0.5 0 0 1 0.5,0.5 z"
id="path4188-0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<g transform="translate(-421.71429-525.79071)" style="fill:#fdbc4b">
<path d="m432.71429 528.79032a3.99999 4.00003 0 0 0 -4 4 3.99999 4.00003 0 0 0 4 4 3.99999 4.00003 0 0 0 4 -4 3.99999 4.00003 0 0 0 -4 -4m0 1a3 3.00003 0 0 1 3 3 3 3.00003 0 0 1 -3 3 3 3.00003 0 0 1 -3 -3 3 3.00003 0 0 1 3 -3"/>
<path d="m12 13a7.99995 8.00003 0 0 0 -7.927734 7h1.00781A6.99996 7.00003 0 0 1 12 14a6.99996 7.00003 0 0 1 1 .08008v-1.00977A7.99995 8.00003 0 0 0 12 13" transform="translate(420.71429 524.79071)"/>
<path d="m440.71429 536.79071l-8 4 2 1 1 3 1-2 2 1z" style="fill-rule:evenodd"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 660 B

View File

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<g transform="translate(-421.71429-525.79071)" style="fill:#f47750">
<path d="m432.71429 528.79032a3.99999 4.00003 0 0 0 -4 4 3.99999 4.00003 0 0 0 4 4 3.99999 4.00003 0 0 0 4 -4 3.99999 4.00003 0 0 0 -4 -4m0 1a3 3.00003 0 0 1 3 3 3 3.00003 0 0 1 -3 3 3 3.00003 0 0 1 -3 -3 3 3.00003 0 0 1 3 -3"/>
<path d="m12 13a7.99995 8.00003 0 0 0 -7.927734 7h1.00781A6.99996 7.00003 0 0 1 12 14a6.99996 7.00003 0 0 1 1 .08008v-1.00977A7.99995 8.00003 0 0 0 12 13" transform="translate(420.71429 524.79071)"/>
<path d="M15.5 12A3.5 3.5 0 0 0 12 15.5 3.5 3.5 0 0 0 15.5 19 3.5 3.5 0 0 0 19 15.5 3.5 3.5 0 0 0 15.5 12M15 13H16V15H17V16H16 15V15 13" transform="translate(421.71429 525.79071)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 761 B

View File

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path
style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 12 13.080078 L 12 12.070312 A 7.9999504 8.0000296 0 0 0 11 12 z M 15.5 12 A 3.5 3.5 0 0 0 12 15.5 A 3.5 3.5 0 0 0 15.5 19 A 3.5 3.5 0 0 0 19 15.5 A 3.5 3.5 0 0 0 15.5 12 z M 16.792969 13.5 L 17.5 14.207031 L 14.207031 17.5 L 13.5 16.792969 L 16.792969 13.5 z "
class="ColorScheme-Text"
/>
<path
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none"
d="m 438.50726,539.29071 0.70703,0.70703 -3.29297,3.29297 -0.70703,-0.70703 z" />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path
style="fill:currentColor;fill-opacity:0.5;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 12 13.080078 L 12 12.070312 A 7.9999504 8.0000296 0 0 0 11 12 z M 15.5 12 C 13.567003 12 12 13.567003 12 15.5 C 12 17.432997 13.567003 19 15.5 19 C 17.432997 19 19 17.432997 19 15.5 C 19 13.567003 17.432997 12 15.5 12 z M 13 15 L 18 15 L 18 16 L 13 16 L 13 15 z "
class="ColorScheme-Text"
/>
<path
style="fill:#ffffff;fill-opacity:1;stroke:none"
d="M 13 15 L 13 16 L 18 16 L 18 15 L 13 15 z " />
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<g transform="translate(-421.71429-525.79071)">
<g style="fill:#43be80">
<path d="m432.71429 528.79032a3.99999 4.00003 0 0 0 -4 4 3.99999 4.00003 0 0 0 4 4 3.99999 4.00003 0 0 0 4 -4 3.99999 4.00003 0 0 0 -4 -4m0 1a3 3.00003 0 0 1 3 3 3 3.00003 0 0 1 -3 3 3 3.00003 0 0 1 -3 -3 3 3.00003 0 0 1 3 -3"/>
<path d="M11 12A7.99995 8.00003 0 0 0 3.072266 19H4.080078A6.99996 7.00003 0 0 1 11 13 6.99996 7.00003 0 0 1 12 13.08008V12.07031A7.99995 8.00003 0 0 0 11 12" transform="translate(421.71429 525.79071)"/>
<circle cx="437.21429" cy="541.29071" r="3.5"/>
</g>
<path d="m438.71428 539.79074l1 1-3 3-2-2 1-1 1 1z" style="fill:#fff;fill-rule:evenodd"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 739 B

View File

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path
style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 11 3 A 3.9999902 4.0000296 0 0 0 7 7 A 3.9999902 4.0000296 0 0 0 11 11 A 3.9999902 4.0000296 0 0 0 15 7 A 3.9999902 4.0000296 0 0 0 11 3 z M 11 4 A 3 3.0000296 0 0 1 14 7 A 3 3.0000296 0 0 1 11 10 A 3 3.0000296 0 0 1 8 7 A 3 3.0000296 0 0 1 11 4 z M 11 12 A 7.9999504 8.0000296 0 0 0 3.0722656 19 L 4.0800781 19 A 6.9999604 7.0000296 0 0 1 11 13 A 6.9999604 7.0000296 0 0 1 17.921875 19 L 18.929688 19 A 7.9999504 8.0000296 0 0 0 11 12 z "
class="ColorScheme-Text"
/>
</svg>

After

Width:  |  Height:  |  Size: 782 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path
style="opacity:1;fill:#9b59b6;fill-opacity:1;stroke:none;stroke-opacity:1"
d="M 8 2 C 6.3431458 2 5 3.3431458 5 5 C 5 6.6568542 6.3431458 8 8 8 C 9.6568542 8 11 6.6568542 11 5 C 11 3.3431458 9.6568542 2 8 2 z M 8 9 A 5 4.5 0 0 0 3 13.5 A 5 4.5 0 0 0 3.0332031 14 L 4 14 L 4.0449219 14 L 11.955078 14 L 12 14 L 12.962891 14 A 5 4.5 0 0 0 13 13.5 A 5 4.5 0 0 0 8 9 z M 8 10 A 4 3.5 0 0 1 11.955078 13 L 4.0449219 13 A 4 3.5 0 0 1 8 10 z "
/>
<path
style="fill:#ffffff"
d="M 6.5 4.5 A 0.5 0.5 0 0 0 6 5 A 0.5 0.5 0 0 0 6.5 5.5 A 0.5 0.5 0 0 0 7 5 A 0.5 0.5 0 0 0 6.5 4.5 z M 8 4.5 A 0.5 0.5 0 0 0 7.5 5 A 0.5 0.5 0 0 0 8 5.5 A 0.5 0.5 0 0 0 8.5 5 A 0.5 0.5 0 0 0 8 4.5 z M 9.5 4.5 A 0.5 0.5 0 0 0 9 5 A 0.5 0.5 0 0 0 9.5 5.5 A 0.5 0.5 0 0 0 10 5 A 0.5 0.5 0 0 0 9.5 4.5 z "/>
</svg>

After

Width:  |  Height:  |  Size: 882 B

View File

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<g fill="#fdbc4b" transform="translate(-421.71-531.79)">
<path d="M8 9A5 4.5 0 0 0 3 13.5 5 4.5 0 0 0 3.033203 14H12.963A5 4.5 0 0 0 13 13.5 5 4.5 0 0 0 8 9M8 10A4 3.5 0 0 1 11.955078 13H4.045A4 3.5 0 0 1 8 10" transform="translate(421.71 531.79)"/>
<path fill-rule="evenodd" d="m433.71 532.79l-7 4 2 1 1 3 1-2 2 1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 398 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path fill="#f47750" d="m8 2c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m-1 1h1v2h1v1h-2zm1 6c-2.761 0-5 2.01-5 4.5.001.167.012.334.033.5h9.93c.023-.166.035-.333.037-.5 0-2.485-2.239-4.5-5-4.5m0 1c1.987.002 3.671 1.279 3.955 3h-7.91c.284-1.721 1.968-2.998 3.955-3"/>
<path fill="#fff" d="m7 3v3h2v-1h-1v-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 417 B

View File

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
d="M 8 2 A 3 3 0 0 0 5 5 A 3 3 0 0 0 8 8 A 3 3 0 0 0 11 5 A 3 3 0 0 0 8 2 z M 9.2929688 3 L 10 3.7070312 L 6.7070312 7 L 6 6.2929688 L 9.2929688 3 z M 8 9 A 5 4.5 0 0 0 3 13.5 A 5 4.5 0 0 0 3.0332031 14 L 12.962891 14 A 5 4.5 0 0 0 13 13.5 A 5 4.5 0 0 0 8 9 z M 8 10 A 4 3.5 0 0 1 11.955078 13 L 4.0449219 13 A 4 3.5 0 0 1 8 10 z "
class="ColorScheme-Text"
/>
<path
style="fill:#ffffff"
d="M 9.3,3 10.007,3.707 6.714,7 6.007,6.293 Z" />
</svg>

After

Width:  |  Height:  |  Size: 753 B

View File

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
transform="translate(-421.71-531.79)"
d="m429.71 533.79c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m-2 2.5h4v1h-4zm2 4.5c-2.761 0-5 2.01-5 4.5.001.167.012.334.033.5h9.93c.023-.166.035-.333.037-.5 0-2.485-2.239-4.5-5-4.5m0 1c1.987.002 3.671 1.279 3.955 3h-7.91c.284-1.721 1.968-2.998 3.955-3"
class="ColorScheme-Text"
/>
<path fill="#fff" d="m427.71 536.29h4v1h-4z" transform="translate(-421.71-531.79)" />
</svg>

After

Width:  |  Height:  |  Size: 758 B

View File

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<g transform="translate(-421.71-531.79)">
<g fill="#43be80">
<path d="M8 9A5 4.5 0 0 0 3 13.5 5 4.5 0 0 0 3.033203 14H12.963A5 4.5 0 0 0 13 13.5 5 4.5 0 0 0 8 9M8 10A4 3.5 0 0 1 11.955078 13H4.045A4 3.5 0 0 1 8 10" transform="translate(421.71 531.79)"/>
<path d="m429.71 533.79c-1.657 0-3 1.343-3 3 0 1.657 1.343 3 3 3 1.657 0 3-1.343 3-3 0-1.657-1.343-3-3-3m1.592 1.232l.707.707-2.83 2.828-1.768-1.768.707-.707 1.061 1.061z"/>
</g>
<path fill="#fff" d="m431.31 535.02l.707.707-2.83 2.828-1.768-1.768.707-.707 1.061 1.061z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 613 B

View File

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs id="defs3051">
<style type="text/css" id="current-color-scheme">
.ColorScheme-Text {
color:#eff0f1;
}
</style>
</defs>
<path style="fill:currentColor;fill-opacity:1;stroke:none"
d="m429.71429 533.79074a3 3 0 0 0 -3 3 3 3 0 0 0 3 3 3 3 0 0 0 3 -3 3 3 0 0 0 -3 -3m0 1a2 2 0 0 1 2 2 2 2 0 0 1 -2 2 2 2 0 0 1 -2 -2 2 2 0 0 1 2 -2m0 6a5 4.5 0 0 0 -5 4.5 5 4.5 0 0 0 .0332 .5h9.93a5 4.5 0 0 0 .0371 -.5 5 4.5 0 0 0 -5 -4.5m.00005 1a4 3.5 0 0 1 3.95508 3h-7.91a4 3.5 0 0 1 3.95508 -3"
transform="translate(-421.71-531.79)"
class="ColorScheme-Text"
/>
</svg>

After

Width:  |  Height:  |  Size: 675 B

View File

@ -1,30 +1,214 @@
<?xml version="1.0" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!-- Created using Karbon, part of Calligra: http://www.calligra.org/karbon --> <!-- Created using Karbon, part of Calligra: http://www.calligra.org/karbon -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="226.772pt" height="226.772pt">
<defs> <svg
<radialGradient id="gradient0" gradientTransform="" gradientUnits="objectBoundingBox" cx="0.58615583000" cy="0.59764384000" fx="0.50130301000" fy="0.61237523000" r="0.20615528000" spreadMethod="pad"> xmlns:dc="http://purl.org/dc/elements/1.1/"
<stop stop-color="#ffffff" offset="0.00000000000" stop-opacity="1.00000000000"/> xmlns:cc="http://creativecommons.org/ns#"
<stop stop-color="#000000" offset="1.00000000000" stop-opacity="1.00000000000"/> 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"
width="300"
height="300"
version="1.1"
id="svg26"
sodipodi:docname="logo.svg"
inkscape:version="0.92.4 5da689c313, 2019-01-14">
<metadata
id="metadata30">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1864"
inkscape:window-height="1051"
id="namedview28"
showgrid="false"
inkscape:zoom="2.2076429"
inkscape:cx="68.745512"
inkscape:cy="206.04055"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer0"
units="px"
inkscape:document-units="px" />
<defs
id="defs7">
<radialGradient
id="gradient0"
gradientTransform="scale(0.94311191,1.0603196)"
gradientUnits="userSpaceOnUse"
cx="12.693479"
cy="13.028501"
fx="10.760019"
fy="13.364172"
r="4.6974659"
spreadMethod="pad">
<stop
stop-color="#ffffff"
offset="0.00000000000"
stop-opacity="1.00000000000"
id="stop2" />
<stop
stop-color="#000000"
offset="1.00000000000"
stop-opacity="1.00000000000"
id="stop4" />
</radialGradient>
<radialGradient
id="gradient0-3"
gradientTransform="scale(0.94311191,1.0603196)"
gradientUnits="userSpaceOnUse"
cx="12.693479"
cy="13.028501"
fx="10.760019"
fy="13.364172"
r="4.6974659"
spreadMethod="pad">
<stop
stop-color="#ffffff"
offset="0.00000000000"
stop-opacity="1.00000000000"
id="stop2-6" />
<stop
stop-color="#000000"
offset="1.00000000000"
stop-opacity="1.00000000000"
id="stop4-7" />
</radialGradient> </radialGradient>
</defs> </defs>
<g id="layer0"> <ellipse
<circle id="shape0" transform="" r="141.77696241071pt" cx="141.77696241071pt" cy="141.77696241071pt" fill="#eeeb1d" fill-rule="evenodd" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="1.98425543308"/> id="path3735"
<g id="group1" transform="translate(9.42515, 20.0683)" fill="none"> cx="152.87799"
<path id="shape011" transform="translate(2.52126, 94.3639)" fill="#000000" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308" d="M13.7868 0C-20.9371 78.2947 12.9209 116.755 81.8766 143.344C48.803 118.318 32.2243 85.1265 48.5476 54.976C64.273 54.0712 74.4022 43.6486 80.7554 6.77087C33.4537 22.7045 23.9698 15.2213 13.7868 0Z"/> cy="153.56145"
<path id="shape11" transform="translate(53.5583, 120.504)" fill="#000000" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308" d="M0.0390336 58.446C-0.508311 75.2636 4.7451 82.4194 13.0006 85.5591C34.384 87.3033 50.5845 94.036 74.434 80.7171C57.4285 30.9273 43.246 -6.13342 33.0083 0.845797C16.5859 22.1898 11.1668 38.7359 12.8331 45.1781C13.5421 59.3808 8.40203 61.4802 0.0390336 58.446Z"/> rx="147.44232"
<path id="shape21" transform="translate(83.7751, 97.1079)" fill="#000000" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308" d="M0 3.78934C43.6707 -12.5736 40.4801 24.6091 44.0695 104.631C34.8369 79.9436 14.9955 14.3809 2.59232 24.4808C7.7105 16.3152 11.2991 -0.457864 0 3.78934Z"/> ry="145.17746"
<path id="shape0111" transform="translate(15.3567, 2.5221)" fill="#000000" fill-rule="evenodd" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308" d="M1.23284 90.4967C-14.9544 20.581 131.833 -73.2611 231.831 92.5541C242.22 109.781 258.019 153.619 219.727 200.121C193.561 231.085 113.877 219.786 112.107 198.418C104.974 126.503 110.945 79.4203 67.6202 98.7319C16.153 116.631 5.48982 104.606 1.23284 90.4967Z"/> style="fill:#ffff00"
<path id="shape41" transform="matrix(0.999941 -0.0542578 -0.0233262 1.00088 63.2155 35.119)" fill="#000000" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308" d="M56.4822 20.8524C37.7279 17.7726 29.039 -0.164137 21.1057 0.00113486C9.2061 0.249044 -0.226559 10.6804 0.00414314 21.5251C0.234845 32.3699 5.76072 43.0697 20.4852 43.049C35.2097 43.0283 37.8631 26.2335 56.4822 20.8524Z"/> inkscape:label="Circle" />
<ellipse id="shape31" transform="matrix(0.970618 -0.245439 0.175175 0.985449 71.9055 47.4623)" rx="8.09592848986pt" ry="9.16421234126pt" cx="8.09592848986pt" cy="9.16421234126pt" fill="#000000" fill-rule="evenodd" stroke="#000000" stroke-width="0.08503951740" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="1.98425543308"/> <g
id="layer0"
transform="matrix(1.0580707,0,0,1.0550395,2.6163722,-12.379721)"
inkscape:label="Bird">
<g
id="group11-5"
transform="matrix(0.96611966,0,0,0.95548953,18.812562,39.448087)"
style="fill:#000000"
inkscape:label="Shadow">
<path
id="shape01111-3"
transform="translate(3.18245,95.0383)"
stroke-miterlimit="2.00000000000"
d="M 17.369867,-34.271073 C -17.091633,43.802527 8.7157368,106.88642 77.150337,133.40042 44.326637,108.44542 30.100783,80.437846 46.300783,50.372546 61.907283,49.470346 73.84,43.5254 80.1452,6.75174 33.201,22.6404 27.475867,-19.092673 17.369867,-34.271073 Z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
sodipodi:nodetypes="ccccc" />
<path
id="shape111-5"
transform="translate(54.2195,121.178)"
stroke-miterlimit="2.00000000000"
d="m 3.1406091,55.33901 c -0.543214,16.8286 7.3292969,25.786466 15.5225069,28.928266 21.222,1.7453 32.14898,8.538567 55.81848,-4.789033 C 57.604396,29.655843 42.9197,-6.13745 32.7592,0.846351 16.4607,22.2043 11.0825,38.7613 12.7363,45.2078 13.4399,59.4199 11.44049,58.37521 3.1406091,55.33901 Z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
sodipodi:nodetypes="cccccc" />
<path
id="shape211-6"
transform="translate(84.4363,97.7813)"
stroke-miterlimit="2.00000000000"
d="M 0,3.77601 C 43.9897,-12.5294 40.7758,24.5227 44.3914,104.264 35.0913,79.6628 15.105,14.3304 2.61126,24.3949 7.76681,16.2578 11.3816,-0.456263 0,3.77601 Z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2" />
<path
id="path20-2"
stroke-miterlimit="2.00000000000"
d="m 0.84715,91.842 c -16.2078,-70.056 128.4951,-165.699641 228.6201,0.448559 16.12731,27.437901 0.94719,82.389511 -14.97804,100.053971 -15.92522,17.66446 -36.38304,36.03837 -76.87441,38.58904 C 112.99694,232.48431 113.14735,206.21651 112.25,198.816 105.108,126.757 110.69875,80.7434 67.31895,100.0938 16.672499,112.6365 5.10955,105.9806 0.84715,91.842 Z"
inkscape:connector-curvature="0"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
transform="translate(16.0179,3.1963)"
sodipodi:nodetypes="cczsccc" />
<path
id="shape411-9"
transform="translate(63.3722,34.6296)"
stroke-miterlimit="2.00000000000"
d="M 56.7239,19.2268 C 37.966,17.1261 29.6656,-0.584886 21.6961,0.0148868 9.74219,0.914534 0.0246784,12.0039 8.52215e-5,22.9858 -0.0245092,33.9678 5.27104,44.5144 20.0558,43.6912 34.8409,42.868 37.9017,25.6966 56.7239,19.2268 Z"
inkscape:connector-curvature="0"
style="fill:#000000;stroke:#000000;stroke-width:1.41732526;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:2" />
<path
id="shape311-1"
transform="matrix(0.970618,-0.245439,0.175175,0.985449,72.5667,48.1365)"
stroke-miterlimit="2.00000000000"
d="M 20.2398,11.4553 C 20.2398,5.1287 15.709,0 10.1199,0 4.53084,0 0,5.1287 0,11.4553 c 0,6.3265 4.53084,11.4552 10.1199,11.4552 5.5891,0 10.1199,-5.1287 10.1199,-11.4552"
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:2"
inkscape:connector-curvature="0" />
</g> </g>
<g id="group11" transform="translate(17.2933, 13.7078)" fill="none"> <g
<path id="shape01111" transform="translate(3.18245, 95.0383)" fill="#2e2e2e" stroke="#000000" stroke-width="1.41732529000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M13.6826 0C-20.7789 78.0736 12.8233 116.425 81.2579 142.939C48.4342 117.984 31.9808 84.8861 48.1808 54.8208C63.7873 53.9186 73.84 43.5254 80.1452 6.75174C33.201 22.6404 23.7886 15.1784 13.6826 0Z"/> id="group11"
<path id="shape111" transform="translate(54.2195, 121.178)" fill="#2e2e2e" stroke="#000000" stroke-width="1.41732529000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M0.038739 58.4844C-0.504475 75.313 4.70929 82.4735 12.9025 85.6153C34.1245 87.3606 50.2028 94.0977 73.8723 80.7701C56.9951 30.9477 42.9197 -6.13745 32.7592 0.846351C16.4607 22.2043 11.0825 38.7613 12.7363 45.2078C13.4399 59.4199 8.33862 61.5206 0.038739 58.4844Z"/> transform="matrix(0.96611966,0,0,0.95548955,22.517704,31.485182)"
<path id="shape211" transform="translate(84.4363, 97.7813)" fill="#dfa700" stroke="#000000" stroke-width="1.41732529000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M0 3.77601C43.9897 -12.5294 40.7758 24.5227 44.3914 104.264C35.0913 79.6628 15.105 14.3304 2.61126 24.3949C7.76681 16.2578 11.3816 -0.456263 0 3.77601Z"/> style="fill:none"
<path id="shape01111" transform="translate(16.0179, 3.1963)" fill="#005ddf" fill-rule="evenodd" stroke="#000000" stroke-width="1.41732529000" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M1.2344 90.6784C-14.9734 20.6224 132.001 -73.4083 232.126 92.7399C242.528 110.001 258.347 153.927 220.006 200.523C193.807 231.549 114.022 220.226 112.25 198.816C105.108 126.757 111.086 79.5798 67.7062 98.9302C16.1735 116.865 5.4968 104.817 1.2344 90.6784Z"/> inkscape:label="Shape">
<path id="shape411" transform="translate(63.3722, 34.6296)" fill="#dfa700" stroke="#000000" stroke-width="1.41732529000" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M56.7239 19.2268C37.966 17.1261 29.6656 -0.584886 21.6961 0.0148868C9.74219 0.914534 0.0246784 12.0039 8.52215e-05 22.9858C-0.0245092 33.9678 5.27104 44.5144 20.0558 43.6912C34.8409 42.868 37.9017 25.6966 56.7239 19.2268Z"/> <path
<path id="shape311" transform="matrix(0.970618 -0.245439 0.175175 0.985449 72.5667 48.1365)" fill="url(#gradient0)" fill-rule="evenodd" stroke="#000000" stroke-width="1.25000000000" stroke-linecap="square" stroke-linejoin="miter" stroke-miterlimit="2.00000000000" d="M20.2398 11.4553C20.2398 5.1287 15.709 3.87391e-16 10.1199 0C4.53084 -3.87391e-16 6.84464e-16 5.1287 0 11.4553C-6.84464e-16 17.7818 4.53084 22.9105 10.1199 22.9105C15.709 22.9105 20.2398 17.7818 20.2398 11.4553"/> id="shape01111"
transform="translate(3.18245,95.0383)"
stroke-miterlimit="2.00000000000"
d="M 17.369867,-34.271073 C -17.091633,43.802527 8.7157368,106.88642 77.150337,133.40042 44.326637,108.44542 30.100783,80.437846 46.300783,50.372546 61.907283,49.470346 73.84,43.5254 80.1452,6.75174 33.201,22.6404 27.475867,-19.092673 17.369867,-34.271073 Z"
inkscape:connector-curvature="0"
style="fill:#2e2e2e;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
sodipodi:nodetypes="ccccc" />
<path
id="shape111"
transform="translate(54.2195,121.178)"
stroke-miterlimit="2.00000000000"
d="m 3.1406091,55.33901 c -0.543214,16.8286 7.3292969,25.786466 15.5225069,28.928266 21.222,1.7453 32.14898,8.538567 55.81848,-4.789033 C 57.604396,29.655843 42.9197,-6.13745 32.7592,0.846351 16.4607,22.2043 11.0825,38.7613 12.7363,45.2078 13.4399,59.4199 11.44049,58.37521 3.1406091,55.33901 Z"
inkscape:connector-curvature="0"
style="fill:#2e2e2e;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
sodipodi:nodetypes="cccccc" />
<path
id="shape211"
transform="translate(84.4363,97.7813)"
stroke-miterlimit="2.00000000000"
d="M 0,3.77601 C 43.9897,-12.5294 40.7758,24.5227 44.3914,104.264 35.0913,79.6628 15.105,14.3304 2.61126,24.3949 7.76681,16.2578 11.3816,-0.456263 0,3.77601 Z"
inkscape:connector-curvature="0"
style="fill:#dfa700;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2" />
<path
id="path20"
stroke-miterlimit="2.00000000000"
d="m 0.84715,91.842 c -16.2078,-70.056 128.4951,-165.699641 228.6201,0.448559 16.12731,27.437901 0.94719,82.389511 -14.97804,100.053971 -15.92522,17.66446 -36.38304,36.03837 -76.87441,38.58904 C 112.99694,232.48431 113.14735,206.21651 112.25,198.816 105.108,126.757 110.69875,80.7434 67.31895,100.0938 16.672499,112.6365 5.10955,105.9806 0.84715,91.842 Z"
inkscape:connector-curvature="0"
style="fill:#005ddf;fill-rule:evenodd;stroke:#000000;stroke-width:1.41732526;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2"
transform="translate(16.0179,3.1963)"
sodipodi:nodetypes="cczsccc" />
<path
id="shape411"
transform="translate(63.3722,34.6296)"
stroke-miterlimit="2.00000000000"
d="M 62.152173,19.002129 C 43.394273,16.901429 36.751338,-0.14211813 22.360786,0.0148868 10.374692,0.14565843 -0.35355185,10.818049 -0.37814502,21.799949 c -0.0245944,10.982 8.27778972,23.977398 23.06255002,23.154198 14.7851,-0.8232 20.645568,-19.482218 39.467768,-25.952018 z"
inkscape:connector-curvature="0"
style="fill:#dfa700;stroke:#000000;stroke-width:1.41732526;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:2"
sodipodi:nodetypes="csscc" />
<path
id="shape311"
transform="matrix(0.970618,-0.245439,0.175175,0.985449,72.5667,48.1365)"
stroke-miterlimit="2.00000000000"
d="M 9.4153514,0.54997691 C 3.8262914,0.54997691 0,5.1287 0,11.4553 c 0,6.3265 5.3658246,11.300437 10.954885,11.300437 5.5891,0 9.970315,-4.730067 9.389992,-11.435528 C 19.764555,4.6147479 15.004451,0.54997691 9.4153514,0.54997691 Z"
style="fill:url(#gradient0);fill-rule:evenodd;stroke:#000000;stroke-width:1.25;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssszs" />
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,5 +1,37 @@
<!DOCTYPE RCC><RCC version="1.0"> <!DOCTYPE RCC><RCC version="1.0">
<qresource> <qresource>
<file>images/logo.svg</file> <file>images/logo.svg</file>
<file>images/fallback/dark/big/absent.svg</file>
<file>images/fallback/dark/big/away.svg</file>
<file>images/fallback/dark/big/busy.svg</file>
<file>images/fallback/dark/big/invisible.svg</file>
<file>images/fallback/dark/big/offline.svg</file>
<file>images/fallback/dark/big/online.svg</file>
<file>images/fallback/dark/big/user.svg</file>
<file>images/fallback/dark/small/absent.svg</file>
<file>images/fallback/dark/small/away.svg</file>
<file>images/fallback/dark/small/busy.svg</file>
<file>images/fallback/dark/small/invisible.svg</file>
<file>images/fallback/dark/small/offline.svg</file>
<file>images/fallback/dark/small/online.svg</file>
<file>images/fallback/dark/small/user.svg</file>
<file>images/fallback/light/big/absent.svg</file>
<file>images/fallback/light/big/away.svg</file>
<file>images/fallback/light/big/busy.svg</file>
<file>images/fallback/light/big/invisible.svg</file>
<file>images/fallback/light/big/offline.svg</file>
<file>images/fallback/light/big/online.svg</file>
<file>images/fallback/light/big/user.svg</file>
<file>images/fallback/light/small/absent.svg</file>
<file>images/fallback/light/small/away.svg</file>
<file>images/fallback/light/small/busy.svg</file>
<file>images/fallback/light/small/invisible.svg</file>
<file>images/fallback/light/small/offline.svg</file>
<file>images/fallback/light/small/online.svg</file>
<file>images/fallback/light/small/user.svg</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -20,6 +20,7 @@ set(squawkUI_SRC
models/account.cpp models/account.cpp
models/contact.cpp models/contact.cpp
models/presence.cpp models/presence.cpp
models/group.cpp
conversation.cpp conversation.cpp
messageline.cpp messageline.cpp
newcontact.cpp newcontact.cpp

View File

@ -243,7 +243,16 @@ void Models::Contact::addMessage(const Shared::Message& data)
if (res.size() > 0) { if (res.size() > 0) {
QMap<QString, Presence*>::iterator itr = presences.find(res); QMap<QString, Presence*>::iterator itr = presences.find(res);
if (itr == presences.end()) { if (itr == presences.end()) {
qDebug() << "An attempt to add message to the roster to the unknown resource " << res << " of contact " << jid << " in account " << getAccountName() << ", skipping"; // this is actually the place when I can spot someone's invisible presence, and there is nothing criminal in it, cuz the sender sent us a message
// therefore he have revealed himself
// the only issue is to find out when the sender is gone offline
Presence* pr = new Presence({});
pr->setName(res);
pr->setAvailability(Shared::invisible);
pr->setLastActivity(QDateTime::currentDateTime());
presences.insert(res, pr);
appendChild(pr);
pr->addMessage(data);
return; return;
} }
itr.value()->addMessage(data); itr.value()->addMessage(data);

105
ui/models/group.cpp Normal file
View File

@ -0,0 +1,105 @@
/*
* <one line to give the program's name and a brief idea of what it does.>
* Copyright (C) 2019 Юрий Губич <y.gubich@initi.ru>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "group.h"
#include "contact.h"
Models::Group::Group(const QMap<QString, QVariant>& data, Models::Item* parentItem):
Item(group, data, parentItem),
unreadMessages(0)
{
}
Models::Group::~Group()
{
}
void Models::Group::appendChild(Models::Item* child)
{
Item::appendChild(child);
connect(child, SIGNAL(childChanged(Models::Item*, int, int)), this, SLOT(refresh()));
changed(1);
refresh();
}
int Models::Group::columnCount() const
{
return 3;
}
QVariant Models::Group::data(int column) const
{
switch (column) {
case 0:
return getName();
case 1:
return QVariant((unsigned int)childItems.size());
case 2:
return unreadMessages;
default:
return QVariant();
}
}
void Models::Group::_removeChild(int index)
{
Item* child = childItems[index];
disconnect(child, SIGNAL(childChanged(Models::Item*, int, int)), this, SLOT(refresh()));
Item::_removeChild(index);
changed(1);
refresh();
}
unsigned int Models::Group::getUnreadMessages() const
{
return unreadMessages;
}
void Models::Group::setUnreadMessages(unsigned int amount)
{
if (unreadMessages != amount) {
unreadMessages = amount;
changed(2);
}
}
void Models::Group::refresh()
{
unsigned int newAmount(0);
for (std::deque<Models::Item*>::const_iterator itr = childItems.begin(), end = childItems.end(); itr != end; ++itr) {
Models::Contact* cnt = static_cast<Models::Contact*>(*itr);
newAmount += cnt->getMessagesCount();
}
setUnreadMessages(newAmount);
}
unsigned int Models::Group::getOnlineContacts() const
{
unsigned int amount(0);
for (std::deque<Models::Item*>::const_iterator itr = childItems.begin(), end = childItems.end(); itr != end; ++itr) {
Models::Contact* cnt = static_cast<Models::Contact*>(*itr);
if (cnt->getAvailability() != Shared::offline) {
++amount;
}
}
return amount;
}

54
ui/models/group.h Normal file
View File

@ -0,0 +1,54 @@
/*
* <one line to give the program's name and a brief idea of what it does.>
* Copyright (C) 2019 Юрий Губич <y.gubich@initi.ru>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef MODELS_GROUP_H
#define MODELS_GROUP_H
#include "item.h"
namespace Models {
class Group : public Models::Item
{
Q_OBJECT
public:
Group(const QMap<QString, QVariant> &data, Item *parentItem = 0);
~Group();
void appendChild(Models::Item* child) override;
int columnCount() const override;
QVariant data(int column) const override;
unsigned int getUnreadMessages() const;
unsigned int getOnlineContacts() const;
protected:
void _removeChild(int index) override;
void setUnreadMessages(unsigned int amount);
private slots:
void refresh();
private:
unsigned int unreadMessages;
};
}
#endif // MODELS_GROUP_H

View File

@ -52,7 +52,24 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
switch (role) { switch (role) {
case Qt::DisplayRole: case Qt::DisplayRole:
{ {
switch (item->type) {
case Item::group: {
Group* gr = static_cast<Group*>(item);
QString str("");
str += gr->getName();
unsigned int amount = gr->getUnreadMessages();
if (amount > 0) {
str += QString(" (") + "New messages" + ")";
}
result = str;
}
break;
default:
result = item->data(index.column()); result = item->data(index.column());
break;
}
} }
break; break;
case Qt::DecorationRole: case Qt::DecorationRole:
@ -98,12 +115,12 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
switch (item->type) { switch (item->type) {
case Item::account: { case Item::account: {
Account* acc = static_cast<Account*>(item); Account* acc = static_cast<Account*>(item);
result = QString(Shared::connectionStateNames[acc->getAvailability()]); result = QString(Shared::availabilityNames[acc->getAvailability()]);
} }
break; break;
case Item::contact: { case Item::contact: {
Contact* contact = static_cast<Contact*>(item); Contact* contact = static_cast<Contact*>(item);
QString str = QString(""); QString str("");
int mc = contact->getMessagesCount(); int mc = contact->getMessagesCount();
if (mc > 0) { if (mc > 0) {
str += QString("New messages: ") + std::to_string(mc).c_str() + "\n"; str += QString("New messages: ") + std::to_string(mc).c_str() + "\n";
@ -128,7 +145,7 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
break; break;
case Item::presence: { case Item::presence: {
Presence* contact = static_cast<Presence*>(item); Presence* contact = static_cast<Presence*>(item);
QString str = QString(""); QString str("");
int mc = contact->getMessagesCount(); int mc = contact->getMessagesCount();
if (mc > 0) { if (mc > 0) {
str += QString("New messages: ") + std::to_string(mc).c_str() + "\n"; str += QString("New messages: ") + std::to_string(mc).c_str() + "\n";
@ -140,6 +157,18 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
str += "\nStatus: " + s; str += "\nStatus: " + s;
} }
result = str;
}
break;
case Item::group: {
Group* gr = static_cast<Group*>(item);
unsigned int count = gr->getUnreadMessages();
QString str("");
if (count > 0) {
str += QString("New messages: ") + std::to_string(count).c_str() + "\n";
}
str += QString("Online contacts: ") + std::to_string(gr->getOnlineContacts()).c_str() + "\n";
str += QString("Total contacts: ") + std::to_string(gr->childCount()).c_str();
result = str; result = str;
} }
break; break;
@ -275,7 +304,7 @@ void Models::Roster::onAccountDataChanged(const QModelIndex& tl, const QModelInd
void Models::Roster::addGroup(const QString& account, const QString& name) void Models::Roster::addGroup(const QString& account, const QString& name)
{ {
ElId id(account, name); ElId id(account, name);
std::map<ElId, Item*>::const_iterator gItr = groups.find(id); std::map<ElId, Group*>::const_iterator gItr = groups.find(id);
if (gItr != groups.end()) { if (gItr != groups.end()) {
qDebug() << "An attempt to add group " << name << " to account " << account <<" which already exists there, skipping"; qDebug() << "An attempt to add group " << name << " to account " << account <<" which already exists there, skipping";
return; return;
@ -283,7 +312,7 @@ void Models::Roster::addGroup(const QString& account, const QString& name)
std::map<QString, Account*>::iterator itr = accounts.find(account); std::map<QString, Account*>::iterator itr = accounts.find(account);
if (itr != accounts.end()) { if (itr != accounts.end()) {
Account* acc = itr->second; Account* acc = itr->second;
Item* group = new Item(Item::group, {{"name", name}}); Group* group = new Group({{"name", name}});
acc->appendChild(group); acc->appendChild(group);
groups.insert(std::make_pair(id, group)); groups.insert(std::make_pair(id, group));
} else { } else {
@ -319,7 +348,7 @@ void Models::Roster::addContact(const QString& account, const QString& jid, cons
} }
parent = acc; parent = acc;
} else { } else {
std::map<ElId, Item*>::iterator itr = groups.find({account, group}); std::map<ElId, Group*>::iterator itr = groups.find({account, group});
if (itr == groups.end()) { if (itr == groups.end()) {
qDebug() << "An attempt to add a contact " << jid << " to non existing group " << group << ", skipping"; qDebug() << "An attempt to add a contact " << jid << " to non existing group " << group << ", skipping";
return; return;
@ -360,12 +389,12 @@ void Models::Roster::addContact(const QString& account, const QString& jid, cons
void Models::Roster::removeGroup(const QString& account, const QString& name) void Models::Roster::removeGroup(const QString& account, const QString& name)
{ {
ElId id(account, name); ElId id(account, name);
std::map<ElId, Item*>::const_iterator gItr = groups.find(id); std::map<ElId, Group*>::const_iterator gItr = groups.find(id);
if (gItr == groups.end()) { if (gItr == groups.end()) {
qDebug() << "An attempt to remove group " << name << " from account " << account <<" which doesn't exist there, skipping"; qDebug() << "An attempt to remove group " << name << " from account " << account <<" which doesn't exist there, skipping";
return; return;
} }
Item* item = gItr->second; Group* item = gItr->second;
Item* parent = item->parentItem(); Item* parent = item->parentItem();
int row = item->row(); int row = item->row();
@ -448,12 +477,12 @@ void Models::Roster::removeContact(const QString& account, const QString& jid, c
ElId contactId(account, jid); ElId contactId(account, jid);
ElId groupId(account, group); ElId groupId(account, group);
std::map<ElId, Item*>::iterator gItr = groups.find(groupId); std::map<ElId, Group*>::iterator gItr = groups.find(groupId);
if (gItr == groups.end()) { if (gItr == groups.end()) {
qDebug() << "An attempt to remove contact " << jid << " from non existing group " << group << " of account " << account <<", skipping"; qDebug() << "An attempt to remove contact " << jid << " from non existing group " << group << " of account " << account <<", skipping";
return; return;
} }
Item* gr = gItr->second; Group* gr = gItr->second;
Contact* cont = 0; Contact* cont = 0;
std::multimap<ElId, Contact*>::iterator cBeg = contacts.lower_bound(contactId); std::multimap<ElId, Contact*>::iterator cBeg = contacts.lower_bound(contactId);
@ -598,10 +627,10 @@ void Models::Roster::removeAccount(const QString& account)
} }
} }
std::map<ElId, Item*>::const_iterator gItr = groups.begin(); std::map<ElId, Group*>::const_iterator gItr = groups.begin();
while (gItr != groups.end()) { while (gItr != groups.end()) {
if (gItr->first.account == account) { if (gItr->first.account == account) {
std::map<ElId, Item*>::const_iterator lItr = gItr; std::map<ElId, Group*>::const_iterator lItr = gItr;
++gItr; ++gItr;
groups.erase(lItr); groups.erase(lItr);
} else { } else {

View File

@ -10,6 +10,7 @@
#include "item.h" #include "item.h"
#include "account.h" #include "account.h"
#include "contact.h" #include "contact.h"
#include "group.h"
namespace Models namespace Models
{ {
@ -50,7 +51,7 @@ public:
private: private:
Item* root; Item* root;
std::map<QString, Account*> accounts; std::map<QString, Account*> accounts;
std::map<ElId, Item*> groups; std::map<ElId, Group*> groups;
std::multimap<ElId, Contact*> contacts; std::multimap<ElId, Contact*> contacts;
private slots: private slots:

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>376</width> <width>376</width>
<height>222</height> <height>208</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">

View File

@ -12,8 +12,6 @@ Squawk::Squawk(QWidget *parent) :
contextMenu(new QMenu()), contextMenu(new QMenu()),
dbus("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications", QDBusConnection::sessionBus()) dbus("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications", QDBusConnection::sessionBus())
{ {
setWindowIcon(QIcon(":images/logo.svg"));
m_ui->setupUi(this); m_ui->setupUi(this);
m_ui->roster->setModel(&rosterModel); m_ui->roster->setModel(&rosterModel);
m_ui->roster->setContextMenuPolicy(Qt::CustomContextMenu); m_ui->roster->setContextMenuPolicy(Qt::CustomContextMenu);