summary refs log tree commit diff
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-10-15 22:08:51 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-10-15 22:08:51 +0300
commit8390ff253d3688c3f76e3149d43d3120f9549359 (patch)
treecc93ae33329fb0b5a78d20022f638b45d98c68ae
parentUpdate readme (diff)
downloadnheko-8390ff253d3688c3f76e3149d43d3120f9549359.tar.xz
Fix icons for retina displays
-rw-r--r--.clang-format1
-rw-r--r--CMakeLists.txt2
-rw-r--r--README.md1
-rw-r--r--include/ChatPage.h2
-rw-r--r--include/Config.h94
-rw-r--r--include/EmojiProvider.h3
-rw-r--r--include/MatrixClient.h3
-rw-r--r--include/RoomInfoListItem.h3
-rw-r--r--include/SideBarActions.h23
-rw-r--r--include/TimelineView.h9
-rw-r--r--include/Versions.h3
-rw-r--r--include/events/AliasesEventContent.h6
-rw-r--r--include/events/AvatarEventContent.h6
-rw-r--r--include/events/CanonicalAliasEventContent.h6
-rw-r--r--include/events/CreateEventContent.h6
-rw-r--r--include/events/Event.h7
-rw-r--r--include/events/HistoryVisibilityEventContent.h7
-rw-r--r--include/events/JoinRulesEventContent.h7
-rw-r--r--include/events/MemberEventContent.h7
-rw-r--r--include/events/MessageEvent.h10
-rw-r--r--include/events/MessageEventContent.h7
-rw-r--r--include/events/NameEventContent.h6
-rw-r--r--include/events/PowerLevelsEventContent.h7
-rw-r--r--include/events/RoomEvent.h6
-rw-r--r--include/events/StateEvent.h6
-rw-r--r--include/events/TopicEventContent.h6
-rw-r--r--include/events/messages/Audio.h10
-rw-r--r--include/events/messages/Emote.h9
-rw-r--r--include/events/messages/File.h10
-rw-r--r--include/events/messages/Image.h10
-rw-r--r--include/events/messages/Location.h10
-rw-r--r--include/events/messages/Notice.h9
-rw-r--r--include/events/messages/Text.h9
-rw-r--r--include/events/messages/Video.h10
-rw-r--r--include/ui/SnackBar.h3
-rw-r--r--include/ui/Theme.h53
-rw-r--r--resources/icons/add-file.pngbin1124 -> 0 bytes
-rw-r--r--resources/icons/clip-dark.pngbin1124 -> 0 bytes
-rw-r--r--resources/icons/cog.pngbin952 -> 0 bytes
-rw-r--r--resources/icons/emoji-categories/activity.pngbin659 -> 603 bytes
-rw-r--r--resources/icons/emoji-categories/activity.svg25
-rw-r--r--resources/icons/emoji-categories/activity@2x.pngbin0 -> 1252 bytes
-rwxr-xr-xresources/icons/emoji-categories/diversity.svg30
-rw-r--r--resources/icons/emoji-categories/flags.pngbin472 -> 416 bytes
-rw-r--r--resources/icons/emoji-categories/flags.svg29
-rw-r--r--resources/icons/emoji-categories/flags@2x.pngbin0 -> 824 bytes
-rw-r--r--resources/icons/emoji-categories/foods.pngbin599 -> 537 bytes
-rw-r--r--resources/icons/emoji-categories/foods.svg25
-rw-r--r--resources/icons/emoji-categories/foods@2x.pngbin0 -> 1159 bytes
-rw-r--r--resources/icons/emoji-categories/nature.pngbin725 -> 667 bytes
-rw-r--r--resources/icons/emoji-categories/nature.svg36
-rw-r--r--resources/icons/emoji-categories/nature@2x.pngbin0 -> 1409 bytes
-rw-r--r--resources/icons/emoji-categories/objects.pngbin640 -> 606 bytes
-rw-r--r--resources/icons/emoji-categories/objects.svg30
-rw-r--r--resources/icons/emoji-categories/objects@2x.pngbin0 -> 1218 bytes
-rw-r--r--resources/icons/emoji-categories/people.pngbin637 -> 581 bytes
-rw-r--r--resources/icons/emoji-categories/people.svg37
-rw-r--r--resources/icons/emoji-categories/people@2x.pngbin0 -> 1222 bytes
-rw-r--r--resources/icons/emoji-categories/recent.svg29
-rw-r--r--resources/icons/emoji-categories/symbols.pngbin560 -> 504 bytes
-rw-r--r--resources/icons/emoji-categories/symbols.svg46
-rw-r--r--resources/icons/emoji-categories/symbols@2x.pngbin0 -> 1001 bytes
-rw-r--r--resources/icons/emoji-categories/travel.pngbin535 -> 439 bytes
-rw-r--r--resources/icons/emoji-categories/travel.svg34
-rw-r--r--resources/icons/emoji-categories/travel@2x.pngbin0 -> 840 bytes
-rwxr-xr-xresources/icons/emoji-categories/unicode9.svg30
-rw-r--r--resources/icons/error.pngbin621 -> 0 bytes
-rw-r--r--resources/icons/left-angle.pngbin225 -> 0 bytes
-rw-r--r--resources/icons/left-chevron.pngbin590 -> 0 bytes
-rw-r--r--resources/icons/plus-symbol.pngbin453 -> 0 bytes
-rw-r--r--resources/icons/power-button-off.pngbin773 -> 0 bytes
-rw-r--r--resources/icons/search.pngbin939 -> 0 bytes
-rw-r--r--resources/icons/send-button.pngbin799 -> 0 bytes
-rw-r--r--resources/icons/share-dark.pngbin799 -> 0 bytes
-rw-r--r--resources/icons/smile.pngbin631 -> 0 bytes
-rw-r--r--resources/icons/ui/add-square-button.pngbin0 -> 965 bytes
-rw-r--r--resources/icons/ui/add-square-button@2x.pngbin0 -> 1386 bytes
-rw-r--r--resources/icons/ui/angle-pointing-to-left.pngbin0 -> 663 bytes
-rw-r--r--resources/icons/ui/angle-pointing-to-left@2x.pngbin0 -> 877 bytes
-rw-r--r--resources/icons/ui/cloud-storage-uploading-option.pngbin0 -> 1008 bytes
-rw-r--r--resources/icons/ui/cloud-storage-uploading-option@2x.pngbin0 -> 1566 bytes
-rw-r--r--resources/icons/ui/cursor.pngbin0 -> 811 bytes
-rw-r--r--resources/icons/ui/cursor@2x.pngbin0 -> 1148 bytes
-rw-r--r--resources/icons/ui/paper-clip-outline.pngbin0 -> 1121 bytes
-rw-r--r--resources/icons/ui/paper-clip-outline@2x.pngbin0 -> 1852 bytes
-rw-r--r--resources/icons/ui/plus-black-symbol.pngbin0 -> 735 bytes
-rw-r--r--resources/icons/ui/plus-black-symbol@2x.pngbin0 -> 967 bytes
-rw-r--r--resources/icons/ui/power-button-off.pngbin0 -> 1174 bytes
-rw-r--r--resources/icons/ui/power-button-off@2x.pngbin0 -> 2044 bytes
-rw-r--r--resources/icons/ui/settings.pngbin0 -> 1363 bytes
-rw-r--r--resources/icons/ui/settings@2x.pngbin0 -> 2573 bytes
-rw-r--r--resources/icons/ui/smile.pngbin0 -> 1317 bytes
-rw-r--r--resources/icons/ui/smile@2x.pngbin0 -> 2536 bytes
-rw-r--r--resources/icons/ui/speech-bubbles-comment-option.pngbin0 -> 1122 bytes
-rw-r--r--resources/icons/ui/speech-bubbles-comment-option@2x.pngbin0 -> 1838 bytes
-rw-r--r--resources/icons/ui/vertical-ellipsis.pngbin0 -> 830 bytes
-rw-r--r--resources/icons/ui/vertical-ellipsis@2x.pngbin0 -> 1041 bytes
-rw-r--r--resources/icons/user-shape.pngbin730 -> 0 bytes
-rw-r--r--resources/icons/vertical-ellipsis.pngbin509 -> 0 bytes
-rw-r--r--resources/login.pngbin0 -> 5523 bytes
-rw-r--r--resources/login@2x.pngbin0 -> 11395 bytes
-rw-r--r--resources/register.pngbin0 -> 5523 bytes
-rw-r--r--resources/register@2x.pngbin0 -> 11395 bytes
-rw-r--r--resources/res.qrc61
-rw-r--r--resources/splash.pngbin0 -> 11395 bytes
-rw-r--r--resources/splash@2x.pngbin0 -> 24776 bytes
-rw-r--r--src/Cache.cc3
-rw-r--r--src/ChatPage.cc3
-rw-r--r--src/Deserializable.cc3
-rw-r--r--src/EmojiPanel.cc26
-rw-r--r--src/EmojiPickButton.cc3
-rw-r--r--src/Login.cc3
-rw-r--r--src/LoginPage.cc10
-rw-r--r--src/MainWindow.cc4
-rw-r--r--src/QuickSwitcher.cc3
-rw-r--r--src/Register.cc3
-rw-r--r--src/RegisterPage.cc11
-rw-r--r--src/SideBarActions.cc65
-rw-r--r--src/TextInputWidget.cc13
-rw-r--r--src/TopRoomBar.cc4
-rw-r--r--src/UserInfoWidget.cc8
-rw-r--r--src/WelcomePage.cc9
122 files changed, 358 insertions, 602 deletions
diff --git a/.clang-format b/.clang-format

