more info about groups, tooltip fixes, logo corretions, invisible state, initiated fallback icons
@ -346,8 +346,12 @@ void Core::Account::setServer(const QString& p_server)
|
||||
|
||||
Shared::Availability Core::Account::getAvailability() const
|
||||
{
|
||||
if (state == Shared::connected) {
|
||||
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)
|
||||
|
16
global.h
@ -21,6 +21,7 @@ enum Availability {
|
||||
extendedAway,
|
||||
busy,
|
||||
chatty,
|
||||
invisible,
|
||||
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> availabilityThemeIcons = {
|
||||
"im-user-online",
|
||||
"im-user-away",
|
||||
"im-user-away",
|
||||
"im-user-busy",
|
||||
"im-user-online",
|
||||
"im-user-offline"
|
||||
"user-online",
|
||||
"user-away",
|
||||
"user-away-extended",
|
||||
"user-busy",
|
||||
"user-online",
|
||||
"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> subscriptionStateNames = {"None", "From", "To", "Both", "Unknown"};
|
||||
|
12
main.cpp
@ -20,6 +20,18 @@ int main(int argc, char *argv[])
|
||||
QCoreApplication::setApplicationName("Squawk");
|
||||
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;
|
||||
w.show();
|
||||
|
||||
|
159
resources/images/fallback/dark/big/absent.svg
Normal 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 |
52
resources/images/fallback/dark/big/away.svg
Normal 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 |
60
resources/images/fallback/dark/big/busy.svg
Normal 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 |
17
resources/images/fallback/dark/big/invisible.svg
Normal 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 |
18
resources/images/fallback/dark/big/offline.svg
Normal 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 |
56
resources/images/fallback/dark/big/online.svg
Normal 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 |
13
resources/images/fallback/dark/big/user.svg
Normal 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 |
9
resources/images/fallback/dark/small/absent.svg
Normal 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 |
6
resources/images/fallback/dark/small/away.svg
Normal 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 |
4
resources/images/fallback/dark/small/busy.svg
Normal 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 |
16
resources/images/fallback/dark/small/invisible.svg
Normal 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 |
15
resources/images/fallback/dark/small/offline.svg
Normal 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 |
9
resources/images/fallback/dark/small/online.svg
Normal 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 |
14
resources/images/fallback/dark/small/user.svg
Normal 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 |
159
resources/images/fallback/light/big/absent.svg
Normal 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 |
7
resources/images/fallback/light/big/away.svg
Normal 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 |
7
resources/images/fallback/light/big/busy.svg
Normal 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 |
17
resources/images/fallback/light/big/invisible.svg
Normal 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 |
17
resources/images/fallback/light/big/offline.svg
Normal 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 |
10
resources/images/fallback/light/big/online.svg
Normal 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 |
14
resources/images/fallback/light/big/user.svg
Normal 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 |
9
resources/images/fallback/light/small/absent.svg
Normal 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 |
6
resources/images/fallback/light/small/away.svg
Normal 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 |
4
resources/images/fallback/light/small/busy.svg
Normal 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 |
16
resources/images/fallback/light/small/invisible.svg
Normal 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 |
15
resources/images/fallback/light/small/offline.svg
Normal 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 |
9
resources/images/fallback/light/small/online.svg
Normal 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 |
14
resources/images/fallback/light/small/user.svg
Normal 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 |
@ -1,30 +1,214 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- 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>
|
||||
<radialGradient id="gradient0" gradientTransform="" gradientUnits="objectBoundingBox" cx="0.58615583000" cy="0.59764384000" fx="0.50130301000" fy="0.61237523000" r="0.20615528000" spreadMethod="pad">
|
||||
<stop stop-color="#ffffff" offset="0.00000000000" stop-opacity="1.00000000000"/>
|
||||
<stop stop-color="#000000" offset="1.00000000000" stop-opacity="1.00000000000"/>
|
||||
|
||||
<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="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>
|
||||
</defs>
|
||||
<g id="layer0">
|
||||
<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"/>
|
||||
<g id="group1" transform="translate(9.42515, 20.0683)" fill="none">
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<ellipse
|
||||
id="path3735"
|
||||
cx="152.87799"
|
||||
cy="153.56145"
|
||||
rx="147.44232"
|
||||
ry="145.17746"
|
||||
style="fill:#ffff00"
|
||||
inkscape:label="Circle" />
|
||||
<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 id="group11" transform="translate(17.2933, 13.7078)" fill="none">
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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"/>
|
||||
<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 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"/>
|
||||
<g
|
||||
id="group11"
|
||||
transform="matrix(0.96611966,0,0,0.95548955,22.517704,31.485182)"
|
||||
style="fill:none"
|
||||
inkscape:label="Shape">
|
||||
<path
|
||||
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>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 10 KiB |
@ -1,5 +1,37 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource>
|
||||
<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>
|
||||
</RCC>
|
||||
|
@ -20,6 +20,7 @@ set(squawkUI_SRC
|
||||
models/account.cpp
|
||||
models/contact.cpp
|
||||
models/presence.cpp
|
||||
models/group.cpp
|
||||
conversation.cpp
|
||||
messageline.cpp
|
||||
newcontact.cpp
|
||||
|
@ -243,7 +243,16 @@ void Models::Contact::addMessage(const Shared::Message& data)
|
||||
if (res.size() > 0) {
|
||||
QMap<QString, Presence*>::iterator itr = presences.find(res);
|
||||
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;
|
||||
}
|
||||
itr.value()->addMessage(data);
|
||||
|
105
ui/models/group.cpp
Normal 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
@ -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
|
@ -52,7 +52,24 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
|
||||
switch (role) {
|
||||
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());
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case Qt::DecorationRole:
|
||||
@ -98,12 +115,12 @@ QVariant Models::Roster::data (const QModelIndex& index, int role) const
|
||||
switch (item->type) {
|
||||
case Item::account: {
|
||||
Account* acc = static_cast<Account*>(item);
|
||||
result = QString(Shared::connectionStateNames[acc->getAvailability()]);
|
||||
result = QString(Shared::availabilityNames[acc->getAvailability()]);
|
||||
}
|
||||
break;
|
||||
case Item::contact: {
|
||||
Contact* contact = static_cast<Contact*>(item);
|
||||
QString str = QString("");
|
||||
QString str("");
|
||||
int mc = contact->getMessagesCount();
|
||||
if (mc > 0) {
|
||||
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;
|
||||
case Item::presence: {
|
||||
Presence* contact = static_cast<Presence*>(item);
|
||||
QString str = QString("");
|
||||
QString str("");
|
||||
int mc = contact->getMessagesCount();
|
||||
if (mc > 0) {
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
break;
|
||||
@ -275,7 +304,7 @@ void Models::Roster::onAccountDataChanged(const QModelIndex& tl, const QModelInd
|
||||
void Models::Roster::addGroup(const QString& account, const QString& 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()) {
|
||||
qDebug() << "An attempt to add group " << name << " to account " << account <<" which already exists there, skipping";
|
||||
return;
|
||||
@ -283,7 +312,7 @@ void Models::Roster::addGroup(const QString& account, const QString& name)
|
||||
std::map<QString, Account*>::iterator itr = accounts.find(account);
|
||||
if (itr != accounts.end()) {
|
||||
Account* acc = itr->second;
|
||||
Item* group = new Item(Item::group, {{"name", name}});
|
||||
Group* group = new Group({{"name", name}});
|
||||
acc->appendChild(group);
|
||||
groups.insert(std::make_pair(id, group));
|
||||
} else {
|
||||
@ -319,7 +348,7 @@ void Models::Roster::addContact(const QString& account, const QString& jid, cons
|
||||
}
|
||||
parent = acc;
|
||||
} 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()) {
|
||||
qDebug() << "An attempt to add a contact " << jid << " to non existing group " << group << ", skipping";
|
||||
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)
|
||||
{
|
||||
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()) {
|
||||
qDebug() << "An attempt to remove group " << name << " from account " << account <<" which doesn't exist there, skipping";
|
||||
return;
|
||||
}
|
||||
Item* item = gItr->second;
|
||||
Group* item = gItr->second;
|
||||
Item* parent = item->parentItem();
|
||||
int row = item->row();
|
||||
|
||||
@ -448,12 +477,12 @@ void Models::Roster::removeContact(const QString& account, const QString& jid, c
|
||||
ElId contactId(account, jid);
|
||||
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()) {
|
||||
qDebug() << "An attempt to remove contact " << jid << " from non existing group " << group << " of account " << account <<", skipping";
|
||||
return;
|
||||
}
|
||||
Item* gr = gItr->second;
|
||||
Group* gr = gItr->second;
|
||||
Contact* cont = 0;
|
||||
|
||||
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()) {
|
||||
if (gItr->first.account == account) {
|
||||
std::map<ElId, Item*>::const_iterator lItr = gItr;
|
||||
std::map<ElId, Group*>::const_iterator lItr = gItr;
|
||||
++gItr;
|
||||
groups.erase(lItr);
|
||||
} else {
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "item.h"
|
||||
#include "account.h"
|
||||
#include "contact.h"
|
||||
#include "group.h"
|
||||
|
||||
namespace Models
|
||||
{
|
||||
@ -50,7 +51,7 @@ public:
|
||||
private:
|
||||
Item* root;
|
||||
std::map<QString, Account*> accounts;
|
||||
std::map<ElId, Item*> groups;
|
||||
std::map<ElId, Group*> groups;
|
||||
std::multimap<ElId, Contact*> contacts;
|
||||
|
||||
private slots:
|
||||
|
@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>376</width>
|
||||
<height>222</height>
|
||||
<height>208</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -12,8 +12,6 @@ Squawk::Squawk(QWidget *parent) :
|
||||
contextMenu(new QMenu()),
|
||||
dbus("org.freedesktop.Notifications", "/org/freedesktop/Notifications", "org.freedesktop.Notifications", QDBusConnection::sessionBus())
|
||||
{
|
||||
setWindowIcon(QIcon(":images/logo.svg"));
|
||||
|
||||
m_ui->setupUi(this);
|
||||
m_ui->roster->setModel(&rosterModel);
|
||||
m_ui->roster->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
|