commit fd162eeb0195dd89640a0475049b284518ca135c
Author: doc
Date: Tue Jun 17 14:49:32 2025 +0500
Initial mockup
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..573b46a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+# CLion project files
+.idea
+cmake-build-*
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..37ed3ed
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,31 @@
+cmake_minimum_required(VERSION 3.31)
+project(dreamchat)
+
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+find_package(Qt6 COMPONENTS
+ Core
+ Gui
+ Widgets
+ REQUIRED)
+
+find_package(KF6WidgetsAddons)
+find_package(KF6Completion)
+
+add_executable(dreamchat
+ main.cpp
+ chatui.hpp
+ mock/mockupres.qrc
+)
+
+target_link_libraries(dreamchat
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ KF6::WidgetsAddons
+ KF6::Completion
+)
+
diff --git a/chatui.hpp b/chatui.hpp
new file mode 100644
index 0000000..e38a5a7
--- /dev/null
+++ b/chatui.hpp
@@ -0,0 +1,2083 @@
+/********************************************************************************
+** Form generated from reading UI file 'main.ui'
+**
+** Created by: Qt User Interface Compiler version 6.9.1
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef CHATUI_H
+#define CHATUI_H
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "klineedit.h"
+#include "kseparator.h"
+#include "ktitlewidget.h"
+
+QT_BEGIN_NAMESPACE
+
+class Ui_MainWindow
+{
+public:
+ QAction *actionQuit;
+ QAction *actionNew_direct_message;
+ QAction *actionExisting_contact;
+ QAction *actionCreate_group;
+ QAction *actionOpen_invite;
+ QAction *actionClose_chat;
+ QAction *actionShow_details;
+ QAction *actionExport_chat;
+ QAction *actionClean_chat;
+ QAction *actionDelete_chat;
+ QAction *actionToggle_microphone;
+ QAction *actionToggle_sound;
+ QAction *actionEnter_voice_channel;
+ QAction *actionQuit_voice_channel;
+ QAction *actionCall_contact;
+ QAction *actionToggle_camera;
+ QAction *actionShare_screen;
+ QAction *actionRecord_call;
+ QAction *actionDocumentation;
+ QAction *actionAbout_DreamChat;
+ QAction *actionDonate;
+ QAction *actionJoin_support_chat;
+ QAction *actionChat_settings;
+ QAction *actionAdministration_settings;
+ QAction *actionMute_user;
+ QAction *actionKick_user;
+ QAction *actionBan_user;
+ QAction *actionText_channel;
+ QAction *actionVoice_channel;
+ QAction *actionDelete_channel;
+ QAction *actionChannel_category;
+ QAction *actionReports;
+ QAction *actionStart_thread;
+ QAction *actionUndo;
+ QAction *actionRedo;
+ QAction *actionCut;
+ QAction *actionCopy;
+ QAction *actionPaste;
+ QAction *actionEdit_last_message;
+ QAction *actionDelete_message;
+ QAction *actionDelete_all_messages;
+ QAction *actionFind;
+ QAction *actiongianmarco_gianmarco_gg;
+ QAction *actionReply;
+ QAction *actionForward;
+ QAction *actionAdd_reaction;
+ QAction *actionSave_media;
+ QAction *actionPurge_user_messages;
+ QAction *actionQuote;
+ QAction *actionSelect_messages;
+ QAction *actionSelected_actions;
+ QAction *actionSelect_all;
+ QAction *actionBold;
+ QAction *actionItalic;
+ QAction *actionStrikethrough;
+ QAction *actionUnderlined;
+ QAction *actionLink;
+ QAction *actionEmoji;
+ QAction *actionCode_block;
+ QAction *actionBlockquote;
+ QAction *actionUnordered_list;
+ QAction *actionNumbered_list;
+ QAction *actionCode_snippet_2;
+ QAction *actionCode_block_2;
+ QAction *actionIntegrate_applet;
+ QAction *actionCall_overlay;
+ QAction *actionSpoiler;
+ QAction *actionColor;
+ QAction *actionCheck_spelling;
+ QAction *actionOpen_in_new_window;
+ QAction *actionCall_overlay_2;
+ QAction *actionChats;
+ QAction *actionAccount;
+ QAction *actionDetails;
+ QAction *actionMain_window;
+ QAction *actionQuick_command;
+ QAction *actionPlugins;
+ QAction *actionApplets;
+ QAction *actionBots;
+ QAction *actionGet_new_tools;
+ QAction *actionContacts;
+ QAction *actionSettings;
+ QAction *actionBroadcast_channel;
+ QAction *actionOnline;
+ QAction *actionAway;
+ QAction *actionDo_not_disturb;
+ QAction *actionInvisible;
+ QAction *actionLogout;
+ QAction *actionPin;
+ QAction *actionOff;
+ QAction *action5s;
+ QAction *action15m;
+ QAction *action1h;
+ QAction *action24h;
+ QAction *actionCustom_time;
+ QAction *actionAt_logout;
+ QAction *action1_week;
+ QAction *actionLog_window;
+ QAction *actionServer_information;
+ QAction *actionVisit_support_forum;
+ QAction *actionPoke_user;
+ QAction *actionProfile_glancer;
+ QAction *actionCall_controls;
+ QAction *actionInvite_user;
+ QAction *actionGo_to_call_location;
+ QAction *actionJoin_Safety_Security_Bulletin_channel;
+ QAction *actionCreate_broadcast_channel;
+ QAction *actionJoin_broadcast_channel;
+ QAction *actionAdd_to_chat_folder;
+ QAction *actionManage_chat_folders;
+ QAction *actionDownload_manager;
+ QAction *actionScheduled_messages;
+ QAction *actionSchedule_message;
+ QAction *actionQuick_chat;
+ QAction *actionToggle_menu_bar;
+ QAction *actionAdd_new_account;
+ QAction *actionSticker_and_emoji_packs;
+ QAction *actionBookmark_message;
+ QAction *actionBookmarks;
+ QAction *actionCustom_status;
+ QAction *actionEdit_profile;
+ QWidget *centralwidget;
+ QFrame *frame;
+ QFrame *frame_2;
+ KLineEdit *klineedit;
+ QPushButton *kiconbutton;
+ QPushButton *kiconbutton_2;
+ QPushButton *kiconbutton_3;
+ QPushButton *kiconbutton_4;
+ KSeparator *kseparator_2;
+ QGroupBox *groupBox;
+ QLabel *label_6;
+ QLabel *label_7;
+ KTitleWidget *ktitlewidget_7;
+ QLabel *label_5;
+ QPushButton *pushButton_3;
+ QPushButton *pushButton_4;
+ QPushButton *pushButton_5;
+ QFrame *frame_3;
+ QPushButton *kiconbutton_6;
+ QPushButton *kiconbutton_8;
+ QPushButton *kiconbutton_9;
+ QLabel *label_8;
+ QLabel *label_9;
+ KTitleWidget *ktitlewidget_2;
+ QPushButton *kiconbutton_7;
+ QGroupBox *groupBox_2;
+ QLabel *label_10;
+ QGroupBox *groupBox_3;
+ QLabel *label_11;
+ QLabel *label_12;
+ QPushButton *pushButton_7;
+ QPushButton *pushButton_8;
+ QLabel *label_13;
+ QGroupBox *groupBox_4;
+ QLabel *label_14;
+ QGroupBox *groupBox_5;
+ QLabel *label_15;
+ QLabel *label_16;
+ KTitleWidget *ktitlewidget;
+ KSeparator *kseparator;
+ QScrollBar *verticalScrollBar;
+ QGroupBox *groupBox_6;
+ QLabel *label_18;
+ KTitleWidget *ktitlewidget_6;
+ QGroupBox *groupBox_13;
+ KTitleWidget *ktitlewidget_8;
+ QFrame *frame_4;
+ QLabel *label_3;
+ QComboBox *comboBox_2;
+ QLabel *label_17;
+ QTabWidget *tabWidget;
+ QWidget *tab;
+ QTreeWidget *treeWidget;
+ QWidget *tab_2;
+ QWidget *tab_3;
+ QComboBox *comboBox;
+ QScrollBar *verticalScrollBar_2;
+ QPushButton *pushButton_2;
+ QLabel *label_4;
+ KTitleWidget *ktitlewidget_3;
+ KSeparator *kseparator_4;
+ QPushButton *pushButton_9;
+ QPushButton *pushButton_10;
+ QPushButton *pushButton_11;
+ QPushButton *pushButton_12;
+ QPushButton *pushButton_13;
+ KLineEdit *klineedit_3;
+ QPushButton *pushButton_14;
+ QPushButton *pushButton_15;
+ QMenuBar *menubar;
+ QMenu *menuFile;
+ QMenu *menuSwitch_account;
+ QMenu *menuSet_status;
+ QMenu *menuEdit;
+ QMenu *menuText_formatting;
+ QMenu *menuList;
+ QMenu *menuCode;
+ QMenu *menuView;
+ QMenu *menuDockers;
+ QMenu *menuWindows;
+ QMenu *menuChat;
+ QMenu *menuNew_chat;
+ QMenu *menuEphemeral_messages;
+ QMenu *menuHelp;
+ QMenu *menuVoice;
+ QMenu *menuTools;
+ QMenu *menuModeration;
+ QMenu *menuNew_channel;
+ QStatusBar *statusbar;
+ QDockWidget *dockWidget_2;
+ QWidget *dockWidgetContents_4;
+ QLabel *label;
+ QLabel *label_2;
+ QTabWidget *tabWidget_2;
+ QWidget *tab_4;
+ QListWidget *listWidget;
+ QPushButton *pushButton_6;
+ KSeparator *kseparator_3;
+ QWidget *tab_5;
+ QWidget *tab_6;
+ QWidget *tab_7;
+ QWidget *tab_9;
+ QWidget *tab_8;
+ QWidget *tab_10;
+ QWidget *tab_11;
+ KLineEdit *klineedit_2;
+ QLabel *label_19;
+ KTitleWidget *ktitlewidget_4;
+ QLabel *label_20;
+ QLabel *label_21;
+ QLabel *label_22;
+ QLabel *label_23;
+ KTitleWidget *ktitlewidget_5;
+ QLabel *label_24;
+
+ void setupUi(QMainWindow *MainWindow)
+ {
+ if (MainWindow->objectName().isEmpty())
+ MainWindow->setObjectName("MainWindow");
+ MainWindow->resize(1423, 812);
+ MainWindow->setMinimumSize(QSize(270, 0));
+ QIcon icon;
+ icon.addFile(QString::fromUtf8(":/res/dc.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ MainWindow->setWindowIcon(icon);
+ actionQuit = new QAction(MainWindow);
+ actionQuit->setObjectName("actionQuit");
+ QIcon icon1(QIcon::fromTheme(QString::fromUtf8("application-exit")));
+ actionQuit->setIcon(icon1);
+ actionNew_direct_message = new QAction(MainWindow);
+ actionNew_direct_message->setObjectName("actionNew_direct_message");
+ QIcon icon2(QIcon::fromTheme(QString::fromUtf8("list-add-user")));
+ actionNew_direct_message->setIcon(icon2);
+ actionExisting_contact = new QAction(MainWindow);
+ actionExisting_contact->setObjectName("actionExisting_contact");
+ QIcon icon3(QIcon::fromTheme(QString::fromUtf8("user")));
+ actionExisting_contact->setIcon(icon3);
+ actionCreate_group = new QAction(MainWindow);
+ actionCreate_group->setObjectName("actionCreate_group");
+ QIcon icon4(QIcon::fromTheme(QString::fromUtf8("resource-group-new")));
+ actionCreate_group->setIcon(icon4);
+ actionOpen_invite = new QAction(MainWindow);
+ actionOpen_invite->setObjectName("actionOpen_invite");
+ QIcon icon5(QIcon::fromTheme(QString::fromUtf8("user-group-new")));
+ actionOpen_invite->setIcon(icon5);
+ actionClose_chat = new QAction(MainWindow);
+ actionClose_chat->setObjectName("actionClose_chat");
+ QIcon icon6(QIcon::fromTheme(QString::fromUtf8("window-close")));
+ actionClose_chat->setIcon(icon6);
+ actionShow_details = new QAction(MainWindow);
+ actionShow_details->setObjectName("actionShow_details");
+ QIcon icon7(QIcon::fromTheme(QString::fromUtf8("document-properties")));
+ actionShow_details->setIcon(icon7);
+ actionExport_chat = new QAction(MainWindow);
+ actionExport_chat->setObjectName("actionExport_chat");
+ QIcon icon8(QIcon::fromTheme(QString::fromUtf8("document-save")));
+ actionExport_chat->setIcon(icon8);
+ actionClean_chat = new QAction(MainWindow);
+ actionClean_chat->setObjectName("actionClean_chat");
+ QIcon icon9(QIcon::fromTheme(QString::fromUtf8("edit-clear-all")));
+ actionClean_chat->setIcon(icon9);
+ actionDelete_chat = new QAction(MainWindow);
+ actionDelete_chat->setObjectName("actionDelete_chat");
+ QIcon icon10(QIcon::fromTheme(QString::fromUtf8("edit-delete")));
+ actionDelete_chat->setIcon(icon10);
+ actionToggle_microphone = new QAction(MainWindow);
+ actionToggle_microphone->setObjectName("actionToggle_microphone");
+ actionToggle_microphone->setCheckable(true);
+ QIcon icon11(QIcon::fromTheme(QString::fromUtf8("mic-off")));
+ actionToggle_microphone->setIcon(icon11);
+ actionToggle_sound = new QAction(MainWindow);
+ actionToggle_sound->setObjectName("actionToggle_sound");
+ actionToggle_sound->setCheckable(true);
+ QIcon icon12(QIcon::fromTheme(QString::fromUtf8("audio-volume-muted")));
+ actionToggle_sound->setIcon(icon12);
+ actionEnter_voice_channel = new QAction(MainWindow);
+ actionEnter_voice_channel->setObjectName("actionEnter_voice_channel");
+ QIcon icon13(QIcon::fromTheme(QString::fromUtf8("audio-on")));
+ actionEnter_voice_channel->setIcon(icon13);
+ actionQuit_voice_channel = new QAction(MainWindow);
+ actionQuit_voice_channel->setObjectName("actionQuit_voice_channel");
+ actionQuit_voice_channel->setEnabled(false);
+ QIcon icon14(QIcon::fromTheme(QString::fromUtf8("call-stop")));
+ actionQuit_voice_channel->setIcon(icon14);
+ actionCall_contact = new QAction(MainWindow);
+ actionCall_contact->setObjectName("actionCall_contact");
+ QIcon icon15(QIcon::fromTheme(QString::fromUtf8("call-start")));
+ actionCall_contact->setIcon(icon15);
+ actionToggle_camera = new QAction(MainWindow);
+ actionToggle_camera->setObjectName("actionToggle_camera");
+ actionToggle_camera->setCheckable(true);
+ QIcon icon16(QIcon::fromTheme(QString::fromUtf8("camera-off")));
+ actionToggle_camera->setIcon(icon16);
+ actionShare_screen = new QAction(MainWindow);
+ actionShare_screen->setObjectName("actionShare_screen");
+ actionShare_screen->setCheckable(true);
+ actionShare_screen->setEnabled(false);
+ QIcon icon17(QIcon::fromTheme(QString::fromUtf8("video-display")));
+ actionShare_screen->setIcon(icon17);
+ actionRecord_call = new QAction(MainWindow);
+ actionRecord_call->setObjectName("actionRecord_call");
+ actionRecord_call->setCheckable(true);
+ actionRecord_call->setEnabled(false);
+ QIcon icon18(QIcon::fromTheme(QString::fromUtf8("media-record")));
+ actionRecord_call->setIcon(icon18);
+ actionDocumentation = new QAction(MainWindow);
+ actionDocumentation->setObjectName("actionDocumentation");
+ QIcon icon19(QIcon::fromTheme(QString::fromUtf8("help-contents")));
+ actionDocumentation->setIcon(icon19);
+ actionAbout_DreamChat = new QAction(MainWindow);
+ actionAbout_DreamChat->setObjectName("actionAbout_DreamChat");
+ QIcon icon20(QIcon::fromTheme(QString::fromUtf8("help-about")));
+ actionAbout_DreamChat->setIcon(icon20);
+ actionDonate = new QAction(MainWindow);
+ actionDonate->setObjectName("actionDonate");
+ QIcon icon21(QIcon::fromTheme(QString::fromUtf8("help-donate")));
+ actionDonate->setIcon(icon21);
+ actionJoin_support_chat = new QAction(MainWindow);
+ actionJoin_support_chat->setObjectName("actionJoin_support_chat");
+ actionJoin_support_chat->setIcon(icon5);
+ actionChat_settings = new QAction(MainWindow);
+ actionChat_settings->setObjectName("actionChat_settings");
+ QIcon icon22(QIcon::fromTheme(QString::fromUtf8("settings-configure")));
+ actionChat_settings->setIcon(icon22);
+ actionAdministration_settings = new QAction(MainWindow);
+ actionAdministration_settings->setObjectName("actionAdministration_settings");
+ actionAdministration_settings->setIcon(icon22);
+ actionMute_user = new QAction(MainWindow);
+ actionMute_user->setObjectName("actionMute_user");
+ QIcon icon23(QIcon::fromTheme(QString::fromUtf8("im-invisible-user")));
+ actionMute_user->setIcon(icon23);
+ actionKick_user = new QAction(MainWindow);
+ actionKick_user->setObjectName("actionKick_user");
+ QIcon icon24(QIcon::fromTheme(QString::fromUtf8("im-kick-user")));
+ actionKick_user->setIcon(icon24);
+ actionBan_user = new QAction(MainWindow);
+ actionBan_user->setObjectName("actionBan_user");
+ QIcon icon25(QIcon::fromTheme(QString::fromUtf8("im-ban-user")));
+ actionBan_user->setIcon(icon25);
+ actionText_channel = new QAction(MainWindow);
+ actionText_channel->setObjectName("actionText_channel");
+ QIcon icon26(QIcon::fromTheme(QString::fromUtf8("irc-operator")));
+ actionText_channel->setIcon(icon26);
+ actionVoice_channel = new QAction(MainWindow);
+ actionVoice_channel->setObjectName("actionVoice_channel");
+ QIcon icon27(QIcon::fromTheme(QString::fromUtf8("player-volume")));
+ actionVoice_channel->setIcon(icon27);
+ actionDelete_channel = new QAction(MainWindow);
+ actionDelete_channel->setObjectName("actionDelete_channel");
+ actionDelete_channel->setIcon(icon10);
+ actionChannel_category = new QAction(MainWindow);
+ actionChannel_category->setObjectName("actionChannel_category");
+ QIcon icon28(QIcon::fromTheme(QString::fromUtf8("view-list-tree")));
+ actionChannel_category->setIcon(icon28);
+ actionReports = new QAction(MainWindow);
+ actionReports->setObjectName("actionReports");
+ QIcon icon29(QIcon::fromTheme(QString::fromUtf8("flag-red")));
+ actionReports->setIcon(icon29);
+ actionStart_thread = new QAction(MainWindow);
+ actionStart_thread->setObjectName("actionStart_thread");
+ QIcon icon30(QIcon::fromTheme(QString::fromUtf8("edit-comment")));
+ actionStart_thread->setIcon(icon30);
+ actionUndo = new QAction(MainWindow);
+ actionUndo->setObjectName("actionUndo");
+ QIcon icon31(QIcon::fromTheme(QString::fromUtf8("edit-undo")));
+ actionUndo->setIcon(icon31);
+ actionRedo = new QAction(MainWindow);
+ actionRedo->setObjectName("actionRedo");
+ QIcon icon32(QIcon::fromTheme(QString::fromUtf8("edit-redo")));
+ actionRedo->setIcon(icon32);
+ actionCut = new QAction(MainWindow);
+ actionCut->setObjectName("actionCut");
+ QIcon icon33(QIcon::fromTheme(QString::fromUtf8("edit-cut")));
+ actionCut->setIcon(icon33);
+ actionCopy = new QAction(MainWindow);
+ actionCopy->setObjectName("actionCopy");
+ QIcon icon34(QIcon::fromTheme(QString::fromUtf8("edit-copy")));
+ actionCopy->setIcon(icon34);
+ actionPaste = new QAction(MainWindow);
+ actionPaste->setObjectName("actionPaste");
+ QIcon icon35(QIcon::fromTheme(QString::fromUtf8("edit-paste")));
+ actionPaste->setIcon(icon35);
+ actionEdit_last_message = new QAction(MainWindow);
+ actionEdit_last_message->setObjectName("actionEdit_last_message");
+ QIcon icon36(QIcon::fromTheme(QString::fromUtf8("edit-entry")));
+ actionEdit_last_message->setIcon(icon36);
+ actionDelete_message = new QAction(MainWindow);
+ actionDelete_message->setObjectName("actionDelete_message");
+ actionDelete_message->setIcon(icon10);
+ actionDelete_all_messages = new QAction(MainWindow);
+ actionDelete_all_messages->setObjectName("actionDelete_all_messages");
+ actionDelete_all_messages->setIcon(icon9);
+ actionFind = new QAction(MainWindow);
+ actionFind->setObjectName("actionFind");
+ QIcon icon37(QIcon::fromTheme(QString::fromUtf8("edit-find")));
+ actionFind->setIcon(icon37);
+ actiongianmarco_gianmarco_gg = new QAction(MainWindow);
+ actiongianmarco_gianmarco_gg->setObjectName("actiongianmarco_gianmarco_gg");
+ actiongianmarco_gianmarco_gg->setCheckable(true);
+ actiongianmarco_gianmarco_gg->setChecked(true);
+ QIcon icon38;
+ icon38.addFile(QString::fromUtf8(":/res/spectrumpfp.png"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ actiongianmarco_gianmarco_gg->setIcon(icon38);
+ actionReply = new QAction(MainWindow);
+ actionReply->setObjectName("actionReply");
+ QIcon icon39(QIcon::fromTheme(QString::fromUtf8("mail-reply-sender")));
+ actionReply->setIcon(icon39);
+ actionForward = new QAction(MainWindow);
+ actionForward->setObjectName("actionForward");
+ QIcon icon40(QIcon::fromTheme(QString::fromUtf8("mail-forward")));
+ actionForward->setIcon(icon40);
+ actionAdd_reaction = new QAction(MainWindow);
+ actionAdd_reaction->setObjectName("actionAdd_reaction");
+ QIcon icon41(QIcon::fromTheme(QString::fromUtf8("smiley-add")));
+ actionAdd_reaction->setIcon(icon41);
+ actionSave_media = new QAction(MainWindow);
+ actionSave_media->setObjectName("actionSave_media");
+ actionSave_media->setIcon(icon8);
+ actionPurge_user_messages = new QAction(MainWindow);
+ actionPurge_user_messages->setObjectName("actionPurge_user_messages");
+ actionPurge_user_messages->setIcon(icon9);
+ actionQuote = new QAction(MainWindow);
+ actionQuote->setObjectName("actionQuote");
+ QIcon icon42(QIcon::fromTheme(QString::fromUtf8("format-text-blockquote")));
+ actionQuote->setIcon(icon42);
+ actionSelect_messages = new QAction(MainWindow);
+ actionSelect_messages->setObjectName("actionSelect_messages");
+ actionSelect_messages->setCheckable(true);
+ QIcon icon43(QIcon::fromTheme(QString::fromUtf8("edit-select")));
+ actionSelect_messages->setIcon(icon43);
+ actionSelected_actions = new QAction(MainWindow);
+ actionSelected_actions->setObjectName("actionSelected_actions");
+ actionSelect_all = new QAction(MainWindow);
+ actionSelect_all->setObjectName("actionSelect_all");
+ QIcon icon44(QIcon::fromTheme(QString::fromUtf8("edit-select-all")));
+ actionSelect_all->setIcon(icon44);
+ actionBold = new QAction(MainWindow);
+ actionBold->setObjectName("actionBold");
+ QIcon icon45(QIcon::fromTheme(QString::fromUtf8("format-text-bold")));
+ actionBold->setIcon(icon45);
+ actionItalic = new QAction(MainWindow);
+ actionItalic->setObjectName("actionItalic");
+ QIcon icon46(QIcon::fromTheme(QString::fromUtf8("format-text-italic")));
+ actionItalic->setIcon(icon46);
+ actionStrikethrough = new QAction(MainWindow);
+ actionStrikethrough->setObjectName("actionStrikethrough");
+ QIcon icon47(QIcon::fromTheme(QString::fromUtf8("format-text-strikethrough")));
+ actionStrikethrough->setIcon(icon47);
+ actionUnderlined = new QAction(MainWindow);
+ actionUnderlined->setObjectName("actionUnderlined");
+ QIcon icon48(QIcon::fromTheme(QString::fromUtf8("format-text-underline")));
+ actionUnderlined->setIcon(icon48);
+ actionLink = new QAction(MainWindow);
+ actionLink->setObjectName("actionLink");
+ QIcon icon49(QIcon::fromTheme(QString::fromUtf8("edit-link")));
+ actionLink->setIcon(icon49);
+ actionEmoji = new QAction(MainWindow);
+ actionEmoji->setObjectName("actionEmoji");
+ QIcon icon50(QIcon::fromTheme(QString::fromUtf8("smiley")));
+ actionEmoji->setIcon(icon50);
+ actionCode_block = new QAction(MainWindow);
+ actionCode_block->setObjectName("actionCode_block");
+ QIcon icon51(QIcon::fromTheme(QString::fromUtf8("format-text-code")));
+ actionCode_block->setIcon(icon51);
+ actionBlockquote = new QAction(MainWindow);
+ actionBlockquote->setObjectName("actionBlockquote");
+ actionBlockquote->setIcon(icon42);
+ actionUnordered_list = new QAction(MainWindow);
+ actionUnordered_list->setObjectName("actionUnordered_list");
+ QIcon icon52(QIcon::fromTheme(QString::fromUtf8("format-list-unordered")));
+ actionUnordered_list->setIcon(icon52);
+ actionNumbered_list = new QAction(MainWindow);
+ actionNumbered_list->setObjectName("actionNumbered_list");
+ QIcon icon53(QIcon::fromTheme(QString::fromUtf8("format-list-ordered")));
+ actionNumbered_list->setIcon(icon53);
+ actionCode_snippet_2 = new QAction(MainWindow);
+ actionCode_snippet_2->setObjectName("actionCode_snippet_2");
+ actionCode_snippet_2->setIcon(icon51);
+ actionCode_block_2 = new QAction(MainWindow);
+ actionCode_block_2->setObjectName("actionCode_block_2");
+ actionCode_block_2->setIcon(icon51);
+ actionIntegrate_applet = new QAction(MainWindow);
+ actionIntegrate_applet->setObjectName("actionIntegrate_applet");
+ actionIntegrate_applet->setCheckable(true);
+ actionIntegrate_applet->setEnabled(false);
+ QIcon icon54(QIcon::fromTheme(QString::fromUtf8("view-list-icons")));
+ actionIntegrate_applet->setIcon(icon54);
+ actionCall_overlay = new QAction(MainWindow);
+ actionCall_overlay->setObjectName("actionCall_overlay");
+ actionSpoiler = new QAction(MainWindow);
+ actionSpoiler->setObjectName("actionSpoiler");
+ QIcon icon55(QIcon::fromTheme(QString::fromUtf8("view-hidden")));
+ actionSpoiler->setIcon(icon55);
+ actionColor = new QAction(MainWindow);
+ actionColor->setObjectName("actionColor");
+ QIcon icon56(QIcon::fromTheme(QString::fromUtf8("format-text-color")));
+ actionColor->setIcon(icon56);
+ actionCheck_spelling = new QAction(MainWindow);
+ actionCheck_spelling->setObjectName("actionCheck_spelling");
+ QIcon icon57(QIcon::fromTheme(QString::fromUtf8("tools-check-spelling")));
+ actionCheck_spelling->setIcon(icon57);
+ actionOpen_in_new_window = new QAction(MainWindow);
+ actionOpen_in_new_window->setObjectName("actionOpen_in_new_window");
+ QIcon icon58(QIcon::fromTheme(QString::fromUtf8("window-new")));
+ actionOpen_in_new_window->setIcon(icon58);
+ actionCall_overlay_2 = new QAction(MainWindow);
+ actionCall_overlay_2->setObjectName("actionCall_overlay_2");
+ actionCall_overlay_2->setCheckable(true);
+ actionCall_overlay_2->setChecked(true);
+ QIcon icon59(QIcon::fromTheme(QString::fromUtf8("view-sidetree")));
+ actionCall_overlay_2->setIcon(icon59);
+ actionChats = new QAction(MainWindow);
+ actionChats->setObjectName("actionChats");
+ actionChats->setCheckable(true);
+ actionChats->setChecked(true);
+ actionChats->setIcon(icon30);
+ actionAccount = new QAction(MainWindow);
+ actionAccount->setObjectName("actionAccount");
+ actionAccount->setCheckable(true);
+ actionAccount->setChecked(true);
+ actionAccount->setIcon(icon3);
+ actionDetails = new QAction(MainWindow);
+ actionDetails->setObjectName("actionDetails");
+ actionDetails->setCheckable(true);
+ actionDetails->setChecked(true);
+ actionDetails->setIcon(icon7);
+ actionMain_window = new QAction(MainWindow);
+ actionMain_window->setObjectName("actionMain_window");
+ QIcon icon60(QIcon::fromTheme(QString::fromUtf8("window")));
+ actionMain_window->setIcon(icon60);
+ actionQuick_command = new QAction(MainWindow);
+ actionQuick_command->setObjectName("actionQuick_command");
+ QIcon icon61(QIcon::fromTheme(QString::fromUtf8("new-command-alarm")));
+ actionQuick_command->setIcon(icon61);
+ actionPlugins = new QAction(MainWindow);
+ actionPlugins->setObjectName("actionPlugins");
+ QIcon icon62(QIcon::fromTheme(QString::fromUtf8("plugins")));
+ actionPlugins->setIcon(icon62);
+ actionApplets = new QAction(MainWindow);
+ actionApplets->setObjectName("actionApplets");
+ actionApplets->setIcon(icon54);
+ actionBots = new QAction(MainWindow);
+ actionBots->setObjectName("actionBots");
+ QIcon icon63(QIcon::fromTheme(QString::fromUtf8("applications-system-symbolic")));
+ actionBots->setIcon(icon63);
+ actionGet_new_tools = new QAction(MainWindow);
+ actionGet_new_tools->setObjectName("actionGet_new_tools");
+ QIcon icon64(QIcon::fromTheme(QString::fromUtf8("edit-download")));
+ actionGet_new_tools->setIcon(icon64);
+ actionContacts = new QAction(MainWindow);
+ actionContacts->setObjectName("actionContacts");
+ QIcon icon65(QIcon::fromTheme(QString::fromUtf8("address-book-new")));
+ actionContacts->setIcon(icon65);
+ actionSettings = new QAction(MainWindow);
+ actionSettings->setObjectName("actionSettings");
+ actionSettings->setIcon(icon22);
+ actionBroadcast_channel = new QAction(MainWindow);
+ actionBroadcast_channel->setObjectName("actionBroadcast_channel");
+ QIcon icon66(QIcon::fromTheme(QString::fromUtf8("irc-voice")));
+ actionBroadcast_channel->setIcon(icon66);
+ actionOnline = new QAction(MainWindow);
+ actionOnline->setObjectName("actionOnline");
+ actionOnline->setCheckable(true);
+ actionOnline->setChecked(true);
+ QIcon icon67(QIcon::fromTheme(QString::fromUtf8("user-available")));
+ actionOnline->setIcon(icon67);
+ actionAway = new QAction(MainWindow);
+ actionAway->setObjectName("actionAway");
+ actionAway->setCheckable(true);
+ QIcon icon68(QIcon::fromTheme(QString::fromUtf8("user-away")));
+ actionAway->setIcon(icon68);
+ actionDo_not_disturb = new QAction(MainWindow);
+ actionDo_not_disturb->setObjectName("actionDo_not_disturb");
+ actionDo_not_disturb->setCheckable(true);
+ QIcon icon69(QIcon::fromTheme(QString::fromUtf8("user-busy")));
+ actionDo_not_disturb->setIcon(icon69);
+ actionInvisible = new QAction(MainWindow);
+ actionInvisible->setObjectName("actionInvisible");
+ actionInvisible->setCheckable(true);
+ QIcon icon70(QIcon::fromTheme(QString::fromUtf8("user-offline")));
+ actionInvisible->setIcon(icon70);
+ actionLogout = new QAction(MainWindow);
+ actionLogout->setObjectName("actionLogout");
+ QIcon icon71(QIcon::fromTheme(QString::fromUtf8("system-log-out")));
+ actionLogout->setIcon(icon71);
+ actionPin = new QAction(MainWindow);
+ actionPin->setObjectName("actionPin");
+ QIcon icon72(QIcon::fromTheme(QString::fromUtf8("pin")));
+ actionPin->setIcon(icon72);
+ actionOff = new QAction(MainWindow);
+ actionOff->setObjectName("actionOff");
+ actionOff->setCheckable(true);
+ actionOff->setChecked(true);
+ action5s = new QAction(MainWindow);
+ action5s->setObjectName("action5s");
+ action5s->setCheckable(true);
+ action15m = new QAction(MainWindow);
+ action15m->setObjectName("action15m");
+ action15m->setCheckable(true);
+ action1h = new QAction(MainWindow);
+ action1h->setObjectName("action1h");
+ action1h->setCheckable(true);
+ action24h = new QAction(MainWindow);
+ action24h->setObjectName("action24h");
+ action24h->setCheckable(true);
+ actionCustom_time = new QAction(MainWindow);
+ actionCustom_time->setObjectName("actionCustom_time");
+ actionCustom_time->setCheckable(true);
+ actionAt_logout = new QAction(MainWindow);
+ actionAt_logout->setObjectName("actionAt_logout");
+ actionAt_logout->setCheckable(true);
+ action1_week = new QAction(MainWindow);
+ action1_week->setObjectName("action1_week");
+ action1_week->setCheckable(true);
+ actionLog_window = new QAction(MainWindow);
+ actionLog_window->setObjectName("actionLog_window");
+ actionLog_window->setIcon(icon60);
+ actionServer_information = new QAction(MainWindow);
+ actionServer_information->setObjectName("actionServer_information");
+ QIcon icon73(QIcon::fromTheme(QString::fromUtf8("network-server")));
+ actionServer_information->setIcon(icon73);
+ actionVisit_support_forum = new QAction(MainWindow);
+ actionVisit_support_forum->setObjectName("actionVisit_support_forum");
+ actionVisit_support_forum->setIcon(icon5);
+ actionPoke_user = new QAction(MainWindow);
+ actionPoke_user->setObjectName("actionPoke_user");
+ QIcon icon74(QIcon::fromTheme(QString::fromUtf8("notification-active")));
+ actionPoke_user->setIcon(icon74);
+ actionProfile_glancer = new QAction(MainWindow);
+ actionProfile_glancer->setObjectName("actionProfile_glancer");
+ actionProfile_glancer->setCheckable(true);
+ actionProfile_glancer->setChecked(true);
+ QIcon icon75(QIcon::fromTheme(QString::fromUtf8("im-user")));
+ actionProfile_glancer->setIcon(icon75);
+ actionCall_controls = new QAction(MainWindow);
+ actionCall_controls->setObjectName("actionCall_controls");
+ actionCall_controls->setCheckable(true);
+ actionCall_controls->setChecked(true);
+ actionCall_controls->setIcon(icon15);
+ actionInvite_user = new QAction(MainWindow);
+ actionInvite_user->setObjectName("actionInvite_user");
+ actionInvite_user->setIcon(icon4);
+ actionGo_to_call_location = new QAction(MainWindow);
+ actionGo_to_call_location->setObjectName("actionGo_to_call_location");
+ actionGo_to_call_location->setEnabled(false);
+ QIcon icon76(QIcon::fromTheme(QString::fromUtf8("go-jump")));
+ actionGo_to_call_location->setIcon(icon76);
+ actionJoin_Safety_Security_Bulletin_channel = new QAction(MainWindow);
+ actionJoin_Safety_Security_Bulletin_channel->setObjectName("actionJoin_Safety_Security_Bulletin_channel");
+ actionCreate_broadcast_channel = new QAction(MainWindow);
+ actionCreate_broadcast_channel->setObjectName("actionCreate_broadcast_channel");
+ actionCreate_broadcast_channel->setIcon(icon66);
+ actionJoin_broadcast_channel = new QAction(MainWindow);
+ actionJoin_broadcast_channel->setObjectName("actionJoin_broadcast_channel");
+ actionJoin_broadcast_channel->setIcon(icon66);
+ actionAdd_to_chat_folder = new QAction(MainWindow);
+ actionAdd_to_chat_folder->setObjectName("actionAdd_to_chat_folder");
+ QIcon icon77(QIcon::fromTheme(QString::fromUtf8("folder-new")));
+ actionAdd_to_chat_folder->setIcon(icon77);
+ actionManage_chat_folders = new QAction(MainWindow);
+ actionManage_chat_folders->setObjectName("actionManage_chat_folders");
+ QIcon icon78(QIcon::fromTheme(QString::fromUtf8("document-open-folder")));
+ actionManage_chat_folders->setIcon(icon78);
+ actionDownload_manager = new QAction(MainWindow);
+ actionDownload_manager->setObjectName("actionDownload_manager");
+ actionDownload_manager->setIcon(icon64);
+ actionScheduled_messages = new QAction(MainWindow);
+ actionScheduled_messages->setObjectName("actionScheduled_messages");
+ QIcon icon79(QIcon::fromTheme(QString::fromUtf8("appointment-new")));
+ actionScheduled_messages->setIcon(icon79);
+ actionSchedule_message = new QAction(MainWindow);
+ actionSchedule_message->setObjectName("actionSchedule_message");
+ actionSchedule_message->setIcon(icon79);
+ actionQuick_chat = new QAction(MainWindow);
+ actionQuick_chat->setObjectName("actionQuick_chat");
+ actionQuick_chat->setIcon(icon75);
+ actionToggle_menu_bar = new QAction(MainWindow);
+ actionToggle_menu_bar->setObjectName("actionToggle_menu_bar");
+ actionToggle_menu_bar->setCheckable(true);
+ actionToggle_menu_bar->setChecked(true);
+ QIcon icon80(QIcon::fromTheme(QString::fromUtf8("show-menu")));
+ actionToggle_menu_bar->setIcon(icon80);
+ actionAdd_new_account = new QAction(MainWindow);
+ actionAdd_new_account->setObjectName("actionAdd_new_account");
+ actionAdd_new_account->setIcon(icon2);
+ actionSticker_and_emoji_packs = new QAction(MainWindow);
+ actionSticker_and_emoji_packs->setObjectName("actionSticker_and_emoji_packs");
+ QIcon icon81(QIcon::fromTheme(QString::fromUtf8("stickers")));
+ actionSticker_and_emoji_packs->setIcon(icon81);
+ actionBookmark_message = new QAction(MainWindow);
+ actionBookmark_message->setObjectName("actionBookmark_message");
+ QIcon icon82(QIcon::fromTheme(QString::fromUtf8("bookmark-new")));
+ actionBookmark_message->setIcon(icon82);
+ actionBookmarks = new QAction(MainWindow);
+ actionBookmarks->setObjectName("actionBookmarks");
+ QIcon icon83(QIcon::fromTheme(QString::fromUtf8("bookmarks")));
+ actionBookmarks->setIcon(icon83);
+ actionCustom_status = new QAction(MainWindow);
+ actionCustom_status->setObjectName("actionCustom_status");
+ actionCustom_status->setCheckable(true);
+ QIcon icon84(QIcon::fromTheme(QString::fromUtf8("document-edit")));
+ actionCustom_status->setIcon(icon84);
+ actionEdit_profile = new QAction(MainWindow);
+ actionEdit_profile->setObjectName("actionEdit_profile");
+ actionEdit_profile->setIcon(icon84);
+ centralwidget = new QWidget(MainWindow);
+ centralwidget->setObjectName("centralwidget");
+ frame = new QFrame(centralwidget);
+ frame->setObjectName("frame");
+ frame->setGeometry(QRect(280, 0, 871, 761));
+ frame->setFrameShape(QFrame::Shape::StyledPanel);
+ frame->setFrameShadow(QFrame::Shadow::Raised);
+ frame_2 = new QFrame(frame);
+ frame_2->setObjectName("frame_2");
+ frame_2->setGeometry(QRect(0, 710, 871, 51));
+ frame_2->setAutoFillBackground(true);
+ frame_2->setFrameShape(QFrame::Shape::StyledPanel);
+ frame_2->setFrameShadow(QFrame::Shadow::Raised);
+ klineedit = new KLineEdit(frame_2);
+ klineedit->setObjectName("klineedit");
+ klineedit->setGeometry(QRect(10, 10, 691, 31));
+ kiconbutton = new QPushButton(frame_2);
+ kiconbutton->setObjectName("kiconbutton");
+ kiconbutton->setGeometry(QRect(828, 10, 31, 31));
+ QIcon icon85(QIcon::fromTheme(QString::fromUtf8("document-send")));
+ kiconbutton->setIcon(icon85);
+ kiconbutton->setFlat(true);
+ kiconbutton_2 = new QPushButton(frame_2);
+ kiconbutton_2->setObjectName("kiconbutton_2");
+ kiconbutton_2->setGeometry(QRect(790, 10, 31, 31));
+ QIcon icon86(QIcon::fromTheme(QString::fromUtf8("mail-attachment")));
+ kiconbutton_2->setIcon(icon86);
+ kiconbutton_2->setFlat(true);
+ kiconbutton_3 = new QPushButton(frame_2);
+ kiconbutton_3->setObjectName("kiconbutton_3");
+ kiconbutton_3->setGeometry(QRect(750, 10, 31, 31));
+ kiconbutton_3->setIcon(icon81);
+ kiconbutton_3->setFlat(true);
+ kiconbutton_4 = new QPushButton(frame_2);
+ kiconbutton_4->setObjectName("kiconbutton_4");
+ kiconbutton_4->setGeometry(QRect(710, 10, 31, 31));
+ QIcon icon87(QIcon::fromTheme(QString::fromUtf8("mic-on")));
+ kiconbutton_4->setIcon(icon87);
+ kiconbutton_4->setFlat(true);
+ kseparator_2 = new KSeparator(frame_2);
+ kseparator_2->setObjectName("kseparator_2");
+ kseparator_2->setGeometry(QRect(1, 0, 870, 1));
+ groupBox = new QGroupBox(frame);
+ groupBox->setObjectName("groupBox");
+ groupBox->setGeometry(QRect(70, 630, 211, 61));
+ groupBox->setFlat(false);
+ label_6 = new QLabel(groupBox);
+ label_6->setObjectName("label_6");
+ label_6->setGeometry(QRect(10, 27, 151, 21));
+ label_7 = new QLabel(groupBox);
+ label_7->setObjectName("label_7");
+ label_7->setGeometry(QRect(170, 30, 31, 18));
+ ktitlewidget_7 = new KTitleWidget(groupBox);
+ ktitlewidget_7->setObjectName("ktitlewidget_7");
+ ktitlewidget_7->setGeometry(QRect(185, 7, 16, 17));
+ ktitlewidget_7->setIcon(icon84);
+ ktitlewidget_7->setIconSize(QSize(16, 64));
+ label_5 = new QLabel(frame);
+ label_5->setObjectName("label_5");
+ label_5->setGeometry(QRect(10, 640, 51, 51));
+ label_5->setPixmap(QPixmap(QString::fromUtf8(":/res/photo_2025-01-12_16-30-34.jpg")));
+ label_5->setScaledContents(true);
+ pushButton_3 = new QPushButton(frame);
+ pushButton_3->setObjectName("pushButton_3");
+ pushButton_3->setGeometry(QRect(80, 680, 41, 26));
+ pushButton_3->setCheckable(true);
+ pushButton_4 = new QPushButton(frame);
+ pushButton_4->setObjectName("pushButton_4");
+ pushButton_4->setGeometry(QRect(120, 680, 41, 26));
+ pushButton_4->setCheckable(true);
+ pushButton_5 = new QPushButton(frame);
+ pushButton_5->setObjectName("pushButton_5");
+ pushButton_5->setGeometry(QRect(160, 680, 31, 26));
+ pushButton_5->setIcon(icon41);
+ frame_3 = new QFrame(frame);
+ frame_3->setObjectName("frame_3");
+ frame_3->setGeometry(QRect(0, 0, 871, 51));
+ frame_3->setFrameShape(QFrame::Shape::StyledPanel);
+ frame_3->setFrameShadow(QFrame::Shadow::Raised);
+ kiconbutton_6 = new QPushButton(frame_3);
+ kiconbutton_6->setObjectName("kiconbutton_6");
+ kiconbutton_6->setGeometry(QRect(790, 10, 31, 31));
+ kiconbutton_6->setIcon(icon22);
+ kiconbutton_6->setFlat(true);
+ kiconbutton_8 = new QPushButton(frame_3);
+ kiconbutton_8->setObjectName("kiconbutton_8");
+ kiconbutton_8->setGeometry(QRect(750, 10, 31, 31));
+ QIcon icon88(QIcon::fromTheme(QString::fromUtf8("notification-inactive")));
+ kiconbutton_8->setIcon(icon88);
+ kiconbutton_8->setFlat(true);
+ kiconbutton_9 = new QPushButton(frame_3);
+ kiconbutton_9->setObjectName("kiconbutton_9");
+ kiconbutton_9->setGeometry(QRect(710, 10, 31, 31));
+ QIcon icon89(QIcon::fromTheme(QString::fromUtf8("system-search")));
+ kiconbutton_9->setIcon(icon89);
+ kiconbutton_9->setFlat(true);
+ label_8 = new QLabel(frame_3);
+ label_8->setObjectName("label_8");
+ label_8->setGeometry(QRect(70, 10, 631, 31));
+ label_9 = new QLabel(frame_3);
+ label_9->setObjectName("label_9");
+ label_9->setGeometry(QRect(10, 10, 31, 31));
+ label_9->setPixmap(QPixmap(QString::fromUtf8(":/res/photo_2025-04-13_21-35-09.jpg")));
+ label_9->setScaledContents(true);
+ ktitlewidget_2 = new KTitleWidget(frame_3);
+ ktitlewidget_2->setObjectName("ktitlewidget_2");
+ ktitlewidget_2->setGeometry(QRect(43, 10, 21, 31));
+ ktitlewidget_2->setIcon(icon26);
+ ktitlewidget_2->setIconSize(QSize(16, 16));
+ kiconbutton_7 = new QPushButton(frame_3);
+ kiconbutton_7->setObjectName("kiconbutton_7");
+ kiconbutton_7->setGeometry(QRect(830, 10, 31, 31));
+ kiconbutton_7->setIcon(icon7);
+ kiconbutton_7->setFlat(true);
+ groupBox_2 = new QGroupBox(frame);
+ groupBox_2->setObjectName("groupBox_2");
+ groupBox_2->setGeometry(QRect(340, 590, 201, 31));
+ label_10 = new QLabel(frame);
+ label_10->setObjectName("label_10");
+ label_10->setGeometry(QRect(10, 520, 51, 51));
+ label_10->setPixmap(QPixmap(QString::fromUtf8(":/res/my-computer-icon-download-9.jpg")));
+ label_10->setScaledContents(true);
+ groupBox_3 = new QGroupBox(frame);
+ groupBox_3->setObjectName("groupBox_3");
+ groupBox_3->setGeometry(QRect(70, 350, 371, 221));
+ groupBox_3->setFlat(false);
+ label_11 = new QLabel(groupBox_3);
+ label_11->setObjectName("label_11");
+ label_11->setGeometry(QRect(10, 30, 351, 161));
+ label_11->setPixmap(QPixmap(QString::fromUtf8(":/res/wallhaven-l37vg2.jpg")));
+ label_11->setScaledContents(true);
+ label_12 = new QLabel(groupBox_3);
+ label_12->setObjectName("label_12");
+ label_12->setGeometry(QRect(10, 193, 351, 20));
+ pushButton_7 = new QPushButton(frame);
+ pushButton_7->setObjectName("pushButton_7");
+ pushButton_7->setGeometry(QRect(80, 560, 41, 26));
+ pushButton_7->setCheckable(true);
+ pushButton_7->setChecked(true);
+ pushButton_8 = new QPushButton(frame);
+ pushButton_8->setObjectName("pushButton_8");
+ pushButton_8->setGeometry(QRect(120, 560, 31, 26));
+ pushButton_8->setIcon(icon41);
+ label_13 = new QLabel(frame);
+ label_13->setObjectName("label_13");
+ label_13->setGeometry(QRect(70, 160, 181, 181));
+ label_13->setPixmap(QPixmap(QString::fromUtf8(":/res/photo_2023-05-02_12-44-08.png")));
+ label_13->setScaledContents(true);
+ groupBox_4 = new QGroupBox(frame);
+ groupBox_4->setObjectName("groupBox_4");
+ groupBox_4->setGeometry(QRect(260, 310, 51, 31));
+ label_14 = new QLabel(frame);
+ label_14->setObjectName("label_14");
+ label_14->setGeometry(QRect(790, 60, 51, 51));
+ label_14->setPixmap(QPixmap(QString::fromUtf8(":/res/spectrumpfp.png")));
+ label_14->setScaledContents(true);
+ groupBox_5 = new QGroupBox(frame);
+ groupBox_5->setObjectName("groupBox_5");
+ groupBox_5->setGeometry(QRect(570, 50, 211, 61));
+ groupBox_5->setStyleSheet(QString::fromUtf8("background-color: rgba(1, 113, 255, 30);"));
+ groupBox_5->setFlat(false);
+ label_15 = new QLabel(groupBox_5);
+ label_15->setObjectName("label_15");
+ label_15->setGeometry(QRect(10, 27, 131, 21));
+ label_15->setAutoFillBackground(false);
+ label_15->setStyleSheet(QString::fromUtf8("background-color: rgba(255, 255, 255, 0);"));
+ label_16 = new QLabel(groupBox_5);
+ label_16->setObjectName("label_16");
+ label_16->setGeometry(QRect(150, 30, 31, 18));
+ label_16->setAutoFillBackground(false);
+ label_16->setStyleSheet(QString::fromUtf8("background-color: rgba(255, 255, 255, 0);"));
+ ktitlewidget = new KTitleWidget(groupBox_5);
+ ktitlewidget->setObjectName("ktitlewidget");
+ ktitlewidget->setGeometry(QRect(180, 30, 21, 21));
+ ktitlewidget->setAutoFillBackground(false);
+ ktitlewidget->setStyleSheet(QString::fromUtf8("background-color: rgba(255, 255, 255, 0);"));
+ QIcon icon90(QIcon::fromTheme(QString::fromUtf8("password-show-on")));
+ ktitlewidget->setIcon(icon90);
+ ktitlewidget->setIconSize(QSize(16, 16));
+ kseparator = new KSeparator(frame);
+ kseparator->setObjectName("kseparator");
+ kseparator->setGeometry(QRect(1, 50, 870, 1));
+ verticalScrollBar = new QScrollBar(frame);
+ verticalScrollBar->setObjectName("verticalScrollBar");
+ verticalScrollBar->setGeometry(QRect(850, 51, 21, 659));
+ verticalScrollBar->setMaximum(17);
+ verticalScrollBar->setSliderPosition(17);
+ verticalScrollBar->setOrientation(Qt::Orientation::Vertical);
+ groupBox_6 = new QGroupBox(frame);
+ groupBox_6->setObjectName("groupBox_6");
+ groupBox_6->setGeometry(QRect(260, 160, 171, 61));
+ groupBox_6->setFlat(false);
+ groupBox_6->setCheckable(false);
+ label_18 = new QLabel(groupBox_6);
+ label_18->setObjectName("label_18");
+ label_18->setGeometry(QRect(10, 30, 131, 21));
+ ktitlewidget_6 = new KTitleWidget(groupBox_6);
+ ktitlewidget_6->setObjectName("ktitlewidget_6");
+ ktitlewidget_6->setGeometry(QRect(10, 7, 16, 17));
+ ktitlewidget_6->setIcon(icon39);
+ ktitlewidget_6->setIconSize(QSize(16, 64));
+ groupBox_13 = new QGroupBox(frame);
+ groupBox_13->setObjectName("groupBox_13");
+ groupBox_13->setGeometry(QRect(1, 120, 849, 31));
+ groupBox_13->setStyleSheet(QString::fromUtf8("background-color: rgba(255, 0, 4, 30);"));
+ groupBox_13->setFlat(true);
+ ktitlewidget_8 = new KTitleWidget(groupBox_13);
+ ktitlewidget_8->setObjectName("ktitlewidget_8");
+ ktitlewidget_8->setGeometry(QRect(821, 0, 20, 31));
+ ktitlewidget_8->setAutoFillBackground(false);
+ ktitlewidget_8->setStyleSheet(QString::fromUtf8("background-color: rgba(255, 255, 255, 0);"));
+ QIcon icon91(QIcon::fromTheme(QString::fromUtf8("go-down")));
+ ktitlewidget_8->setIcon(icon91);
+ ktitlewidget_8->setIconSize(QSize(16, 64));
+ groupBox->raise();
+ label_5->raise();
+ pushButton_3->raise();
+ pushButton_4->raise();
+ pushButton_5->raise();
+ groupBox_2->raise();
+ label_10->raise();
+ groupBox_3->raise();
+ pushButton_7->raise();
+ pushButton_8->raise();
+ label_13->raise();
+ frame_3->raise();
+ frame_2->raise();
+ groupBox_4->raise();
+ label_14->raise();
+ groupBox_5->raise();
+ kseparator->raise();
+ verticalScrollBar->raise();
+ groupBox_6->raise();
+ groupBox_13->raise();
+ frame_4 = new QFrame(centralwidget);
+ frame_4->setObjectName("frame_4");
+ frame_4->setGeometry(QRect(0, 0, 281, 761));
+ frame_4->setFrameShape(QFrame::Shape::StyledPanel);
+ frame_4->setFrameShadow(QFrame::Shadow::Raised);
+ label_3 = new QLabel(frame_4);
+ label_3->setObjectName("label_3");
+ label_3->setGeometry(QRect(10, 10, 71, 71));
+ label_3->setPixmap(QPixmap(QString::fromUtf8(":/res/spectrumpfp.png")));
+ label_3->setScaledContents(true);
+ comboBox_2 = new QComboBox(frame_4);
+ comboBox_2->addItem(icon67, QString());
+ comboBox_2->addItem(icon68, QString());
+ comboBox_2->addItem(icon69, QString());
+ comboBox_2->addItem(icon70, QString());
+ comboBox_2->addItem(icon84, QString());
+ comboBox_2->setObjectName("comboBox_2");
+ comboBox_2->setGeometry(QRect(10, 90, 181, 32));
+ comboBox_2->setFrame(false);
+ label_17 = new QLabel(frame_4);
+ label_17->setObjectName("label_17");
+ label_17->setGeometry(QRect(90, 30, 181, 51));
+ label_17->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_17->setWordWrap(true);
+ tabWidget = new QTabWidget(frame_4);
+ tabWidget->setObjectName("tabWidget");
+ tabWidget->setGeometry(QRect(0, 170, 281, 501));
+ tabWidget->setDocumentMode(true);
+ tab = new QWidget();
+ tab->setObjectName("tab");
+ treeWidget = new QTreeWidget(tab);
+ QIcon icon92;
+ icon92.addFile(QString::fromUtf8(":/res/Daft-Punk-Discovery.webp"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon93;
+ icon93.addFile(QString::fromUtf8(":/res/b11be0b2640f4123a7eb4e4799f67102.jpeg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon94;
+ icon94.addFile(QString::fromUtf8(":/res/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon95;
+ icon95.addFile(QString::fromUtf8(":/res/photo_2025-04-13_21-35-09.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon96(QIcon::fromTheme(QString::fromUtf8("audio-volume-high")));
+ QIcon icon97;
+ icon97.addFile(QString::fromUtf8(":/res/R-3617493-1337544956-2213.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon98;
+ icon98.addFile(QString::fromUtf8(":/res/photo_2025-01-11_16-44-34.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QIcon icon99(QIcon::fromTheme(QString::fromUtf8("security-high")));
+ QTreeWidgetItem *__qtreewidgetitem = new QTreeWidgetItem(treeWidget);
+ __qtreewidgetitem->setIcon(0, icon92);
+ QTreeWidgetItem *__qtreewidgetitem1 = new QTreeWidgetItem(treeWidget);
+ __qtreewidgetitem1->setIcon(0, icon93);
+ QTreeWidgetItem *__qtreewidgetitem2 = new QTreeWidgetItem(treeWidget);
+ __qtreewidgetitem2->setIcon(0, icon94);
+ QTreeWidgetItem *__qtreewidgetitem3 = new QTreeWidgetItem(treeWidget);
+ __qtreewidgetitem3->setIcon(0, icon95);
+ QTreeWidgetItem *__qtreewidgetitem4 = new QTreeWidgetItem(__qtreewidgetitem3);
+ __qtreewidgetitem4->setIcon(0, icon66);
+ QTreeWidgetItem *__qtreewidgetitem5 = new QTreeWidgetItem(__qtreewidgetitem3);
+ __qtreewidgetitem5->setIcon(0, icon26);
+ QTreeWidgetItem *__qtreewidgetitem6 = new QTreeWidgetItem(__qtreewidgetitem3);
+ __qtreewidgetitem6->setIcon(0, icon26);
+ QTreeWidgetItem *__qtreewidgetitem7 = new QTreeWidgetItem(__qtreewidgetitem3);
+ __qtreewidgetitem7->setIcon(0, icon96);
+ QTreeWidgetItem *__qtreewidgetitem8 = new QTreeWidgetItem(__qtreewidgetitem7);
+ __qtreewidgetitem8->setIcon(0, icon97);
+ QTreeWidgetItem *__qtreewidgetitem9 = new QTreeWidgetItem(__qtreewidgetitem7);
+ __qtreewidgetitem9->setIcon(0, icon11);
+ QTreeWidgetItem *__qtreewidgetitem10 = new QTreeWidgetItem(__qtreewidgetitem7);
+ __qtreewidgetitem10->setIcon(0, icon98);
+ QTreeWidgetItem *__qtreewidgetitem11 = new QTreeWidgetItem(treeWidget);
+ __qtreewidgetitem11->setIcon(0, icon99);
+ treeWidget->setObjectName("treeWidget");
+ treeWidget->setGeometry(QRect(0, 0, 281, 471));
+ treeWidget->setIconSize(QSize(32, 32));
+ treeWidget->setRootIsDecorated(false);
+ treeWidget->header()->setVisible(false);
+ QIcon icon100(QIcon::fromTheme(QString::fromUtf8("view-conversation-balloon")));
+ tabWidget->addTab(tab, icon100, QString());
+ tab_2 = new QWidget();
+ tab_2->setObjectName("tab_2");
+ tabWidget->addTab(tab_2, icon75, QString());
+ tab_3 = new QWidget();
+ tab_3->setObjectName("tab_3");
+ QIcon icon101(QIcon::fromTheme(QString::fromUtf8("system-users")));
+ tabWidget->addTab(tab_3, icon101, QString());
+ comboBox = new QComboBox(frame_4);
+ comboBox->addItem(QString());
+ comboBox->setObjectName("comboBox");
+ comboBox->setGeometry(QRect(90, 10, 181, 21));
+ comboBox->setFrame(false);
+ verticalScrollBar_2 = new QScrollBar(frame_4);
+ verticalScrollBar_2->setObjectName("verticalScrollBar_2");
+ verticalScrollBar_2->setGeometry(QRect(280, 1, 21, 760));
+ verticalScrollBar_2->setMaximum(17);
+ verticalScrollBar_2->setSliderPosition(17);
+ verticalScrollBar_2->setOrientation(Qt::Orientation::Vertical);
+ pushButton_2 = new QPushButton(frame_4);
+ pushButton_2->setObjectName("pushButton_2");
+ pushButton_2->setGeometry(QRect(200, 90, 31, 34));
+ pushButton_2->setIcon(icon84);
+ pushButton_2->setFlat(true);
+ label_4 = new QLabel(frame_4);
+ label_4->setObjectName("label_4");
+ label_4->setGeometry(QRect(50, 680, 221, 31));
+ ktitlewidget_3 = new KTitleWidget(frame_4);
+ ktitlewidget_3->setObjectName("ktitlewidget_3");
+ ktitlewidget_3->setGeometry(QRect(10, 680, 31, 32));
+ QIcon icon102(QIcon::fromTheme(QString::fromUtf8("dialog-cancel")));
+ ktitlewidget_3->setIcon(icon102);
+ ktitlewidget_3->setIconSize(QSize(31, 22));
+ kseparator_4 = new KSeparator(frame_4);
+ kseparator_4->setObjectName("kseparator_4");
+ kseparator_4->setGeometry(QRect(0, 670, 281, 1));
+ pushButton_9 = new QPushButton(frame_4);
+ pushButton_9->setObjectName("pushButton_9");
+ pushButton_9->setGeometry(QRect(10, 720, 31, 31));
+ pushButton_9->setIcon(icon11);
+ pushButton_9->setCheckable(true);
+ pushButton_9->setFlat(true);
+ pushButton_10 = new QPushButton(frame_4);
+ pushButton_10->setObjectName("pushButton_10");
+ pushButton_10->setGeometry(QRect(50, 720, 31, 31));
+ pushButton_10->setIcon(icon12);
+ pushButton_10->setCheckable(true);
+ pushButton_10->setFlat(true);
+ pushButton_11 = new QPushButton(frame_4);
+ pushButton_11->setObjectName("pushButton_11");
+ pushButton_11->setGeometry(QRect(90, 720, 31, 31));
+ pushButton_11->setIcon(icon16);
+ pushButton_11->setCheckable(true);
+ pushButton_11->setFlat(true);
+ pushButton_12 = new QPushButton(frame_4);
+ pushButton_12->setObjectName("pushButton_12");
+ pushButton_12->setEnabled(false);
+ pushButton_12->setGeometry(QRect(130, 720, 31, 31));
+ QIcon icon103(QIcon::fromTheme(QString::fromUtf8("overflow-menu")));
+ pushButton_12->setIcon(icon103);
+ pushButton_12->setFlat(true);
+ pushButton_13 = new QPushButton(frame_4);
+ pushButton_13->setObjectName("pushButton_13");
+ pushButton_13->setEnabled(false);
+ pushButton_13->setGeometry(QRect(170, 720, 31, 31));
+ pushButton_13->setIcon(icon76);
+ pushButton_13->setFlat(true);
+ klineedit_3 = new KLineEdit(frame_4);
+ klineedit_3->setObjectName("klineedit_3");
+ klineedit_3->setGeometry(QRect(10, 130, 261, 31));
+ pushButton_14 = new QPushButton(frame_4);
+ pushButton_14->setObjectName("pushButton_14");
+ pushButton_14->setGeometry(QRect(240, 90, 31, 34));
+ pushButton_14->setIcon(icon22);
+ pushButton_14->setFlat(true);
+ pushButton_15 = new QPushButton(frame_4);
+ pushButton_15->setObjectName("pushButton_15");
+ pushButton_15->setEnabled(false);
+ pushButton_15->setGeometry(QRect(210, 720, 61, 31));
+ pushButton_15->setIcon(icon14);
+ pushButton_15->setFlat(false);
+ MainWindow->setCentralWidget(centralwidget);
+ menubar = new QMenuBar(MainWindow);
+ menubar->setObjectName("menubar");
+ menubar->setGeometry(QRect(0, 0, 1423, 30));
+ menuFile = new QMenu(menubar);
+ menuFile->setObjectName("menuFile");
+ menuSwitch_account = new QMenu(menuFile);
+ menuSwitch_account->setObjectName("menuSwitch_account");
+ QIcon icon104(QIcon::fromTheme(QString::fromUtf8("system-switch-user")));
+ menuSwitch_account->setIcon(icon104);
+ menuSet_status = new QMenu(menuFile);
+ menuSet_status->setObjectName("menuSet_status");
+ menuSet_status->setIcon(icon3);
+ menuEdit = new QMenu(menubar);
+ menuEdit->setObjectName("menuEdit");
+ menuText_formatting = new QMenu(menuEdit);
+ menuText_formatting->setObjectName("menuText_formatting");
+ QIcon icon105(QIcon::fromTheme(QString::fromUtf8("edit-select-text")));
+ menuText_formatting->setIcon(icon105);
+ menuList = new QMenu(menuText_formatting);
+ menuList->setObjectName("menuList");
+ menuList->setIcon(icon52);
+ menuCode = new QMenu(menuText_formatting);
+ menuCode->setObjectName("menuCode");
+ menuCode->setIcon(icon51);
+ menuView = new QMenu(menubar);
+ menuView->setObjectName("menuView");
+ menuDockers = new QMenu(menuView);
+ menuDockers->setObjectName("menuDockers");
+ QIcon icon106(QIcon::fromTheme(QString::fromUtf8("view-right-new")));
+ menuDockers->setIcon(icon106);
+ menuWindows = new QMenu(menuView);
+ menuWindows->setObjectName("menuWindows");
+ menuWindows->setIcon(icon60);
+ menuChat = new QMenu(menubar);
+ menuChat->setObjectName("menuChat");
+ menuNew_chat = new QMenu(menuChat);
+ menuNew_chat->setObjectName("menuNew_chat");
+ QIcon icon107(QIcon::fromTheme(QString::fromUtf8("contact-new")));
+ menuNew_chat->setIcon(icon107);
+ menuEphemeral_messages = new QMenu(menuChat);
+ menuEphemeral_messages->setObjectName("menuEphemeral_messages");
+ QIcon icon108(QIcon::fromTheme(QString::fromUtf8("chronometer")));
+ menuEphemeral_messages->setIcon(icon108);
+ menuHelp = new QMenu(menubar);
+ menuHelp->setObjectName("menuHelp");
+ menuVoice = new QMenu(menubar);
+ menuVoice->setObjectName("menuVoice");
+ menuTools = new QMenu(menubar);
+ menuTools->setObjectName("menuTools");
+ menuModeration = new QMenu(menubar);
+ menuModeration->setObjectName("menuModeration");
+ menuNew_channel = new QMenu(menuModeration);
+ menuNew_channel->setObjectName("menuNew_channel");
+ menuNew_channel->setIcon(icon107);
+ MainWindow->setMenuBar(menubar);
+ statusbar = new QStatusBar(MainWindow);
+ statusbar->setObjectName("statusbar");
+ MainWindow->setStatusBar(statusbar);
+ dockWidget_2 = new QDockWidget(MainWindow);
+ dockWidget_2->setObjectName("dockWidget_2");
+ dockWidget_2->setMinimumSize(QSize(272, 46));
+ dockWidgetContents_4 = new QWidget();
+ dockWidgetContents_4->setObjectName("dockWidgetContents_4");
+ label = new QLabel(dockWidgetContents_4);
+ label->setObjectName("label");
+ label->setGeometry(QRect(10, 10, 71, 71));
+ label->setPixmap(QPixmap(QString::fromUtf8(":/res/photo_2025-04-13_21-35-09.jpg")));
+ label->setScaledContents(true);
+ label_2 = new QLabel(dockWidgetContents_4);
+ label_2->setObjectName("label_2");
+ label_2->setGeometry(QRect(10, 90, 251, 41));
+ label_2->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_2->setWordWrap(true);
+ tabWidget_2 = new QTabWidget(dockWidgetContents_4);
+ tabWidget_2->setObjectName("tabWidget_2");
+ tabWidget_2->setGeometry(QRect(0, 320, 271, 411));
+ tabWidget_2->setTabPosition(QTabWidget::TabPosition::North);
+ tabWidget_2->setDocumentMode(true);
+ tab_4 = new QWidget();
+ tab_4->setObjectName("tab_4");
+ listWidget = new QListWidget(tab_4);
+ QListWidgetItem *__qlistwidgetitem = new QListWidgetItem(listWidget);
+ __qlistwidgetitem->setIcon(icon38);
+ QListWidgetItem *__qlistwidgetitem1 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem1->setIcon(icon97);
+ QIcon icon109;
+ icon109.addFile(QString::fromUtf8(":/res/channels4_profile.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QListWidgetItem *__qlistwidgetitem2 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem2->setIcon(icon109);
+ QIcon icon110;
+ icon110.addFile(QString::fromUtf8(":/res/photo_2025-01-12_16-30-34.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QListWidgetItem *__qlistwidgetitem3 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem3->setIcon(icon110);
+ QIcon icon111;
+ icon111.addFile(QString::fromUtf8(":/res/my-computer-icon-download-9.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QListWidgetItem *__qlistwidgetitem4 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem4->setIcon(icon111);
+ QIcon icon112;
+ icon112.addFile(QString::fromUtf8(":/res/carabinieri.jpg"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QListWidgetItem *__qlistwidgetitem5 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem5->setIcon(icon112);
+ QIcon icon113;
+ icon113.addFile(QString::fromUtf8(":/res/gioelesbarazzino2006.webp"), QSize(), QIcon::Mode::Normal, QIcon::State::Off);
+ QListWidgetItem *__qlistwidgetitem6 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem6->setIcon(icon113);
+ QListWidgetItem *__qlistwidgetitem7 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem7->setIcon(icon70);
+ QListWidgetItem *__qlistwidgetitem8 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem8->setIcon(icon98);
+ QListWidgetItem *__qlistwidgetitem9 = new QListWidgetItem(listWidget);
+ __qlistwidgetitem9->setIcon(icon69);
+ listWidget->setObjectName("listWidget");
+ listWidget->setGeometry(QRect(0, 0, 271, 321));
+ listWidget->setAlternatingRowColors(true);
+ listWidget->setIconSize(QSize(22, 22));
+ pushButton_6 = new QPushButton(tab_4);
+ pushButton_6->setObjectName("pushButton_6");
+ pushButton_6->setGeometry(QRect(10, 330, 251, 34));
+ pushButton_6->setIcon(icon4);
+ kseparator_3 = new KSeparator(tab_4);
+ kseparator_3->setObjectName("kseparator_3");
+ kseparator_3->setGeometry(QRect(0, 321, 271, 1));
+ tabWidget_2->addTab(tab_4, icon101, QString());
+ tab_5 = new QWidget();
+ tab_5->setObjectName("tab_5");
+ QIcon icon114(QIcon::fromTheme(QString::fromUtf8("view-preview")));
+ tabWidget_2->addTab(tab_5, icon114, QString());
+ tab_6 = new QWidget();
+ tab_6->setObjectName("tab_6");
+ QIcon icon115(QIcon::fromTheme(QString::fromUtf8("link")));
+ tabWidget_2->addTab(tab_6, icon115, QString());
+ tab_7 = new QWidget();
+ tab_7->setObjectName("tab_7");
+ tabWidget_2->addTab(tab_7, icon30, QString());
+ tab_9 = new QWidget();
+ tab_9->setObjectName("tab_9");
+ QIcon icon116(QIcon::fromTheme(QString::fromUtf8("games-difficult")));
+ tabWidget_2->addTab(tab_9, icon116, QString());
+ tab_8 = new QWidget();
+ tab_8->setObjectName("tab_8");
+ tabWidget_2->addTab(tab_8, icon72, QString());
+ tab_10 = new QWidget();
+ tab_10->setObjectName("tab_10");
+ tabWidget_2->addTab(tab_10, icon20, QString());
+ tab_11 = new QWidget();
+ tab_11->setObjectName("tab_11");
+ tabWidget_2->addTab(tab_11, icon103, QString());
+ klineedit_2 = new KLineEdit(dockWidgetContents_4);
+ klineedit_2->setObjectName("klineedit_2");
+ klineedit_2->setGeometry(QRect(10, 280, 251, 31));
+ label_19 = new QLabel(dockWidgetContents_4);
+ label_19->setObjectName("label_19");
+ label_19->setGeometry(QRect(90, 30, 171, 51));
+ label_19->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_19->setWordWrap(true);
+ ktitlewidget_4 = new KTitleWidget(dockWidgetContents_4);
+ ktitlewidget_4->setObjectName("ktitlewidget_4");
+ ktitlewidget_4->setGeometry(QRect(10, 140, 31, 31));
+ ktitlewidget_4->setIcon(icon26);
+ ktitlewidget_4->setIconSize(QSize(32, 22));
+ label_20 = new QLabel(dockWidgetContents_4);
+ label_20->setObjectName("label_20");
+ label_20->setGeometry(QRect(50, 140, 211, 21));
+ label_20->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_20->setWordWrap(true);
+ label_21 = new QLabel(dockWidgetContents_4);
+ label_21->setObjectName("label_21");
+ label_21->setGeometry(QRect(90, 10, 171, 21));
+ label_22 = new QLabel(dockWidgetContents_4);
+ label_22->setObjectName("label_22");
+ label_22->setGeometry(QRect(50, 160, 211, 41));
+ label_22->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_22->setWordWrap(true);
+ label_23 = new QLabel(dockWidgetContents_4);
+ label_23->setObjectName("label_23");
+ label_23->setGeometry(QRect(50, 210, 211, 21));
+ label_23->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_23->setWordWrap(true);
+ ktitlewidget_5 = new KTitleWidget(dockWidgetContents_4);
+ ktitlewidget_5->setObjectName("ktitlewidget_5");
+ ktitlewidget_5->setGeometry(QRect(10, 210, 31, 31));
+ ktitlewidget_5->setIcon(icon73);
+ ktitlewidget_5->setIconSize(QSize(32, 22));
+ label_24 = new QLabel(dockWidgetContents_4);
+ label_24->setObjectName("label_24");
+ label_24->setGeometry(QRect(50, 230, 211, 41));
+ label_24->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
+ label_24->setWordWrap(true);
+ dockWidget_2->setWidget(dockWidgetContents_4);
+ MainWindow->addDockWidget(Qt::DockWidgetArea::RightDockWidgetArea, dockWidget_2);
+
+ menubar->addAction(menuFile->menuAction());
+ menubar->addAction(menuEdit->menuAction());
+ menubar->addAction(menuView->menuAction());
+ menubar->addAction(menuChat->menuAction());
+ menubar->addAction(menuVoice->menuAction());
+ menubar->addAction(menuModeration->menuAction());
+ menubar->addAction(menuTools->menuAction());
+ menubar->addAction(menuHelp->menuAction());
+ menuFile->addAction(menuSwitch_account->menuAction());
+ menuFile->addAction(menuSet_status->menuAction());
+ menuFile->addAction(actionEdit_profile);
+ menuFile->addAction(actionSettings);
+ menuFile->addSeparator();
+ menuFile->addAction(actionLogout);
+ menuFile->addAction(actionQuit);
+ menuSwitch_account->addAction(actiongianmarco_gianmarco_gg);
+ menuSwitch_account->addSeparator();
+ menuSwitch_account->addAction(actionAdd_new_account);
+ menuSet_status->addAction(actionOnline);
+ menuSet_status->addAction(actionAway);
+ menuSet_status->addAction(actionDo_not_disturb);
+ menuSet_status->addAction(actionInvisible);
+ menuSet_status->addAction(actionCustom_status);
+ menuEdit->addAction(actionUndo);
+ menuEdit->addAction(actionRedo);
+ menuEdit->addSeparator();
+ menuEdit->addAction(actionCut);
+ menuEdit->addAction(actionCopy);
+ menuEdit->addAction(actionPaste);
+ menuEdit->addAction(actionSelect_all);
+ menuEdit->addSeparator();
+ menuEdit->addAction(menuText_formatting->menuAction());
+ menuEdit->addAction(actionCheck_spelling);
+ menuEdit->addSeparator();
+ menuEdit->addAction(actionEdit_last_message);
+ menuEdit->addAction(actionDelete_message);
+ menuEdit->addAction(actionDelete_all_messages);
+ menuEdit->addSeparator();
+ menuEdit->addAction(actionFind);
+ menuEdit->addSeparator();
+ menuEdit->addAction(actionSelect_messages);
+ menuEdit->addAction(actionReply);
+ menuEdit->addAction(actionQuote);
+ menuEdit->addAction(actionForward);
+ menuEdit->addAction(actionAdd_reaction);
+ menuEdit->addAction(actionSave_media);
+ menuEdit->addAction(actionPin);
+ menuEdit->addAction(actionBookmark_message);
+ menuEdit->addSeparator();
+ menuEdit->addAction(actionSchedule_message);
+ menuText_formatting->addAction(actionBold);
+ menuText_formatting->addAction(actionItalic);
+ menuText_formatting->addAction(actionStrikethrough);
+ menuText_formatting->addAction(actionUnderlined);
+ menuText_formatting->addAction(actionSpoiler);
+ menuText_formatting->addAction(actionColor);
+ menuText_formatting->addSeparator();
+ menuText_formatting->addAction(menuList->menuAction());
+ menuText_formatting->addAction(actionLink);
+ menuText_formatting->addAction(menuCode->menuAction());
+ menuText_formatting->addAction(actionBlockquote);
+ menuText_formatting->addAction(actionEmoji);
+ menuList->addAction(actionUnordered_list);
+ menuList->addAction(actionNumbered_list);
+ menuCode->addAction(actionCode_snippet_2);
+ menuCode->addAction(actionCode_block_2);
+ menuView->addAction(menuDockers->menuAction());
+ menuView->addAction(menuWindows->menuAction());
+ menuView->addAction(actionOpen_in_new_window);
+ menuView->addAction(actionToggle_menu_bar);
+ menuView->addSeparator();
+ menuView->addAction(actionCall_overlay_2);
+ menuView->addAction(actionQuick_command);
+ menuDockers->addAction(actionDetails);
+ menuDockers->addAction(actionProfile_glancer);
+ menuDockers->addAction(actionCall_controls);
+ menuWindows->addAction(actionMain_window);
+ menuChat->addAction(menuNew_chat->menuAction());
+ menuChat->addAction(actionClose_chat);
+ menuChat->addAction(actionChat_settings);
+ menuChat->addAction(actionShow_details);
+ menuChat->addSeparator();
+ menuChat->addAction(actionExport_chat);
+ menuChat->addAction(actionClean_chat);
+ menuChat->addAction(actionDelete_chat);
+ menuChat->addSeparator();
+ menuChat->addAction(actionInvite_user);
+ menuChat->addAction(actionStart_thread);
+ menuChat->addAction(actionScheduled_messages);
+ menuChat->addAction(menuEphemeral_messages->menuAction());
+ menuChat->addAction(actionPoke_user);
+ menuChat->addSeparator();
+ menuChat->addAction(actionAdd_to_chat_folder);
+ menuChat->addAction(actionManage_chat_folders);
+ menuNew_chat->addAction(actionQuick_chat);
+ menuNew_chat->addSeparator();
+ menuNew_chat->addAction(actionNew_direct_message);
+ menuNew_chat->addAction(actionExisting_contact);
+ menuNew_chat->addSeparator();
+ menuNew_chat->addAction(actionCreate_group);
+ menuNew_chat->addAction(actionOpen_invite);
+ menuNew_chat->addSeparator();
+ menuNew_chat->addAction(actionCreate_broadcast_channel);
+ menuNew_chat->addAction(actionJoin_broadcast_channel);
+ menuEphemeral_messages->addAction(actionOff);
+ menuEphemeral_messages->addAction(action5s);
+ menuEphemeral_messages->addAction(action15m);
+ menuEphemeral_messages->addAction(action1h);
+ menuEphemeral_messages->addAction(action24h);
+ menuEphemeral_messages->addAction(action1_week);
+ menuEphemeral_messages->addAction(actionCustom_time);
+ menuEphemeral_messages->addAction(actionAt_logout);
+ menuHelp->addAction(actionDocumentation);
+ menuHelp->addAction(actionVisit_support_forum);
+ menuHelp->addAction(actionJoin_support_chat);
+ menuHelp->addSeparator();
+ menuHelp->addAction(actionAbout_DreamChat);
+ menuHelp->addAction(actionDonate);
+ menuVoice->addAction(actionToggle_microphone);
+ menuVoice->addAction(actionToggle_sound);
+ menuVoice->addAction(actionToggle_camera);
+ menuVoice->addAction(actionShare_screen);
+ menuVoice->addAction(actionRecord_call);
+ menuVoice->addAction(actionIntegrate_applet);
+ menuVoice->addSeparator();
+ menuVoice->addAction(actionCall_contact);
+ menuVoice->addAction(actionEnter_voice_channel);
+ menuVoice->addAction(actionGo_to_call_location);
+ menuVoice->addAction(actionQuit_voice_channel);
+ menuTools->addAction(actionApplets);
+ menuTools->addAction(actionBots);
+ menuTools->addAction(actionPlugins);
+ menuTools->addSeparator();
+ menuTools->addAction(actionGet_new_tools);
+ menuTools->addSeparator();
+ menuTools->addAction(actionContacts);
+ menuTools->addAction(actionBookmarks);
+ menuTools->addAction(actionSticker_and_emoji_packs);
+ menuTools->addAction(actionDownload_manager);
+ menuTools->addAction(actionServer_information);
+ menuTools->addAction(actionLog_window);
+ menuModeration->addAction(actionAdministration_settings);
+ menuModeration->addSeparator();
+ menuModeration->addAction(actionPurge_user_messages);
+ menuModeration->addAction(actionMute_user);
+ menuModeration->addAction(actionKick_user);
+ menuModeration->addAction(actionBan_user);
+ menuModeration->addSeparator();
+ menuModeration->addAction(menuNew_channel->menuAction());
+ menuModeration->addAction(actionDelete_channel);
+ menuModeration->addSeparator();
+ menuModeration->addAction(actionReports);
+ menuNew_channel->addAction(actionText_channel);
+ menuNew_channel->addAction(actionBroadcast_channel);
+ menuNew_channel->addAction(actionVoice_channel);
+ menuNew_channel->addAction(actionChannel_category);
+
+ retranslateUi(MainWindow);
+
+ tabWidget->setCurrentIndex(0);
+ tabWidget_2->setCurrentIndex(0);
+
+
+ QMetaObject::connectSlotsByName(MainWindow);
+ } // setupUi
+
+ void retranslateUi(QMainWindow *MainWindow)
+ {
+ MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "DreamChat", nullptr));
+#if QT_CONFIG(tooltip)
+ MainWindow->setToolTip(QCoreApplication::translate("MainWindow", "Switch account", nullptr));
+#endif // QT_CONFIG(tooltip)
+ actionQuit->setText(QCoreApplication::translate("MainWindow", "Quit", nullptr));
+#if QT_CONFIG(shortcut)
+ actionQuit->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Q", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionNew_direct_message->setText(QCoreApplication::translate("MainWindow", "New contact", nullptr));
+ actionExisting_contact->setText(QCoreApplication::translate("MainWindow", "Existing contact", nullptr));
+ actionCreate_group->setText(QCoreApplication::translate("MainWindow", "Create group", nullptr));
+ actionOpen_invite->setText(QCoreApplication::translate("MainWindow", "Join group", nullptr));
+ actionClose_chat->setText(QCoreApplication::translate("MainWindow", "Close chat", nullptr));
+#if QT_CONFIG(shortcut)
+ actionClose_chat->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+W", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionShow_details->setText(QCoreApplication::translate("MainWindow", "Show chat details", nullptr));
+#if QT_CONFIG(shortcut)
+ actionShow_details->setShortcut(QCoreApplication::translate("MainWindow", "Alt+Return", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionExport_chat->setText(QCoreApplication::translate("MainWindow", "Export chat", nullptr));
+#if QT_CONFIG(shortcut)
+ actionExport_chat->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+E", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionClean_chat->setText(QCoreApplication::translate("MainWindow", "Clear chat", nullptr));
+ actionDelete_chat->setText(QCoreApplication::translate("MainWindow", "Delete chat", nullptr));
+ actionToggle_microphone->setText(QCoreApplication::translate("MainWindow", "Toggle microphone", nullptr));
+#if QT_CONFIG(shortcut)
+ actionToggle_microphone->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+M", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionToggle_sound->setText(QCoreApplication::translate("MainWindow", "Toggle sound", nullptr));
+#if QT_CONFIG(shortcut)
+ actionToggle_sound->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+M", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionEnter_voice_channel->setText(QCoreApplication::translate("MainWindow", "Enter voice channel", nullptr));
+ actionQuit_voice_channel->setText(QCoreApplication::translate("MainWindow", "Hang up", nullptr));
+#if QT_CONFIG(shortcut)
+ actionQuit_voice_channel->setShortcut(QCoreApplication::translate("MainWindow", "Shift+Esc", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionCall_contact->setText(QCoreApplication::translate("MainWindow", "Call contact", nullptr));
+ actionToggle_camera->setText(QCoreApplication::translate("MainWindow", "Toggle camera", nullptr));
+#if QT_CONFIG(shortcut)
+ actionToggle_camera->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+W", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionShare_screen->setText(QCoreApplication::translate("MainWindow", "Share screen", nullptr));
+#if QT_CONFIG(shortcut)
+ actionShare_screen->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+S", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionRecord_call->setText(QCoreApplication::translate("MainWindow", "Record call", nullptr));
+#if QT_CONFIG(shortcut)
+ actionRecord_call->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+R", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionDocumentation->setText(QCoreApplication::translate("MainWindow", "Documentation", nullptr));
+#if QT_CONFIG(shortcut)
+ actionDocumentation->setShortcut(QCoreApplication::translate("MainWindow", "F1", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionAbout_DreamChat->setText(QCoreApplication::translate("MainWindow", "About DreamChat", nullptr));
+ actionDonate->setText(QCoreApplication::translate("MainWindow", "Donate", nullptr));
+ actionJoin_support_chat->setText(QCoreApplication::translate("MainWindow", "Join support group chat", nullptr));
+ actionChat_settings->setText(QCoreApplication::translate("MainWindow", "Chat settings", nullptr));
+#if QT_CONFIG(shortcut)
+ actionChat_settings->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+,", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionAdministration_settings->setText(QCoreApplication::translate("MainWindow", "Administration settings", nullptr));
+#if QT_CONFIG(shortcut)
+ actionAdministration_settings->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Alt+,", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionMute_user->setText(QCoreApplication::translate("MainWindow", "Mute user", nullptr));
+ actionKick_user->setText(QCoreApplication::translate("MainWindow", "Kick user", nullptr));
+ actionBan_user->setText(QCoreApplication::translate("MainWindow", "Ban user", nullptr));
+ actionText_channel->setText(QCoreApplication::translate("MainWindow", "Text channel", nullptr));
+ actionVoice_channel->setText(QCoreApplication::translate("MainWindow", "Voice channel", nullptr));
+ actionDelete_channel->setText(QCoreApplication::translate("MainWindow", "Delete channel", nullptr));
+ actionChannel_category->setText(QCoreApplication::translate("MainWindow", "Channel category", nullptr));
+ actionReports->setText(QCoreApplication::translate("MainWindow", "Reports", nullptr));
+ actionStart_thread->setText(QCoreApplication::translate("MainWindow", "Start thread", nullptr));
+#if QT_CONFIG(shortcut)
+ actionStart_thread->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+T", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionUndo->setText(QCoreApplication::translate("MainWindow", "Undo", nullptr));
+#if QT_CONFIG(shortcut)
+ actionUndo->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Z", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionRedo->setText(QCoreApplication::translate("MainWindow", "Redo", nullptr));
+#if QT_CONFIG(shortcut)
+ actionRedo->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+Z", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionCut->setText(QCoreApplication::translate("MainWindow", "Cut", nullptr));
+#if QT_CONFIG(shortcut)
+ actionCut->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+X", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionCopy->setText(QCoreApplication::translate("MainWindow", "Copy", nullptr));
+#if QT_CONFIG(shortcut)
+ actionCopy->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+C", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionPaste->setText(QCoreApplication::translate("MainWindow", "Paste", nullptr));
+#if QT_CONFIG(shortcut)
+ actionPaste->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+V", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionEdit_last_message->setText(QCoreApplication::translate("MainWindow", "Edit last message", nullptr));
+#if QT_CONFIG(shortcut)
+ actionEdit_last_message->setShortcut(QCoreApplication::translate("MainWindow", "Up", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionDelete_message->setText(QCoreApplication::translate("MainWindow", "Delete message", nullptr));
+#if QT_CONFIG(shortcut)
+ actionDelete_message->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Del", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionDelete_all_messages->setText(QCoreApplication::translate("MainWindow", "Delete all messages", nullptr));
+ actionFind->setText(QCoreApplication::translate("MainWindow", "Search", nullptr));
+#if QT_CONFIG(shortcut)
+ actionFind->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+F", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actiongianmarco_gianmarco_gg->setText(QCoreApplication::translate("MainWindow", "gianmarco@gianmarco.gg", nullptr));
+#if QT_CONFIG(shortcut)
+ actiongianmarco_gianmarco_gg->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Alt+1", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionReply->setText(QCoreApplication::translate("MainWindow", "Reply", nullptr));
+#if QT_CONFIG(shortcut)
+ actionReply->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+R", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionForward->setText(QCoreApplication::translate("MainWindow", "Forward", nullptr));
+ actionAdd_reaction->setText(QCoreApplication::translate("MainWindow", "Add reaction", nullptr));
+ actionSave_media->setText(QCoreApplication::translate("MainWindow", "Save media", nullptr));
+ actionPurge_user_messages->setText(QCoreApplication::translate("MainWindow", "Purge user messages", nullptr));
+ actionQuote->setText(QCoreApplication::translate("MainWindow", "Quote", nullptr));
+ actionSelect_messages->setText(QCoreApplication::translate("MainWindow", "Select messages", nullptr));
+#if QT_CONFIG(shortcut)
+ actionSelect_messages->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+S", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionSelected_actions->setText(QCoreApplication::translate("MainWindow", "Selected actions", nullptr));
+ actionSelect_all->setText(QCoreApplication::translate("MainWindow", "Select all", nullptr));
+#if QT_CONFIG(shortcut)
+ actionSelect_all->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+A", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionBold->setText(QCoreApplication::translate("MainWindow", "Bold", nullptr));
+#if QT_CONFIG(shortcut)
+ actionBold->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+B", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionItalic->setText(QCoreApplication::translate("MainWindow", "Italic", nullptr));
+#if QT_CONFIG(shortcut)
+ actionItalic->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+I", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionStrikethrough->setText(QCoreApplication::translate("MainWindow", "Strikethrough", nullptr));
+#if QT_CONFIG(shortcut)
+ actionStrikethrough->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Shift+X", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionUnderlined->setText(QCoreApplication::translate("MainWindow", "Underlined", nullptr));
+#if QT_CONFIG(shortcut)
+ actionUnderlined->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+U", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionLink->setText(QCoreApplication::translate("MainWindow", "Link", nullptr));
+#if QT_CONFIG(shortcut)
+ actionLink->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+L", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionEmoji->setText(QCoreApplication::translate("MainWindow", "Emoji", nullptr));
+#if QT_CONFIG(shortcut)
+ actionEmoji->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+.", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionCode_block->setText(QCoreApplication::translate("MainWindow", "Code block", nullptr));
+ actionBlockquote->setText(QCoreApplication::translate("MainWindow", "Blockquote", nullptr));
+ actionUnordered_list->setText(QCoreApplication::translate("MainWindow", "Unordered list", nullptr));
+ actionNumbered_list->setText(QCoreApplication::translate("MainWindow", "Numbered list", nullptr));
+ actionCode_snippet_2->setText(QCoreApplication::translate("MainWindow", "Code snippet", nullptr));
+ actionCode_block_2->setText(QCoreApplication::translate("MainWindow", "Code block", nullptr));
+ actionIntegrate_applet->setText(QCoreApplication::translate("MainWindow", "Integrate applet", nullptr));
+ actionCall_overlay->setText(QCoreApplication::translate("MainWindow", "Call overlay", nullptr));
+ actionSpoiler->setText(QCoreApplication::translate("MainWindow", "Spoiler", nullptr));
+#if QT_CONFIG(shortcut)
+ actionSpoiler->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+P", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionColor->setText(QCoreApplication::translate("MainWindow", "Color", nullptr));
+ actionCheck_spelling->setText(QCoreApplication::translate("MainWindow", "Check spelling", nullptr));
+ actionOpen_in_new_window->setText(QCoreApplication::translate("MainWindow", "Detach to new window", nullptr));
+ actionCall_overlay_2->setText(QCoreApplication::translate("MainWindow", "Call overlay", nullptr));
+ actionChats->setText(QCoreApplication::translate("MainWindow", "Chats", nullptr));
+ actionAccount->setText(QCoreApplication::translate("MainWindow", "Account", nullptr));
+ actionDetails->setText(QCoreApplication::translate("MainWindow", "Chat details", nullptr));
+ actionMain_window->setText(QCoreApplication::translate("MainWindow", "Main window", nullptr));
+ actionQuick_command->setText(QCoreApplication::translate("MainWindow", "Quick command", nullptr));
+#if QT_CONFIG(shortcut)
+ actionQuick_command->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+K", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionPlugins->setText(QCoreApplication::translate("MainWindow", "Plugins", nullptr));
+ actionApplets->setText(QCoreApplication::translate("MainWindow", "Applets", nullptr));
+ actionBots->setText(QCoreApplication::translate("MainWindow", "Bots", nullptr));
+ actionGet_new_tools->setText(QCoreApplication::translate("MainWindow", "Get new tools", nullptr));
+ actionContacts->setText(QCoreApplication::translate("MainWindow", "Contacts and lists", nullptr));
+#if QT_CONFIG(shortcut)
+ actionContacts->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Alt+C", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionSettings->setText(QCoreApplication::translate("MainWindow", "Settings", nullptr));
+#if QT_CONFIG(shortcut)
+ actionSettings->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+,", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionBroadcast_channel->setText(QCoreApplication::translate("MainWindow", "Broadcast channel", nullptr));
+ actionOnline->setText(QCoreApplication::translate("MainWindow", "Online", nullptr));
+ actionAway->setText(QCoreApplication::translate("MainWindow", "Away", nullptr));
+ actionDo_not_disturb->setText(QCoreApplication::translate("MainWindow", "Do not disturb", nullptr));
+ actionInvisible->setText(QCoreApplication::translate("MainWindow", "Invisible", nullptr));
+ actionLogout->setText(QCoreApplication::translate("MainWindow", "Logout", nullptr));
+ actionPin->setText(QCoreApplication::translate("MainWindow", "Pin", nullptr));
+ actionOff->setText(QCoreApplication::translate("MainWindow", "Off", nullptr));
+ action5s->setText(QCoreApplication::translate("MainWindow", "10 minutes", nullptr));
+ action15m->setText(QCoreApplication::translate("MainWindow", "30 minutes", nullptr));
+ action1h->setText(QCoreApplication::translate("MainWindow", "1 hour", nullptr));
+ action24h->setText(QCoreApplication::translate("MainWindow", "24 hours", nullptr));
+ actionCustom_time->setText(QCoreApplication::translate("MainWindow", "Custom time", nullptr));
+ actionAt_logout->setText(QCoreApplication::translate("MainWindow", "At logout", nullptr));
+ action1_week->setText(QCoreApplication::translate("MainWindow", "1 week", nullptr));
+ actionLog_window->setText(QCoreApplication::translate("MainWindow", "Log window", nullptr));
+ actionServer_information->setText(QCoreApplication::translate("MainWindow", "Server information", nullptr));
+ actionVisit_support_forum->setText(QCoreApplication::translate("MainWindow", "Visit support forum", nullptr));
+ actionPoke_user->setText(QCoreApplication::translate("MainWindow", "Poke user", nullptr));
+ actionProfile_glancer->setText(QCoreApplication::translate("MainWindow", "Profile", nullptr));
+ actionCall_controls->setText(QCoreApplication::translate("MainWindow", "Call controls", nullptr));
+ actionInvite_user->setText(QCoreApplication::translate("MainWindow", "Invite user", nullptr));
+ actionGo_to_call_location->setText(QCoreApplication::translate("MainWindow", "Go to call location", nullptr));
+ actionJoin_Safety_Security_Bulletin_channel->setText(QCoreApplication::translate("MainWindow", "Join Safety && Security Bulletin channel", nullptr));
+ actionCreate_broadcast_channel->setText(QCoreApplication::translate("MainWindow", "Create broadcast", nullptr));
+ actionJoin_broadcast_channel->setText(QCoreApplication::translate("MainWindow", "Join broadcast", nullptr));
+ actionAdd_to_chat_folder->setText(QCoreApplication::translate("MainWindow", "Add to chat folder", nullptr));
+ actionManage_chat_folders->setText(QCoreApplication::translate("MainWindow", "Manage chat folders", nullptr));
+ actionDownload_manager->setText(QCoreApplication::translate("MainWindow", "Downloads manager", nullptr));
+ actionScheduled_messages->setText(QCoreApplication::translate("MainWindow", "Scheduled messages", nullptr));
+ actionSchedule_message->setText(QCoreApplication::translate("MainWindow", "Schedule message", nullptr));
+ actionQuick_chat->setText(QCoreApplication::translate("MainWindow", "Quick chat", nullptr));
+#if QT_CONFIG(shortcut)
+ actionQuick_chat->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+N", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionToggle_menu_bar->setText(QCoreApplication::translate("MainWindow", "Toggle menu bar", nullptr));
+#if QT_CONFIG(shortcut)
+ actionToggle_menu_bar->setShortcut(QCoreApplication::translate("MainWindow", "Ctrl+Alt+M", nullptr));
+#endif // QT_CONFIG(shortcut)
+ actionAdd_new_account->setText(QCoreApplication::translate("MainWindow", "Add new account", nullptr));
+ actionSticker_and_emoji_packs->setText(QCoreApplication::translate("MainWindow", "Stickers, emojis and GIFs", nullptr));
+ actionBookmark_message->setText(QCoreApplication::translate("MainWindow", "Bookmark message", nullptr));
+ actionBookmarks->setText(QCoreApplication::translate("MainWindow", "Bookmarks", nullptr));
+ actionCustom_status->setText(QCoreApplication::translate("MainWindow", "Custom status", nullptr));
+ actionEdit_profile->setText(QCoreApplication::translate("MainWindow", "Edit profile", nullptr));
+ klineedit->setPlaceholderText(QCoreApplication::translate("MainWindow", "Type your message...", nullptr));
+#if QT_CONFIG(tooltip)
+ kiconbutton->setToolTip(QCoreApplication::translate("MainWindow", "Send message
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ kiconbutton_2->setToolTip(QCoreApplication::translate("MainWindow", "Attach media or file
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ kiconbutton_3->setToolTip(QCoreApplication::translate("MainWindow", "Stickers, emojis, GIFs and applets
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ kiconbutton_4->setToolTip(QCoreApplication::translate("MainWindow", "Record voice message
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ groupBox->setTitle(QCoreApplication::translate("MainWindow", "arsebatterystaple", nullptr));
+ label_6->setText(QCoreApplication::translate("MainWindow", "vro \360\237\222\224", nullptr));
+ label_7->setText(QCoreApplication::translate("MainWindow", "15:01", nullptr));
+#if QT_CONFIG(tooltip)
+ ktitlewidget_7->setToolTip(QCoreApplication::translate("MainWindow", "Edited at 15:01:23.", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_5->setText(QString());
+#if QT_CONFIG(tooltip)
+ pushButton_3->setToolTip(QCoreApplication::translate("MainWindow", "Reacted by tengen.", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_3->setText(QCoreApplication::translate("MainWindow", "\360\237\222\224 1", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_4->setToolTip(QCoreApplication::translate("MainWindow", "Reacted by bobby123.", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_4->setText(QCoreApplication::translate("MainWindow", "\360\237\230\255 1", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_5->setToolTip(QCoreApplication::translate("MainWindow", "Add reaction
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_5->setText(QString());
+#if QT_CONFIG(tooltip)
+ kiconbutton_6->setToolTip(QCoreApplication::translate("MainWindow", "Chat settings
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ kiconbutton_8->setToolTip(QCoreApplication::translate("MainWindow", "Notifications settings
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ kiconbutton_9->setToolTip(QCoreApplication::translate("MainWindow", "Search in this chat
", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ label_8->setToolTip(QCoreApplication::translate("MainWindow", "dc://funny.net/funnygroup/#general
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_8->setText(QCoreApplication::translate("MainWindow", "Funny group / General - This is the general channel, talk about anything.
", nullptr));
+ label_9->setText(QString());
+#if QT_CONFIG(tooltip)
+ kiconbutton_7->setToolTip(QCoreApplication::translate("MainWindow", "Chat details panel
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ groupBox_2->setTitle(QCoreApplication::translate("MainWindow", "tengen joined the group (14:59)", nullptr));
+ label_10->setText(QString());
+ groupBox_3->setTitle(QCoreApplication::translate("MainWindow", "bobby123", nullptr));
+ label_11->setText(QString());
+ label_12->setText(QCoreApplication::translate("MainWindow", "JPG image, 1.2 MB, 14:57
", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_7->setToolTip(QCoreApplication::translate("MainWindow", "Reacted by you.", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_7->setText(QCoreApplication::translate("MainWindow", "\360\237\245\260 1", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_8->setToolTip(QCoreApplication::translate("MainWindow", "Add reaction
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_8->setText(QString());
+ label_13->setText(QString());
+ groupBox_4->setTitle(QCoreApplication::translate("MainWindow", "14:56", nullptr));
+ label_14->setText(QString());
+ groupBox_5->setTitle(QCoreApplication::translate("MainWindow", "Gianmarco", nullptr));
+ label_15->setText(QCoreApplication::translate("MainWindow", "watcha doin", nullptr));
+ label_16->setText(QCoreApplication::translate("MainWindow", "14:51", nullptr));
+#if QT_CONFIG(tooltip)
+ ktitlewidget->setToolTip(QCoreApplication::translate("MainWindow", "Seen by 4 users, right click to know more.
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ groupBox_6->setTitle(QCoreApplication::translate("MainWindow", "Gianmarco", nullptr));
+ label_18->setText(QCoreApplication::translate("MainWindow", "watcha doin", nullptr));
+ groupBox_13->setTitle(QCoreApplication::translate("MainWindow", "4 unread messages from here", nullptr));
+#if QT_CONFIG(tooltip)
+ ktitlewidget_8->setToolTip(QCoreApplication::translate("MainWindow", "Edited at 15:01:23.", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_3->setText(QString());
+ comboBox_2->setItemText(0, QCoreApplication::translate("MainWindow", "Online", nullptr));
+ comboBox_2->setItemText(1, QCoreApplication::translate("MainWindow", "Away", nullptr));
+ comboBox_2->setItemText(2, QCoreApplication::translate("MainWindow", "Do not disturb", nullptr));
+ comboBox_2->setItemText(3, QCoreApplication::translate("MainWindow", "Invisible", nullptr));
+ comboBox_2->setItemText(4, QCoreApplication::translate("MainWindow", "Custom status", nullptr));
+
+#if QT_CONFIG(tooltip)
+ comboBox_2->setToolTip(QCoreApplication::translate("MainWindow", "Set status", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_17->setText(QCoreApplication::translate("MainWindow", "Gianmarco - I'm an artist, designer, photographer and libre advocate.
", nullptr));
+ QTreeWidgetItem *___qtreewidgetitem = treeWidget->headerItem();
+ ___qtreewidgetitem->setText(0, QCoreApplication::translate("MainWindow", "Chats", nullptr));
+
+ const bool __sortingEnabled = treeWidget->isSortingEnabled();
+ treeWidget->setSortingEnabled(false);
+ QTreeWidgetItem *___qtreewidgetitem1 = treeWidget->topLevelItem(0);
+ ___qtreewidgetitem1->setText(0, QCoreApplication::translate("MainWindow", "Bob\n"
+"You: ok! (19:30)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem1->setToolTip(0, QCoreApplication::translate("MainWindow", "bob@example.com", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem2 = treeWidget->topLevelItem(1);
+ ___qtreewidgetitem2->setText(0, QCoreApplication::translate("MainWindow", "Alice\n"
+"\360\237\223\204 File, document.pdf (19:29)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem2->setToolTip(0, QCoreApplication::translate("MainWindow", "alice@example.com", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem3 = treeWidget->topLevelItem(2);
+ ___qtreewidgetitem3->setText(0, QCoreApplication::translate("MainWindow", "Mario\n"
+"\360\237\223\236 Call ended, 7 mins (17:08)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem3->setToolTip(0, QCoreApplication::translate("MainWindow", "mariorossi@italiano.it", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem4 = treeWidget->topLevelItem(3);
+ ___qtreewidgetitem4->setText(0, QCoreApplication::translate("MainWindow", "Funny group\n"
+"7 members online, 2 talking", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem4->setToolTip(0, QCoreApplication::translate("MainWindow", "dc://funny.net/funnygroup", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem5 = ___qtreewidgetitem4->child(0);
+ ___qtreewidgetitem5->setText(0, QCoreApplication::translate("MainWindow", "Announcements\n"
+"Server restarted! (1d, 14:20)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem5->setToolTip(0, QCoreApplication::translate("MainWindow", "#announcements", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem6 = ___qtreewidgetitem4->child(1);
+ ___qtreewidgetitem6->setText(0, QCoreApplication::translate("MainWindow", "General\n"
+"arsebatterystaple: vro \360\237\222\224 (15:01)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem6->setToolTip(0, QCoreApplication::translate("MainWindow", "#general", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem7 = ___qtreewidgetitem4->child(2);
+ ___qtreewidgetitem7->setText(0, QCoreApplication::translate("MainWindow", "Memes\n"
+"\343\201\262\343\201\213\343\202\212: \360\237\223\267 Photo (16:49)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem7->setToolTip(0, QCoreApplication::translate("MainWindow", "#memes", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem8 = ___qtreewidgetitem4->child(3);
+ ___qtreewidgetitem8->setText(0, QCoreApplication::translate("MainWindow", "Voice (3/32)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem8->setToolTip(0, QCoreApplication::translate("MainWindow", "#voice", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem9 = ___qtreewidgetitem8->child(0);
+ ___qtreewidgetitem9->setText(0, QCoreApplication::translate("MainWindow", "\343\201\262\343\201\213\343\202\212", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem9->setToolTip(0, QCoreApplication::translate("MainWindow", "hikari@disroot.org
Administrator
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem10 = ___qtreewidgetitem8->child(1);
+ ___qtreewidgetitem10->setText(0, QCoreApplication::translate("MainWindow", "bobby123", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem10->setToolTip(0, QCoreApplication::translate("MainWindow", "bobby123@bobbythegreat.xyz
Muted
", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem11 = ___qtreewidgetitem8->child(2);
+ ___qtreewidgetitem11->setText(0, QCoreApplication::translate("MainWindow", "sustemd", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem11->setToolTip(0, QCoreApplication::translate("MainWindow", "sustemd@lainnetworks.net", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QTreeWidgetItem *___qtreewidgetitem12 = treeWidget->topLevelItem(4);
+ ___qtreewidgetitem12->setText(0, QCoreApplication::translate("MainWindow", "DreamChat Safety & Security Bulletin\n"
+"Some users have reported... (12:00)", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qtreewidgetitem12->setToolTip(0, QCoreApplication::translate("MainWindow", "dc://dreamchat.it/safety", nullptr));
+#endif // QT_CONFIG(tooltip)
+ treeWidget->setSortingEnabled(__sortingEnabled);
+
+ tabWidget->setTabText(tabWidget->indexOf(tab), QCoreApplication::translate("MainWindow", "All chats", nullptr));
+ tabWidget->setTabText(tabWidget->indexOf(tab_2), QCoreApplication::translate("MainWindow", "People", nullptr));
+ tabWidget->setTabText(tabWidget->indexOf(tab_3), QCoreApplication::translate("MainWindow", "Groups", nullptr));
+ comboBox->setItemText(0, QCoreApplication::translate("MainWindow", "gianmarco@gianmarco.gg", nullptr));
+
+#if QT_CONFIG(tooltip)
+ comboBox->setToolTip(QCoreApplication::translate("MainWindow", "Switch account", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ pushButton_2->setToolTip(QCoreApplication::translate("MainWindow", "Edit profile", nullptr));
+#endif // QT_CONFIG(tooltip)
+ label_4->setText(QCoreApplication::translate("MainWindow", "Not in a call now", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_9->setToolTip(QCoreApplication::translate("MainWindow", "Toggle microphone", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_9->setText(QString());
+#if QT_CONFIG(tooltip)
+ pushButton_10->setToolTip(QCoreApplication::translate("MainWindow", "Toggle sound", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_10->setText(QString());
+#if QT_CONFIG(tooltip)
+ pushButton_11->setToolTip(QCoreApplication::translate("MainWindow", "Toggle camera", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_11->setText(QString());
+#if QT_CONFIG(tooltip)
+ pushButton_12->setToolTip(QCoreApplication::translate("MainWindow", "More actions", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_12->setText(QString());
+#if QT_CONFIG(tooltip)
+ pushButton_13->setToolTip(QCoreApplication::translate("MainWindow", "Go to call location", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_13->setText(QString());
+ klineedit_3->setPlaceholderText(QCoreApplication::translate("MainWindow", "Search chats and messages", nullptr));
+#if QT_CONFIG(tooltip)
+ pushButton_14->setToolTip(QCoreApplication::translate("MainWindow", "Settings", nullptr));
+#endif // QT_CONFIG(tooltip)
+#if QT_CONFIG(tooltip)
+ pushButton_15->setToolTip(QCoreApplication::translate("MainWindow", "Hang up", nullptr));
+#endif // QT_CONFIG(tooltip)
+ pushButton_15->setText(QString());
+ menuFile->setTitle(QCoreApplication::translate("MainWindow", "Account", nullptr));
+ menuSwitch_account->setTitle(QCoreApplication::translate("MainWindow", "Switch account", nullptr));
+ menuSet_status->setTitle(QCoreApplication::translate("MainWindow", "Set status", nullptr));
+ menuEdit->setTitle(QCoreApplication::translate("MainWindow", "Edit", nullptr));
+ menuText_formatting->setTitle(QCoreApplication::translate("MainWindow", "Text formatting", nullptr));
+ menuList->setTitle(QCoreApplication::translate("MainWindow", "List", nullptr));
+ menuCode->setTitle(QCoreApplication::translate("MainWindow", "Code", nullptr));
+ menuView->setTitle(QCoreApplication::translate("MainWindow", "View", nullptr));
+ menuDockers->setTitle(QCoreApplication::translate("MainWindow", "Panels", nullptr));
+ menuWindows->setTitle(QCoreApplication::translate("MainWindow", "Open windows", nullptr));
+ menuChat->setTitle(QCoreApplication::translate("MainWindow", "Chat", nullptr));
+ menuNew_chat->setTitle(QCoreApplication::translate("MainWindow", "New chat", nullptr));
+ menuEphemeral_messages->setTitle(QCoreApplication::translate("MainWindow", "Ephemeral messages", nullptr));
+ menuHelp->setTitle(QCoreApplication::translate("MainWindow", "Help", nullptr));
+ menuVoice->setTitle(QCoreApplication::translate("MainWindow", "Call", nullptr));
+ menuTools->setTitle(QCoreApplication::translate("MainWindow", "Tools", nullptr));
+ menuModeration->setTitle(QCoreApplication::translate("MainWindow", "Administration", nullptr));
+ menuNew_channel->setTitle(QCoreApplication::translate("MainWindow", "Create channel", nullptr));
+ dockWidget_2->setWindowTitle(QCoreApplication::translate("MainWindow", "Chat details", nullptr));
+ label->setText(QString());
+ label_2->setText(QCoreApplication::translate("MainWindow", "This is the funny group! Please don't be an ass.
", nullptr));
+
+ const bool __sortingEnabled1 = listWidget->isSortingEnabled();
+ listWidget->setSortingEnabled(false);
+ QListWidgetItem *___qlistwidgetitem = listWidget->item(0);
+ ___qlistwidgetitem->setText(QCoreApplication::translate("MainWindow", "Gianmarco\n"
+"You, owner", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem->setToolTip(QCoreApplication::translate("MainWindow", "gianmarco@gianmarco.gg", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem1 = listWidget->item(1);
+ ___qlistwidgetitem1->setText(QCoreApplication::translate("MainWindow", "\343\201\262\343\201\213\343\202\212\n"
+"Administrator", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem1->setToolTip(QCoreApplication::translate("MainWindow", "hikari@disroot.org", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem2 = listWidget->item(2);
+ ___qlistwidgetitem2->setText(QCoreApplication::translate("MainWindow", "ambrosio297", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem2->setToolTip(QCoreApplication::translate("MainWindow", "ambrosio297@hakering.it", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem3 = listWidget->item(3);
+ ___qlistwidgetitem3->setText(QCoreApplication::translate("MainWindow", "arsebatterystaple", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem3->setToolTip(QCoreApplication::translate("MainWindow", "arse@puchiko.net", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem4 = listWidget->item(4);
+ ___qlistwidgetitem4->setText(QCoreApplication::translate("MainWindow", "bobby123", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem4->setToolTip(QCoreApplication::translate("MainWindow", "bobby123@bobbythegreat.xyz", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem5 = listWidget->item(5);
+ ___qlistwidgetitem5->setText(QCoreApplication::translate("MainWindow", "CARABINIERE2009", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem5->setToolTip(QCoreApplication::translate("MainWindow", "carabiniere2009@hakering.it", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem6 = listWidget->item(6);
+ ___qlistwidgetitem6->setText(QCoreApplication::translate("MainWindow", "gioelesbarazzino2006", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem6->setToolTip(QCoreApplication::translate("MainWindow", "gioelesbarazzino2006@tiscalinet.it", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem7 = listWidget->item(7);
+ ___qlistwidgetitem7->setText(QCoreApplication::translate("MainWindow", "kek@random.xyz", nullptr));
+ QListWidgetItem *___qlistwidgetitem8 = listWidget->item(8);
+ ___qlistwidgetitem8->setText(QCoreApplication::translate("MainWindow", "sustemd", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem8->setToolTip(QCoreApplication::translate("MainWindow", "sustemd@lainnetworks.net", nullptr));
+#endif // QT_CONFIG(tooltip)
+ QListWidgetItem *___qlistwidgetitem9 = listWidget->item(9);
+ ___qlistwidgetitem9->setText(QCoreApplication::translate("MainWindow", "tengen", nullptr));
+#if QT_CONFIG(tooltip)
+ ___qlistwidgetitem9->setToolTip(QCoreApplication::translate("MainWindow", "tengen@udongein.xyz", nullptr));
+#endif // QT_CONFIG(tooltip)
+ listWidget->setSortingEnabled(__sortingEnabled1);
+
+ pushButton_6->setText(QCoreApplication::translate("MainWindow", "Invite user", nullptr));
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_4), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_4), QCoreApplication::translate("MainWindow", "Members", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_5), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_5), QCoreApplication::translate("MainWindow", "Media and files", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_6), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_6), QCoreApplication::translate("MainWindow", "Links", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_7), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_7), QCoreApplication::translate("MainWindow", "Threads", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_9), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_9), QCoreApplication::translate("MainWindow", "Polls", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_8), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_8), QCoreApplication::translate("MainWindow", "Pinned", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_10), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_10), QCoreApplication::translate("MainWindow", "Chat events", nullptr));
+#endif // QT_CONFIG(tooltip)
+ tabWidget_2->setTabText(tabWidget_2->indexOf(tab_11), QString());
+#if QT_CONFIG(tooltip)
+ tabWidget_2->setTabToolTip(tabWidget_2->indexOf(tab_11), QCoreApplication::translate("MainWindow", "Other", nullptr));
+#endif // QT_CONFIG(tooltip)
+ klineedit_2->setPlaceholderText(QCoreApplication::translate("MainWindow", "Search from below", nullptr));
+ label_19->setText(QCoreApplication::translate("MainWindow", "dc://funny.net/funnygroup - 10 members, 7 online
", nullptr));
+ label_20->setText(QCoreApplication::translate("MainWindow", "General (#general)
", nullptr));
+ label_21->setText(QCoreApplication::translate("MainWindow", "
Funny group
", nullptr));
+ label_22->setText(QCoreApplication::translate("MainWindow", "This is the general channel, talk about anything.
", nullptr));
+ label_23->setText(QCoreApplication::translate("MainWindow", "Hosted on Funny Server (funny.net)
", nullptr));
+ label_24->setText(QCoreApplication::translate("MainWindow", "Hello, this is the Funny Server! Registrations are on invite only.
", nullptr));
+ } // retranslateUi
+
+};
+
+namespace Ui {
+ class MainWindow: public Ui_MainWindow {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // CHATUI_H
diff --git a/main.cpp b/main.cpp
new file mode 100644
index 0000000..ce4a4bf
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,10 @@
+#include "chatui.hpp"
+
+int main(int argc, char *argv[]) {
+ QApplication a(argc, argv);
+ QMainWindow window;
+ Ui::MainWindow ui;
+ ui.setupUi(&window);
+ window.show();
+ return QApplication::exec();
+}
\ No newline at end of file
diff --git a/mock/.xdp-qt_temp.DRBEcf-cgtysA b/mock/.xdp-qt_temp.DRBEcf-cgtysA
new file mode 100644
index 0000000..283d5b7
Binary files /dev/null and b/mock/.xdp-qt_temp.DRBEcf-cgtysA differ
diff --git a/mock/.xdp-qt_temp.KGlNpK-W3TYGn b/mock/.xdp-qt_temp.KGlNpK-W3TYGn
new file mode 100644
index 0000000..5f2da07
Binary files /dev/null and b/mock/.xdp-qt_temp.KGlNpK-W3TYGn differ
diff --git a/mock/.xdp-qt_temp.MHhGtC-wYawFt b/mock/.xdp-qt_temp.MHhGtC-wYawFt
new file mode 100644
index 0000000..cf09983
Binary files /dev/null and b/mock/.xdp-qt_temp.MHhGtC-wYawFt differ
diff --git a/mock/.xdp-qt_temp.NVSfAH-YZenRd b/mock/.xdp-qt_temp.NVSfAH-YZenRd
new file mode 100644
index 0000000..09d389a
Binary files /dev/null and b/mock/.xdp-qt_temp.NVSfAH-YZenRd differ
diff --git a/mock/.xdp-qt_temp.SKydRk-EBwZnT b/mock/.xdp-qt_temp.SKydRk-EBwZnT
new file mode 100644
index 0000000..169d8d7
Binary files /dev/null and b/mock/.xdp-qt_temp.SKydRk-EBwZnT differ
diff --git a/mock/.xdp-qt_temp.TilYzL-sTcSoY b/mock/.xdp-qt_temp.TilYzL-sTcSoY
new file mode 100644
index 0000000..74f1e3c
Binary files /dev/null and b/mock/.xdp-qt_temp.TilYzL-sTcSoY differ
diff --git a/mock/.xdp-qt_temp.VDErrw-JXSEm3 b/mock/.xdp-qt_temp.VDErrw-JXSEm3
new file mode 100644
index 0000000..b5e4e0e
Binary files /dev/null and b/mock/.xdp-qt_temp.VDErrw-JXSEm3 differ
diff --git a/mock/.xdp-qt_temp.VtZuht-lgBAii b/mock/.xdp-qt_temp.VtZuht-lgBAii
new file mode 100644
index 0000000..2db781b
Binary files /dev/null and b/mock/.xdp-qt_temp.VtZuht-lgBAii differ
diff --git a/mock/.xdp-qt_temp.ZzhUYo-AslIKz b/mock/.xdp-qt_temp.ZzhUYo-AslIKz
new file mode 100755
index 0000000..26845b7
Binary files /dev/null and b/mock/.xdp-qt_temp.ZzhUYo-AslIKz differ
diff --git a/mock/.xdp-qt_temp.cwaUFU-21RcGy b/mock/.xdp-qt_temp.cwaUFU-21RcGy
new file mode 100644
index 0000000..9562a82
Binary files /dev/null and b/mock/.xdp-qt_temp.cwaUFU-21RcGy differ
diff --git a/mock/.xdp-qt_temp.eONcZq-rJwZGN b/mock/.xdp-qt_temp.eONcZq-rJwZGN
new file mode 100755
index 0000000..038a595
Binary files /dev/null and b/mock/.xdp-qt_temp.eONcZq-rJwZGN differ
diff --git a/mock/.xdp-qt_temp.eeyCcc-ohjjvF b/mock/.xdp-qt_temp.eeyCcc-ohjjvF
new file mode 100644
index 0000000..2e5ab69
Binary files /dev/null and b/mock/.xdp-qt_temp.eeyCcc-ohjjvF differ
diff --git a/mock/.xdp-qt_temp.qISHKj-0pUYtE b/mock/.xdp-qt_temp.qISHKj-0pUYtE
new file mode 100644
index 0000000..2bf23e0
Binary files /dev/null and b/mock/.xdp-qt_temp.qISHKj-0pUYtE differ
diff --git a/mock/.xdp-qt_temp.xODIcu-AmRfFR b/mock/.xdp-qt_temp.xODIcu-AmRfFR
new file mode 100644
index 0000000..ed96fa1
Binary files /dev/null and b/mock/.xdp-qt_temp.xODIcu-AmRfFR differ
diff --git a/mock/.xdp-qt_temp.zoATIi-EiLfF3 b/mock/.xdp-qt_temp.zoATIi-EiLfF3
new file mode 100644
index 0000000..aca652e
Binary files /dev/null and b/mock/.xdp-qt_temp.zoATIi-EiLfF3 differ
diff --git a/mock/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg b/mock/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg
new file mode 100644
index 0000000..b5e4e0e
Binary files /dev/null and b/mock/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg differ
diff --git a/mock/Daft-Punk-Discovery.webp b/mock/Daft-Punk-Discovery.webp
new file mode 100644
index 0000000..aca652e
Binary files /dev/null and b/mock/Daft-Punk-Discovery.webp differ
diff --git a/mock/R-3617493-1337544956-2213.jpg b/mock/R-3617493-1337544956-2213.jpg
new file mode 100644
index 0000000..74f1e3c
Binary files /dev/null and b/mock/R-3617493-1337544956-2213.jpg differ
diff --git a/mock/b11be0b2640f4123a7eb4e4799f67102.jpeg b/mock/b11be0b2640f4123a7eb4e4799f67102.jpeg
new file mode 100755
index 0000000..26845b7
Binary files /dev/null and b/mock/b11be0b2640f4123a7eb4e4799f67102.jpeg differ
diff --git a/mock/carabinieri.jpg b/mock/carabinieri.jpg
new file mode 100644
index 0000000..09d389a
Binary files /dev/null and b/mock/carabinieri.jpg differ
diff --git a/mock/channels4_profile.jpg b/mock/channels4_profile.jpg
new file mode 100644
index 0000000..ed96fa1
Binary files /dev/null and b/mock/channels4_profile.jpg differ
diff --git a/mock/dc.png b/mock/dc.png
new file mode 100644
index 0000000..cf09983
Binary files /dev/null and b/mock/dc.png differ
diff --git a/mock/firstwiz.ui b/mock/firstwiz.ui
new file mode 100644
index 0000000..af33d87
--- /dev/null
+++ b/mock/firstwiz.ui
@@ -0,0 +1,612 @@
+
+
+ Wizard
+
+
+
+ 0
+ 0
+ 651
+ 553
+
+
+
+ Wizard
+
+
+
+ dc.pngdc.png
+
+
+ QWizard::WizardStyle::ClassicStyle
+
+
+ QWizard::WizardOption::DisabledBackButtonOnLastPage|QWizard::WizardOption::HaveHelpButton|QWizard::WizardOption::NoCancelButtonOnLastPage
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 10
+ 531
+ 141
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Welcome to DreamChat!</span></p><p>Chatting with friends, family and colleagues has never been this fun, convenient and private. DreamChat kickstarts a new era of communication.</p><p>This wizard will help you through learning the basics of DreamChat and getting an account set up and ready to use.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+
+
+ 100
+ 10
+ 531
+ 311
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">How DreamChat works</span></p><p>It's kinda like email: you sign up on a server that provides the DreamChat service and chat with anyone by reaching them via their DreamChat address, which is similar to an email address (example: <span style=" font-style:italic;">username@server.com</span>). You will also have a DreamChat address of your own, so that you can be reached by other users.</p><p>Each server has its own rules, features and settings. You can transfer your account to another server anytime in case you need it. Servers also store public group chats, while private groups and direct messages are stored locally by each user involved, along with their encryption keys. This means that only the intended recipients will be able to decrypt and read messages.</p><p>The rest of the experience is pretty much identical to any other instant messenger like WhatsApp, Telegram or Discord.</p><p>If you want to know more, take a look at our <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">documentation</span></a>.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 10
+ 531
+ 91
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Do you have an account already?</span></p><p>If you have one already, we'll bring you to a login screen right away. If you don't, we'll guide you through choosing a server and creating an account with a few simple steps.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 100
+ 120
+ 531
+ 22
+
+
+
+ Yes, I do have a DreamChat account already.
+
+
+
+
+
+ 100
+ 150
+ 531
+ 22
+
+
+
+ No, I don't have an account, help me make one.
+
+
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 10
+ 531
+ 81
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Login to your account</span></p><p>Type in your credentials to login.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 100
+ 100
+ 121
+ 31
+
+
+
+ DreamChat address:
+
+
+
+
+
+ 230
+ 100
+ 401
+ 32
+
+
+
+ username@server.com
+
+
+
+
+
+ 230
+ 140
+ 401
+ 32
+
+
+
+
+
+
+ 160
+ 140
+ 61
+ 31
+
+
+
+ Password:
+
+
+
+
+
+ 100
+ 190
+ 20
+ 20
+
+
+
+
+
+
+ 130
+ 190
+ 501
+ 18
+
+
+
+ Logging in...
+
+
+
+
+
+
+
+ 100
+ 10
+ 531
+ 121
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Let's make an account</span></p><p>The first thing you need to do is choosing a server you want your account to exist on. We provide a curated list of public servers down here. It's also up on <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">our website</span></a>.</p><p>If you want to sign up for a server that's not in this list, <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">click here</span></a>.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 450
+ 20
+ 20
+
+
+
+
+
+
+ 100
+ 140
+ 531
+ 301
+
+
+
+
+ 44
+ 22
+
+
+
+ true
+
+
+ QListView::ViewMode::ListMode
+
+
+ true
+
+ -
+
+ Autistici/Inventati (autistici.org)
+A/I was born in 2001 from an encounter of individuals and collectives of the autonomous anticapitalist movement interested in technology and active in the digital rights struggle.
+🇮🇹 Italy - 99.9% uptime - Invite only
+
+
+
+
+
+ -
+
+ Disroot (disroot.org)
+To tear up the roots of, or by the roots; hence, to tear from a foundation; to uproot.
+🇳🇱 Netherlands - 99.9% uptime - Open for registration
+
+
+
+
+
+ -
+
+ Nadeko (nadeko.net)
+Hi, I’m Fijxu, the owner and sole admin of nadeko.net. I am dedicated to hosting privacy-focused services (and various other services) to the internet.
+🇨🇱 Chile - 94.2% uptime - Open for registration
+
+
+
+
+
+
+
+
+
+ 130
+ 450
+ 501
+ 18
+
+
+
+ Fetching list...
+
+
+
+
+
+
+
+ 100
+ 10
+ 531
+ 81
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Sign up for <SERVERURL></span></p><p>Set up your account by filling all of the required fields.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 100
+ 71
+ 31
+
+
+
+ Username:
+
+
+
+
+
+ 100
+ 180
+ 531
+ 114
+
+
+
+
+
+
+ 170
+ 100
+ 461
+ 32
+
+
+
+
+
+
+ 120
+ 140
+ 51
+ 31
+
+
+
+ Email:
+
+
+
+
+
+ 170
+ 140
+ 461
+ 32
+
+
+
+
+
+
+ 100
+ 300
+ 20
+ 20
+
+
+
+ false
+
+
+
+
+
+ 130
+ 300
+ 501
+ 18
+
+
+
+ Creating account...
+
+
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/dc.png
+
+
+ true
+
+
+
+
+
+ 100
+ 10
+ 531
+ 221
+
+
+
+ <html><head/><body><p><span style=" font-size:24pt; font-weight:700;">Congratulations!</span></p><p>Your account <USERADDRESS> was created successfully. You can now use DreamChat, we hope you'll love using it as much as we do!</p><p>If you need any help, you can read our <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">documentation</span></a>, join our <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">forum</span></a> or join our <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">support group chat</span></a> where volunteers will respond to your questions.</p><p>If you encounter any bugs, please report them on our <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">bug portal</span></a>.</p><p>If you like DreamChat and want to show extra love to the developers, consider <a href="https://gianmarco.gg"><span style=" text-decoration: underline; color:#2f6ea9;">donating</span></a> to fund the development of our projects or <span style=" text-decoration: underline; color:#2f6ea9;">contributing to them</span> directly.</p></body></html>
+
+
+ Qt::TextFormat::MarkdownText
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+
+ KLineEdit
+ QLineEdit
+
+
+
+ KBusyIndicatorWidget
+ QWidget
+
+
+
+ KNewPasswordWidget
+ QWidget
+
+
+
+ KPasswordLineEdit
+ QWidget
+
+
+
+
+
+
+
+
diff --git a/mock/gioelesbarazzino2006.webp b/mock/gioelesbarazzino2006.webp
new file mode 100644
index 0000000..283d5b7
Binary files /dev/null and b/mock/gioelesbarazzino2006.webp differ
diff --git a/mock/main.ui b/mock/main.ui
new file mode 100644
index 0000000..65b47a1
--- /dev/null
+++ b/mock/main.ui
@@ -0,0 +1,3431 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 1423
+ 812
+
+
+
+
+ 270
+ 0
+
+
+
+ DreamChat
+
+
+
+ :/res/dc.png:/res/dc.png
+
+
+ Switch account
+
+
+
+
+
+ 280
+ 0
+ 871
+ 761
+
+
+
+ QFrame::Shape::StyledPanel
+
+
+ QFrame::Shadow::Raised
+
+
+
+
+ 0
+ 710
+ 871
+ 51
+
+
+
+ true
+
+
+ QFrame::Shape::StyledPanel
+
+
+ QFrame::Shadow::Raised
+
+
+
+
+ 10
+ 10
+ 691
+ 31
+
+
+
+ Type your message...
+
+
+
+
+
+ 828
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Send message</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 790
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Attach media or file</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 750
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Stickers, emojis, GIFs and applets</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 710
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Record voice message</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 1
+ 0
+ 870
+ 1
+
+
+
+
+
+
+
+ 70
+ 630
+ 211
+ 61
+
+
+
+ arsebatterystaple
+
+
+ false
+
+
+
+
+ 10
+ 27
+ 151
+ 21
+
+
+
+ vro 💔
+
+
+
+
+
+ 170
+ 30
+ 31
+ 18
+
+
+
+ 15:01
+
+
+
+
+
+ 185
+ 7
+ 16
+ 17
+
+
+
+ Edited at 15:01:23.
+
+
+
+
+
+
+ 16
+ 64
+
+
+
+
+
+
+
+ 10
+ 640
+ 51
+ 51
+
+
+
+
+
+
+ :/res/photo_2025-01-12_16-30-34.jpg
+
+
+ true
+
+
+
+
+
+ 80
+ 680
+ 41
+ 26
+
+
+
+ Reacted by tengen.
+
+
+ 💔 1
+
+
+ true
+
+
+
+
+
+ 120
+ 680
+ 41
+ 26
+
+
+
+ Reacted by bobby123.
+
+
+ 😭 1
+
+
+ true
+
+
+
+
+
+ 160
+ 680
+ 31
+ 26
+
+
+
+ <html><head/><body><p>Add reaction</p></body></html>
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 871
+ 51
+
+
+
+ QFrame::Shape::StyledPanel
+
+
+ QFrame::Shadow::Raised
+
+
+
+
+ 790
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Chat settings</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 750
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Notifications settings</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 710
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Search in this chat</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+ 70
+ 10
+ 631
+ 31
+
+
+
+ <html><head/><body><p>dc://funny.net/funnygroup/#general</p></body></html>
+
+
+ <html><head/><body><p><span style=" font-weight:700;">Funny group / General</span> - This is the general channel, talk about anything.</p></body></html>
+
+
+
+
+
+ 10
+ 10
+ 31
+ 31
+
+
+
+
+
+
+ :/res/photo_2025-04-13_21-35-09.jpg
+
+
+ true
+
+
+
+
+
+ 43
+ 10
+ 21
+ 31
+
+
+
+
+
+
+
+ 16
+ 16
+
+
+
+
+
+
+ 830
+ 10
+ 31
+ 31
+
+
+
+ <html><head/><body><p>Chat details panel</p></body></html>
+
+
+
+
+
+ true
+
+
+
+
+
+
+ 340
+ 590
+ 201
+ 31
+
+
+
+ tengen joined the group (14:59)
+
+
+
+
+
+ 10
+ 520
+ 51
+ 51
+
+
+
+
+
+
+ :/res/my-computer-icon-download-9.jpg
+
+
+ true
+
+
+
+
+
+ 70
+ 350
+ 371
+ 221
+
+
+
+ bobby123
+
+
+ false
+
+
+
+
+ 10
+ 30
+ 351
+ 161
+
+
+
+
+
+
+ :/res/wallhaven-l37vg2.jpg
+
+
+ true
+
+
+
+
+
+ 10
+ 193
+ 351
+ 20
+
+
+
+ <html><head/><body><p align="right">JPG image, 1.2 MB, 14:57</p></body></html>
+
+
+
+
+
+
+ 80
+ 560
+ 41
+ 26
+
+
+
+ Reacted by you.
+
+
+ 🥰 1
+
+
+ true
+
+
+ true
+
+
+
+
+
+ 120
+ 560
+ 31
+ 26
+
+
+
+ <html><head/><body><p>Add reaction</p></body></html>
+
+
+
+
+
+
+
+
+
+
+
+ 70
+ 160
+ 181
+ 181
+
+
+
+
+
+
+ :/res/photo_2023-05-02_12-44-08.png
+
+
+ true
+
+
+
+
+
+ 260
+ 310
+ 51
+ 31
+
+
+
+ 14:56
+
+
+
+
+
+ 790
+ 60
+ 51
+ 51
+
+
+
+
+
+
+ :/res/spectrumpfp.png
+
+
+ true
+
+
+
+
+
+ 570
+ 50
+ 211
+ 61
+
+
+
+ background-color: rgba(1, 113, 255, 30);
+
+
+ Gianmarco
+
+
+ false
+
+
+
+
+ 10
+ 27
+ 131
+ 21
+
+
+
+ false
+
+
+ background-color: rgba(255, 255, 255, 0);
+
+
+ watcha doin
+
+
+
+
+
+ 150
+ 30
+ 31
+ 18
+
+
+
+ false
+
+
+ background-color: rgba(255, 255, 255, 0);
+
+
+ 14:51
+
+
+
+
+
+ 180
+ 30
+ 21
+ 21
+
+
+
+ <html><head/><body><p>Seen by 4 users, right click to know more.</p></body></html>
+
+
+ false
+
+
+ background-color: rgba(255, 255, 255, 0);
+
+
+
+
+
+
+ 16
+ 16
+
+
+
+
+
+
+
+ 1
+ 50
+ 870
+ 1
+
+
+
+
+
+
+ 850
+ 51
+ 21
+ 659
+
+
+
+ 17
+
+
+ 17
+
+
+ Qt::Orientation::Vertical
+
+
+
+
+
+ 260
+ 160
+ 171
+ 61
+
+
+
+ Gianmarco
+
+
+ false
+
+
+ false
+
+
+
+
+ 10
+ 30
+ 131
+ 21
+
+
+
+ watcha doin
+
+
+
+
+
+ 10
+ 7
+ 16
+ 17
+
+
+
+
+
+
+
+ 16
+ 64
+
+
+
+
+
+
+
+ 1
+ 120
+ 849
+ 31
+
+
+
+ background-color: rgba(255, 0, 4, 30);
+
+
+ 4 unread messages from here
+
+
+ true
+
+
+
+
+ 821
+ 0
+ 20
+ 31
+
+
+
+ Edited at 15:01:23.
+
+
+ false
+
+
+ background-color: rgba(255, 255, 255, 0);
+
+
+
+
+
+
+ 16
+ 64
+
+
+
+
+ groupBox
+ label_5
+ pushButton_3
+ pushButton_4
+ pushButton_5
+ groupBox_2
+ label_10
+ groupBox_3
+ pushButton_7
+ pushButton_8
+ label_13
+ frame_3
+ frame_2
+ groupBox_4
+ label_14
+ groupBox_5
+ kseparator
+ verticalScrollBar
+ groupBox_6
+ groupBox_13
+
+
+
+
+ 0
+ 0
+ 281
+ 761
+
+
+
+ QFrame::Shape::StyledPanel
+
+
+ QFrame::Shadow::Raised
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/spectrumpfp.png
+
+
+ true
+
+
+
+
+
+ 10
+ 90
+ 181
+ 32
+
+
+
+ Set status
+
+
+ false
+
+ -
+
+ Online
+
+
+
+
+
+ -
+
+ Away
+
+
+
+
+
+ -
+
+ Do not disturb
+
+
+
+
+
+ -
+
+ Invisible
+
+
+
+
+
+ -
+
+ Custom status
+
+
+
+
+
+
+
+
+
+ 90
+ 30
+ 181
+ 51
+
+
+
+ <html><head/><body><p><span style=" font-weight:700;">Gianmarco</span> - I'm an artist, designer, photographer and libre advocate.</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 0
+ 170
+ 281
+ 501
+
+
+
+ 0
+
+
+ true
+
+
+
+
+
+
+ All chats
+
+
+
+
+ 0
+ 0
+ 281
+ 471
+
+
+
+
+ 32
+ 32
+
+
+
+ false
+
+
+ false
+
+
+
+ Chats
+
+
+ -
+
+ Bob
+You: ok! (19:30)
+
+
+ bob@example.com
+
+
+
+ :/res/Daft-Punk-Discovery.webp:/res/Daft-Punk-Discovery.webp
+
+
+ -
+
+ Alice
+📄 File, document.pdf (19:29)
+
+
+ alice@example.com
+
+
+
+ :/res/b11be0b2640f4123a7eb4e4799f67102.jpeg:/res/b11be0b2640f4123a7eb4e4799f67102.jpeg
+
+
+ -
+
+ Mario
+📞 Call ended, 7 mins (17:08)
+
+
+ mariorossi@italiano.it
+
+
+
+ :/res/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg:/res/2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg
+
+
+ -
+
+ Funny group
+7 members online, 2 talking
+
+
+ dc://funny.net/funnygroup
+
+
+
+ :/res/photo_2025-04-13_21-35-09.jpg:/res/photo_2025-04-13_21-35-09.jpg
+
+
-
+
+ Announcements
+Server restarted! (1d, 14:20)
+
+
+ #announcements
+
+
+
+
+
+ -
+
+ General
+arsebatterystaple: vro 💔 (15:01)
+
+
+ #general
+
+
+
+
+
+ -
+
+ Memes
+ひかり: 📷 Photo (16:49)
+
+
+ #memes
+
+
+
+
+
+ -
+
+ Voice (3/32)
+
+
+ #voice
+
+
+
+
+
-
+
+ ひかり
+
+
+ <html><head/><body><p>hikari@disroot.org</p><p>Administrator</p></body></html>
+
+
+
+ :/res/R-3617493-1337544956-2213.jpg:/res/R-3617493-1337544956-2213.jpg
+
+
+ -
+
+ bobby123
+
+
+ <html><head/><body><p>bobby123@bobbythegreat.xyz</p><p>Muted</p></body></html>
+
+
+
+
+
+ -
+
+ sustemd
+
+
+ sustemd@lainnetworks.net
+
+
+
+ :/res/photo_2025-01-11_16-44-34.jpg:/res/photo_2025-01-11_16-44-34.jpg
+
+
+
+
+ -
+
+ DreamChat Safety & Security Bulletin
+Some users have reported... (12:00)
+
+
+ dc://dreamchat.it/safety
+
+
+
+
+
+
+
+
+
+
+
+
+ People
+
+
+
+
+
+
+
+ Groups
+
+
+
+
+
+
+ 90
+ 10
+ 181
+ 21
+
+
+
+ Switch account
+
+
+ false
+
+ -
+
+ gianmarco@gianmarco.gg
+
+
+
+
+
+
+ 280
+ 1
+ 21
+ 760
+
+
+
+ 17
+
+
+ 17
+
+
+ Qt::Orientation::Vertical
+
+
+
+
+
+ 200
+ 90
+ 31
+ 34
+
+
+
+ Edit profile
+
+
+
+
+
+ true
+
+
+
+
+
+ 50
+ 680
+ 221
+ 31
+
+
+
+ Not in a call now
+
+
+
+
+
+ 10
+ 680
+ 31
+ 32
+
+
+
+
+
+
+
+ 31
+ 22
+
+
+
+
+
+
+ 0
+ 670
+ 281
+ 1
+
+
+
+
+
+
+ 10
+ 720
+ 31
+ 31
+
+
+
+ Toggle microphone
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ 50
+ 720
+ 31
+ 31
+
+
+
+ Toggle sound
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ 90
+ 720
+ 31
+ 31
+
+
+
+ Toggle camera
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+ false
+
+
+
+ 130
+ 720
+ 31
+ 31
+
+
+
+ More actions
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ false
+
+
+
+ 170
+ 720
+ 31
+ 31
+
+
+
+ Go to call location
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+ 10
+ 130
+ 261
+ 31
+
+
+
+ Search chats and messages
+
+
+
+
+
+ 240
+ 90
+ 31
+ 34
+
+
+
+ Settings
+
+
+
+
+
+ true
+
+
+
+
+ false
+
+
+
+ 210
+ 720
+ 61
+ 31
+
+
+
+ Hang up
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+ 272
+ 46
+
+
+
+ Chat details
+
+
+ 2
+
+
+
+
+
+ 10
+ 10
+ 71
+ 71
+
+
+
+
+
+
+ :/res/photo_2025-04-13_21-35-09.jpg
+
+
+ true
+
+
+
+
+
+ 10
+ 90
+ 251
+ 41
+
+
+
+ <html><head/><body><p>This is the funny group! Please don't be an ass.</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 0
+ 320
+ 271
+ 411
+
+
+
+ QTabWidget::TabPosition::North
+
+
+ 0
+
+
+ true
+
+
+
+
+
+
+
+
+
+ Members
+
+
+
+
+ 0
+ 0
+ 271
+ 321
+
+
+
+ true
+
+
+
+ 22
+ 22
+
+
+ -
+
+ Gianmarco
+You, owner
+
+
+ gianmarco@gianmarco.gg
+
+
+
+ :/res/spectrumpfp.png:/res/spectrumpfp.png
+
+
+ -
+
+ ひかり
+Administrator
+
+
+ hikari@disroot.org
+
+
+
+ :/res/R-3617493-1337544956-2213.jpg:/res/R-3617493-1337544956-2213.jpg
+
+
+ -
+
+ ambrosio297
+
+
+ ambrosio297@hakering.it
+
+
+
+ :/res/channels4_profile.jpg:/res/channels4_profile.jpg
+
+
+ -
+
+ arsebatterystaple
+
+
+ arse@puchiko.net
+
+
+
+ :/res/photo_2025-01-12_16-30-34.jpg:/res/photo_2025-01-12_16-30-34.jpg
+
+
+ -
+
+ bobby123
+
+
+ bobby123@bobbythegreat.xyz
+
+
+
+ :/res/my-computer-icon-download-9.jpg:/res/my-computer-icon-download-9.jpg
+
+
+ -
+
+ CARABINIERE2009
+
+
+ carabiniere2009@hakering.it
+
+
+
+ :/res/carabinieri.jpg:/res/carabinieri.jpg
+
+
+ -
+
+ gioelesbarazzino2006
+
+
+ gioelesbarazzino2006@tiscalinet.it
+
+
+
+ :/res/gioelesbarazzino2006.webp:/res/gioelesbarazzino2006.webp
+
+
+ -
+
+ kek@random.xyz
+
+
+
+
+
+ -
+
+ sustemd
+
+
+ sustemd@lainnetworks.net
+
+
+
+ :/res/photo_2025-01-11_16-44-34.jpg:/res/photo_2025-01-11_16-44-34.jpg
+
+
+ -
+
+ tengen
+
+
+ tengen@udongein.xyz
+
+
+
+
+
+
+
+
+
+ 10
+ 330
+ 251
+ 34
+
+
+
+ Invite user
+
+
+
+
+
+
+
+
+ 0
+ 321
+ 271
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+ Media and files
+
+
+
+
+
+
+
+
+
+
+ Links
+
+
+
+
+
+
+
+
+
+
+ Threads
+
+
+
+
+
+
+
+
+
+
+ Polls
+
+
+
+
+
+
+
+
+
+
+ Pinned
+
+
+
+
+
+
+
+
+
+
+ Chat events
+
+
+
+
+
+
+
+
+
+
+ Other
+
+
+
+
+
+
+ 10
+ 280
+ 251
+ 31
+
+
+
+ Search from below
+
+
+
+
+
+ 90
+ 30
+ 171
+ 51
+
+
+
+ <html><head/><body><p>dc://funny.net/funnygroup - 10 members, 7 online</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 10
+ 140
+ 31
+ 31
+
+
+
+
+
+
+
+ 32
+ 22
+
+
+
+
+
+
+ 50
+ 140
+ 211
+ 21
+
+
+
+ <html><head/><body><p><span style=" font-weight:700;">General</span> (#general)</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 90
+ 10
+ 171
+ 21
+
+
+
+ <html><head/><body><p><span style=" font-size:12pt; font-weight:700;">Funny group</span></p></body></html>
+
+
+
+
+
+ 50
+ 160
+ 211
+ 41
+
+
+
+ <html><head/><body><p>This is the general channel, talk about anything.</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 50
+ 210
+ 211
+ 21
+
+
+
+ <html><head/><body><p>Hosted on <span style=" font-weight:700;">Funny Server</span> (<span style=" text-decoration: underline; color:#2f6ea9;">funny.net</span>)</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+ 10
+ 210
+ 31
+ 31
+
+
+
+
+
+
+
+ 32
+ 22
+
+
+
+
+
+
+ 50
+ 230
+ 211
+ 41
+
+
+
+ <html><head/><body><p>Hello, this is the Funny Server! Registrations are on invite only.</p></body></html>
+
+
+ Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop
+
+
+ true
+
+
+
+
+
+
+
+
+
+ Quit
+
+
+ Ctrl+Q
+
+
+
+
+
+
+
+ New contact
+
+
+
+
+
+
+
+ Existing contact
+
+
+
+
+
+
+
+ Create group
+
+
+
+
+
+
+
+ Join group
+
+
+
+
+
+
+
+ Close chat
+
+
+ Ctrl+W
+
+
+
+
+
+
+
+ Show chat details
+
+
+ Alt+Return
+
+
+
+
+
+
+
+ Export chat
+
+
+ Ctrl+E
+
+
+
+
+
+
+
+ Clear chat
+
+
+
+
+
+
+
+ Delete chat
+
+
+
+
+ true
+
+
+
+
+
+ Toggle microphone
+
+
+ Ctrl+M
+
+
+
+
+ true
+
+
+
+
+
+ Toggle sound
+
+
+ Ctrl+Shift+M
+
+
+
+
+
+
+
+ Enter voice channel
+
+
+
+
+ false
+
+
+
+
+
+ Hang up
+
+
+ Shift+Esc
+
+
+
+
+
+
+
+ Call contact
+
+
+
+
+ true
+
+
+
+
+
+ Toggle camera
+
+
+ Ctrl+Shift+W
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Share screen
+
+
+ Ctrl+Shift+S
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Record call
+
+
+ Ctrl+Shift+R
+
+
+
+
+
+
+
+ Documentation
+
+
+ F1
+
+
+
+
+
+
+
+ About DreamChat
+
+
+
+
+
+
+
+ Donate
+
+
+
+
+
+
+
+ Join support group chat
+
+
+
+
+
+
+
+ Chat settings
+
+
+ Ctrl+Shift+,
+
+
+
+
+
+
+
+ Administration settings
+
+
+ Ctrl+Alt+,
+
+
+
+
+
+
+
+ Mute user
+
+
+
+
+
+
+
+ Kick user
+
+
+
+
+
+
+
+ Ban user
+
+
+
+
+
+
+
+ Text channel
+
+
+
+
+
+
+
+ Voice channel
+
+
+
+
+
+
+
+ Delete channel
+
+
+
+
+
+
+
+ Channel category
+
+
+
+
+
+
+
+ Reports
+
+
+
+
+
+
+
+ Start thread
+
+
+ Ctrl+T
+
+
+
+
+
+
+
+ Undo
+
+
+ Ctrl+Z
+
+
+
+
+
+
+
+ Redo
+
+
+ Ctrl+Shift+Z
+
+
+
+
+
+
+
+ Cut
+
+
+ Ctrl+X
+
+
+
+
+
+
+
+ Copy
+
+
+ Ctrl+C
+
+
+
+
+
+
+
+ Paste
+
+
+ Ctrl+V
+
+
+
+
+
+
+
+ Edit last message
+
+
+ Up
+
+
+
+
+
+
+
+ Delete message
+
+
+ Ctrl+Del
+
+
+
+
+
+
+
+ Delete all messages
+
+
+
+
+
+
+
+ Search
+
+
+ Ctrl+F
+
+
+
+
+ true
+
+
+ true
+
+
+
+ :/res/spectrumpfp.png:/res/spectrumpfp.png
+
+
+ gianmarco@gianmarco.gg
+
+
+ Ctrl+Alt+1
+
+
+
+
+
+
+
+ Reply
+
+
+ Ctrl+R
+
+
+
+
+
+
+
+ Forward
+
+
+
+
+
+
+
+ Add reaction
+
+
+
+
+
+
+
+ Save media
+
+
+
+
+
+
+
+ Purge user messages
+
+
+
+
+
+
+
+ Quote
+
+
+
+
+ true
+
+
+
+
+
+ Select messages
+
+
+ Ctrl+S
+
+
+
+
+ Selected actions
+
+
+
+
+
+
+
+ Select all
+
+
+ Ctrl+A
+
+
+
+
+
+
+
+ Bold
+
+
+ Ctrl+B
+
+
+
+
+
+
+
+ Italic
+
+
+ Ctrl+I
+
+
+
+
+
+
+
+ Strikethrough
+
+
+ Ctrl+Shift+X
+
+
+
+
+
+
+
+ Underlined
+
+
+ Ctrl+U
+
+
+
+
+
+
+
+ Link
+
+
+ Ctrl+L
+
+
+
+
+
+
+
+ Emoji
+
+
+ Ctrl+.
+
+
+
+
+
+
+
+ Code block
+
+
+
+
+
+
+
+ Blockquote
+
+
+
+
+
+
+
+ Unordered list
+
+
+
+
+
+
+
+ Numbered list
+
+
+
+
+
+
+
+ Code snippet
+
+
+
+
+
+
+
+ Code block
+
+
+
+
+ true
+
+
+ false
+
+
+
+
+
+ Integrate applet
+
+
+
+
+ Call overlay
+
+
+
+
+
+
+
+ Spoiler
+
+
+ Ctrl+P
+
+
+
+
+
+
+
+ Color
+
+
+
+
+
+
+
+ Check spelling
+
+
+
+
+
+
+
+ Detach to new window
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Call overlay
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Chats
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Account
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Chat details
+
+
+
+
+
+
+
+ Main window
+
+
+
+
+
+
+
+ Quick command
+
+
+ Ctrl+K
+
+
+
+
+
+
+
+ Plugins
+
+
+
+
+
+
+
+ Applets
+
+
+
+
+
+
+
+ Bots
+
+
+
+
+
+
+
+ Get new tools
+
+
+
+
+
+
+
+ Contacts and lists
+
+
+ Ctrl+Alt+C
+
+
+
+
+
+
+
+ Settings
+
+
+ Ctrl+,
+
+
+
+
+
+
+
+ Broadcast channel
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Online
+
+
+
+
+ true
+
+
+
+
+
+ Away
+
+
+
+
+ true
+
+
+
+
+
+ Do not disturb
+
+
+
+
+ true
+
+
+
+
+
+ Invisible
+
+
+
+
+
+
+
+ Logout
+
+
+
+
+
+
+
+ Pin
+
+
+
+
+ true
+
+
+ true
+
+
+ Off
+
+
+
+
+ true
+
+
+ 10 minutes
+
+
+
+
+ true
+
+
+ 30 minutes
+
+
+
+
+ true
+
+
+ 1 hour
+
+
+
+
+ true
+
+
+ 24 hours
+
+
+
+
+ true
+
+
+ Custom time
+
+
+
+
+ true
+
+
+ At logout
+
+
+
+
+ true
+
+
+ 1 week
+
+
+
+
+
+
+
+ Log window
+
+
+
+
+
+
+
+ Server information
+
+
+
+
+
+
+
+ Visit support forum
+
+
+
+
+
+
+
+ Poke user
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Profile
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Call controls
+
+
+
+
+
+
+
+ Invite user
+
+
+
+
+ false
+
+
+
+
+
+ Go to call location
+
+
+
+
+ Join Safety && Security Bulletin channel
+
+
+
+
+
+
+
+ Create broadcast
+
+
+
+
+
+
+
+ Join broadcast
+
+
+
+
+
+
+
+ Add to chat folder
+
+
+
+
+
+
+
+ Manage chat folders
+
+
+
+
+
+
+
+ Downloads manager
+
+
+
+
+
+
+
+ Scheduled messages
+
+
+
+
+
+
+
+ Schedule message
+
+
+
+
+
+
+
+ Quick chat
+
+
+ Ctrl+N
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+ Toggle menu bar
+
+
+ Ctrl+Alt+M
+
+
+
+
+
+
+
+ Add new account
+
+
+
+
+
+
+
+ Stickers, emojis and GIFs
+
+
+
+
+
+
+
+ Bookmark message
+
+
+
+
+
+
+
+ Bookmarks
+
+
+
+
+ true
+
+
+
+
+
+ Custom status
+
+
+
+
+
+
+
+ Edit profile
+
+
+
+
+
+ KLineEdit
+ QLineEdit
+
+
+
+ KSeparator
+ QFrame
+
+
+
+ KTitleWidget
+ QWidget
+
+
+
+
+
+
+
+
diff --git a/mock/mockupres.qrc b/mock/mockupres.qrc
new file mode 100644
index 0000000..fc09909
--- /dev/null
+++ b/mock/mockupres.qrc
@@ -0,0 +1,19 @@
+
+
+ wallhaven-l37vg2.jpg
+ photo_2023-05-02_12-44-08.png
+ spectrumpfp.png
+ gioelesbarazzino2006.webp
+ photo_2025-01-12_16-30-34.jpg
+ photo_2025-01-11_16-44-34.jpg
+ photo_2025-04-13_21-35-09.jpg
+ Daft-Punk-Discovery.webp
+ R-3617493-1337544956-2213.jpg
+ carabinieri.jpg
+ channels4_profile.jpg
+ my-computer-icon-download-9.jpg
+ 2682181_d1c6dd55c6fb2483ad7a8443cb5beb60.jpg
+ b11be0b2640f4123a7eb4e4799f67102.jpeg
+ dc.png
+
+
diff --git a/mock/my-computer-icon-download-9.jpg b/mock/my-computer-icon-download-9.jpg
new file mode 100755
index 0000000..038a595
Binary files /dev/null and b/mock/my-computer-icon-download-9.jpg differ
diff --git a/mock/photo_2023-05-02_12-44-08.png b/mock/photo_2023-05-02_12-44-08.png
new file mode 100644
index 0000000..9562a82
Binary files /dev/null and b/mock/photo_2023-05-02_12-44-08.png differ
diff --git a/mock/photo_2025-01-11_16-44-34.jpg b/mock/photo_2025-01-11_16-44-34.jpg
new file mode 100644
index 0000000..2bf23e0
Binary files /dev/null and b/mock/photo_2025-01-11_16-44-34.jpg differ
diff --git a/mock/photo_2025-01-12_16-30-34.jpg b/mock/photo_2025-01-12_16-30-34.jpg
new file mode 100644
index 0000000..5f2da07
Binary files /dev/null and b/mock/photo_2025-01-12_16-30-34.jpg differ
diff --git a/mock/photo_2025-04-13_21-35-09.jpg b/mock/photo_2025-04-13_21-35-09.jpg
new file mode 100644
index 0000000..169d8d7
Binary files /dev/null and b/mock/photo_2025-04-13_21-35-09.jpg differ
diff --git a/mock/spectrumpfp.png b/mock/spectrumpfp.png
new file mode 100644
index 0000000..2db781b
Binary files /dev/null and b/mock/spectrumpfp.png differ
diff --git a/mock/wallhaven-l37vg2.jpg b/mock/wallhaven-l37vg2.jpg
new file mode 100644
index 0000000..2e5ab69
Binary files /dev/null and b/mock/wallhaven-l37vg2.jpg differ