index d5606cdf..42d7b6f7 100644 --- a/.clang-format +++ b/.clang-format
@@ -5,7 +5,6 @@ AlignAfterOpenBracket: Align AlignConsecutiveAssignments: true AllowShortFunctionsOnASingleLine: Empty BasedOnStyle: Mozilla -BreakBeforeBraces: Linux ColumnLimit: 100 IndentCaseLabels: false IndentWidth: 8 diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6415b912..22673e66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -151,6 +151,7 @@ set(SRC_FILES src/RoomList.cc src/RoomMessages.cc src/RoomState.cc + src/SideBarActions.cc src/Splitter.cc src/Sync.cc src/TextInputWidget.cc @@ -233,6 +234,7 @@ qt5_wrap_cpp(MOC_HEADERS include/RegisterPage.h include/RoomInfoListItem.h include/RoomList.h + include/SideBarActions.h include/Splitter.h include/TextInputWidget.h include/TimelineItem.h diff --git a/README.md b/README.md
index 83ebad72..26356ef6 100644 --- a/README.md +++ b/README.md
@@ -139,6 +139,7 @@ Here is a screen shot to get a feel for the UI, but things will probably change. ### Third party - [Emoji One](http://emojione.com) +- [Font Awesome](http://fontawesome.io/) - [Open Sans](https://fonts.google.com/specimen/Open+Sans) [Matrix]:https://matrix.org diff --git a/include/ChatPage.h b/include/ChatPage.h
index 04464bc5..be8fc12c 100644 --- a/include/ChatPage.h +++ b/include/ChatPage.h
@@ -27,6 +27,7 @@ #include "RoomList.h" #include "RoomSettings.h" #include "RoomState.h" +#include "SideBarActions.h" #include "Splitter.h" #include "TextInputWidget.h" #include "TimelineViewManager.h" @@ -96,6 +97,7 @@ private: RoomList *room_list_; TimelineViewManager *view_manager_; + SideBarActions *sidebarActions_; TopRoomBar *top_bar_; TextInputWidget *text_input_; diff --git a/include/Config.h b/include/Config.h
index 2412a4d0..b5e876c0 100644 --- a/include/Config.h +++ b/include/Config.h
@@ -4,72 +4,70 @@ // // Font sizes are in pixels. -namespace conf -{ +namespace conf { // Global settings. -static const int fontSize = 12; -static const int textInputFontSize = 14; -static const int emojiSize = 14; -static const int headerFontSize = 21; -static const int typingNotificationFontSize = 11; +static constexpr int fontSize = 12; +static constexpr int textInputFontSize = 14; +static constexpr int emojiSize = 14; +static constexpr int headerFontSize = 21; +static constexpr int typingNotificationFontSize = 11; // Window geometry. -namespace window -{ -static const int height = 600; -static const int width = 1066; +namespace window { +static constexpr int height = 600; +static constexpr int width = 1066; -static const int minHeight = 600; -static const int minWidth = 950; +static constexpr int minHeight = height; +static constexpr int minWidth = 950; +} // namespace window + +namespace textInput { +static constexpr int height = 50; } -// Button settings. -namespace btn -{ -static const int fontSize = 20; -static const int cornerRadius = 3; +namespace sidebarActions { +static constexpr int height = textInput::height; +static constexpr int iconSize = 28; } +// Button settings. +namespace btn { +static constexpr int fontSize = 20; +static constexpr int cornerRadius = 3; +} // namespace btn + // RoomList specific. -namespace roomlist -{ -namespace fonts -{ -static const int heading = 13; -static const int badge = 10; -static const int bubble = 20; +namespace roomlist { +namespace fonts { +static constexpr int heading = 13; +static constexpr int badge = 10; +static constexpr int bubble = 20; } // namespace fonts } // namespace roomlist -namespace userInfoWidget -{ -namespace fonts -{ -static const int displayName = 16; -static const int userid = 14; +namespace userInfoWidget { +namespace fonts { +static constexpr int displayName = 16; +static constexpr int userid = 14; } // namespace fonts } // namespace userInfoWidget -namespace topRoomBar -{ -namespace fonts -{ -static const int roomName = 15; -static const int roomDescription = 13; +namespace topRoomBar { +namespace fonts { +static constexpr int roomName = 15; +static constexpr int roomDescription = 13; } // namespace fonts } // namespace topRoomBar -namespace timeline -{ -static const int msgMargin = 11; -static const int avatarSize = 36; -static const int headerSpacing = 5; -static const int headerLeftMargin = 15; +namespace timeline { +static constexpr int msgMargin = 11; +static constexpr int avatarSize = 36; +static constexpr int headerSpacing = 5; +static constexpr int headerLeftMargin = 15; -namespace fonts -{ -static const int timestamp = 9; -} -} +namespace fonts { +static constexpr int timestamp = 9; +} // namespace fonts +} // namespace timeline } // namespace conf diff --git a/include/EmojiProvider.h b/include/EmojiProvider.h
index 5b6f7c88..3f91f2b3 100644 --- a/include/EmojiProvider.h +++ b/include/EmojiProvider.h
@@ -21,7 +21,8 @@ #include <QList> #include <QMap> -struct Emoji { +struct Emoji +{ // Unicode code. QString unicode; // Keyboard shortcut e.g :emoji: diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index 927fe3a6..01e2c319 100644 --- a/include/MatrixClient.h +++ b/include/MatrixClient.h
@@ -104,7 +104,8 @@ private slots: void onResponse(QNetworkReply *reply); private: - enum class Endpoint { + enum class Endpoint + { GetOwnAvatar, GetOwnProfile, GetProfile, diff --git a/include/RoomInfoListItem.h b/include/RoomInfoListItem.h
index 03023038..d7009a85 100644 --- a/include/RoomInfoListItem.h +++ b/include/RoomInfoListItem.h
@@ -26,7 +26,8 @@ #include "RoomSettings.h" #include "RoomState.h" -struct DescInfo { +struct DescInfo +{ QString username; QString userid; QString body; diff --git a/include/SideBarActions.h b/include/SideBarActions.h new file mode 100644
index 00000000..60975a03 --- /dev/null +++ b/include/SideBarActions.h
@@ -0,0 +1,23 @@ +#include <QHBoxLayout> +#include <QResizeEvent> + +#include <FlatButton.h> + +class SideBarActions : public QWidget +{ + Q_OBJECT + +public: + SideBarActions(QWidget *parent = nullptr); + ~SideBarActions(); + +protected: + void resizeEvent(QResizeEvent *event) override; + +private: + QHBoxLayout *layout_; + + FlatButton *settingsBtn_; + FlatButton *createRoomBtn_; + FlatButton *joinRoomBtn_; +}; diff --git a/include/TimelineView.h b/include/TimelineView.h
index da73b00a..6ca91211 100644 --- a/include/TimelineView.h +++ b/include/TimelineView.h
@@ -39,7 +39,8 @@ namespace events = matrix::events; // Contains info about a message shown in the history view // but not yet confirmed by the homeserver through sync. -struct PendingMessage { +struct PendingMessage +{ int txn_id; QString body; QString event_id; @@ -50,12 +51,12 @@ struct PendingMessage { , body(body) , event_id(event_id) , widget(widget) - { - } + {} }; // In which place new TimelineItems should be inserted. -enum class TimelineDirection { +enum class TimelineDirection +{ Top, Bottom, }; diff --git a/include/Versions.h b/include/Versions.h
index 62584eb7..31d8af82 100644 --- a/include/Versions.h +++ b/include/Versions.h
@@ -30,7 +30,8 @@ public: bool isVersionSupported(unsigned int major, unsigned int minor, unsigned int patch); private: - struct Version_ { + struct Version_ + { unsigned int major_; unsigned int minor_; unsigned int patch_; diff --git a/include/events/AliasesEventContent.h b/include/events/AliasesEventContent.h
index a60da9e8..49e51275 100644 --- a/include/events/AliasesEventContent.h +++ b/include/events/AliasesEventContent.h
@@ -22,10 +22,8 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { class AliasesEventContent : public Deserializable , public Serializable diff --git a/include/events/AvatarEventContent.h b/include/events/AvatarEventContent.h
index d46f0420..98e2f12d 100644 --- a/include/events/AvatarEventContent.h +++ b/include/events/AvatarEventContent.h
@@ -22,10 +22,8 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { /* * A picture that is associated with the room. */ diff --git a/include/events/CanonicalAliasEventContent.h b/include/events/CanonicalAliasEventContent.h
index 210e4a34..9c961d42 100644 --- a/include/events/CanonicalAliasEventContent.h +++ b/include/events/CanonicalAliasEventContent.h
@@ -22,10 +22,8 @@ #include "CanonicalAliasEventContent.h" #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { /* * This event is used to inform the room about which alias should be considered * the canonical one. This could be for display purposes or as suggestion to diff --git a/include/events/CreateEventContent.h b/include/events/CreateEventContent.h
index 7db2d367..8edc4d24 100644 --- a/include/events/CreateEventContent.h +++ b/include/events/CreateEventContent.h
@@ -21,10 +21,8 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { /* * This is the first event in a room and cannot be changed. It acts as the root * of all other events. diff --git a/include/events/Event.h b/include/events/Event.h
index c6d2da2f..43ab4cc6 100644 --- a/include/events/Event.h +++ b/include/events/Event.h
@@ -22,11 +22,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class EventType { -namespace events -{ -enum class EventType { /// m.room.aliases RoomAliases, /// m.room.avatar diff --git a/include/events/HistoryVisibilityEventContent.h b/include/events/HistoryVisibilityEventContent.h
index 53405087..94563d55 100644 --- a/include/events/HistoryVisibilityEventContent.h +++ b/include/events/HistoryVisibilityEventContent.h
@@ -21,11 +21,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class HistoryVisibility { -namespace events -{ -enum class HistoryVisibility { Invited, Joined, Shared, diff --git a/include/events/JoinRulesEventContent.h b/include/events/JoinRulesEventContent.h
index 738be9d3..b9b6848d 100644 --- a/include/events/JoinRulesEventContent.h +++ b/include/events/JoinRulesEventContent.h
@@ -21,11 +21,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class JoinRule { -namespace events -{ -enum class JoinRule { // A user who wishes to join the room must first receive // an invite to the room from someone already inside of the room. Invite, diff --git a/include/events/MemberEventContent.h b/include/events/MemberEventContent.h
index 5af19218..1dd703a0 100644 --- a/include/events/MemberEventContent.h +++ b/include/events/MemberEventContent.h
@@ -22,11 +22,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class Membership { -namespace events -{ -enum class Membership { // The user is banned. Ban, diff --git a/include/events/MessageEvent.h b/include/events/MessageEvent.h
index 1b105d62..7e7493e7 100644 --- a/include/events/MessageEvent.h +++ b/include/events/MessageEvent.h
@@ -20,10 +20,8 @@ #include "MessageEventContent.h" #include "RoomEvent.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { template<class MsgContent> class MessageEvent : public RoomEvent<MessageEventContent> { @@ -52,9 +50,9 @@ MessageEvent<MsgContent>::deserialize(const QJsonValue &data) msg_content_.deserialize(data.toObject().value("content").toObject()); } -namespace messages +namespace messages { +struct ThumbnailInfo { -struct ThumbnailInfo { int h; int w; int size; diff --git a/include/events/MessageEventContent.h b/include/events/MessageEventContent.h
index 90f6cfaf..c096f155 100644 --- a/include/events/MessageEventContent.h +++ b/include/events/MessageEventContent.h
@@ -21,11 +21,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class MessageEventType { -namespace events -{ -enum class MessageEventType { // m.audio Audio, diff --git a/include/events/NameEventContent.h b/include/events/NameEventContent.h
index d2cf86da..413c28cb 100644 --- a/include/events/NameEventContent.h +++ b/include/events/NameEventContent.h
@@ -21,10 +21,8 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { /* * A human-friendly room name designed to be displayed to the end-user. */ diff --git a/include/events/PowerLevelsEventContent.h b/include/events/PowerLevelsEventContent.h
index 7cfeadf1..04afa473 100644 --- a/include/events/PowerLevelsEventContent.h +++ b/include/events/PowerLevelsEventContent.h
@@ -22,11 +22,10 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +enum class PowerLevels { -namespace events -{ -enum class PowerLevels { User = 0, Moderator = 50, Admin = 100, diff --git a/include/events/RoomEvent.h b/include/events/RoomEvent.h
index 540fafaf..a1e88807 100644 --- a/include/events/RoomEvent.h +++ b/include/events/RoomEvent.h
@@ -22,10 +22,8 @@ #include "Event.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { template<class Content> class RoomEvent : public Event<Content> { diff --git a/include/events/StateEvent.h b/include/events/StateEvent.h
index 75bf1bbb..146e96bd 100644 --- a/include/events/StateEvent.h +++ b/include/events/StateEvent.h
@@ -21,10 +21,8 @@ #include "RoomEvent.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { template<class Content> class StateEvent : public RoomEvent<Content> { diff --git a/include/events/TopicEventContent.h b/include/events/TopicEventContent.h
index b6c376e7..d059e489 100644 --- a/include/events/TopicEventContent.h +++ b/include/events/TopicEventContent.h
@@ -21,10 +21,8 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ +namespace matrix { +namespace events { /* * A topic is a short message detailing what is currently being discussed in the * room. diff --git a/include/events/messages/Audio.h b/include/events/messages/Audio.h
index 41bc2496..8abdf7f2 100644 --- a/include/events/messages/Audio.h +++ b/include/events/messages/Audio.h
@@ -21,13 +21,11 @@ #include "Deserializable.h" -namespace matrix +namespace matrix { +namespace events { +namespace messages { +struct AudioInfo { -namespace events -{ -namespace messages -{ -struct AudioInfo { uint64_t duration; int size; diff --git a/include/events/messages/Emote.h b/include/events/messages/Emote.h
index 98d049e7..a11b7c8d 100644 --- a/include/events/messages/Emote.h +++ b/include/events/messages/Emote.h
@@ -21,12 +21,9 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ -namespace messages -{ +namespace matrix { +namespace events { +namespace messages { class Emote : public Deserializable { public: diff --git a/include/events/messages/File.h b/include/events/messages/File.h
index a4e8b6a4..ff5eb0a6 100644 --- a/include/events/messages/File.h +++ b/include/events/messages/File.h
@@ -22,13 +22,11 @@ #include "Deserializable.h" #include "MessageEvent.h" -namespace matrix +namespace matrix { +namespace events { +namespace messages { +struct FileInfo { -namespace events -{ -namespace messages -{ -struct FileInfo { int size; QString mimetype; diff --git a/include/events/messages/Image.h b/include/events/messages/Image.h
index 93a598e2..14889ff1 100644 --- a/include/events/messages/Image.h +++ b/include/events/messages/Image.h
@@ -22,13 +22,11 @@ #include "Deserializable.h" #include "MessageEvent.h" -namespace matrix +namespace matrix { +namespace events { +namespace messages { +struct ImageInfo { -namespace events -{ -namespace messages -{ -struct ImageInfo { int h; int w; int size; diff --git a/include/events/messages/Location.h b/include/events/messages/Location.h
index 4b523878..e51c6799 100644 --- a/include/events/messages/Location.h +++ b/include/events/messages/Location.h
@@ -22,13 +22,11 @@ #include "Deserializable.h" #include "MessageEvent.h" -namespace matrix +namespace matrix { +namespace events { +namespace messages { +struct LocationInfo { -namespace events -{ -namespace messages -{ -struct LocationInfo { QString thumbnail_url; ThumbnailInfo thumbnail_info; }; diff --git a/include/events/messages/Notice.h b/include/events/messages/Notice.h
index b303dd79..66f4386d 100644 --- a/include/events/messages/Notice.h +++ b/include/events/messages/Notice.h
@@ -21,12 +21,9 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ -namespace messages -{ +namespace matrix { +namespace events { +namespace messages { class Notice : public Deserializable { public: diff --git a/include/events/messages/Text.h b/include/events/messages/Text.h
index 2c787d04..c3182dc5 100644 --- a/include/events/messages/Text.h +++ b/include/events/messages/Text.h
@@ -21,12 +21,9 @@ #include "Deserializable.h" -namespace matrix -{ -namespace events -{ -namespace messages -{ +namespace matrix { +namespace events { +namespace messages { class Text : public Deserializable { public: diff --git a/include/events/messages/Video.h b/include/events/messages/Video.h
index 37056c27..d167b8c1 100644 --- a/include/events/messages/Video.h +++ b/include/events/messages/Video.h
@@ -22,13 +22,11 @@ #include "Deserializable.h" #include "MessageEvent.h" -namespace matrix +namespace matrix { +namespace events { +namespace messages { +struct VideoInfo { -namespace events -{ -namespace messages -{ -struct VideoInfo { int h; int w; int size; diff --git a/include/ui/SnackBar.h b/include/ui/SnackBar.h
index 076b7105..8a35c327 100644 --- a/include/ui/SnackBar.h +++ b/include/ui/SnackBar.h
@@ -7,7 +7,8 @@ #include "OverlayWidget.h" -enum class SnackBarPosition { +enum class SnackBarPosition +{ Bottom, Top, }; diff --git a/include/ui/Theme.h b/include/ui/Theme.h
index c2e809e5..c6c39553 100644 --- a/include/ui/Theme.h +++ b/include/ui/Theme.h
@@ -4,12 +4,15 @@ #include <QHash> #include <QObject> -namespace ui +namespace ui { +enum class AvatarType { -enum class AvatarType { Icon, Image, Letter }; + Icon, + Image, + Letter +}; -namespace sidebar -{ +namespace sidebar { static const int SmallSize = 60; static const int NormalSize = 300; } @@ -19,19 +22,47 @@ const int FontSize = 16; // Default avatar size. Width and height. const int AvatarSize = 40; -enum class ButtonPreset { FlatPreset, CheckablePreset }; +enum class ButtonPreset +{ + FlatPreset, + CheckablePreset +}; -enum class RippleStyle { CenteredRipple, PositionedRipple, NoRipple }; +enum class RippleStyle +{ + CenteredRipple, + PositionedRipple, + NoRipple +}; -enum class OverlayStyle { NoOverlay, TintedOverlay, GrayOverlay }; +enum class OverlayStyle +{ + NoOverlay, + TintedOverlay, + GrayOverlay +}; -enum class Role { Default, Primary, Secondary }; +enum class Role +{ + Default, + Primary, + Secondary +}; -enum class ButtonIconPlacement { LeftIcon, RightIcon }; +enum class ButtonIconPlacement +{ + LeftIcon, + RightIcon +}; -enum class ProgressType { DeterminateProgress, IndeterminateProgress }; +enum class ProgressType +{ + DeterminateProgress, + IndeterminateProgress +}; -enum class Color { +enum class Color +{ Black, BrightWhite, FadedWhite, diff --git a/resources/icons/add-file.png b/resources/icons/add-file.png deleted file mode 100644
index 806b166d..00000000 --- a/resources/icons/add-file.png +++ /dev/null
Binary files differdiff --git a/resources/icons/clip-dark.png b/resources/icons/clip-dark.png deleted file mode 100644
index c3c34fac..00000000 --- a/resources/icons/clip-dark.png +++ /dev/null
Binary files differdiff --git a/resources/icons/cog.png b/resources/icons/cog.png deleted file mode 100644
index 84311166..00000000 --- a/resources/icons/cog.png +++ /dev/null
Binary files differdiff --git a/resources/icons/emoji-categories/activity.png b/resources/icons/emoji-categories/activity.png
index 7824765d..2d360762 100644 --- a/resources/icons/emoji-categories/activity.png +++ b/resources/icons/emoji-categories/activity.png
Binary files differdiff --git a/resources/icons/emoji-categories/activity.svg b/resources/icons/emoji-categories/activity.svg deleted file mode 100644
index d3d713e9..00000000 --- a/resources/icons/emoji-categories/activity.svg +++ /dev/null
@@ -1,25 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata4213"><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="defs4211" /><g - id="g4205"><path - style="fill:#000000;fill-opacity:1" - id="path4207" - d="M12,0C5.373,0,0,5.372,0,12c0,6.627,5.373,12,12,12c6.628,0,12-5.373,12-12C24,5.372,18.628,0,12,0 M21.949,11H17.05c0.224-2.527,1.232-4.773,1.968-6.113C20.634,6.481,21.712,8.618,21.949,11 M13,11V2.051 c1.623,0.162,3.13,0.719,4.432,1.564C16.574,5.106,15.276,7.835,15.04,11H13z M11,11H8.961C8.723,7.835,7.425,5.106,6.568,3.615 C7.871,2.77,9.377,2.213,11,2.051V11z M11,13v8.949c-1.623-0.162-3.129-0.718-4.432-1.564C7.425,18.893,8.723,16.164,8.961,13H11z M15.04,13c0.236,3.164,1.534,5.893,2.392,7.385c-1.302,0.847-2.809,1.402-4.432,1.564V13H15.04z M4.982,4.887 C5.718,6.227,6.726,8.473,6.951,11h-4.9C2.289,8.618,3.367,6.481,4.982,4.887 M2.051,13h4.9c-0.226,2.527-1.233,4.771-1.969,6.113 C3.367,17.52,2.289,15.383,2.051,13 M19.018,19.113c-0.735-1.342-1.744-3.586-1.968-6.113h4.899 C21.712,15.383,20.634,17.52,19.018,19.113" - fill="#010202" /></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/activity@2x.png b/resources/icons/emoji-categories/activity@2x.png new file mode 100644
index 00000000..d8f88711 --- /dev/null +++ b/resources/icons/emoji-categories/activity@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/diversity.svg b/resources/icons/emoji-categories/diversity.svg deleted file mode 100755
index 2498950f..00000000 --- a/resources/icons/emoji-categories/diversity.svg +++ /dev/null
@@ -1,30 +0,0 @@ -<?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" - id="svg2" - viewBox="0 0 32 32" - height="32" - width="32" - version="1.1"> - <metadata - id="metadata10"> - <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="defs8" /> - <path - id="path4" - d="M14 8c0-1.105 0.895-2 2-2s2 0.895 2 2c0 1.105-0.895 2-2 2s-2-0.895-2-2zM16 0c-8.837 0-16 7.163-16 16s7.163 16 16 16 16-7.163 16-16-7.163-16-16-16zM16 26c-1.105 0-2-0.895-2-2s0.895-2 2-2c1.105 0 2 0.895 2 2s-0.895 2-2 2zM16 16c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c-7.18 0-13-5.82-13-13s5.82-13 13-13c3.59 0 6.5 2.91 6.5 6.5s-2.91 6.5-6.5 6.5z" /> -</svg> diff --git a/resources/icons/emoji-categories/flags.png b/resources/icons/emoji-categories/flags.png
index 47f68375..9a52000f 100644 --- a/resources/icons/emoji-categories/flags.png +++ b/resources/icons/emoji-categories/flags.png
Binary files differdiff --git a/resources/icons/emoji-categories/flags.svg b/resources/icons/emoji-categories/flags.svg deleted file mode 100644
index bc9ec6fd..00000000 --- a/resources/icons/emoji-categories/flags.svg +++ /dev/null
@@ -1,29 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata6641"><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="defs6639" /><g - id="g6631"><polygon - style="fill:#000000;fill-opacity:1" - id="polygon6633" - points="0,0 6.084,24 8,24 1.916,0 " - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path6635" - d="M21,5h-4l-1-4H4l3,12h3l1,4h2h11L21,5z M6.563,3h7.875l2,8H8.563L6.563,3z M15.395,13l-2.856,1.904 L12.063,13H15.395z M19,13l-1.5-6h1.938l2,8H16L19,13z" - fill="#010202" /></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/flags@2x.png b/resources/icons/emoji-categories/flags@2x.png new file mode 100644
index 00000000..45350593 --- /dev/null +++ b/resources/icons/emoji-categories/flags@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/foods.png b/resources/icons/emoji-categories/foods.png
index 2443ece9..15c31069 100644 --- a/resources/icons/emoji-categories/foods.png +++ b/resources/icons/emoji-categories/foods.png
Binary files differdiff --git a/resources/icons/emoji-categories/foods.svg b/resources/icons/emoji-categories/foods.svg deleted file mode 100644
index 40c97c1c..00000000 --- a/resources/icons/emoji-categories/foods.svg +++ /dev/null
@@ -1,25 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata4164"><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="defs4162" /><g - id="g4156"><path - style="fill:#000000;fill-opacity:1" - id="path4158" - d="M17,4.978c-1.838,0-2.876,0.396-3.68,0.934c0.513-1.172,1.768-2.934,4.68-2.934c0.552,0,1-0.448,1-1 s-0.448-1-1-1c-2.921,0-4.629,1.365-5.547,2.512c-0.064,0.078-0.119,0.162-0.18,0.244c-0.543-1.896-1.475-3.711-3.066-3.711 C8.579,0.022,7.85,0.306,7,0.978C5.027,2.54,5.329,3.902,6.492,4.999C3.609,5.222,0,7.352,0,12.969c0,4.582,4.961,11.009,9,11.009 c1.975,0,2.371-0.486,3-1c0.629,0.514,1.025,1,3,1c4.039,0,9-6.418,9-11C24,7.025,19.945,4.978,17,4.978 M8.242,2.546 c0.641-0.508,0.943-0.523,0.965-0.523c0.426,0.169,0.975,1.405,1.357,3.055c-1.527-0.629-2.741-1.352-2.98-1.846 C7.643,3.12,7.825,2.876,8.242,2.546 M15,21.978c-1.08,0-1.21-0.109-1.559-0.402l-0.176-0.146 c-0.367-0.302-0.816-0.452-1.266-0.452s-0.898,0.15-1.266,0.452l-0.176,0.146C10.21,21.868,10.08,21.978,9,21.978 c-2.813,0-7-5.389-7-9.009c0-5.823,4.488-5.991,5-5.991c1.939,0,2.484,0.471,3.387,1.251c0.107,0.092,0.215,0.185,0.323,0.276 C11.083,8.82,11.541,8.978,12,8.978s0.917-0.157,1.29-0.473c0.108-0.092,0.216-0.185,0.323-0.276 c0.902-0.78,1.447-1.251,3.387-1.251c0.512,0,5,0.168,5,6C22,16.595,17.813,21.978,15,21.978" - fill="#010202" /></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/foods@2x.png b/resources/icons/emoji-categories/foods@2x.png new file mode 100644
index 00000000..bbdd2a3c --- /dev/null +++ b/resources/icons/emoji-categories/foods@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/nature.png b/resources/icons/emoji-categories/nature.png
index 7a131ba2..eb1786cf 100644 --- a/resources/icons/emoji-categories/nature.png +++ b/resources/icons/emoji-categories/nature.png
Binary files differdiff --git a/resources/icons/emoji-categories/nature.svg b/resources/icons/emoji-categories/nature.svg deleted file mode 100644
index 4f291283..00000000 --- a/resources/icons/emoji-categories/nature.svg +++ /dev/null
@@ -1,36 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata6036"><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="defs6034" /><g - id="g6024"><g - id="g6578"><g - id="g6583"><path - style="fill:#000000;fill-opacity:1" - id="path6028" - d="M15.5,8C14.672,8,14,8.672,14,9.5s0.672,1.5,1.5,1.5S17,10.329,17,9.5S16.328,8,15.5,8" - fill="#010202" /><g - id="g6588"><path - fill="#010202" - d="M8.5,8C7.672,8,7,8.672,7,9.5S7.672,11,8.5,11S10,10.329,10,9.5S9.329,8,8.5,8" - id="path6026" - style="fill:#000000;fill-opacity:1" /><path - fill="#010202" - d="M18.933,0h-0.027c-0.97,0-2.138,0.787-3.018,1.497c-1.274-0.374-2.612-0.51-3.887-0.51 c-1.285,0-2.616,0.133-3.874,0.517C7.245,0.79,6.069,0,5.093,0H5.066C3.352,0,0.07,2.67,0.002,7.026 c-0.039,2.479,0.276,4.238,1.04,5.013c0.254,0.258,0.882,0.677,1.295,0.882c0.191,3.177,0.922,5.238,2.536,6.38 c0.897,0.637,2.187,0.949,3.2,1.102C8.04,20.6,8,20.795,8,21c0,1.773,2.35,3,4,3c1.648,0,4-1.227,4-3 c0-0.201-0.038-0.393-0.072-0.586c2.573-0.385,5.435-1.877,5.925-7.587c0.396-0.22,0.887-0.568,1.104-0.788 c0.763-0.774,1.079-2.534,1.04-5.013C23.929,2.67,20.646,0,18.933,0 M3.223,9.135c-0.237,0.281-0.837,1.155-0.884,1.238 c-0.15-0.41-0.368-1.349-0.337-3.291C2.053,3.801,4.48,2.11,5.093,2.051c0.256,0.015,0.731,0.27,1.265,0.646 c-1.11,1.171-2.275,2.915-2.352,5.125C3.873,8.368,3.608,8.68,3.223,9.135 M12,22c-0.901,0-1.954-0.693-2-1 c0-0.654,0.475-1.236,1-1.602V20c0,0.553,0.447,1,1,1s1-0.447,1-1v-0.602c0.524,0.365,1,0.947,1,1.602 C13.954,21.307,12.901,22,12,22 M15,18.52v0.02c-0.366-0.418-0.798-0.762-1.262-1.02c1.092-0.516,2.239-1.334,2.239-2.217 c0-1.842-1.781-2.195-3.977-2.195c-2.196,0-3.978,0.354-3.978,2.195c0,0.883,1.148,1.701,2.238,2.217 C9.799,17.777,9.368,18.121,9,18.539v-0.025c-1-0.076-2.182-0.281-2.973-0.842c-1.301-0.92-1.838-3.045-1.853-6.478 c0.008-0.014,0.016-0.028,0.023-0.041c0.496-0.826,1.49-1.45,1.804-3.102c0-2.047,1.357-3.631,2.362-4.522 C9.37,3.178,10.555,3,11.948,3c1.447,0,2.685,0.192,3.733,0.57c1,0.9,2.316,2.465,2.316,4.48c0.313,1.651,1.307,2.275,1.803,3.102 c0.035,0.058,0.068,0.117,0.102,0.178C19.843,17.297,17.953,18.34,15,18.52 M21.628,10.318c-0.037-0.065-0.074-0.13-0.113-0.195 c-0.233-0.387-0.502-0.706-0.739-0.987c-0.385-0.455-0.648-0.768-0.782-1.313c-0.076-2.209-1.241-3.954-2.353-5.124 c0.531-0.376,1.004-0.63,1.261-0.647c0.636,0.071,3.044,1.764,3.096,5.031C22.025,8.893,21.651,10.301,21.628,10.318" - id="path6030" - style="fill:#000000;fill-opacity:1" /></g></g></g></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/nature@2x.png b/resources/icons/emoji-categories/nature@2x.png new file mode 100644
index 00000000..81db5c08 --- /dev/null +++ b/resources/icons/emoji-categories/nature@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/objects.png b/resources/icons/emoji-categories/objects.png
index 7f6a8d13..45c6eb37 100644 --- a/resources/icons/emoji-categories/objects.png +++ b/resources/icons/emoji-categories/objects.png
Binary files differdiff --git a/resources/icons/emoji-categories/objects.svg b/resources/icons/emoji-categories/objects.svg deleted file mode 100644
index 67c43610..00000000 --- a/resources/icons/emoji-categories/objects.svg +++ /dev/null
@@ -1,30 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata4838"><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="defs4836" /><g - id="g4820"><g - id="g4822" /><g - id="g4830"><g - id="g5383"><path - style="fill:#000000;fill-opacity:1" - d="M 12 0 C 7.029 0 3 4.029 3 9 C 3 12.120081 4.5888411 14.867862 7 16.482422 L 7 21 C 7 21 9.035 24 12 24 C 14.965 24 17 21 17 21 L 17 16.482422 C 19.411159 14.867862 21 12.120081 21 9 C 21 4.029 16.971 0 12 0 z M 12 2 C 15.86 2 19 5.141 19 9 C 19 12.859 15.86 16 12 16 C 8.14 16 5 12.859 5 9 C 5 5.141 8.14 2 12 2 z M 9 17.476562 C 9.9397054 17.809261 10.946226 18 12 18 C 13.053774 18 14.060295 17.809261 15 17.476562 L 15 18.310547 C 14.089581 18.746635 13.074971 19 12 19 C 10.925029 19 9.9104192 18.746635 9 18.310547 L 9 17.476562 z M 9.2363281 20.546875 C 10.108023 20.832252 11.032636 21 12 21 C 12.965197 21 13.887813 20.832689 14.757812 20.548828 C 14.155076 21.173162 13.152816 22 12 22 C 10.89775 22 9.8827458 21.211335 9.2363281 20.546875 z " - id="path4824" /><path - fill="#010202" - d="M14.745,12.449h-0.004c-0.852-0.024-1.188-0.858-1.577-1.824c-0.421-1.061-0.703-1.561-1.182-1.566h-0.009 c-0.481,0-0.783,0.497-1.235,1.537c-0.436,0.982-0.801,1.811-1.636,1.791l-0.276-0.043c-0.565-0.171-0.853-0.691-1.284-1.794 c-0.125-0.313-0.202-0.632-0.27-0.913C7.221,9.424,7.145,9.107,7.077,9.003C7.067,9.004,7.039,9,6.99,9 C6.438,8.994,5.994,8.543,6,7.99C6.006,7.441,6.452,7,7,7h0.01c1.662,0.017,2.015,1.373,2.198,2.134 c0.486-0.981,1.304-2.058,2.797-2.075c1.531,0.018,2.28,1.153,2.731,2.141c0-0.002,0.001-0.006,0.002-0.008 C14.944,8.424,15.327,7,16.979,7h0.032C17.563,7.007,18.006,7.459,18,8.012C17.994,8.56,17.547,9,17,9h-0.011 c-0.149,0.076-0.256,0.474-0.319,0.709c-0.079,0.295-0.169,0.629-0.311,0.951C15.93,11.633,15.569,12.449,14.745,12.449" - id="path4832" /></g></g></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/objects@2x.png b/resources/icons/emoji-categories/objects@2x.png new file mode 100644
index 00000000..01fd5cb4 --- /dev/null +++ b/resources/icons/emoji-categories/objects@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/people.png b/resources/icons/emoji-categories/people.png
index 8c826fa9..710e808a 100644 --- a/resources/icons/emoji-categories/people.png +++ b/resources/icons/emoji-categories/people.png
Binary files differdiff --git a/resources/icons/emoji-categories/people.svg b/resources/icons/emoji-categories/people.svg deleted file mode 100644
index 31849020..00000000 --- a/resources/icons/emoji-categories/people.svg +++ /dev/null
@@ -1,37 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata7236"><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="defs7234" /><g - id="g7222"><path - style="fill:#000000;fill-opacity:1" - id="path7224" - d="M12,0C5.373,0,0,5.373,0,12s5.373,12,12,12s12-5.373,12-12S18.627,0,12,0 M12,22C6.486,22,2,17.514,2,12 S6.486,2,12,2s10,4.486,10,10S17.514,22,12,22" - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path7226" - d="M8,7C6.895,7,6,7.895,6,9s0.895,2,2,2s2-0.895,2-2S9.105,7,8,7" - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path7228" - d="M16,7c-1.105,0-2,0.895-2,2s0.895,2,2,2s2-0.895,2-2S17.105,7,16,7" - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path7230" - d="M15.232,15c-0.693,1.195-1.87,2-3.349,2c-1.477,0-2.655-0.805-3.347-2H15 M18,13H6c0,3.314,2.686,6,6,6 S18,16.314,18,13" - fill="#010202" /></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/people@2x.png b/resources/icons/emoji-categories/people@2x.png new file mode 100644
index 00000000..142ba09e --- /dev/null +++ b/resources/icons/emoji-categories/people@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/recent.svg b/resources/icons/emoji-categories/recent.svg deleted file mode 100644
index e79b2ebc..00000000 --- a/resources/icons/emoji-categories/recent.svg +++ /dev/null
@@ -1,29 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata8433"><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="defs8431" /><g - id="g8421"><path - id="polygon8423" - d="M 13,4 11,4 10.999,11 9,11 l 0,2 2,0 0,2 2,0 0,-2 4,0 0,-2 -4,0 z" - style="fill:#000000;fill-opacity:1" /><g - id="g8425"><path - style="fill:#000000;fill-opacity:1" - id="path8427" - d="M12,0C5.373,0,0,5.373,0,12s5.373,12,12,12s12-5.373,12-12S18.627,0,12,0 M12,22C6.486,22,2,17.514,2,12 S6.486,2,12,2s10,4.486,10,10S17.514,22,12,22" - fill="#010202" /></g></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/symbols.png b/resources/icons/emoji-categories/symbols.png
index 69a39754..08184de1 100644 --- a/resources/icons/emoji-categories/symbols.png +++ b/resources/icons/emoji-categories/symbols.png
Binary files differdiff --git a/resources/icons/emoji-categories/symbols.svg b/resources/icons/emoji-categories/symbols.svg deleted file mode 100644
index 75f30ee6..00000000 --- a/resources/icons/emoji-categories/symbols.svg +++ /dev/null
@@ -1,46 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata7837"><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="defs7835" /><g - id="g7817"><path - id="rect7819" - d="M 0,0 11,0 11,2 0,2 Z" - style="fill:#000000;fill-opacity:1" /><path - id="polygon7821" - d="M 4,11 7,11 7,6 11,6 11,4 0,4 0,6 4,6 Z" - style="fill:#000000;fill-opacity:1" /><path - style="fill:#000000;fill-opacity:1" - id="path7823" - d="M15.5,17c1.381,0,2.5-1.116,2.5-2.493s-1.119-2.493-2.5-2.493S13,13.13,13,14.507S14.119,17,15.5,17 M15.5,14.014c0.276,0,0.5,0.222,0.5,0.493C16,14.779,15.776,15,15.5,15S15,14.779,15,14.507C15,14.235,15.224,14.014,15.5,14.014" - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path7825" - d="M21.5,19.014c-1.381,0-2.5,1.116-2.5,2.493S20.119,24,21.5,24s2.5-1.116,2.5-2.493 S22.881,19.014,21.5,19.014 M21.5,22c-0.276,0-0.5-0.221-0.5-0.493c0-0.271,0.224-0.493,0.5-0.493s0.5,0.222,0.5,0.493 C22,21.779,21.776,22,21.5,22" - fill="#010202" /><path - id="polygon7827" - d="m 22,13 -9,9 1.513,1.5 8.99,-9.009 z" - style="fill:#000000;fill-opacity:1" /><path - style="fill:#000000;fill-opacity:1" - id="path7829" - d="M17,11c2.209,0,4-1.119,4-2.5V2c0,0,0.985-0.161,1.498,0.949C23.01,4.055,23,6,23,6s1-1.119,1-3.135 C24-0.02,21,0,21,0h-2v6.347C18.41,6.132,17.732,6,17,6c-2.209,0-4,1.119-4,2.5S14.791,11,17,11" - fill="#010202" /><path - style="fill:#000000;fill-opacity:1" - id="path7831" - d="M10.297,20.482l-1.475-1.585c-0.773,0.619-1.254,0.995-1.442,1.129c-0.307-0.288-0.989-1.016-2.045-2.183 c0.902-0.836,1.479-1.466,1.729-1.892s0.376-0.871,0.376-1.336c0-0.592-0.273-1.178-0.818-1.759 c-0.546-0.581-1.329-0.871-2.349-0.871c-1.008,0-1.79,0.293-2.344,0.879c-0.556,0.587-0.832,1.181-0.832,1.784 c0,0.813,0.419,1.748,1.256,2.805c-0.847,0.614-1.444,1.208-1.794,1.784c-0.35,0.575-0.523,1.186-0.523,1.833 c0,0.857,0.308,1.56,0.924,2.107C1.576,23.726,2.383,24,3.38,24c1.173,0,2.444-0.379,3.813-1.137L8.235,24h2.819l-2.09-2.383 L10.297,20.482z M3.561,14.093c0.199-0.19,0.443-0.286,0.73-0.286c0.31,0,0.559,0.085,0.747,0.254 c0.189,0.171,0.283,0.391,0.283,0.659c0,0.518-0.419,1.112-1.257,1.784c-0.536-0.651-0.805-1.231-0.805-1.742 C3.26,14.508,3.36,14.284,3.561,14.093 M3.74,22c-0.427,0-0.778-0.116-1.057-0.349c-0.279-0.232-0.418-0.487-0.418-0.766 c0-0.594,0.509-1.288,1.527-2.083c0.968,1.134,1.717,1.946,2.248,2.438C5.119,21.747,4.354,22,3.74,22" - fill="#010202" /></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/symbols@2x.png b/resources/icons/emoji-categories/symbols@2x.png new file mode 100644
index 00000000..b5e7cc6c --- /dev/null +++ b/resources/icons/emoji-categories/symbols@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/travel.png b/resources/icons/emoji-categories/travel.png
index ab50f7cb..93da773e 100644 --- a/resources/icons/emoji-categories/travel.png +++ b/resources/icons/emoji-categories/travel.png
Binary files differdiff --git a/resources/icons/emoji-categories/travel.svg b/resources/icons/emoji-categories/travel.svg deleted file mode 100644
index ca6cb325..00000000 --- a/resources/icons/emoji-categories/travel.svg +++ /dev/null
@@ -1,34 +0,0 @@ -<?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" - xml:space="preserve" - enable-background="new 0 0 24 24" - viewBox="0 0 24 24" - height="24px" - width="24px" - y="0px" - x="0px" - id="Слой_1" - version="1.1"><metadata - id="metadata5438"><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="defs5436" /><g - id="g5426"><g - id="g5980"><path - fill="#010202" - d="M6.5,12C5.122,12,4,13.121,4,14.5S5.122,17,6.5,17S9,15.879,9,14.5S7.878,12,6.5,12 M6.5,15 C6.225,15,6,14.775,6,14.5S6.225,14,6.5,14S7,14.225,7,14.5S6.775,15,6.5,15" - id="path5428" - style="fill:#000000;fill-opacity:1" /><path - fill="#010202" - d="M17.5,12c-1.378,0-2.5,1.121-2.5,2.5s1.122,2.5,2.5,2.5s2.5-1.121,2.5-2.5S18.878,12,17.5,12 M17.5,15 c-0.275,0-0.5-0.225-0.5-0.5s0.225-0.5,0.5-0.5s0.5,0.225,0.5,0.5S17.775,15,17.5,15" - id="path5430" - style="fill:#000000;fill-opacity:1" /><path - fill="#010202" - d="M22.482,9.494l-1.039-0.346L21.4,9H22c0.552,0,1-0.439,1-0.992C23,8.002,22.997,8,22.997,8H23 c0-1-0.889-2-1.984-2h-0.642l-0.731-1.717C19.262,3.012,18.091,2,16.764,2H7.236C5.909,2,4.738,3.012,4.357,4.283L3.626,6H2.984 C1.889,6,1,7,1,8h0.003C1.003,8,1,8.002,1,8.008C1,8.561,1.448,9,2,9h0.6L2.557,9.148L1.518,9.494 C0.63,9.79,0.066,10.661,0.159,11.591l0.751,7.508C0.961,19.611,1.391,20,1.904,20H3v1c0,1.103,0.896,2,2,2h2c1.104,0,2-0.897,2-2 v-1h6v1c0,1.103,0.896,2,2,2h2c1.104,0,2-0.897,2-2v-1h1.096c0.514,0,0.943-0.389,0.994-0.901l0.751-7.508 C23.934,10.661,23.37,9.79,22.482,9.494 M6.273,4.857C6.402,4.43,6.788,4,7.236,4h9.527c0.448,0,0.834,0.43,0.963,0.857L19.313,9 H4.688L6.273,4.857z M7,21H5v-1h2V21z M19,21h-2v-1h2V21z M21.189,18H21h-6H9H3H2.811l-0.662-6.607L3,11h18l0.852,0.393L21.189,18z " - id="path5432" - style="fill:#000000;fill-opacity:1" /></g></g></svg> \ No newline at end of file diff --git a/resources/icons/emoji-categories/travel@2x.png b/resources/icons/emoji-categories/travel@2x.png new file mode 100644
index 00000000..2f72a281 --- /dev/null +++ b/resources/icons/emoji-categories/travel@2x.png
Binary files differdiff --git a/resources/icons/emoji-categories/unicode9.svg b/resources/icons/emoji-categories/unicode9.svg deleted file mode 100755
index 310c4228..00000000 --- a/resources/icons/emoji-categories/unicode9.svg +++ /dev/null
@@ -1,30 +0,0 @@ -<?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" - id="svg2" - viewBox="0 0 32 32" - height="32" - width="32" - version="1.1"> - <metadata - id="metadata10"> - <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="defs8" /> - <path - id="path4" - d="M20 12.667v-2.688h-2.688v2.688h2.688zM20 7.354c1.438 0 2.688 1.125 2.688 2.625v8c0 1.5-1.25 2.688-2.688 2.688h-5.313v-2.688h5.313v-2.625h-2.688c-1.438 0-2.625-1.188-2.625-2.688v-2.688c0-1.5 1.188-2.625 2.625-2.625h2.688zM28 23.354v-18.688h-18.688v18.688h18.688zM28 1.979c1.438 0 2.688 1.25 2.688 2.688v18.688c0 1.438-1.25 2.625-2.688 2.625h-18.688c-1.438 0-2.625-1.188-2.625-2.625v-18.688c0-1.438 1.188-2.688 2.625-2.688h18.688zM4 7.354v21.313h21.313v2.688h-21.313c-1.438 0-2.688-1.25-2.688-2.688v-21.313h2.688z" /> -</svg> diff --git a/resources/icons/error.png b/resources/icons/error.png deleted file mode 100644
index 295dbf06..00000000 --- a/resources/icons/error.png +++ /dev/null
Binary files differdiff --git a/resources/icons/left-angle.png b/resources/icons/left-angle.png deleted file mode 100644
index 71543286..00000000 --- a/resources/icons/left-angle.png +++ /dev/null
Binary files differdiff --git a/resources/icons/left-chevron.png b/resources/icons/left-chevron.png deleted file mode 100644
index 386395fb..00000000 --- a/resources/icons/left-chevron.png +++ /dev/null
Binary files differdiff --git a/resources/icons/plus-symbol.png b/resources/icons/plus-symbol.png deleted file mode 100644
index 35aef7d0..00000000 --- a/resources/icons/plus-symbol.png +++ /dev/null
Binary files differdiff --git a/resources/icons/power-button-off.png b/resources/icons/power-button-off.png deleted file mode 100644
index 2409032f..00000000 --- a/resources/icons/power-button-off.png +++ /dev/null
Binary files differdiff --git a/resources/icons/search.png b/resources/icons/search.png deleted file mode 100644
index 94e2f4fc..00000000 --- a/resources/icons/search.png +++ /dev/null
Binary files differdiff --git a/resources/icons/send-button.png b/resources/icons/send-button.png deleted file mode 100644
index d19bf69f..00000000 --- a/resources/icons/send-button.png +++ /dev/null
Binary files differdiff --git a/resources/icons/share-dark.png b/resources/icons/share-dark.png deleted file mode 100644
index 3e4d42a8..00000000 --- a/resources/icons/share-dark.png +++ /dev/null
Binary files differdiff --git a/resources/icons/smile.png b/resources/icons/smile.png deleted file mode 100644
index f226a5f3..00000000 --- a/resources/icons/smile.png +++ /dev/null
Binary files differdiff --git a/resources/icons/ui/add-square-button.png b/resources/icons/ui/add-square-button.png new file mode 100644
index 00000000..a4933c16 --- /dev/null +++ b/resources/icons/ui/add-square-button.png
Binary files differdiff --git a/resources/icons/ui/add-square-button@2x.png b/resources/icons/ui/add-square-button@2x.png new file mode 100644
index 00000000..b2c4a44b --- /dev/null +++ b/resources/icons/ui/add-square-button@2x.png
Binary files differdiff --git a/resources/icons/ui/angle-pointing-to-left.png b/resources/icons/ui/angle-pointing-to-left.png new file mode 100644
index 00000000..7c5432a6 --- /dev/null +++ b/resources/icons/ui/angle-pointing-to-left.png
Binary files differdiff --git a/resources/icons/ui/angle-pointing-to-left@2x.png b/resources/icons/ui/angle-pointing-to-left@2x.png new file mode 100644
index 00000000..f2fa93c4 --- /dev/null +++ b/resources/icons/ui/angle-pointing-to-left@2x.png
Binary files differdiff --git a/resources/icons/ui/cloud-storage-uploading-option.png b/resources/icons/ui/cloud-storage-uploading-option.png new file mode 100644
index 00000000..f679d676 --- /dev/null +++ b/resources/icons/ui/cloud-storage-uploading-option.png
Binary files differdiff --git a/resources/icons/ui/cloud-storage-uploading-option@2x.png b/resources/icons/ui/cloud-storage-uploading-option@2x.png new file mode 100644
index 00000000..162bc954 --- /dev/null +++ b/resources/icons/ui/cloud-storage-uploading-option@2x.png
Binary files differdiff --git a/resources/icons/ui/cursor.png b/resources/icons/ui/cursor.png new file mode 100644
index 00000000..cc7a2477 --- /dev/null +++ b/resources/icons/ui/cursor.png
Binary files differdiff --git a/resources/icons/ui/cursor@2x.png b/resources/icons/ui/cursor@2x.png new file mode 100644
index 00000000..d02d29fb --- /dev/null +++ b/resources/icons/ui/cursor@2x.png
Binary files differdiff --git a/resources/icons/ui/paper-clip-outline.png b/resources/icons/ui/paper-clip-outline.png new file mode 100644
index 00000000..a30fd07b --- /dev/null +++ b/resources/icons/ui/paper-clip-outline.png
Binary files differdiff --git a/resources/icons/ui/paper-clip-outline@2x.png b/resources/icons/ui/paper-clip-outline@2x.png new file mode 100644
index 00000000..6cb3d6a5 --- /dev/null +++ b/resources/icons/ui/paper-clip-outline@2x.png
Binary files differdiff --git a/resources/icons/ui/plus-black-symbol.png b/resources/icons/ui/plus-black-symbol.png new file mode 100644
index 00000000..4ddfc93f --- /dev/null +++ b/resources/icons/ui/plus-black-symbol.png
Binary files differdiff --git a/resources/icons/ui/plus-black-symbol@2x.png b/resources/icons/ui/plus-black-symbol@2x.png new file mode 100644
index 00000000..c217b396 --- /dev/null +++ b/resources/icons/ui/plus-black-symbol@2x.png
Binary files differdiff --git a/resources/icons/ui/power-button-off.png b/resources/icons/ui/power-button-off.png new file mode 100644
index 00000000..7763de0f --- /dev/null +++ b/resources/icons/ui/power-button-off.png
Binary files differdiff --git a/resources/icons/ui/power-button-off@2x.png b/resources/icons/ui/power-button-off@2x.png new file mode 100644
index 00000000..a4629446 --- /dev/null +++ b/resources/icons/ui/power-button-off@2x.png
Binary files differdiff --git a/resources/icons/ui/settings.png b/resources/icons/ui/settings.png new file mode 100644
index 00000000..6e013f75 --- /dev/null +++ b/resources/icons/ui/settings.png
Binary files differdiff --git a/resources/icons/ui/settings@2x.png b/resources/icons/ui/settings@2x.png new file mode 100644
index 00000000..dae05360 --- /dev/null +++ b/resources/icons/ui/settings@2x.png
Binary files differdiff --git a/resources/icons/ui/smile.png b/resources/icons/ui/smile.png new file mode 100644
index 00000000..161d46d4 --- /dev/null +++ b/resources/icons/ui/smile.png
Binary files differdiff --git a/resources/icons/ui/smile@2x.png b/resources/icons/ui/smile@2x.png new file mode 100644
index 00000000..acc439e9 --- /dev/null +++ b/resources/icons/ui/smile@2x.png
Binary files differdiff --git a/resources/icons/ui/speech-bubbles-comment-option.png b/resources/icons/ui/speech-bubbles-comment-option.png new file mode 100644
index 00000000..3ec0165d --- /dev/null +++ b/resources/icons/ui/speech-bubbles-comment-option.png
Binary files differdiff --git a/resources/icons/ui/speech-bubbles-comment-option@2x.png b/resources/icons/ui/speech-bubbles-comment-option@2x.png new file mode 100644
index 00000000..8a07321d --- /dev/null +++ b/resources/icons/ui/speech-bubbles-comment-option@2x.png
Binary files differdiff --git a/resources/icons/ui/vertical-ellipsis.png b/resources/icons/ui/vertical-ellipsis.png new file mode 100644
index 00000000..5ce9d78f --- /dev/null +++ b/resources/icons/ui/vertical-ellipsis.png
Binary files differdiff --git a/resources/icons/ui/vertical-ellipsis@2x.png b/resources/icons/ui/vertical-ellipsis@2x.png new file mode 100644
index 00000000..9af0c042 --- /dev/null +++ b/resources/icons/ui/vertical-ellipsis@2x.png
Binary files differdiff --git a/resources/icons/user-shape.png b/resources/icons/user-shape.png deleted file mode 100644
index 1b4b46cc..00000000 --- a/resources/icons/user-shape.png +++ /dev/null
Binary files differdiff --git a/resources/icons/vertical-ellipsis.png b/resources/icons/vertical-ellipsis.png deleted file mode 100644
index 82714451..00000000 --- a/resources/icons/vertical-ellipsis.png +++ /dev/null
Binary files differdiff --git a/resources/login.png b/resources/login.png new file mode 100644
index 00000000..e65084ef --- /dev/null +++ b/resources/login.png
Binary files differdiff --git a/resources/login@2x.png b/resources/login@2x.png new file mode 100644
index 00000000..4f89112f --- /dev/null +++ b/resources/login@2x.png
Binary files differdiff --git a/resources/register.png b/resources/register.png new file mode 100644
index 00000000..e65084ef --- /dev/null +++ b/resources/register.png
Binary files differdiff --git a/resources/register@2x.png b/resources/register@2x.png new file mode 100644
index 00000000..4f89112f --- /dev/null +++ b/resources/register@2x.png
Binary files differdiff --git a/resources/res.qrc b/resources/res.qrc
index 13a7d309..59d6559d 100644 --- a/resources/res.qrc +++ b/resources/res.qrc
@@ -1,33 +1,58 @@ <RCC> <qresource prefix="/icons"> - <file>icons/left-chevron.png</file> - <file>icons/left-angle.png</file> - <file>icons/add-file.png</file> - <file>icons/send-button.png</file> - <file>icons/cog.png</file> - <file>icons/search.png</file> - <file>icons/plus-symbol.png</file> - <file>icons/clip-dark.png</file> - <file>icons/share-dark.png</file> - <file>icons/user-shape.png</file> - <file>icons/power-button-off.png</file> - <file>icons/smile.png</file> - <file>icons/error.png</file> + <file>icons/ui/cursor.png</file> + <file>icons/ui/cursor@2x.png</file> + <file>icons/ui/settings.png</file> + <file>icons/ui/settings@2x.png</file> + <file>icons/ui/smile.png</file> + <file>icons/ui/smile@2x.png</file> + <file>icons/ui/speech-bubbles-comment-option.png</file> + <file>icons/ui/speech-bubbles-comment-option@2x.png</file> + <file>icons/ui/vertical-ellipsis.png</file> + <file>icons/ui/vertical-ellipsis@2x.png</file> + <file>icons/ui/power-button-off.png</file> + <file>icons/ui/power-button-off@2x.png</file> + <file>icons/ui/plus-black-symbol.png</file> + <file>icons/ui/plus-black-symbol@2x.png</file> + <file>icons/ui/add-square-button.png</file> + <file>icons/ui/add-square-button@2x.png</file> + <file>icons/ui/cloud-storage-uploading-option.png</file> + <file>icons/ui/cloud-storage-uploading-option@2x.png</file> + <file>icons/ui/paper-clip-outline.png</file> + <file>icons/ui/paper-clip-outline@2x.png</file> + <file>icons/ui/angle-pointing-to-left.png</file> + <file>icons/ui/angle-pointing-to-left@2x.png</file> <file>icons/emoji-categories/people.png</file> + <file>icons/emoji-categories/people@2x.png</file> <file>icons/emoji-categories/nature.png</file> + <file>icons/emoji-categories/nature@2x.png</file> <file>icons/emoji-categories/foods.png</file> + <file>icons/emoji-categories/foods@2x.png</file> <file>icons/emoji-categories/activity.png</file> + <file>icons/emoji-categories/activity@2x.png</file> <file>icons/emoji-categories/travel.png</file> + <file>icons/emoji-categories/travel@2x.png</file> <file>icons/emoji-categories/objects.png</file> + <file>icons/emoji-categories/objects@2x.png</file> <file>icons/emoji-categories/symbols.png</file> + <file>icons/emoji-categories/symbols@2x.png</file> <file>icons/emoji-categories/flags.png</file> - - <file>icons/vertical-ellipsis.png</file> + <file>icons/emoji-categories/flags@2x.png</file> </qresource> <qresource prefix="/logos"> <file>nheko.png</file> + + <file>splash.png</file> + <file>splash@2x.png</file> + + <file>register.png</file> + <file>register@2x.png</file> + + <file>login.png</file> + <file>login@2x.png</file> + <file>nheko-512.png</file> <file>nheko-256.png</file> <file>nheko-128.png</file> @@ -37,16 +62,10 @@ </qresource> <qresource prefix="/fonts"> - <file>fonts/OpenSans/OpenSans-Light.ttf</file> - <file>fonts/OpenSans/OpenSans-LightItalic.ttf</file> <file>fonts/OpenSans/OpenSans-Regular.ttf</file> <file>fonts/OpenSans/OpenSans-Italic.ttf</file> <file>fonts/OpenSans/OpenSans-Bold.ttf</file> - <file>fonts/OpenSans/OpenSans-BoldItalic.ttf</file> <file>fonts/OpenSans/OpenSans-Semibold.ttf</file> - <file>fonts/OpenSans/OpenSans-SemiboldItalic.ttf</file> - <file>fonts/OpenSans/OpenSans-ExtraBold.ttf</file> - <file>fonts/OpenSans/OpenSans-ExtraBoldItalic.ttf</file> <file>fonts/EmojiOne/emojione-android.ttf</file> </qresource> diff --git a/resources/splash.png b/resources/splash.png new file mode 100644
index 00000000..4f89112f --- /dev/null +++ b/resources/splash.png
Binary files differdiff --git a/resources/splash@2x.png b/resources/splash@2x.png new file mode 100644
index 00000000..3c39b0be --- /dev/null +++ b/resources/splash@2x.png
Binary files differdiff --git a/src/Cache.cc b/src/Cache.cc
index c96ec37d..3f7b141b 100644 --- a/src/Cache.cc +++ b/src/Cache.cc
@@ -36,8 +36,7 @@ Cache::Cache(const QString &userId) , roomDb_{ 0 } , isMounted_{ false } , userId_{ userId } -{ -} +{} void Cache::setup() diff --git a/src/ChatPage.cc b/src/ChatPage.cc
index 92692fc1..24844183 100644 --- a/src/ChatPage.cc +++ b/src/ChatPage.cc
@@ -60,8 +60,11 @@ ChatPage::ChatPage(QSharedPointer<MatrixClient> client, QWidget *parent) sideBarMainLayout_->setSpacing(0); sideBarMainLayout_->setMargin(0); + sidebarActions_ = new SideBarActions(this); + sideBarLayout_->addLayout(sideBarTopLayout_); sideBarLayout_->addLayout(sideBarMainLayout_); + sideBarLayout_->addWidget(sidebarActions_); sideBarTopWidget_ = new QWidget(sideBar_); sideBarTopWidget_->setStyleSheet("background-color: #d6dde3; color: #ebebeb;"); diff --git a/src/Deserializable.cc b/src/Deserializable.cc
index 9bef7d68..6033f898 100644 --- a/src/Deserializable.cc +++ b/src/Deserializable.cc
@@ -23,8 +23,7 @@ DeserializationException::DeserializationException(const std::string &msg) : msg_(msg) -{ -} +{} const char * DeserializationException::what() const noexcept diff --git a/src/EmojiPanel.cc b/src/EmojiPanel.cc
index 2730ddb5..16299ace 100644 --- a/src/EmojiPanel.cc +++ b/src/EmojiPanel.cc
@@ -63,43 +63,53 @@ EmojiPanel::EmojiPanel(QWidget *parent) categoriesLayout->setSpacing(6); categoriesLayout->setMargin(5); + QIcon icon; + auto peopleCategory = new FlatButton(emojiCategories); - peopleCategory->setIcon(QIcon(":/icons/icons/emoji-categories/people.png")); + icon.addFile(":/icons/icons/emoji-categories/people.png"); + peopleCategory->setIcon(icon); peopleCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); peopleCategory->setForegroundColor("gray"); auto natureCategory_ = new FlatButton(emojiCategories); - natureCategory_->setIcon(QIcon(":/icons/icons/emoji-categories/nature.png")); + icon.addFile(":/icons/icons/emoji-categories/nature.png"); + natureCategory_->setIcon(icon); natureCategory_->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); natureCategory_->setForegroundColor("gray"); auto foodCategory_ = new FlatButton(emojiCategories); - foodCategory_->setIcon(QIcon(":/icons/icons/emoji-categories/foods.png")); + icon.addFile(":/icons/icons/emoji-categories/foods.png"); + foodCategory_->setIcon(icon); foodCategory_->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); foodCategory_->setForegroundColor("gray"); auto activityCategory = new FlatButton(emojiCategories); - activityCategory->setIcon(QIcon(":/icons/icons/emoji-categories/activity.png")); + icon.addFile(":/icons/icons/emoji-categories/activity.png"); + activityCategory->setIcon(icon); activityCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); activityCategory->setForegroundColor("gray"); auto travelCategory = new FlatButton(emojiCategories); - travelCategory->setIcon(QIcon(":/icons/icons/emoji-categories/travel.png")); + icon.addFile(":/icons/icons/emoji-categories/travel.png"); + travelCategory->setIcon(icon); travelCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); travelCategory->setForegroundColor("gray"); auto objectsCategory = new FlatButton(emojiCategories); - objectsCategory->setIcon(QIcon(":/icons/icons/emoji-categories/objects.png")); + icon.addFile(":/icons/icons/emoji-categories/objects.png"); + objectsCategory->setIcon(icon); objectsCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); objectsCategory->setForegroundColor("gray"); auto symbolsCategory = new FlatButton(emojiCategories); - symbolsCategory->setIcon(QIcon(":/icons/icons/emoji-categories/symbols.png")); + icon.addFile(":/icons/icons/emoji-categories/symbols.png"); + symbolsCategory->setIcon(icon); symbolsCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); symbolsCategory->setForegroundColor("gray"); auto flagsCategory = new FlatButton(emojiCategories); - flagsCategory->setIcon(QIcon(":/icons/icons/emoji-categories/flags.png")); + icon.addFile(":/icons/icons/emoji-categories/flags.png"); + flagsCategory->setIcon(icon); flagsCategory->setIconSize(QSize(categoryIconSize_, categoryIconSize_)); flagsCategory->setForegroundColor("gray"); diff --git a/src/EmojiPickButton.cc b/src/EmojiPickButton.cc
index 4f7dd59e..06d97d4c 100644 --- a/src/EmojiPickButton.cc +++ b/src/EmojiPickButton.cc
@@ -22,8 +22,7 @@ EmojiPickButton::EmojiPickButton(QWidget *parent) : FlatButton(parent) , panel_{ nullptr } -{ -} +{} void EmojiPickButton::enterEvent(QEvent *e) diff --git a/src/Login.cc b/src/Login.cc
index d0dd1ea9..16c6f172 100644 --- a/src/Login.cc +++ b/src/Login.cc
@@ -27,8 +27,7 @@ LoginRequest::LoginRequest() {} LoginRequest::LoginRequest(QString username, QString password) : user_(username) , password_(password) -{ -} +{} QByteArray LoginRequest::serialize() noexcept diff --git a/src/LoginPage.cc b/src/LoginPage.cc
index fd7fede3..bbe2a134 100644 --- a/src/LoginPage.cc +++ b/src/LoginPage.cc
@@ -42,16 +42,16 @@ LoginPage::LoginPage(QSharedPointer<MatrixClient> client, QWidget *parent) top_bar_layout_->addStretch(1); QIcon icon; - icon.addFile(":/icons/icons/left-angle.png", QSize(), QIcon::Normal, QIcon::Off); + icon.addFile(":/icons/icons/ui/angle-pointing-to-left.png"); back_button_->setIcon(icon); - back_button_->setIconSize(QSize(24, 24)); + back_button_->setIconSize(QSize(32, 32)); - QIcon advanced_settings_icon; - advanced_settings_icon.addFile(":/icons/icons/cog.png", QSize(), QIcon::Normal, QIcon::Off); + QIcon logo; + logo.addFile(":/logos/login.png"); logo_ = new QLabel(this); - logo_->setPixmap(QPixmap(":/logos/nheko-128.png")); + logo_->setPixmap(logo.pixmap(128)); logo_layout_ = new QHBoxLayout(); logo_layout_->setContentsMargins(0, 0, 0, 20); diff --git a/src/MainWindow.cc b/src/MainWindow.cc
index 06f8245c..8cb2b562 100644 --- a/src/MainWindow.cc +++ b/src/MainWindow.cc
@@ -176,8 +176,8 @@ MainWindow::showChatPage(QString userid, QString homeserver, QString token) new LoadingIndicator(this), [=](LoadingIndicator *indicator) { indicator->deleteLater(); }); spinner_->setColor("#acc7dc"); - spinner_->setFixedHeight(120); - spinner_->setFixedWidth(120); + spinner_->setFixedHeight(100); + spinner_->setFixedWidth(100); spinner_->start(); } diff --git a/src/QuickSwitcher.cc b/src/QuickSwitcher.cc
index 29876f99..5b459eaf 100644 --- a/src/QuickSwitcher.cc +++ b/src/QuickSwitcher.cc
@@ -24,8 +24,7 @@ RoomSearchInput::RoomSearchInput(QWidget *parent) : TextField(parent) -{ -} +{} bool RoomSearchInput::focusNextPrevChild(bool next) diff --git a/src/Register.cc b/src/Register.cc
index 2e2c227c..db3ce4f9 100644 --- a/src/Register.cc +++ b/src/Register.cc
@@ -25,8 +25,7 @@ RegisterRequest::RegisterRequest(const QString &username, const QString &password) : user_(username) , password_(password) -{ -} +{} QByteArray RegisterRequest::serialize() noexcept diff --git a/src/RegisterPage.cc b/src/RegisterPage.cc
index e485de7d..bcd02be0 100644 --- a/src/RegisterPage.cc +++ b/src/RegisterPage.cc
@@ -38,17 +38,20 @@ RegisterPage::RegisterPage(QSharedPointer<MatrixClient> client, QWidget *parent) back_button_->setMinimumSize(QSize(30, 30)); QIcon icon; - icon.addFile(":/icons/icons/left-angle.png", QSize(), QIcon::Normal, QIcon::Off); + icon.addFile(":/icons/icons/ui/angle-pointing-to-left.png"); back_button_->setIcon(icon); - back_button_->setIconSize(QSize(24, 24)); + back_button_->setIconSize(QSize(32, 32)); back_layout_->addWidget(back_button_, 0, Qt::AlignLeft | Qt::AlignVCenter); back_layout_->addStretch(1); + QIcon logo; + logo.addFile(":/logos/register.png"); + logo_ = new Avatar(this); - logo_->setImage(QImage(":/logos/nheko-128.png")); - logo_->setSize(80); + logo_->setIcon(logo); + logo_->setSize(128); logo_layout_ = new QHBoxLayout(); logo_layout_->setMargin(0); diff --git a/src/SideBarActions.cc b/src/SideBarActions.cc new file mode 100644
index 00000000..d4874c6a --- /dev/null +++ b/src/SideBarActions.cc
@@ -0,0 +1,65 @@ +#include <QDebug> +#include <QIcon> + +#include "Config.h" +#include "Theme.h" +#include <SideBarActions.h> + +SideBarActions::SideBarActions(QWidget *parent) + : QWidget{ parent } +{ + setFixedHeight(conf::sidebarActions::height); + + QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + setSizePolicy(sizePolicy); + + layout_ = new QHBoxLayout(this); + layout_->setMargin(0); + + QIcon settingsIcon; + settingsIcon.addFile(":/icons/icons/ui/settings.png"); + + QIcon createRoomIcon; + createRoomIcon.addFile(":/icons/icons/ui/add-square-button.png"); + + QIcon joinRoomIcon; + joinRoomIcon.addFile(":/icons/icons/ui/speech-bubbles-comment-option.png"); + + settingsBtn_ = new FlatButton(this); + settingsBtn_->setIcon(settingsIcon); + settingsBtn_->setCornerRadius(conf::sidebarActions::iconSize / 2); + settingsBtn_->setIconSize( + QSize(conf::sidebarActions::iconSize, conf::sidebarActions::iconSize)); + + createRoomBtn_ = new FlatButton(this); + createRoomBtn_->setIcon(createRoomIcon); + createRoomBtn_->setCornerRadius(conf::sidebarActions::iconSize / 2); + createRoomBtn_->setIconSize( + QSize(conf::sidebarActions::iconSize, conf::sidebarActions::iconSize)); + + joinRoomBtn_ = new FlatButton(this); + joinRoomBtn_->setIcon(joinRoomIcon); + joinRoomBtn_->setCornerRadius(conf::sidebarActions::iconSize / 2); + joinRoomBtn_->setIconSize( + QSize(conf::sidebarActions::iconSize, conf::sidebarActions::iconSize)); + + layout_->addWidget(createRoomBtn_); + layout_->addWidget(joinRoomBtn_); + layout_->addWidget(settingsBtn_); +} + +SideBarActions::~SideBarActions() {} + +void +SideBarActions::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event); + + if (width() <= ui::sidebar::SmallSize) { + joinRoomBtn_->hide(); + createRoomBtn_->hide(); + } else { + joinRoomBtn_->show(); + createRoomBtn_->show(); + } +} diff --git a/src/TextInputWidget.cc b/src/TextInputWidget.cc
index b90a7caa..0d5e1102 100644 --- a/src/TextInputWidget.cc +++ b/src/TextInputWidget.cc
@@ -45,7 +45,7 @@ TextInputWidget::TextInputWidget(QWidget *parent) { setFont(QFont("Emoji One")); - setFixedHeight(50); + setFixedHeight(conf::textInput::height); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); setCursor(Qt::ArrowCursor); setStyleSheet("background-color: #fff;"); @@ -55,15 +55,13 @@ TextInputWidget::TextInputWidget(QWidget *parent) topLayout_->setContentsMargins(15, 0, 15, 5); QIcon send_file_icon; - send_file_icon.addFile(":/icons/icons/clip-dark.png", QSize(), QIcon::Normal, QIcon::Off); + send_file_icon.addFile(":/icons/icons/ui/paper-clip-outline.png"); sendFileBtn_ = new FlatButton(this); - sendFileBtn_->setForegroundColor(QColor("#acc7dc")); sendFileBtn_->setIcon(send_file_icon); sendFileBtn_->setIconSize(QSize(24, 24)); spinner_ = new LoadingIndicator(this); - spinner_->setColor("#acc7dc"); spinner_->setFixedHeight(32); spinner_->setFixedWidth(32); spinner_->hide(); @@ -79,19 +77,16 @@ TextInputWidget::TextInputWidget(QWidget *parent) input_->setStyleSheet("color: #333333; border: none; padding-top: 5px; margin: 0 5px"); sendMessageBtn_ = new FlatButton(this); - sendMessageBtn_->setForegroundColor(QColor("#acc7dc")); QIcon send_message_icon; - send_message_icon.addFile( - ":/icons/icons/share-dark.png", QSize(), QIcon::Normal, QIcon::Off); + send_message_icon.addFile(":/icons/icons/ui/cursor.png"); sendMessageBtn_->setIcon(send_message_icon); sendMessageBtn_->setIconSize(QSize(24, 24)); emojiBtn_ = new EmojiPickButton(this); - emojiBtn_->setForegroundColor(QColor("#acc7dc")); QIcon emoji_icon; - emoji_icon.addFile(":/icons/icons/smile.png", QSize(), QIcon::Normal, QIcon::Off); + emoji_icon.addFile(":/icons/icons/ui/smile.png"); emojiBtn_->setIcon(emoji_icon); emojiBtn_->setIconSize(QSize(24, 24)); diff --git a/src/TopRoomBar.cc b/src/TopRoomBar.cc
index 3f93cad3..5a1f2d25 100644 --- a/src/TopRoomBar.cc +++ b/src/TopRoomBar.cc
@@ -62,13 +62,11 @@ TopRoomBar::TopRoomBar(QWidget *parent) textLayout_->addWidget(topicLabel_); settingsBtn_ = new FlatButton(this); - settingsBtn_->setForegroundColor(QColor("#acc7dc")); settingsBtn_->setFixedSize(buttonSize_, buttonSize_); settingsBtn_->setCornerRadius(buttonSize_ / 2); QIcon settings_icon; - settings_icon.addFile( - ":/icons/icons/vertical-ellipsis.png", QSize(), QIcon::Normal, QIcon::Off); + settings_icon.addFile(":/icons/icons/ui/vertical-ellipsis.png"); settingsBtn_->setIcon(settings_icon); settingsBtn_->setIconSize(QSize(buttonSize_ / 2, buttonSize_ / 2)); diff --git a/src/UserInfoWidget.cc b/src/UserInfoWidget.cc
index 09a75a3b..04cfec74 100644 --- a/src/UserInfoWidget.cc +++ b/src/UserInfoWidget.cc
@@ -29,7 +29,7 @@ UserInfoWidget::UserInfoWidget(QWidget *parent) , user_id_("@user:homeserver.org") , logoutModal_{ nullptr } , logoutDialog_{ nullptr } - , logoutButtonSize_{ 32 } + , logoutButtonSize_{ 20 } { QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed); setSizePolicy(sizePolicy); @@ -77,15 +77,13 @@ UserInfoWidget::UserInfoWidget(QWidget *parent) buttonLayout_->setMargin(0); logoutButton_ = new FlatButton(this); - logoutButton_->setForegroundColor(QColor("#555459")); - logoutButton_->setFixedSize(logoutButtonSize_, logoutButtonSize_); logoutButton_->setCornerRadius(logoutButtonSize_ / 2); QIcon icon; - icon.addFile(":/icons/icons/power-button-off.png", QSize(), QIcon::Normal, QIcon::Off); + icon.addFile(":/icons/icons/ui/power-button-off.png"); logoutButton_->setIcon(icon); - logoutButton_->setIconSize(QSize(logoutButtonSize_ / 2, logoutButtonSize_ / 2)); + logoutButton_->setIconSize(QSize(logoutButtonSize_, logoutButtonSize_)); buttonLayout_->addWidget(logoutButton_); diff --git a/src/WelcomePage.cc b/src/WelcomePage.cc
index 5ea145f7..1fc0c19b 100644 --- a/src/WelcomePage.cc +++ b/src/WelcomePage.cc
@@ -29,11 +29,14 @@ WelcomePage::WelcomePage(QWidget *parent) auto topLayout_ = new QVBoxLayout(this); topLayout_->setSpacing(20); - QFont headingFont("Open Sans", 23); - QFont subTitleFont("Open Sans", 22); + QFont headingFont("Open Sans", 22); + QFont subTitleFont("Open Sans", 21); + + QIcon icon; + icon.addFile(":/logos/splash.png"); auto logo_ = new QLabel(this); - logo_->setPixmap(QPixmap(":/logos/nheko-256.png")); + logo_->setPixmap(icon.pixmap(256)); logo_->setAlignment(Qt::AlignCenter); QString heading(tr("Welcome to nheko! The desktop client for the Matrix protocol."));