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

[HiDPI] ChatLog: replaced all .png by .svg, FTW custom paintEvent

This does not enable HiDPI support!

issue #975
This commit is contained in:
krepa098 2015-01-26 11:09:21 +01:00
parent a418ae3df6
commit 5be6caca68
39 changed files with 608 additions and 234 deletions

View File

@ -278,3 +278,6 @@ contains(DEFINES, QTOX_PLATFORM_EXT) {
src/platform/timer_x11.cpp
}
DISTFILES += \
ui/fileTransferInstance/background_green.svg

27
res.qrc
View File

@ -149,9 +149,6 @@
<file>ui/chatArea/chatArea.css</file>
<file>ui/chatArea/chatHead.css</file>
<file>ui/chatArea/innerStyle.css</file>
<file>ui/chatArea/spinner.png</file>
<file>ui/chatArea/info.png</file>
<file>ui/chatArea/error.png</file>
<file>ui/chatArea/scrollBarDownArrow.png</file>
<file>ui/chatArea/scrollBarDownArrowHover.png</file>
<file>ui/chatArea/scrollBarDownArrowPressed.png</file>
@ -212,19 +209,6 @@
<file>ui/videoButton/videoButtonYellow.png</file>
<file>ui/videoButton/videoButtonYellowHover.png</file>
<file>ui/videoButton/videoButtonYellowPressed.png</file>
<file>ui/fileTransferInstance/red.css</file>
<file>ui/fileTransferInstance/green.css</file>
<file>ui/fileTransferInstance/grey.css</file>
<file>ui/fileTransferInstance/yellow.css</file>
<file>ui/fileTransferInstance/background_red.png</file>
<file>ui/fileTransferInstance/background_yellow.png</file>
<file>ui/fileTransferInstance/background_green.png</file>
<file>ui/fileTransferInstance/background_grey.png</file>
<file>ui/fileTransferInstance/pause_2x.png</file>
<file>ui/fileTransferInstance/no_2x.png</file>
<file>ui/fileTransferInstance/yes_2x.png</file>
<file>ui/fileTransferInstance/arrow_white_2x.png</file>
<file>ui/fileTransferInstance/browse_path.png</file>
<file>ui/volButton/volButton.png</file>
<file>ui/volButton/volButtonHover.png</file>
<file>ui/volButton/volButtonPressed.png</file>
@ -232,6 +216,15 @@
<file>ui/window/applicationIcon.png</file>
<file>ui/window/statusPanel.css</file>
<file>ui/window/window.css</file>
<file>ui/chatArea/typing.png</file>
<file>ui/chatArea/info.svg</file>
<file>ui/chatArea/spinner.svg</file>
<file>ui/chatArea/typing.svg</file>
<file>ui/chatArea/error.svg</file>
<file>ui/fileTransferInstance/no.svg</file>
<file>ui/fileTransferInstance/pause.svg</file>
<file>ui/fileTransferInstance/yes.svg</file>
<file>ui/fileTransferInstance/arrow_white.svg</file>
<file>ui/fileTransferInstance/browse.svg</file>
<file>ui/fileTransferInstance/filetransferWidget.css</file>
</qresource>
</RCC>

View File

