diff --git a/res.qrc b/res.qrc
index fe47fbbe7..55df2abba 100644
--- a/res.qrc
+++ b/res.qrc
@@ -44,7 +44,71 @@
img/taskbar/light/taskbar_offline.svg
img/taskbar/light/taskbar_event.svg
img/transfer.svg
- themes/default/fileTransferWidget/fileDone.svg
+ themes/dark/fileTransferWidget/fileDone.svg
+ themes/dark/centralWidget/centralWidget.css
+ themes/dark/chatArea/chatArea.css
+ themes/dark/chatArea/chatHead.css
+ themes/dark/chatArea/innerStyle.css
+ themes/dark/chatArea/scrollBarUpArrow.svg
+ themes/dark/chatArea/scrollBarDownArrow.svg
+ themes/dark/chatArea/scrollBarLeftArrow.svg
+ themes/dark/chatArea/scrollBarRightArrow.svg
+ themes/dark/chatForm/buttons.css
+ themes/dark/chatForm/fullScreenButtons.css
+ themes/dark/chatForm/callButton.svg
+ themes/dark/chatForm/labels.css
+ themes/dark/chatForm/micButton.svg
+ themes/dark/chatForm/micButtonRed.svg
+ themes/dark/chatForm/videoButton.svg
+ themes/dark/chatForm/videoButtonRed.svg
+ themes/dark/chatForm/volButton.svg
+ themes/dark/chatForm/volButtonRed.svg
+ themes/dark/chatForm/videoPreview.svg
+ themes/dark/chatForm/videoPreviewRed.svg
+ themes/dark/chatForm/emoteButton.svg
+ themes/dark/chatForm/fileButton.svg
+ themes/dark/chatForm/screenshotButton.svg
+ themes/dark/chatForm/searchCalendarButton.svg
+ themes/dark/chatForm/searchDownButton.svg
+ themes/dark/chatForm/searchHideButton.svg
+ themes/dark/chatForm/searchSettingsButton.svg
+ themes/dark/chatForm/searchUpButton.svg
+ themes/dark/chatForm/sendButton.svg
+ themes/dark/chatForm/exitFullScreenButton.svg
+ themes/dark/emoticonWidget/dot_page.svg
+ themes/dark/emoticonWidget/dot_page_current.svg
+ themes/dark/emoticonWidget/dot_page_hover.svg
+ themes/dark/emoticonWidget/emoticonWidget.css
+ themes/dark/fileTransferWidget/fileTransferWidget.css
+ themes/dark/friendList/friendList.css
+ themes/dark/msgEdit/msgEdit.css
+ themes/dark/settings/mainContent.css
+ themes/dark/settings/mainHead.css
+ themes/dark/statusButton/statusButton.css
+ themes/dark/statusButton/menu_indicator.svg
+ themes/dark/window/general.css
+ themes/dark/window/profile.css
+ themes/dark/window/statusPanel.css
+ themes/dark/window/window.css
+ themes/dark/chatArea/info.svg
+ themes/dark/chatArea/spinner.svg
+ themes/dark/chatArea/typing.svg
+ themes/dark/chatArea/error.svg
+ themes/dark/fileTransferInstance/no.svg
+ themes/dark/fileTransferInstance/pause.svg
+ themes/dark/fileTransferInstance/yes.svg
+ themes/dark/fileTransferInstance/dir.svg
+ themes/dark/fileTransferInstance/arrow_white.svg
+ themes/dark/fileTransferInstance/browse.svg
+ themes/dark/fileTransferInstance/filetransferWidget.css
+ themes/dark/genericChatForm/genericChatForm.css
+ themes/dark/acceptCall/acceptCall.svg
+ themes/dark/rejectCall/rejectCall.svg
+ themes/dark/notificationEdge/notificationEdge.css
+ themes/dark/loginScreen/loginScreen.css
+ themes/dark/contentDialog/contentDialog.css
+ themes/dark/tooliconsZone/tooliconsZone.css
+ themes/default/fileTransferWidget/fileDone.svg
themes/default/centralWidget/centralWidget.css
themes/default/chatArea/chatArea.css
themes/default/chatArea/chatHead.css
@@ -101,6 +165,7 @@
themes/default/fileTransferInstance/arrow_white.svg
themes/default/fileTransferInstance/browse.svg
themes/default/fileTransferInstance/filetransferWidget.css
+ themes/default/genericChatForm/genericChatForm.css
themes/default/acceptCall/acceptCall.svg
themes/default/rejectCall/rejectCall.svg
img/login_logo.svg
diff --git a/src/chatlog/chatlog.cpp b/src/chatlog/chatlog.cpp
index f21eecc8f..c999e8d71 100644
--- a/src/chatlog/chatlog.cpp
+++ b/src/chatlog/chatlog.cpp
@@ -23,6 +23,7 @@
#include "chatmessage.h"
#include "content/filetransferwidget.h"
#include "src/widget/translator.h"
+#include "src/widget/style.h"
#include
#include
@@ -65,7 +66,8 @@ ChatLog::ChatLog(QWidget* parent)
setDragMode(QGraphicsView::NoDrag);
setViewportUpdateMode(MinimalViewportUpdate);
setContextMenuPolicy(Qt::CustomContextMenu);
- setBackgroundBrush(QBrush(Qt::white, Qt::SolidPattern));
+// setBackgroundBrush(QBrush(Qt::white, Qt::SolidPattern)); // NOTE: default
+ setBackgroundBrush(QBrush(Style::getColor(Style::White), Qt::SolidPattern)); // NOTE: dark
// The selection rect for multi-line selection
selGraphItem = scene->addRect(0, 0, 0, 0, selectionRectColor.darker(120), selectionRectColor);
diff --git a/src/chatlog/chatmessage.cpp b/src/chatlog/chatmessage.cpp
index 42f4ea2e2..8f5eb2216 100644
--- a/src/chatlog/chatmessage.cpp
+++ b/src/chatlog/chatmessage.cpp
@@ -51,7 +51,8 @@ ChatMessage::Ptr ChatMessage::createChatMessage(const QString& sender, const QSt
QString senderText = sender;
const QColor actionColor =
- QColor("#1818FF"); // has to match the color in innerStyle.css (div.action)
+// QColor("#1818FF"); // has to match the color in innerStyle.css (div.action) // NOTE: Default
+ QColor("#546eff"); // NOTE: Dark
// smileys
if (Settings::getInstance().getUseEmoticons())
@@ -88,7 +89,8 @@ ChatMessage::Ptr ChatMessage::createChatMessage(const QString& sender, const QSt
if (isMe)
authorFont.setBold(true);
- QColor color = QColor(0, 0, 0);
+// QColor color = QColor(0, 0, 0); // NOTE: Default
+ QColor color = QColor("#c3c3c3"); // NOTE: Dark
QColor authorColor;
if (colorizeName && Settings::getInstance().getEnableGroupChatsColor())
diff --git a/src/chatlog/content/text.cpp b/src/chatlog/content/text.cpp
index f6f1d2fb1..c5309bdeb 100644
--- a/src/chatlog/content/text.cpp
+++ b/src/chatlog/content/text.cpp
@@ -43,6 +43,7 @@ Text::Text(const QString& txt, const QFont& font, bool enableElide, const QStrin
, defStyleSheet(Style::getStylesheet(QStringLiteral("chatArea/innerStyle.css"), font))
, color(c)
{
+ QString ct = c.name();
setText(txt);
setAcceptedMouseButtons(Qt::LeftButton);
setAcceptHoverEvents(true);
diff --git a/src/chatlog/content/text.h b/src/chatlog/content/text.h
index 91b0c7f84..9bdb491e1 100644
--- a/src/chatlog/content/text.h
+++ b/src/chatlog/content/text.h
@@ -32,7 +32,8 @@ class Text : public ChatLineContent
public:
Text(const QString& txt = "", const QFont& font = QFont(), bool enableElide = false,
- const QString& rawText = QString(), const QColor c = Qt::black);
+// const QString& rawText = QString(), const QColor c = Qt::black); // NOTE: Default
+ const QString& rawText = QString(), const QColor c = QColor("#c3c3c3")); // NOTE: Dark
virtual ~Text();
void setText(const QString& txt);
diff --git a/src/widget/form/genericchatform.cpp b/src/widget/form/genericchatform.cpp
index d75aecdb0..a2c95f425 100644
--- a/src/widget/form/genericchatform.cpp
+++ b/src/widget/form/genericchatform.cpp
@@ -170,6 +170,8 @@ GenericChatForm::GenericChatForm(const Contact* contact, QWidget* parent)
fileLayout->setSpacing(0);
fileLayout->setMargin(0);
+ setStyleSheet(Style::getStylesheet("genericChatForm/genericChatForm.css"));
+
msgEdit->setStyleSheet(Style::getStylesheet("msgEdit/msgEdit.css")
+ fontToCss(s.getChatMessageFont(), "QTextEdit"));
msgEdit->setFixedHeight(MESSAGE_EDIT_HEIGHT);
diff --git a/src/widget/style.cpp b/src/widget/style.cpp
index 05d534c80..a87093b09 100644
--- a/src/widget/style.cpp
+++ b/src/widget/style.cpp
@@ -64,7 +64,7 @@
namespace {
const QLatin1Literal ThemeSubFolder{"themes/"};
- const QLatin1Literal BuiltinThemePath{":themes/default/"};
+ const QLatin1Literal BuiltinThemePath{":themes/dark/"};
}
// helper functions
@@ -83,13 +83,22 @@ QString qssifyFont(QFont font)
// colors as defined in
// https://github.com/ItsDuke/Tox-UI/blob/master/UI%20GUIDELINES.md
-static QColor palette[] = {
- QColor("#6bc260"), QColor("#cebf44"), QColor("#c84e4e"), QColor("#000000"), QColor("#1c1c1c"),
- QColor("#414141"), QColor("#414141").lighter(120), QColor("#d1d1d1"), QColor("#ffffff"),
+//static QColor palette[] = { // NOTE: Default
+// QColor("#6bc260"), QColor("#cebf44"), QColor("#c84e4e"), QColor("#000000"), QColor("#1c1c1c"),
+// QColor("#414141"), QColor("#414141").lighter(120), QColor("#d1d1d1"), QColor("#ffffff"),
+// QColor("#ff7700"),
+
+// // Theme colors
+// QColor("#1c1c1c"), QColor("#2a2a2a"), QColor("#414141"), QColor("#4e4e4e"),
+//};
+
+static QColor palette[] = { // NOTE: Dark
+ QColor("#6bc260"), QColor("#cebf44"), QColor("#c84e4e"), QColor("#000000"), QColor("#c3c3c3"),
+ QColor("#d1d1d1"), QColor("#100f0f").lighter(120), QColor("#d1d1d1"), QColor("#201f1f"),
QColor("#ff7700"),
// Theme colors
- QColor("#1c1c1c"), QColor("#2a2a2a"), QColor("#414141"), QColor("#4e4e4e"),
+ QColor("#1c1c1c"), QColor("#2a2a2a"), QColor("#100f0f"), QColor("#201f1f"),
};
static QMap dict;
@@ -318,8 +327,10 @@ void Style::setThemeColor(const QColor& color)
// Reset to default
palette[ThemeDark] = QColor("#1c1c1c");
palette[ThemeMediumDark] = QColor("#2a2a2a");
- palette[ThemeMedium] = QColor("#414141");
- palette[ThemeLight] = QColor("#4e4e4e");
+// palette[ThemeMedium] = QColor("#414141"); // NOTE: Default
+ palette[ThemeMedium] = QColor("#100f0f"); // NOTE: Dark
+// palette[ThemeLight] = QColor("#4e4e4e"); // MOTE: Default
+ palette[ThemeLight] = QColor("#201f1f"); // MOTE: Dark
} else {
palette[ThemeDark] = color.darker(155);
palette[ThemeMediumDark] = color.darker(135);
diff --git a/src/widget/widget.cpp b/src/widget/widget.cpp
index eef00170d..96cc99e89 100644
--- a/src/widget/widget.cpp
+++ b/src/widget/widget.cpp
@@ -677,6 +677,8 @@ void Widget::onSeparateWindowChanged(bool separate, bool clicked)
}
QWidget* contentWidget = new QWidget(this);
+ contentWidget->setObjectName("contentWidget");
+
contentLayout = new ContentLayout(contentWidget);
ui->mainSplitter->addWidget(contentWidget);
diff --git a/themes/dark/acceptCall/acceptCall.svg b/themes/dark/acceptCall/acceptCall.svg
new file mode 100644
index 000000000..3938b6e2c
--- /dev/null
+++ b/themes/dark/acceptCall/acceptCall.svg
@@ -0,0 +1,45 @@
+
+
+
+
diff --git a/themes/dark/centralWidget/centralWidget.css b/themes/dark/centralWidget/centralWidget.css
new file mode 100644
index 000000000..caa044dcf
--- /dev/null
+++ b/themes/dark/centralWidget/centralWidget.css
@@ -0,0 +1,24 @@
+QLabel
+{
+ color: #c3c3c3;
+}
+
+QLineEdit
+{
+ color: #c3c3c3;
+}
+
+QTextEdit
+{
+ color: #c3c3c3;
+}
+
+QSpinBox
+{
+ color: #c3c3c3;
+}
+
+QListView
+{
+ color: #c3c3c3;
+}
diff --git a/themes/dark/chatArea/chatArea.css b/themes/dark/chatArea/chatArea.css
new file mode 100644
index 000000000..0d04c2634
--- /dev/null
+++ b/themes/dark/chatArea/chatArea.css
@@ -0,0 +1,15 @@
+QTextEdit
+{
+ background: white;
+ color: black;
+}
+
+QGraphicsView
+{
+ border: none;
+}
+
+QWidget
+{
+ background: #201f1f;
+}
diff --git a/themes/dark/chatArea/chatHead.css b/themes/dark/chatArea/chatHead.css
new file mode 100644
index 000000000..0955fa69a
--- /dev/null
+++ b/themes/dark/chatArea/chatHead.css
@@ -0,0 +1,42 @@
+QLineEdit
+{
+ color: @black;
+ background: white;
+ border: 0px;
+}
+
+#nameLabel
+{
+ color: #c3c3c3;
+ font: @mediumBold;
+ font-size:12px;
+}
+
+#statusLabel
+{
+ color: @mediumGrey;
+ font: @medium;
+ font-size:12px;
+}
+
+#peersLabel
+{
+ color: @mediumGrey;
+ font: @medium;
+ font-size:12px;
+}
+
+QLabel[peerType="our"]
+{
+ color: green;
+}
+
+QLabel[peerType="muted"]
+{
+ color: darkred;
+}
+
+QLabel[playingAudio="true"]
+{
+ font-weight: bold;
+}
diff --git a/themes/dark/chatArea/error.svg b/themes/dark/chatArea/error.svg
new file mode 100644
index 000000000..4a28a42fa
--- /dev/null
+++ b/themes/dark/chatArea/error.svg
@@ -0,0 +1,62 @@
+
+
+
+
diff --git a/themes/dark/chatArea/info.svg b/themes/dark/chatArea/info.svg
new file mode 100644
index 000000000..c6eb5b0e4
--- /dev/null
+++ b/themes/dark/chatArea/info.svg
@@ -0,0 +1,62 @@
+
+
+
+
diff --git a/themes/dark/chatArea/innerStyle.css b/themes/dark/chatArea/innerStyle.css
new file mode 100644
index 000000000..fcb5b5486
--- /dev/null
+++ b/themes/dark/chatArea/innerStyle.css
@@ -0,0 +1,37 @@
+body {
+ font: @baseFont;
+}
+
+p {
+ white-space: pre-wrap;
+}
+
+.action {
+ color: #546eff;
+ font-style: italic;
+ font-weight: bold;
+}
+
+.typing {
+ color: @mediumGreyLight;
+}
+
+.quote {
+ color: #279419;
+}
+
+.alert {
+ margin-left: 0px;
+ margin-right: 0px;
+ background-color: @orange;
+}
+
+.alert_name {
+ background-color: @orange;
+ font: @bigBold;
+}
+
+a {
+ color: #d292ff;
+ font-weight: bold
+}
diff --git a/themes/dark/chatArea/scrollBarDownArrow.svg b/themes/dark/chatArea/scrollBarDownArrow.svg
new file mode 100644
index 000000000..6c1713ffc
--- /dev/null
+++ b/themes/dark/chatArea/scrollBarDownArrow.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatArea/scrollBarLeftArrow.svg b/themes/dark/chatArea/scrollBarLeftArrow.svg
new file mode 100644
index 000000000..90406d516
--- /dev/null
+++ b/themes/dark/chatArea/scrollBarLeftArrow.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatArea/scrollBarRightArrow.svg b/themes/dark/chatArea/scrollBarRightArrow.svg
new file mode 100644
index 000000000..4d63e65cb
--- /dev/null
+++ b/themes/dark/chatArea/scrollBarRightArrow.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatArea/scrollBarUpArrow.svg b/themes/dark/chatArea/scrollBarUpArrow.svg
new file mode 100644
index 000000000..da4930657
--- /dev/null
+++ b/themes/dark/chatArea/scrollBarUpArrow.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatArea/spinner.svg b/themes/dark/chatArea/spinner.svg
new file mode 100644
index 000000000..0887474b8
--- /dev/null
+++ b/themes/dark/chatArea/spinner.svg
@@ -0,0 +1,43 @@
+
+
diff --git a/themes/dark/chatArea/symbols.svg b/themes/dark/chatArea/symbols.svg
new file mode 100644
index 000000000..68ef8e4b6
--- /dev/null
+++ b/themes/dark/chatArea/symbols.svg
@@ -0,0 +1,208 @@
+
+
+
+
diff --git a/themes/dark/chatArea/typing.svg b/themes/dark/chatArea/typing.svg
new file mode 100644
index 000000000..35c3e1d5b
--- /dev/null
+++ b/themes/dark/chatArea/typing.svg
@@ -0,0 +1,61 @@
+
+
+
+
diff --git a/themes/dark/chatForm/buttons.css b/themes/dark/chatForm/buttons.css
new file mode 100644
index 000000000..11316d9c3
--- /dev/null
+++ b/themes/dark/chatForm/buttons.css
@@ -0,0 +1,183 @@
+/* Message edit */
+
+QAbstractButton#emoteButton
+{
+ background-image: url("@getImagePath(chatForm/emoteButton.svg)");
+ border-top-right-radius: 5px;
+ width: 24px;
+ height: 24px;
+}
+
+QAbstractButton#fileButton
+{
+ background-image: url("@getImagePath(chatForm/fileButton.svg)");
+ border-bottom-right-radius: 5px;
+ width: 24px;
+ height: 24px;
+}
+
+QAbstractButton#screenshotButton
+{
+ background-image: url("@getImagePath(chatForm/screenshotButton.svg)");
+ border-top-left-radius: 5px;
+ width: 24px;
+ height: 24px;
+}
+
+QAbstractButton#sendButton
+{
+ background-image: url("@getImagePath(chatForm/sendButton.svg)");
+ border-radius: 5px;
+ width: 50px;
+ height: 50px;
+
+}
+
+/* Header */
+
+QAbstractButton#volButton
+{
+ border-image: url("@getImagePath(chatForm/volButton.svg)");
+ border-radius: 5px;
+ width: 22px;
+ height: 18px;
+}
+
+QAbstractButton#micButton
+{
+ border-image: url("@getImagePath(chatForm/micButton.svg)");
+ border-radius: 5px;
+ width: 22px;
+ height: 18px;
+}
+
+QAbstractButton#videoButton
+{
+ background-image: url("@getImagePath(chatForm/videoButton.svg)");
+ border-radius: 5px;
+ width: 50px;
+ height: 40px;
+}
+
+QAbstractButton#callButton
+{
+ background-image: url("@getImagePath(chatForm/callButton.svg)");
+ border-radius: 5px;
+ width: 50px;
+ height: 40px;
+}
+
+/* SearchLine */
+
+QAbstractButton#searchSettingsButton
+{
+ background-image: url("@getImagePath(chatForm/searchSettingsButton.svg)");
+ border-radius: 5px;
+ width: 35px;
+ height: 35px;
+}
+
+QAbstractButton#searchHideButton
+{
+ background-image: url("@getImagePath(chatForm/searchHideButton.svg)");
+ border-radius: 5px;
+ width: 35px;
+ height: 35px;
+}
+
+QAbstractButton#searchUpButton
+{
+ background-image: url("@getImagePath(chatForm/searchUpButton.svg)");
+ border-radius: 5px;
+ width: 35px;
+ height: 35px;
+}
+
+QAbstractButton#searchDownButton
+{
+ background-image: url("@getImagePath(chatForm/searchDownButton.svg)");
+ border-radius: 5px;
+ width: 35px;
+ height: 35px;
+}
+
+QAbstractButton#choiceDateButton
+{
+ background-image: url("@getImagePath(chatForm/searchCalendarButton.svg)");
+ border-radius: 5px;
+ width: 45px;
+ height: 35px;
+}
+
+QAbstractButton#startButton
+{
+ border-radius: 5px;
+ width: 60px;
+ height: 35px;
+ color: #fff
+}
+
+/* Common */
+
+QAbstractButton
+{
+ background-repeat: none;
+ background-position: center;
+ border: none;
+}
+
+QAbstractButton:disabled
+{
+ color: gray;
+ background-color: #515151;
+}
+
+QAbstractButton:focus
+{
+ outline: none;
+}
+
+QAbstractButton[state="green"]
+{
+ background-color: #529449;
+}
+
+QAbstractButton[state="green"]:hover
+{
+ background-color: #589f4e;
+}
+
+QAbstractButton[state="green"]:pressed
+{
+ background-color: #437a3c;
+}
+
+QAbstractButton[state="red"]
+{
+ background-color: #9e2525;
+}
+
+QAbstractButton[state="red"]:hover
+{
+ background-color: #bd2c2c;
+}
+
+QAbstractButton[state="red"]:pressed
+{
+ background-color: #8f2121;
+}
+
+QAbstractButton[state="yellow"]
+{
+ background-color: #e6a850;
+}
+
+QAbstractButton[state="yellow"]:hover
+{
+ background-color: #e6bd5d;
+}
+
+QAbstractButton[state="yellow"]:pressed
+{
+ background-color: #e6843e;
+}
diff --git a/themes/dark/chatForm/callButton.svg b/themes/dark/chatForm/callButton.svg
new file mode 100644
index 000000000..3af0fdc19
--- /dev/null
+++ b/themes/dark/chatForm/callButton.svg
@@ -0,0 +1,22 @@
+
+
+
+
diff --git a/themes/dark/chatForm/emoteButton.svg b/themes/dark/chatForm/emoteButton.svg
new file mode 100644
index 000000000..2acca2c20
--- /dev/null
+++ b/themes/dark/chatForm/emoteButton.svg
@@ -0,0 +1,28 @@
+
+
+
+
diff --git a/themes/dark/chatForm/exitFullScreenButton.svg b/themes/dark/chatForm/exitFullScreenButton.svg
new file mode 100644
index 000000000..6e7159f0a
--- /dev/null
+++ b/themes/dark/chatForm/exitFullScreenButton.svg
@@ -0,0 +1,42 @@
+
+
+
+
diff --git a/themes/dark/chatForm/fileButton.svg b/themes/dark/chatForm/fileButton.svg
new file mode 100644
index 000000000..284cd5cdd
--- /dev/null
+++ b/themes/dark/chatForm/fileButton.svg
@@ -0,0 +1,27 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatForm/fullScreenButtons.css b/themes/dark/chatForm/fullScreenButtons.css
new file mode 100644
index 000000000..1fdc96e2e
--- /dev/null
+++ b/themes/dark/chatForm/fullScreenButtons.css
@@ -0,0 +1,78 @@
+QFrame
+{
+ background-color: rgba(50, 50, 50, 0.6);
+ border-radius: 20px;
+}
+
+QAbstractButton
+{
+ background-color: transparent;
+ background-repeat: none;
+ background-position: center;
+ border: none;
+ border-radius: 5px;
+}
+
+QAbstractButton:hover
+{
+ background-color: rgba(255,255,255, 0.2);
+}
+
+QAbstractButton:pressed
+{
+ background-color: rgba(0,0,0, 0.2);
+}
+
+QAbstractButton#volButtonFullScreen
+{
+ background-image: url("@getImagePath(chatForm/volButton.svg)");
+ width: 11px;
+ height: 9px;
+ padding: 12px;
+}
+
+QAbstractButton#micButtonFullScreen
+{
+ background-image: url("@getImagePath(chatForm/micButton.svg)");
+ width: 11px;
+ height: 9px;
+ padding: 12px;
+}
+
+QAbstractButton#videoButtonFullScreen
+{
+ background-image: url("@getImagePath(chatForm/videoButtonRed.svg)");
+ width: 37px;
+ height: 33px;
+}
+
+QAbstractButton#videoPreviewButton
+{
+ background-image: url("@getImagePath(chatForm/videoPreview.svg)");
+ width: 13px;
+ height: 13px;
+ padding: 10px;
+}
+
+QAbstractButton#exitFullScreenButton
+{
+ background-image: url("@getImagePath(chatForm/exitFullScreenButton.svg)");
+ width: 30px;
+ height: 30px;
+ padding: 1px;
+}
+
+QAbstractButton#volButtonFullScreen[state="red"]
+{
+ background-image: url("@getImagePath(chatForm/volButtonRed.svg)");
+}
+
+QAbstractButton#micButtonFullScreen[state="red"]
+{
+ background-image: url("@getImagePath(chatForm/micButtonRed.svg)");
+}
+
+QAbstractButton#videoPreviewButton[state="red"]
+{
+ background-image: url("@getImagePath(chatForm/videoPreviewRed.svg)");
+}
diff --git a/themes/dark/chatForm/labels.css b/themes/dark/chatForm/labels.css
new file mode 100644
index 000000000..8f0b0173b
--- /dev/null
+++ b/themes/dark/chatForm/labels.css
@@ -0,0 +1,14 @@
+QLabel
+{
+ color: #000;
+}
+
+QLabel:disabled
+{
+ color: #ddd;
+}
+
+QLabel[state="red"]
+{
+ color: #e84747;
+}
diff --git a/themes/dark/chatForm/micButton.svg b/themes/dark/chatForm/micButton.svg
new file mode 100644
index 000000000..b45e8fccb
--- /dev/null
+++ b/themes/dark/chatForm/micButton.svg
@@ -0,0 +1,61 @@
+
+
diff --git a/themes/dark/chatForm/micButtonRed.svg b/themes/dark/chatForm/micButtonRed.svg
new file mode 100644
index 000000000..8a8979014
--- /dev/null
+++ b/themes/dark/chatForm/micButtonRed.svg
@@ -0,0 +1,67 @@
+
+
diff --git a/themes/dark/chatForm/screenshotButton.svg b/themes/dark/chatForm/screenshotButton.svg
new file mode 100644
index 000000000..25a250ce3
--- /dev/null
+++ b/themes/dark/chatForm/screenshotButton.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/themes/dark/chatForm/searchCalendarButton.svg b/themes/dark/chatForm/searchCalendarButton.svg
new file mode 100644
index 000000000..e0839be6c
--- /dev/null
+++ b/themes/dark/chatForm/searchCalendarButton.svg
@@ -0,0 +1,98 @@
+
+
+
+
diff --git a/themes/dark/chatForm/searchDownButton.svg b/themes/dark/chatForm/searchDownButton.svg
new file mode 100644
index 000000000..9068ae888
--- /dev/null
+++ b/themes/dark/chatForm/searchDownButton.svg
@@ -0,0 +1,80 @@
+
+
+
+
diff --git a/themes/dark/chatForm/searchHideButton.svg b/themes/dark/chatForm/searchHideButton.svg
new file mode 100644
index 000000000..5b0fb80c3
--- /dev/null
+++ b/themes/dark/chatForm/searchHideButton.svg
@@ -0,0 +1,79 @@
+
+
+
+
diff --git a/themes/dark/chatForm/searchSettingsButton.svg b/themes/dark/chatForm/searchSettingsButton.svg
new file mode 100644
index 000000000..6f498e3f5
--- /dev/null
+++ b/themes/dark/chatForm/searchSettingsButton.svg
@@ -0,0 +1,53 @@
+
+
+
+
diff --git a/themes/dark/chatForm/searchUpButton.svg b/themes/dark/chatForm/searchUpButton.svg
new file mode 100644
index 000000000..e425ae579
--- /dev/null
+++ b/themes/dark/chatForm/searchUpButton.svg
@@ -0,0 +1,80 @@
+
+
+
+
diff --git a/themes/dark/chatForm/sendButton.svg b/themes/dark/chatForm/sendButton.svg
new file mode 100644
index 000000000..3699eb11b
--- /dev/null
+++ b/themes/dark/chatForm/sendButton.svg
@@ -0,0 +1,22 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatForm/videoButton.svg b/themes/dark/chatForm/videoButton.svg
new file mode 100644
index 000000000..9d243f378
--- /dev/null
+++ b/themes/dark/chatForm/videoButton.svg
@@ -0,0 +1,27 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/chatForm/videoButtonRed.svg b/themes/dark/chatForm/videoButtonRed.svg
new file mode 100644
index 000000000..c292b1b33
--- /dev/null
+++ b/themes/dark/chatForm/videoButtonRed.svg
@@ -0,0 +1,29 @@
+
+
+
+
diff --git a/themes/dark/chatForm/videoPreview.svg b/themes/dark/chatForm/videoPreview.svg
new file mode 100644
index 000000000..be8ffeb00
--- /dev/null
+++ b/themes/dark/chatForm/videoPreview.svg
@@ -0,0 +1,42 @@
+
+
+
+
diff --git a/themes/dark/chatForm/videoPreviewRed.svg b/themes/dark/chatForm/videoPreviewRed.svg
new file mode 100644
index 000000000..ec7501430
--- /dev/null
+++ b/themes/dark/chatForm/videoPreviewRed.svg
@@ -0,0 +1,41 @@
+
+
+
+
diff --git a/themes/dark/chatForm/volButton.svg b/themes/dark/chatForm/volButton.svg
new file mode 100644
index 000000000..18adc13b3
--- /dev/null
+++ b/themes/dark/chatForm/volButton.svg
@@ -0,0 +1,52 @@
+
+
diff --git a/themes/dark/chatForm/volButtonRed.svg b/themes/dark/chatForm/volButtonRed.svg
new file mode 100644
index 000000000..5934f4539
--- /dev/null
+++ b/themes/dark/chatForm/volButtonRed.svg
@@ -0,0 +1,61 @@
+
+
diff --git a/themes/dark/contentDialog/contentDialog.css b/themes/dark/contentDialog/contentDialog.css
new file mode 100644
index 000000000..ebfe7c1da
--- /dev/null
+++ b/themes/dark/contentDialog/contentDialog.css
@@ -0,0 +1,16 @@
+QSplitter
+{
+ color: white;
+ background-color: white;
+ alternate-background-color: white;
+ border-color: white;
+ gridline-color: white;
+ selection-color: white;
+ selection-background-color: white;
+}
+
+QSplitter:handle
+{
+ color: white;
+ background-color: white;
+}
diff --git a/themes/dark/emoteButton/emoteButton.css b/themes/dark/emoteButton/emoteButton.css
new file mode 100644
index 000000000..0d9ba959d
--- /dev/null
+++ b/themes/dark/emoteButton/emoteButton.css
@@ -0,0 +1,26 @@
+QPushButton
+{
+ background-color: #6bc260;
+ background-image: url("@getImagePath(emoteButton/emoteButton.svg)");
+ background-repeat: none;
+ background-position: center;
+ border-top-right-radius: 5px;
+ border: none;
+ width: 24px;
+ height: 24px;
+}
+
+QPushButton:hover
+{
+ background-color: #79c76f;
+}
+
+QPushButton:pressed
+{
+ background-color: #51b244;
+}
+
+QPushButton:focus
+{
+ outline: none;
+}
diff --git a/themes/dark/emoteButton/emoteButton.svg b/themes/dark/emoteButton/emoteButton.svg
new file mode 100644
index 000000000..2acca2c20
--- /dev/null
+++ b/themes/dark/emoteButton/emoteButton.svg
@@ -0,0 +1,28 @@
+
+
+
+
diff --git a/themes/dark/emoticonWidget/dot_page.svg b/themes/dark/emoticonWidget/dot_page.svg
new file mode 100644
index 000000000..470860765
--- /dev/null
+++ b/themes/dark/emoticonWidget/dot_page.svg
@@ -0,0 +1,40 @@
+
+
+
+
diff --git a/themes/dark/emoticonWidget/dot_page_current.svg b/themes/dark/emoticonWidget/dot_page_current.svg
new file mode 100644
index 000000000..c0a960492
--- /dev/null
+++ b/themes/dark/emoticonWidget/dot_page_current.svg
@@ -0,0 +1,40 @@
+
+
+
+
diff --git a/themes/dark/emoticonWidget/dot_page_hover.svg b/themes/dark/emoticonWidget/dot_page_hover.svg
new file mode 100644
index 000000000..09d9e56ac
--- /dev/null
+++ b/themes/dark/emoticonWidget/dot_page_hover.svg
@@ -0,0 +1,40 @@
+
+
+
+
diff --git a/themes/dark/emoticonWidget/emoticonWidget.css b/themes/dark/emoticonWidget/emoticonWidget.css
new file mode 100644
index 000000000..9074241e4
--- /dev/null
+++ b/themes/dark/emoticonWidget/emoticonWidget.css
@@ -0,0 +1,40 @@
+QPushButton
+{
+ background-color: transparent;
+ background-repeat: none;
+ border: none;
+ width: 24px;
+ height: 24px;
+}
+
+QRadioButton::indicator
+{
+ width: 10px;
+ height: 10px;
+}
+
+QRadioButton::indicator:unchecked
+{
+ image: url(@getImagePath(emoticonWidget/dot_page.svg));
+}
+
+QRadioButton::indicator:unchecked:hover
+{
+ image: url(@getImagePath(emoticonWidget/dot_page_hover.svg));
+}
+
+QRadioButton::indicator:unchecked:pressed
+{
+ image: url(@getImagePath(emoticonWidget/dot_page_hover.svg));
+}
+
+QRadioButton::indicator:checked
+{
+ image: url(@getImagePath(emoticonWidget/dot_page_current.svg));
+}
+
+QMenu
+{
+ background-color: @mediumGrey; /* sets background of the menu */
+ border: 0px solid;
+}
diff --git a/themes/dark/fileButton/fileButton.css b/themes/dark/fileButton/fileButton.css
new file mode 100644
index 000000000..7d6fb6258
--- /dev/null
+++ b/themes/dark/fileButton/fileButton.css
@@ -0,0 +1,30 @@
+QPushButton
+{
+ background-color: #6bc260;
+ background-image: url("@getImagePath(fileButton/fileButton.svg)");
+ background-repeat: none;
+ background-position: center;
+ border-bottom-right-radius: 5px;
+ border: none;
+ width: 24px;
+ height: 24px;
+}
+
+QAbstractButton:hover
+{
+ background-color: #79c76f;
+}
+
+QPushButton:pressed
+{
+ background-color: #51b244;
+}
+
+QPushButton[enabled="false"]
+{
+ background-color: #919191;
+}
+
+QPushButton:focus {
+ outline: none;
+}
diff --git a/themes/dark/fileButton/fileButton.svg b/themes/dark/fileButton/fileButton.svg
new file mode 100644
index 000000000..284cd5cdd
--- /dev/null
+++ b/themes/dark/fileButton/fileButton.svg
@@ -0,0 +1,27 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferInstance/arrow_white.svg b/themes/dark/fileTransferInstance/arrow_white.svg
new file mode 100644
index 000000000..ee2e9fdcd
--- /dev/null
+++ b/themes/dark/fileTransferInstance/arrow_white.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferInstance/browse.svg b/themes/dark/fileTransferInstance/browse.svg
new file mode 100644
index 000000000..378802171
--- /dev/null
+++ b/themes/dark/fileTransferInstance/browse.svg
@@ -0,0 +1,147 @@
+
+
+
+
diff --git a/themes/dark/fileTransferInstance/dir.svg b/themes/dark/fileTransferInstance/dir.svg
new file mode 100644
index 000000000..1d9580b8b
--- /dev/null
+++ b/themes/dark/fileTransferInstance/dir.svg
@@ -0,0 +1,63 @@
+
+
+
+
diff --git a/themes/dark/fileTransferInstance/filetransferWidget.css b/themes/dark/fileTransferInstance/filetransferWidget.css
new file mode 100644
index 000000000..3f1d5c5ea
--- /dev/null
+++ b/themes/dark/fileTransferInstance/filetransferWidget.css
@@ -0,0 +1,27 @@
+[fontColor="white"] QLabel {
+ color:white;
+ font:@big;
+}
+
+[fontColor="black"] QLabel {
+ color:@mediumGrey;
+ font:@big;
+}
+
+QPushButton {
+ margin:0;
+ border: none;
+}
+
+
+
+QProgressBar {
+ border: 2px solid @mediumGrey;
+ border-radius: 0px;
+ background-color: @mediumGrey;
+}
+
+QProgressBar::chunk {
+ background-color: @lightGrey;
+ width: 1px;
+}
\ No newline at end of file
diff --git a/themes/dark/fileTransferInstance/no.svg b/themes/dark/fileTransferInstance/no.svg
new file mode 100644
index 000000000..2ca1c5c1b
--- /dev/null
+++ b/themes/dark/fileTransferInstance/no.svg
@@ -0,0 +1,46 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferInstance/pause.svg b/themes/dark/fileTransferInstance/pause.svg
new file mode 100644
index 000000000..6a203bd0b
--- /dev/null
+++ b/themes/dark/fileTransferInstance/pause.svg
@@ -0,0 +1,56 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferInstance/yes.svg b/themes/dark/fileTransferInstance/yes.svg
new file mode 100644
index 000000000..2d4c45ea4
--- /dev/null
+++ b/themes/dark/fileTransferInstance/yes.svg
@@ -0,0 +1,46 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferWidget/fileDone.svg b/themes/dark/fileTransferWidget/fileDone.svg
new file mode 100644
index 000000000..5bc56410a
--- /dev/null
+++ b/themes/dark/fileTransferWidget/fileDone.svg
@@ -0,0 +1,30 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/fileTransferWidget/fileTransferWidget.css b/themes/dark/fileTransferWidget/fileTransferWidget.css
new file mode 100644
index 000000000..ab306fb9c
--- /dev/null
+++ b/themes/dark/fileTransferWidget/fileTransferWidget.css
@@ -0,0 +1,26 @@
+#default {
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ background-color: rgb(209,209,209);
+}
+
+#error {
+ border-radius: 6px;
+ background-color: rgb(200,78,78);
+}
+
+#success {
+ background-color: rgb(107,194,96);
+ border-radius: 6px;
+}
+
+QProgressBar {
+ background-color: transparent;
+ border: 1px solid rgb(150,150,150);
+ height: 11px;
+ }
+
+ QProgressBar::chunk {
+ background-color: rgb(150,150,150);
+ width: 2px;
+ }
\ No newline at end of file
diff --git a/themes/dark/friendList/friendList.css b/themes/dark/friendList/friendList.css
new file mode 100644
index 000000000..3bfd4cfa2
--- /dev/null
+++ b/themes/dark/friendList/friendList.css
@@ -0,0 +1,84 @@
+QScrollArea
+{
+ background: @themeMedium;
+}
+
+QScrollBar:vertical
+{
+ background: @themeMedium;
+ width: 16px;
+ padding: 0px 3px 0px 3px;
+}
+
+QScrollBar:handle:vertical
+{
+ background: @themeDark;
+ min-height: 20px;
+ border-radius: 5px;
+ margin: 3px 0px 3px 0px;
+}
+
+QScrollBar:handle:vertical:hover
+{
+ background: @themeMediumDark;
+}
+
+QScrollBar:handle:vertical:pressed
+{
+ background: @themeDark;
+}
+
+QScrollBar:add-line:vertical
+{
+ height: 0px;
+ subcontrol-position: bottom;
+ subcontrol-origin: margin;
+}
+
+QScrollBar:sub-line:vertical
+{
+ height: 0px;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+QScrollBar:add-page:vertical, QScrollBar::sub-page:vertical
+{
+ background: none;
+}
+
+QWidget#circleWidgetContainer > QFrame#line
+{
+ color: white;
+}
+
+QWidget#circleWidgetContainer
+{
+ background-color: @themeMedium;
+}
+
+QWidget#circleWidgetContainer:hover
+{
+ background-color: @themeLight;
+}
+
+QWidget#circleWidgetContainer QLineEdit
+{
+ background-color: @themeLight;
+}
+
+QWidget#circleWidgetContainer > QLabel#status
+{
+ font: @small;
+ color: #c3c3c3;
+}
+
+QWidget#circleWidgetContainer > QLabel#name
+{
+ font: @big;
+ color: #a3a3a3;
+}
+
+QLabel {
+ color: white;
+}
diff --git a/themes/dark/genericChatForm/genericChatForm.css b/themes/dark/genericChatForm/genericChatForm.css
new file mode 100644
index 000000000..dca16fd57
--- /dev/null
+++ b/themes/dark/genericChatForm/genericChatForm.css
@@ -0,0 +1,4 @@
+QWidget
+{
+ background: #201f1f;
+}
diff --git a/themes/dark/loginScreen/loginScreen.css b/themes/dark/loginScreen/loginScreen.css
new file mode 100644
index 000000000..4ebb07658
--- /dev/null
+++ b/themes/dark/loginScreen/loginScreen.css
@@ -0,0 +1,80 @@
+#LoginScreen
+{
+ background-color: #1c1c1c;
+}
+
+#line
+{
+ color: #757575;
+}
+
+#stackedWidget
+{
+ background-color: #100f0f;
+}
+
+#labelNewProfile,
+#labelLoadProfile
+{
+ border-style: solid;
+ border-width: 15px 0 15px 15px;
+ border-color: #100f0f #100f0f #100f0f #1c1c1c;
+}
+#labelNewProfile
+{
+ margin-top:125px;
+ margin-bottom:45px;
+}
+#labelLoadProfile
+{
+ margin-top:165px;
+ margin-bottom:5px;
+}
+
+LoginScreen > QPushButton,
+QStackedWidget QPushButton
+{
+ background: transparent;
+ border: none;
+ color: white;
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+#loginButton,
+#importButton,
+#createAccountButton
+{
+ border-radius:5px;
+ padding:5px;
+ background-color: #529449;
+}
+
+#loginButton:hover,
+#importButton:hover,
+#createAccountButton:hover
+{
+ background: #589f4e;
+}
+
+QLabel
+{
+ color: #c3c3c3;
+ background: #100f0f;
+}
+
+QLabel#label_7
+{
+ background: #1c1c1c;
+}
+
+QCheckBox, QProgressBar, QComboBox, QLineEdit, QListView
+{
+ color: #c3c3c3;
+ background: #201f1f;
+}
+
+QCheckBox:disabled
+{
+ color: gray;
+}
diff --git a/themes/dark/msgEdit/msgEdit.css b/themes/dark/msgEdit/msgEdit.css
new file mode 100644
index 000000000..7c43a0625
--- /dev/null
+++ b/themes/dark/msgEdit/msgEdit.css
@@ -0,0 +1,33 @@
+QTextEdit
+{
+ border-color: @lightGrey;
+ border-style: solid;
+ border-width: 1px 0 1px 1px;
+ background: #201f1f;
+}
+
+QTextEdit:hover
+{
+ border-color: #d7d4d1;
+}
+
+QTextEdit:pressed
+{
+ border-color: #46465b;
+}
+
+QTextEdit#group
+{
+ /*border-radius: 0 6px 6px 0; would use to round corners in groupchat, but Qt's implementation seems to be bugged*/
+ border: 1px solid #c4c1bd;
+}
+
+QTextEdit#group:hover
+{
+ border-color: #d7d4d1;
+}
+
+QTextEdit#group:pressed
+{
+ border-color: #46465b;
+}
diff --git a/themes/dark/notificationEdge/notificationEdge.css b/themes/dark/notificationEdge/notificationEdge.css
new file mode 100644
index 000000000..9676b81a7
--- /dev/null
+++ b/themes/dark/notificationEdge/notificationEdge.css
@@ -0,0 +1,9 @@
+NotificationEdgeWidget
+{
+ background-color: #6bc260;
+}
+
+NotificationEdgeWidget > QLabel
+{
+ color: white;
+}
diff --git a/themes/dark/rejectCall/rejectCall.svg b/themes/dark/rejectCall/rejectCall.svg
new file mode 100644
index 000000000..98f83b064
--- /dev/null
+++ b/themes/dark/rejectCall/rejectCall.svg
@@ -0,0 +1,45 @@
+
+
+
+
diff --git a/themes/dark/screenshotButton/screenshotButton.css b/themes/dark/screenshotButton/screenshotButton.css
new file mode 100644
index 000000000..7e5a94a57
--- /dev/null
+++ b/themes/dark/screenshotButton/screenshotButton.css
@@ -0,0 +1,31 @@
+QPushButton
+{
+ background-color: #6bc260;
+ background-image: url("@getImagePath(screenshotButton/screenshotButton.svg)");
+ background-repeat: none;
+ background-position: center;
+ border-top-left-radius: 5px;
+ border: none;
+ width: 24px;
+ height: 24px;
+}
+
+QPushButton:hover
+{
+ background-color: #79c76f;
+}
+
+QPushButton:pressed
+{
+ background-color: #51b244;
+}
+
+QPushButton[enabled="false"]
+{
+ background-color: #919191;
+}
+
+QPushButton:focus
+{
+ outline: none;
+}
diff --git a/themes/dark/screenshotButton/screenshotButton.svg b/themes/dark/screenshotButton/screenshotButton.svg
new file mode 100644
index 000000000..25a250ce3
--- /dev/null
+++ b/themes/dark/screenshotButton/screenshotButton.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/themes/dark/sendButton/sendButton.css b/themes/dark/sendButton/sendButton.css
new file mode 100644
index 000000000..249a9737f
--- /dev/null
+++ b/themes/dark/sendButton/sendButton.css
@@ -0,0 +1,26 @@
+QPushButton
+{
+ background-color: #6bc260;
+ background-image: url("@getImagePath(sendButton/sendButton.svg)");
+ background-repeat: none;
+ background-position: center;
+ border: none;
+ border-radius: 5px;
+ width: 50px;
+ height: 50px;
+}
+
+QPushButton:hover
+{
+ background-color: #79c76f;
+}
+
+QPushButton:pressed
+{
+ background-color: #51b244;
+}
+
+QPushButton:focus
+{
+ outline: none;
+}
diff --git a/themes/dark/sendButton/sendButton.svg b/themes/dark/sendButton/sendButton.svg
new file mode 100644
index 000000000..3699eb11b
--- /dev/null
+++ b/themes/dark/sendButton/sendButton.svg
@@ -0,0 +1,22 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/settings/mainContent.css b/themes/dark/settings/mainContent.css
new file mode 100644
index 000000000..80e47019d
--- /dev/null
+++ b/themes/dark/settings/mainContent.css
@@ -0,0 +1,242 @@
+QTextEdit
+{
+ border-color: @lightGrey;
+ border-style: solid;
+ border-width: 1px 0 1px 1px;
+ background: #201f1f;
+ border: 1px solid #c4c1bd;
+}
+
+QListWidget
+{
+ background-color: #201f1f;
+}
+
+QMessageBox
+{
+ background-color: #201f1f;
+}
+
+QCheckBox
+{
+ color: #c3c3c3;
+}
+
+QCheckBox:disabled
+{
+ color: grey;
+}
+
+QSpinBox
+{
+ background-color: #201f1f;
+}
+
+QSpinBox:disabled
+{
+ background-color: lightGrey;
+}
+
+QGroupBox
+{
+ color: #c3c3c3;
+ background-color: #201f1f;
+ font: @bigBold;
+}
+
+QComboBox
+{
+ color: #c3c3c3;
+ background-color: #201f1f;
+}
+
+QComboBox QAbstractItemView {
+ background-color: #201f1f;
+}
+
+QLineEdit
+{
+ background-color: #201f1f;
+}
+
+QLineEdit:disabled
+{
+ background-color: #262424
+ color: #201f1f;
+}
+
+QTabWidget
+{
+ background-color: #100f0f;
+}
+
+QTabBar::tab:selected
+{
+ background: #100f0f;
+ color: #c3c3c3;
+}
+
+QTabBar::tab:!selected
+{
+ background: #444242;
+ color: #8e8e8e;
+}
+
+QScrollArea
+{
+ background-color: #201f1f;
+}
+
+QScrollArea > QWidget > QWidget
+{
+ background: transparent;
+}
+
+QScrollArea::corner
+{
+ background-color: #201f1f;
+ border: none;
+}
+
+QScrollBar:vertical
+{
+ background: transparent;
+ width: 12px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+/* using last is a bit of a hack, but QTabBar otherwise doesn't allow selecting single tabs */
+QTabBar::tab:last:!selected[update-available=true]
+{
+ background-color: #80c580;
+}
+
+QPushButton#updateAvailableButton
+{
+ background-color: #21da21;
+}
+
+QScrollBar::handle:vertical
+{
+ background-color: #d1d1d1;
+ min-height: 20px;
+ border-radius: 3px;
+ margin-left: 2px;
+}
+
+QScrollBar::handle:vertical:hover
+{
+ background-color: #e3e3e3;
+}
+
+QScrollBar::handle:vertical:pressed
+{
+ background-color: #b1b1b1;
+}
+
+QScrollBar::add-line:vertical
+{
+ background-color: white;
+ height: 0px;
+ subcontrol-position: bottom;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:vertical
+{
+ background-color: white;
+ height: 0px;
+ subcontrol-position: top;
+ subcontrol-origin: margin;
+}
+
+QScrollBar:QScrollBar::down-arrow:vertical
+{
+ width: 10;
+ height: 10px;
+ background-color: white;
+}
+
+QScrollBar:QScrollBar::up-arrow:vertical
+{
+ width: 10px;
+ height: 10px;
+ background-color: white;
+}
+
+QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical
+{
+ background: none;
+}
+
+QScrollBar:horizontal
+{
+ background-color: white;
+ height: 10px;
+ margin: 0 2px 0 2px;
+}
+
+QScrollBar::handle:horizontal
+{
+ background-color: #d1d1d1;
+ min-width: 20px;
+ border-radius: 2px;
+}
+
+QScrollBar::handle:horizontal:hover
+{
+ background-color: #e3e3e3;
+}
+
+QScrollBar::handle:horizontal:pressed
+{
+ background-color: #b1b1b1;
+}
+
+QScrollBar::add-line:horizontal
+{
+ background-color: white;
+ width: 0px;
+ subcontrol-position: right;
+ subcontrol-origin: margin;
+}
+
+QScrollBar::sub-line:horizontal
+{
+ background-color: white;
+ width: 0px;
+ subcontrol-position: left;
+ subcontrol-origin: margin;
+}
+
+QScrollBar:QScrollBar::down-arrow:horizontal
+{
+ width: 10;
+ height: 10px;
+ background-color: white;
+}
+
+QScrollBar:QScrollBar::up-arrow:horizontal
+{
+ width: 10px;
+ height: 10px;
+ background-color: white;
+}
+
+QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal
+{
+ background: none;
+}
+
+QRadioButton
+{
+ background: #201f1f;
+ color: #c3c3c3;
+}
+
+QPushButton
+{
+ background: #323030;
+ color: #c3c3c3;
+}
diff --git a/themes/dark/settings/mainHead.css b/themes/dark/settings/mainHead.css
new file mode 100644
index 000000000..9f818366f
--- /dev/null
+++ b/themes/dark/settings/mainHead.css
@@ -0,0 +1,5 @@
+QWidget .QLabel, QWidget .QLineEdit
+{
+ color: #c3c3c3;
+ background: #201f1f;
+}
diff --git a/themes/dark/statusButton/menu_indicator.svg b/themes/dark/statusButton/menu_indicator.svg
new file mode 100644
index 000000000..36d6c3cd7
--- /dev/null
+++ b/themes/dark/statusButton/menu_indicator.svg
@@ -0,0 +1,23 @@
+
+
+
+
\ No newline at end of file
diff --git a/themes/dark/statusButton/statusButton.css b/themes/dark/statusButton/statusButton.css
new file mode 100644
index 000000000..515153bad
--- /dev/null
+++ b/themes/dark/statusButton/statusButton.css
@@ -0,0 +1,41 @@
+QPushButton
+{
+ background: none;
+ background-color: @themeMediumDark;
+ border: none;
+ border-radius: 6px;
+ width: 20px;
+ height: 40px;
+}
+
+QPushButton:default
+{
+ background-color: @themeMediumDark;
+}
+
+/*Bugged in Qt, but it's probably better to leave enabled so that users can tell it's clickable*/
+QPushButton:hover
+{
+ background-color: @themeMedium;
+}
+
+QPushButton:pressed
+{
+ background-color: @themeMediumDark;
+}
+
+QPushButton:focus
+{
+ outline: none;
+}
+
+QPushButton::menu-indicator {image: none;}
+
+QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open
+{
+ image: url("@getImagePath(statusButton/menu_indicator.svg)");
+ subcontrol-origin: padding;
+ subcontrol-position: bottom center;
+ position: relative;
+ bottom: 2px;
+}
diff --git a/themes/dark/tooliconsZone/tooliconsZone.css b/themes/dark/tooliconsZone/tooliconsZone.css
new file mode 100644
index 000000000..24c1d8b4a
--- /dev/null
+++ b/themes/dark/tooliconsZone/tooliconsZone.css
@@ -0,0 +1,35 @@
+QPushButton[update-available=true]
+{
+ background-color: #115508;
+ border: none;
+}
+
+QPushButton:hover[update-available=true]
+{
+ background-color: #2b9e1c;
+ border: none;
+}
+
+QPushButton
+{
+ background-color: @themeDark;
+ border: none;
+}
+
+QPushButton:hover
+{
+ background-color: @themeMediumDark;
+ border: none;
+}
+
+QPushButton:checked
+{
+ background-color: @themeMedium;
+ border: none;
+}
+
+QPushButton:pressed
+{
+ background-color: @themeMediumLight;
+ border: none;
+}
diff --git a/themes/dark/window/general.css b/themes/dark/window/general.css
new file mode 100644
index 000000000..0d4653ecb
--- /dev/null
+++ b/themes/dark/window/general.css
@@ -0,0 +1,13 @@
+QToolTip
+{
+ /* explicit border width is required https://bugreports.qt.io/browse/QTBUG-41313 */
+ border: 0px;
+ color: black;
+ background: #ffffdc;
+}
+
+QWidget#contentWidget
+{
+ background: #201f1f;
+}
+
diff --git a/themes/dark/window/profile.css b/themes/dark/window/profile.css
new file mode 100644
index 000000000..daddea876
--- /dev/null
+++ b/themes/dark/window/profile.css
@@ -0,0 +1,5 @@
+#selfAvatar:hover
+{
+ border-radius: 6px;
+ background-color: #ccc;
+}
diff --git a/themes/dark/window/statusPanel.css b/themes/dark/window/statusPanel.css
new file mode 100644
index 000000000..f0bab5f38
--- /dev/null
+++ b/themes/dark/window/statusPanel.css
@@ -0,0 +1,127 @@
+QLineEdit
+{
+ background: none;
+ background-color: @themeMedium;
+ color: white;
+ border: 0px;
+ border-radius: 4px;
+}
+
+QToolButton
+{
+ background: none;
+ background-color: @themeMedium;
+ color: white;
+ border-style: none;
+ border-radius: 4px;
+}
+
+QToolButton:pressed
+{
+ background-color: @themeMediumDark;
+ border-radius: 4px;
+ color: white;
+}
+
+QToolButton::menu-indicator
+{
+ image: none
+}
+
+QPushButton#green
+{
+ background: none;
+ background-color: #6bc260;
+ color: white;
+ border-style: none;
+ border-radius: 4px;
+ padding: 4px;
+ margin: 4px 8px;
+}
+
+QPushButton#green:hover
+{
+ background-color: #79c76f;
+}
+
+QPushButton#green:pressed
+{
+ background-color: #51b244;
+}
+
+/**
+ Uncomment this after https://github.com/qTox/qTox/pull/1640
+ is merged!
+QComboBox:down-arrow
+{
+ image: url(ui/css/down_arrow.png);
+}
+**/
+
+QListView
+{
+ background-color: @themeLight;
+ border-style: none;
+ border-radius: 4px;
+}
+
+#statusPanel
+{
+ background-color: @themeDark;
+}
+
+#statusPanel > #statusHead
+{
+ background-color: @themeDark;
+}
+
+#statusPanel > #statusHead > #nameLabel
+{
+ background-color: @themeDark;
+ font: @extraBig;
+ color: @white;
+}
+
+#statusPanel > #statusHead > #statusLabel
+{
+ background-color: @themeDark;
+ font: @medium;
+ color: @lightGrey;
+}
+
+#statusPanel > #statusHead > #statusButton
+{
+ background: none;
+ background-color: @themeMedium;
+ border: none;
+ border-radius: 6px;
+ width: 20px;
+ height: 40px;
+}
+
+/*Bugged in Qt, but it's probably better to leave enabled so that users can tell it's clickable*/
+#statusPanel > #statusHead > #statusButton:hover
+{
+ background-color: @themeLight;
+}
+
+#statusPanel > #statusHead > #statusButton:pressed
+{
+ background-color: @themeMedium;
+}
+
+#statusPanel > #statusHead > #statusButton:focus
+{
+ outline: none;
+}
+
+#statusPanel > #statusHead > #statusButton::menu-indicator {image: none;}
+
+#statusPanel > #statusHead > #statusButton::menu-indicator:pressed, #statusPanel > #statusHead > #statusButton::menu-indicator:open
+{
+ image: url("@getImagePath(statusButton/menu_indicator.svg)");
+ subcontrol-origin: padding;
+ subcontrol-position: bottom center;
+ position: relative;
+ bottom: 2px;
+}
diff --git a/themes/dark/window/window.css b/themes/dark/window/window.css
new file mode 100644
index 000000000..c56387d25
--- /dev/null
+++ b/themes/dark/window/window.css
@@ -0,0 +1,72 @@
+Widget#activeWindow
+{
+ background-color: #DFDFDF;
+ border: 2px solid #ABABAB;
+}
+
+Widget#inactiveWindow
+{
+ background-color: #f4f4f4;
+ border: 2px solid #ABABAB;
+}
+/*
+Widget#titleBar
+{
+ border: 10px solid #ABABAB;
+ border-top: 0px solid transparent;
+ background-color: #DFDFDF;
+}
+
+Widget#titleBarInactive
+{
+ border: 5px solid #ABABAB;
+ border-top: 0px solid transparent;
+ background-color: #F1F1F1;
+}*/
+
+QToolButton#tbMenu
+{
+ border: 0px solid transparent;
+ background-color: transparent;
+}
+
+
+QPushButton#minimizeButton
+{
+ border: 0px solid transparent;
+ background-color: transparent;
+ image: url("@getImagePath(window/minimizeButton.png)");
+}
+QPushButton#minimizeButton:hover {image: url("@getImagePath(window/minimizeButtonHover.png)");}
+QPushButton#minimizeButton:pressed {image: url("@getImagePath(window/minimizeButtonPressed.png)");}
+QPushButton#minimizeButton:focus {outline: none;}
+
+QPushButton#maximizeButton
+{
+ border: 0px solid transparent;
+ background-color: transparent;
+ image: url("@getImagePath(window/maximizeButton.png");
+}
+QPushButton#maximizeButton:hover {image: url("@getImagePath(window/maximizeButtonHover.png)");}
+QPushButton#maximizeButton:pressed {image: url("@getImagePath(window/maximizeButtonPressed.png)");}
+QPushButton#maximizeButton:focus {outline: none;}
+
+QPushButton#closeButton
+{
+ border: 0px solid transparent;
+ background-color: transparent;
+ image: url("@getImagePath(window/closeButton.png");
+}
+QPushButton#closeButton:hover {image: url("@getImagePath(window/closeButtonHover.png)");}
+QPushButton#closeButton:pressed {image: url("@getImagePath(window/closeButtonPressed.png)");}
+QPushButton#closeButton:focus {outline: none;}
+
+QPushButton#restoreButton
+{
+ border: 0px solid transparent;
+ background-color: transparent;
+ image: url("@getImagePath(window/restoreButton.png)");
+}
+QPushButton#restoreButton:hover {image: url("@getImagePath(window/restoreButtonHover.png)");}
+QPushButton#restoreButton:pressed {image: url("@getImagePath(window/restoreButtonPressed.png)");}
+QPushButton#restoreButton:focus {outline: none;}
diff --git a/themes/default/genericChatForm/genericChatForm.css b/themes/default/genericChatForm/genericChatForm.css
new file mode 100644
index 000000000..b0b454c8d
--- /dev/null
+++ b/themes/default/genericChatForm/genericChatForm.css
@@ -0,0 +1,4 @@
+QWidget
+{
+ background: white;
+}