@ -60,7 +60,7 @@ ChatMessage::Ptr ChatMessage::createChatMessage(const QString &sender, const QSt
msg->addColumn(new Text(isAction ? "<div class=action>*</div>" : sender, isMe ? Style::getFont(Style::BigBold) : Style::getFont(Style::Big), isAction ? false : true, sender), ColumnFormat(NAME_COL_WIDTH, ColumnFormat::FixedSize, ColumnFormat::Right));
msg->addColumn(new Text(text, Style::getFont(Style::Big), false, isAction ? QString("*%1 %2*").arg(sender, rawMessage) : rawMessage), ColumnFormat(1.0, ColumnFormat::VariableSize));
msg->addColumn(new Spinner(":/ui/chatArea/spinner.png", QSizeF(16, 16), 8.0), ColumnFormat(TIME_COL_WIDTH, ColumnFormat::FixedSize, ColumnFormat::Right));
msg->addColumn(new Spinner(":/ui/chatArea/spinner.svg", QSizeF(16, 16), 8.0), ColumnFormat(TIME_COL_WIDTH, ColumnFormat::FixedSize, ColumnFormat::Right));
if(!date.isNull())
msg->markAsSent(date);
@ -76,9 +76,9 @@ ChatMessage::Ptr ChatMessage::createChatInfoMessage(const QString &rawMessage, S
QString img;
switch(type)
{
case INFO: img = ":/ui/chatArea/info.png"; break;
case ERROR: img = ":/ui/chatArea/error.png"; break;
case TYPING: img = ":/ui/chatArea/typing.png"; break;
case INFO: img = ":/ui/chatArea/info.svg"; break;
case ERROR: img = ":/ui/chatArea/error.svg"; break;
case TYPING: img = ":/ui/chatArea/typing.svg"; break;
}
msg->addColumn(new Image(QSizeF(18, 18), img), ColumnFormat(NAME_COL_WIDTH, ColumnFormat::FixedSize, ColumnFormat::Right));

View File

@ -25,6 +25,7 @@
#include <QFile>
#include <QMessageBox>
#include <QDesktopServices>
#include <QPainter>
#include <QDebug>
FileTransferWidget::FileTransferWidget(QWidget *parent, ToxFile file)
@ -45,8 +46,7 @@ FileTransferWidget::FileTransferWidget(QWidget *parent, ToxFile file)
ui->progressLabel->setText("0kiB/s");
ui->etaLabel->setText("");
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/grey.css"));
Style::repolish(this);
setColor(Style::getColor(Style::LightGrey), false);
connect(Core::getInstance(), &Core::fileTransferInfo, this, &FileTransferWidget::onFileTransferInfo);
connect(Core::getInstance(), &Core::fileTransferAccepted, this, &FileTransferWidget::onFileTransferAccepted);
@ -60,7 +60,7 @@ FileTransferWidget::FileTransferWidget(QWidget *parent, ToxFile file)
if(fileInfo.direction == ToxFile::SENDING)
showPreview(fileInfo.filePath);
setFixedHeight(90);
setFixedHeight(80);
}
FileTransferWidget::~FileTransferWidget()
@ -106,6 +106,17 @@ void FileTransferWidget::acceptTransfer(const QString &filepath)
Core::getInstance()->acceptFileRecvRequest(fileInfo.friendId, fileInfo.fileNum, filepath);
}
void FileTransferWidget::setColor(const QColor &c, bool whiteFont)
{
color = c;
setProperty("fontColor", whiteFont ? "white" : "black");
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/filetransferWidget.css"));
Style::repolish(this);
update();
}
bool FileTransferWidget::isFilePathWritable(const QString &filepath)
{
QFile tmp(filepath);
@ -114,6 +125,20 @@ bool FileTransferWidget::isFilePathWritable(const QString &filepath)
return writable;
}
void FileTransferWidget::paintEvent(QPaintEvent *)
{
// required by Hi-DPI support as border-image doesn't work.
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(QBrush(color));
painter.setPen(Qt::NoPen);
qreal s = static_cast<qreal>(geometry().height()) / static_cast<qreal>(geometry().width());
int r = 15;
painter.drawRoundRect(geometry(), r * s, r);
}
void FileTransferWidget::onFileTransferInfo(ToxFile file)
{
QTime now = QTime::currentTime();
@ -176,8 +201,7 @@ void FileTransferWidget::onFileTransferAccepted(ToxFile file)
fileInfo = file;
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/yellow.css"));
Style::repolish(this);
setColor(Style::getColor(Style::Yellow), false);
setupButtons();
}
@ -189,8 +213,7 @@ void FileTransferWidget::onFileTransferCancelled(ToxFile file)
fileInfo = file;
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/red.css"));
Style::repolish(this);
setColor(Style::getColor(Style::Red), true);
setupButtons();
hideWidgets();
@ -213,8 +236,7 @@ void FileTransferWidget::onFileTransferPaused(ToxFile file)
for(size_t i=0; i<TRANSFER_ROLLING_AVG_COUNT; ++i)
meanData[i] = 0.0;
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/grey.css"));
Style::repolish(this);
setColor(Style::getColor(Style::LightGrey), false);
setupButtons();
}
@ -226,8 +248,7 @@ void FileTransferWidget::onFileTransferFinished(ToxFile file)
fileInfo = file;
setStyleSheet(Style::getStylesheet(":/ui/fileTransferInstance/green.css"));
Style::repolish(this);
setColor(Style::getColor(Style::Green), true);
setupButtons();
hideWidgets();
@ -236,7 +257,7 @@ void FileTransferWidget::onFileTransferFinished(ToxFile file)
if(openExtensions.contains(QFileInfo(file.fileName).suffix()))
{
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/browse_path.png"));
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/browse.svg"));
ui->bottomButton->setObjectName("browse");
ui->bottomButton->show();
}
@ -273,32 +294,32 @@ void FileTransferWidget::setupButtons()
switch(fileInfo.status)
{
case ToxFile::TRANSMITTING:
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no_2x.png"));
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no.svg"));
ui->topButton->setObjectName("cancel");
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/pause_2x.png"));
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/pause.svg"));
ui->bottomButton->setObjectName("pause");
break;
case ToxFile::PAUSED:
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no_2x.png"));
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no.svg"));
ui->topButton->setObjectName("cancel");
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/arrow_white_2x.png"));
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/arrow_white.svg"));
ui->bottomButton->setObjectName("resume");
break;
case ToxFile::STOPPED:
case ToxFile::BROKEN: //TODO: ?
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no_2x.png"));
ui->topButton->setIcon(QIcon(":/ui/fileTransferInstance/no.svg"));
ui->topButton->setObjectName("cancel");
if(fileInfo.direction == ToxFile::SENDING)
{
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/pause_2x.png"));
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/pause.svg"));
ui->bottomButton->setObjectName("pause");
}
else
{
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/yes_2x.png"));
ui->bottomButton->setIcon(QIcon(":/ui/fileTransferInstance/yes.svg"));
ui->bottomButton->setObjectName("accept");
}
break;

View File

@ -52,9 +52,12 @@ protected:
void handleButton(QPushButton* btn);
void showPreview(const QString& filename);
void acceptTransfer(const QString& filepath);
void setColor(const QColor& c, bool whiteFont);
bool isFilePathWritable(const QString& filepath);
virtual void paintEvent(QPaintEvent*);
private slots:
void on_topButton_clicked();
void on_bottomButton_clicked();
@ -64,6 +67,7 @@ private:
ToxFile fileInfo;
QTime lastTick;
qint64 lastBytesSent = 0;
QColor color;
static const uint8_t TRANSFER_ROLLING_AVG_COUNT = 4;
uint8_t meanIndex = 0;

View File

@ -14,6 +14,21 @@
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="mainHorizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QFrame" name="frame_3">
<property name="sizePolicy">
@ -35,11 +50,20 @@
<number>0</number>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="leftMargin">
<property name="spacing">
<number>6</number>
</property>
<property name="leftMargin">
<number>5</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>6</number>
<number>2</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
<item>
<widget class="QLabel" name="previewLabel">

View File

@ -21,7 +21,7 @@
Image::Image(QSizeF Size, const QString& filename)
: size(Size)
{
pmap.load(filename);
icon.addFile(filename);
}
QRectF Image::boundingRect() const
@ -43,7 +43,7 @@ void Image::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWi
{
painter->setRenderHint(QPainter::SmoothPixmapTransform);
painter->translate(-size.width() / 2.0, -size.height() / 2.0);
painter->drawPixmap(0, 0, size.width(), size.height(), pmap);
painter->drawPixmap(0, 0, size.width(), size.height(), icon.pixmap(size.toSize()));
Q_UNUSED(option)
Q_UNUSED(widget)

View File

@ -19,6 +19,8 @@
#include "../chatlinecontent.h"
#include <QIcon>
class Image : public ChatLineContent
{
public:
@ -32,7 +34,7 @@ public:
private:
QSizeF size;
QPixmap pmap;
QIcon icon;
};

View File

@ -22,7 +22,7 @@
NotificationIcon::NotificationIcon(QSizeF Size)
: size(Size)
{
pmap.load(":/ui/chatArea/typing.png");
icon.addFile(":/ui/chatArea/typing.svg");
updateTimer = new QTimer(this);
updateTimer->setInterval(1000/60);
@ -44,7 +44,7 @@ void NotificationIcon::paint(QPainter *painter, const QStyleOptionGraphicsItem *
painter->translate(-size.width() / 2.0, -size.height() / 2.0);
painter->fillRect(QRect(0, 0, size.width(), size.height()), grad);
painter->drawPixmap(0, 0, size.width(), size.height(), pmap);
painter->drawPixmap(0, 0, size.width(), size.height(), icon.pixmap(size.toSize() * painter->device()->devicePixelRatio()));
Q_UNUSED(option)
Q_UNUSED(widget)

View File

@ -20,6 +20,7 @@
#include "../chatlinecontent.h"
#include <QLinearGradient>
#include <QIcon>
class QTimer;
@ -40,7 +41,7 @@ private slots:
private:
QSizeF size;
QPixmap pmap;
QIcon icon;
QLinearGradient grad;
QTimer* updateTimer = nullptr;

View File

@ -23,7 +23,7 @@ Spinner::Spinner(const QString &img, QSizeF Size, qreal speed)
: size(Size)
, rotSpeed(speed)
{
pmap.load(img);
icon.addFile(img);
timer.setInterval(33); // 30Hz
timer.setSingleShot(false);
@ -52,7 +52,7 @@ void Spinner::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, Q
painter->translate(-size.width() / 2.0, -size.height() / 2.0);
painter->setTransform(rotMat, true);
painter->setRenderHint(QPainter::SmoothPixmapTransform);
painter->drawPixmap(0, 0, size.width(), size.height(), pmap);
painter->drawPixmap(0, 0, size.width(), size.height(), icon.pixmap(size.toSize() * painter->device()->devicePixelRatio()));
Q_UNUSED(option)
Q_UNUSED(widget)

View File

@ -21,6 +21,7 @@
#include <QTimer>
#include <QObject>
#include <QIcon>
class Spinner : public QObject, public ChatLineContent
{
@ -40,7 +41,7 @@ private slots:
private:
QSizeF size;
QPixmap pmap;
QIcon icon;
qreal rot = 0.0;
qreal rotSpeed;
QTimer timer;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 B

62
ui/chatArea/error.svg Normal file
View File

@ -0,0 +1,62 @@
<?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"
version="1.1"
width="18"
height="18"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-1034.3622)"
id="layer1">
<g
transform="matrix(0.06327074,0,0,0.06293016,-3.8785809,1012.9172)"
id="info">
<g
id="g3770">
<path
d="m 18.056477,9.0033293 a 9.0282383,9.0282383 0 1 1 -18.056477,0 9.0282383,9.0282383 0 1 1 18.056477,0 z"
transform="matrix(15.755659,0,0,15.84093,61.301336,341.16918)"
id="path3000"
style="fill:#c84e4e;fill-opacity:1;stroke:none" />
<g
transform="translate(5.8400555,0.7447856)"
id="g3788"
style="fill:#ffffff">
<path
d="m 208.10484,437.30994 a 24.239483,24.239483 0 1 1 -48.47897,0 24.239483,24.239483 0 1 1 48.47897,0 z"
transform="translate(13.841768,-25.125222)"
id="path3016"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
<rect
width="39.413795"
height="121.56454"
ry="8.9924459"
x="178.00023"
y="456.58124"
id="rect3786"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

62
ui/chatArea/info.svg Normal file
View File

@ -0,0 +1,62 @@
<?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"
version="1.1"
width="18"
height="18"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-1034.3622)"
id="layer1">
<g
transform="matrix(0.06327074,0,0,0.06293016,-3.8785809,1012.9172)"
id="info">
<g
id="g3770">
<path
d="m 18.056477,9.0033293 a 9.0282383,9.0282383 0 1 1 -18.056477,0 9.0282383,9.0282383 0 1 1 18.056477,0 z"
transform="matrix(15.755659,0,0,15.84093,61.301336,341.16918)"
id="path3000"
style="fill:#6bc260;fill-opacity:1;stroke:none" />
<g
transform="translate(5.8400555,0.7447856)"
id="g3788"
style="fill:#ffffff">
<path
d="m 208.10484,437.30994 a 24.239483,24.239483 0 1 1 -48.47897,0 24.239483,24.239483 0 1 1 48.47897,0 z"
transform="translate(13.841768,-25.125222)"
id="path3016"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
<rect
width="39.413795"
height="121.56454"
ry="8.9924459"
x="178.00023"
y="456.58124"
id="rect3786"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

45
ui/chatArea/spinner.svg Normal file
View File

@ -0,0 +1,45 @@
<?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"
version="1.1"
width="18"
height="18"
id="svg3849">
<defs
id="defs3851">
<filter
color-interpolation-filters="sRGB"
id="filter4418">
<feGaussianBlur
id="feGaussianBlur4420"
stdDeviation="0.10811274" />
</filter>
</defs>
<metadata
id="metadata3854">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-1034.3622)"
id="layer1">
<path
d="M 9,1 C 4.581722,1 1,4.581722 1,9 c 0,4.418278 3.581722,8 8,8 3.600455,0 6.621126,-2.384809 7.625,-5.65625 l -2.09375,0 C 13.6204,13.49724 11.485281,15 9,15 5.6862916,15 3,12.313708 3,9 3,5.6862915 5.6862916,3 9,3 c 2.485281,0 4.6204,1.5027597 5.53125,3.65625 l 2.09375,0 C 15.621126,3.3848094 12.600455,1 9,1 z"
transform="translate(0,1034.3622)"
id="path3857"
style="fill:#333333;fill-opacity:1;stroke:none;filter:url(#filter4418)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -7,10 +7,34 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.2"
width="744.09448"
height="1052.3622"
id="svg2">
id="svg2"
inkscape:version="0.48.5 r10040"
sodipodi:docname="symbols.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1386"
id="namedview39"
showgrid="false"
inkscape:zoom="0.89702957"
inkscape:cx="120.52364"
inkscape:cy="577.58784"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4" />
<metadata
@ -53,26 +77,38 @@
id="flowPara2994">!</flowPara></flowRoot> </g>
<g
transform="translate(-18.571423,8.5714286)"
id="info">
id="info"
inkscape:export-xdpi="11.328032"
inkscape:export-ydpi="11.328032">
<path
d="m 448.57143,603.07648 a 189.28572,189.28572 0 1 1 -378.571445,0 189.28572,189.28572 0 1 1 378.571445,0 z"
transform="matrix(0.72483708,0,0,0.72483708,16.345817,46.658532)"
id="path3764"
style="fill:#6bc260;fill-opacity:1;stroke:#1c1c1c;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" />
<flowRoot
transform="matrix(10.669922,0,0,6.1071156,-864.61374,-5333.9476)"
id="flowRoot2988-9"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1c1c1c;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
id="flowRegion2990-3"><rect
width="125.71429"
height="85.714287"
x="95.714287"
y="926.64789"
id="rect2992-2"
style="fill:#1c1c1c;fill-opacity:1" /></flowRegion><flowPara
id="flowPara2994-4"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;font-family:Cantarell;-inkscape-font-specification:Cantarell">i</flowPara></flowRoot> </g>
<g
id="g3788"
transform="translate(6.5785877,0.74522643)"
style="fill:#ffffff">
<path
transform="translate(13.841768,-25.125222)"
d="m 208.10484,437.30994 c 0,13.38709 -10.85239,24.23948 -24.23948,24.23948 -13.3871,0 -24.23949,-10.85239 -24.23949,-24.23948 0,-13.3871 10.85239,-24.23949 24.23949,-24.23949 13.38709,0 24.23948,10.85239 24.23948,24.23949 z"
sodipodi:ry="24.239483"
sodipodi:rx="24.239483"
sodipodi:cy="437.30994"
sodipodi:cx="183.86536"
id="path3016"
style="fill:#ffffff;fill-opacity:1;stroke:none"
sodipodi:type="arc" />
<rect
ry="8.9924459"
y="456.58124"
x="178.00023"
height="121.56454"
width="39.413795"
id="rect3786"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</g>
</g>
<g
transform="translate(-342.85714,-295.71428)"
id="g3850">
@ -97,25 +133,37 @@
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ffffff;fill-opacity:1;font-family:Aller;-inkscape-font-specification:Aller">i</flowPara></flowRoot> </g>
<g
transform="translate(330.16534,365.19627)"
id="error">
id="error"
inkscape:export-xdpi="5.6643357"
inkscape:export-ydpi="5.6643357">
<path
d="m 341.48702,483.79073 a 137.20131,137.20131 0 0 1 -274.402618,0 137.20131,137.20131 0 1 1 274.402618,0 z"
id="path3764-6"
style="fill:#c84e4e;fill-opacity:1;stroke:#1c1c1c;stroke-width:11.59739304;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0" />
<flowRoot
transform="matrix(10.669922,0,0,6.1071156,-864.61374,-5333.9641)"
id="flowRoot2988-9-8"
xml:space="preserve"
style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#1c1c1c;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
id="flowRegion2990-3-8"><rect
width="125.71429"
height="85.714287"
x="95.714287"
y="926.64789"
id="rect2992-2-0"
style="fill:#1c1c1c;fill-opacity:1" /></flowRegion><flowPara
id="flowPara2994-4-4"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;text-anchor:start;font-family:Cantarell;-inkscape-font-specification:Cantarell">i</flowPara></flowRoot> </g>
<g
id="g3788-0"
transform="translate(6.5785866,0.72866166)"
style="fill:#ffffff">
<path
transform="translate(13.841768,-25.125222)"
d="m 208.10484,437.30994 c 0,13.38709 -10.85239,24.23948 -24.23948,24.23948 -13.3871,0 -24.23949,-10.85239 -24.23949,-24.23948 0,-13.3871 10.85239,-24.23949 24.23949,-24.23949 13.38709,0 24.23948,10.85239 24.23948,24.23949 z"
sodipodi:ry="24.239483"
sodipodi:rx="24.239483"
sodipodi:cy="437.30994"
sodipodi:cx="183.86536"
id="path3016-8"
style="fill:#ffffff;fill-opacity:1;stroke:none"
sodipodi:type="arc" />
<rect
ry="8.9924459"
y="456.58124"
x="178.00023"
height="121.56454"
width="39.413795"
id="rect3786-2"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</g>
</g>
<path
d="m 591.05751,386.8743 36.87891,5.31312 m -55.64044,122.34813 36.87889,5.31308 m -15.45524,-156.42803 -21.93151,152.22907 14.10828,35.26976 23.49041,-29.85297 21.93142,-152.22911 z"
id="path3012-0"

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

61
ui/chatArea/typing.svg Normal file
View File

@ -0,0 +1,61 @@
<?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="18"
height="18"
id="svg3815"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="Neues Dokument 5">
<defs
id="defs3817" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.4"
inkscape:cx="23.994336"
inkscape:cy="16.050687"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1386"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1" />
<metadata
id="metadata3820">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1034.3622)">
<path
inkscape:connector-curvature="0"
d="m 0,1034.3622 0,18 18,0 0,-18 -18,0 z m 3.9500533,11.7834 a 2.2475413,2.148285 0 0 1 2.1829252,2.1482 2.2475416,2.1482852 0 0 1 -4.4950832,0 2.2475413,2.148285 0 0 1 2.312158,-2.1482 z m 5.1159617,0 a 2.2475413,2.148285 0 0 1 2.18293,2.1482 2.2475417,2.1482853 0 0 1 -4.4950834,0 2.2475413,2.148285 0 0 1 2.3121534,-2.1482 z m 5.11597,0 a 2.2475413,2.148285 0 0 1 2.18012,2.1482 2.2475435,2.1482871 0 0 1 -4.495087,0 2.2475413,2.148285 0 0 1 2.314967,-2.1482 z"
id="mask"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,23 @@
<?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"
version="1.1"
width="12"
height="12"
viewBox="0 0 12 12"
id="Layer_1"
xml:space="preserve"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><polygon
points="3.572,6.187 0,0 7.145,0 "
transform="matrix(0,-1.3815919,1.3815919,0,1.7260455,10.935737)"
id="polygon3"
style="fill:#ffffff" /></svg>

After

Width:  |  Height:  |  Size: 888 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 493 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

View File

@ -7,34 +7,73 @@
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="26"
height="25"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="browse.svg">
width="12"
height="12"
id="svg2">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="11.2"
inkscape:cx="20.11967"
inkscape:cy="30.550679"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1025"
inkscape:window-x="-2"
inkscape:window-y="-3"
inkscape:window-maximized="1" />
id="defs4">
<marker
refX="0"
refY="0"
orient="auto"
id="TriangleOutS"
style="overflow:visible">
<path
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
transform="scale(0.2,0.2)"
id="path3926"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
</marker>
<marker
refX="0"
refY="0"
orient="auto"
id="Arrow2Send"
style="overflow:visible">
<path
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
id="path3811"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
</marker>
<marker
refX="0"
refY="0"
orient="auto"
id="TriangleInS"
style="overflow:visible">
<path
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
transform="scale(-0.2,-0.2)"
id="path3917"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
</marker>
<marker
refX="0"
refY="0"
orient="auto"
id="DiamondSstart"
style="overflow:visible">
<path
d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 z"
transform="matrix(0.2,0,0,0.2,1.2,0)"
id="path3872"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
</marker>
<marker
refX="0"
refY="0"
orient="auto"
id="TriangleOutL"
style="overflow:visible">
<path
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
transform="scale(0.8,0.8)"
id="path3920"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
</marker>
</defs>
<metadata
id="metadata7">
<rdf:RDF>
@ -48,39 +87,33 @@
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-2079.7244)">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none"
d="M 0.46660712,2089.1244 C 0.20855731,2089.1244 0,2089.2976 0,2089.5144 l 0,14.818 c 0,0.2168 0.20855731,0.392 0.46660712,0.392 l 25.06678488,0 c 0.258051,0 0.466608,-0.1752 0.466608,-0.392 l 0,-14.818 c 0,-0.2168 -0.208557,-0.39 -0.466608,-0.39 l -4.733392,0 0,11.0175 c 0,0.2167 -0.208557,0.392 -0.466607,0.392 l -14.6667858,0 c -0.2580499,0 -0.4666071,-0.1753 -0.4666071,-0.392 l 0,-11.0175 -4.73339298,0 z"
id="rect2985"
inkscape:connector-curvature="0"
inkscape:export-filename="/home/paul/browse_path.png"
inkscape:export-xdpi="6.6857142"
inkscape:export-ydpi="6.6857142" />
<path
sodipodi:type="arc"
style="fill:#ffffff;fill-opacity:1;stroke:none"
id="path2990"
sodipodi:cx="170"
sodipodi:cy="902.36218"
sodipodi:rx="80"
sodipodi:ry="80"
d="m 250,902.36218 c 0,44.18278 -35.81722,80 -80,80 -44.18278,0 -80,-35.81722 -80,-80 0,-44.18278 35.81722,-80 80,-80 44.18278,0 80,35.81722 80,80 z"
transform="matrix(0.05372449,0,0,0.05372449,4.1321428,2046.216)"
inkscape:export-filename="/home/paul/browse_path.png"
inkscape:export-xdpi="6.6857142"
inkscape:export-ydpi="6.6857142" />
<path
style="fill:#ffffff;stroke:none"
d="m 11.790581,2089.198 0,-5.1357 -3.5854032,0 4.8926642,-4.3922 4.652807,4.3922 -3.262118,0 0.05176,5.1357 z"
id="path2994"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc"
inkscape:export-filename="/home/paul/browse_path.png"
inkscape:export-xdpi="6.6857142"
inkscape:export-ydpi="6.6857142" />
transform="translate(0,-2092.7244)"
id="layer1">
<g
id="g6659"
style="fill:#999999">
<path
d="m 0.99206881,2098.1979 c -0.10310776,0 -0.18644079,0.07 -0.18644079,0.1559 l 0,5.9208 c 0,0.087 0.0833323,0.1566 0.18644079,0.1566 l 10.01586219,0 c 0.103108,0 0.186441,-0.07 0.186441,-0.1566 l 0,-5.9208 c 0,-0.087 -0.08334,-0.1559 -0.186441,-0.1559 l -1.8913078,0 0,4.4022 c 0,0.087 -0.083329,0.1567 -0.1864405,0.1567 l -5.8603649,0 c -0.1031078,0 -0.1864408,-0.07 -0.1864408,-0.1567 l 0,-4.4022 -1.8913082,0 z"
id="rect2985"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
<path
d="m 250,902.36218 a 80,80 0 1 1 -160,0 80,80 0 1 1 160,0 z"
transform="matrix(0.02146655,0,0,0.02146655,2.3506865,2081.0532)"
id="path2990"
style="fill:#ffffff;fill-opacity:1;stroke:none" />
<g
transform="matrix(1.7576144,0,0,1,-4.6547815,0)"
id="g6651"
style="fill:#ffffff;fill-opacity:1;stroke:none">
<path
d="m 5.5625,2094.9688 0,3.1874 1,0 0,-3.1874 -1,0 z"
id="path4954"
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
<path
d="m 6.06207,2093.8266 1,1.73 -2,0 1,-1.73 z"
id="path6657"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none" />
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

View File

@ -1,13 +1,10 @@
QFrame {
border-image: url(:/ui/fileTransferInstance/background_red.png);
border-left:25; padding-left:-25;
border-top:28; padding-top:-28;
border-right:25; padding-right:-25;
border-bottom:28; padding-bottom:-28;
[fontColor="white"] QLabel {
color:white;
font:@medium;
}
QLabel {
color:white;
[fontColor="black"] QLabel {
color:black;
font:@medium;
}

View File

@ -1,28 +0,0 @@
QFrame {
border-image: url(:/ui/fileTransferInstance/background_green.png);
border-left:25; padding-left:-25;
border-top:28; padding-top:-28;
border-right:25; padding-right:-25;
border-bottom:28; padding-bottom:-28;
}
QLabel {
color:white;
font:@medium;
}
QPushButton {
margin:0;
}
QProgressBar {
border: 2px solid black;
border-radius: 0px;
color: white;
background-color:white;
}
QProgressBar::chunk {
background-color: black;
width: 20px;
}

View File

@ -1,28 +0,0 @@
QFrame {
border-image: url(:/ui/fileTransferInstance/background_grey.png);
border-left:25; padding-left:-25;
border-top:28; padding-top:-28;
border-right:25; padding-right:-25;
border-bottom:28; padding-bottom:-28;
}
QLabel {
color:black;
font:@medium;
}
QPushButton {
margin:0;
}
QProgressBar {
border: 2px solid black;
border-radius: 0px;
color: white;
background-color:white;
}
QProgressBar::chunk {
background-color: black;
width: 20px;
}

View File

@ -0,0 +1,23 @@
<?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"
version="1.1"
width="12"
height="12"
viewBox="0 0 11.999999 12"
id="Layer_1"
xml:space="preserve"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><polygon
points="10.086,1.692 8.395,0 5.043,3.351 1.693,0.001 0,1.693 3.35,5.043 0,8.394 1.693,10.086 5.043,6.736 8.395,10.087 10.086,8.394 6.734,5.043 "
transform="matrix(0.9760279,0,0,0.97003785,1.0778908,1.1076141)"
id="polygon3"
style="fill:#ffffff" /></svg>

After

Width:  |  Height:  |  Size: 1006 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 B

View File

@ -0,0 +1,33 @@
<?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"
version="1.1"
width="12"
height="12"
viewBox="0 0 12.000001 12"
id="Layer_1"
xml:space="preserve"><metadata
id="metadata13"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs11" /><g
transform="matrix(0.91525423,0,0,0.91525423,2.1550175,1.6983052)"
id="g3"><rect
width="2.395"
height="9.3979998"
x="0"
y="0.0020000001"
id="rect5"
style="fill:#ffffff" /><rect
width="2.395"
height="9.3999996"
x="6.007"
y="0"
id="rect7"
style="fill:#ffffff" /></g></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 B

View File

@ -1,28 +0,0 @@
QFrame {
border-image: url(:/ui/fileTransferInstance/background_yellow.png);
border-left:25; padding-left:-25;
border-top:28; padding-top:-28;
border-right:25; padding-right:-25;
border-bottom:28; padding-bottom:-28;
}
QLabel {
color:black;
font:@medium;
}
QPushButton {
margin:0;
}
QProgressBar {
border: 2px solid black;
border-radius: 0px;
color: white;
background-color:white;
}
QProgressBar::chunk {
background-color: black;
width: 20px;
}

View File

@ -0,0 +1,22 @@
<?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"
version="1.1"
width="12"
height="12"
viewBox="0 0 11.999999 12"
id="Layer_1"
xml:space="preserve"><metadata
id="metadata9"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs7" /><path
d="M 10.046766,3.1549565 4.5738581,8.8450436 1.9532328,6.2533755"
id="path2999"
style="fill:none;stroke:#ffffff;stroke-width:1.91624641;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /></svg>

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B