mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-25 12:38:48 +03:00
Linkify topic in room settings and use non-deprecated MessageDialog
This commit is contained in:
parent
8351cc4180
commit
af9b66dd3e
3 changed files with 19 additions and 13 deletions
|
@ -191,7 +191,7 @@ sudo emerge -a ">=dev-qt/qtgui-5.10.0" media-libs/fontconfig dev-libs/qtkeychain
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build requirements + qml modules needed at runtime (you may not need all of them, but the following seem to work according to reports):
|
# Build requirements + qml modules needed at runtime (you may not need all of them, but the following seem to work according to reports):
|
||||||
sudo apt install g++ cmake zlib1g-dev libssl-dev qt{base,declarative,tools,multimedia,quickcontrols2-}5-dev libqt5svg5-dev libboost-system-dev libboost-thread-dev libboost-iostreams-dev libolm-dev liblmdb++-dev libcmark-dev nlohmann-json3-dev libspdlog-dev libgtest-dev qml-module-qt{gstreamer,multimedia,quick-extras,-labs-settings,graphicaleffects,quick-controls2} qt5keychain-dev
|
sudo apt install g++ cmake zlib1g-dev libssl-dev qt{base,declarative,tools,multimedia,quickcontrols2-}5-dev libqt5svg5-dev libboost-system-dev libboost-thread-dev libboost-iostreams-dev libolm-dev liblmdb++-dev libcmark-dev nlohmann-json3-dev libspdlog-dev libgtest-dev qml-module-qt{gstreamer,multimedia,quick-extras,-labs-settings,-labs-platform,graphicaleffects,quick-controls2} qt5keychain-dev
|
||||||
```
|
```
|
||||||
This will install all dependencies, except for tweeny (use bundled tweeny)
|
This will install all dependencies, except for tweeny (use bundled tweeny)
|
||||||
and mtxclient (needs to be build separately).
|
and mtxclient (needs to be build separately).
|
||||||
|
@ -204,7 +204,7 @@ and mtxclient (needs to be build separately).
|
||||||
sudo apt install cmake gcc make automake liblmdb-dev \
|
sudo apt install cmake gcc make automake liblmdb-dev \
|
||||||
qt5-default libssl-dev libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediaquick5 libqt5svg5-dev \
|
qt5-default libssl-dev libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediaquick5 libqt5svg5-dev \
|
||||||
qml-module-qtgstreamer qtmultimedia5-dev qtquickcontrols2-5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev \
|
qml-module-qtgstreamer qtmultimedia5-dev qtquickcontrols2-5-dev qttools5-dev qttools5-dev-tools qtdeclarative5-dev \
|
||||||
qml-module-qtgraphicaleffects qml-module-qtmultimedia qml-module-qtquick-controls2 qml-module-qtquick-layouts \
|
qml-module-qtgraphicaleffects qml-module-qtmultimedia qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qt-labs-platform\
|
||||||
qt5keychain-dev
|
qt5keychain-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import QtQuick 2.9
|
import QtQuick 2.9
|
||||||
import QtQuick.Controls 2.3
|
import QtQuick.Controls 2.3
|
||||||
import QtQuick.Dialogs 1.2
|
import Qt.labs.platform 1.1 as Platform
|
||||||
import QtQuick.Layouts 1.2
|
import QtQuick.Layouts 1.2
|
||||||
import QtQuick.Window 2.3
|
import QtQuick.Window 2.3
|
||||||
import im.nheko 1.0
|
import im.nheko 1.0
|
||||||
|
@ -110,18 +110,25 @@ ApplicationWindow {
|
||||||
|
|
||||||
ScrollView {
|
ScrollView {
|
||||||
Layout.maximumHeight: 75
|
Layout.maximumHeight: 75
|
||||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
Layout.fillWidth: true
|
width: parent.width
|
||||||
|
|
||||||
TextArea {
|
TextArea {
|
||||||
text: roomSettings.roomTopic
|
text: TimelineManager.escapeEmoji(roomSettings.roomTopic)
|
||||||
wrapMode: TextEdit.WordWrap
|
wrapMode: TextEdit.WordWrap
|
||||||
|
textFormat: TextEdit.RichText
|
||||||
readOnly: true
|
readOnly: true
|
||||||
background: null
|
background: null
|
||||||
selectByMouse: true
|
selectByMouse: true
|
||||||
color: colors.text
|
color: colors.text
|
||||||
horizontalAlignment: TextEdit.AlignHCenter
|
horizontalAlignment: TextEdit.AlignHCenter
|
||||||
|
|
||||||
|
onLinkActivated: TimelineManager.openLink(link);
|
||||||
|
|
||||||
|
CursorShape {
|
||||||
|
anchors.fill: parent
|
||||||
|
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -186,14 +193,13 @@ ApplicationWindow {
|
||||||
Layout.alignment: Qt.AlignRight
|
Layout.alignment: Qt.AlignRight
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageDialog {
|
Platform.MessageDialog {
|
||||||
id: confirmEncryptionDialog
|
id: confirmEncryptionDialog
|
||||||
|
|
||||||
title: qsTr("End-to-End Encryption")
|
title: qsTr("End-to-End Encryption")
|
||||||
text: qsTr("Encryption is currently experimental and things might break unexpectedly. <br>
|
text: qsTr("Encryption is currently experimental and things might break unexpectedly. <br>
|
||||||
Please take note that it can't be disabled afterwards.")
|
Please take note that it can't be disabled afterwards.")
|
||||||
modality: Qt.WindowModal
|
modality: Qt.WindowModal
|
||||||
icon: StandardIcon.Question
|
|
||||||
onAccepted: {
|
onAccepted: {
|
||||||
if (roomSettings.isEncryptionEnabled)
|
if (roomSettings.isEncryptionEnabled)
|
||||||
return ;
|
return ;
|
||||||
|
@ -203,7 +209,7 @@ ApplicationWindow {
|
||||||
onRejected: {
|
onRejected: {
|
||||||
encryptionToggle.checked = false;
|
encryptionToggle.checked = false;
|
||||||
}
|
}
|
||||||
standardButtons: Dialog.Ok | Dialog.Cancel
|
buttons: Dialog.Ok | Dialog.Cancel
|
||||||
}
|
}
|
||||||
|
|
||||||
MatrixText {
|
MatrixText {
|
||||||
|
|
|
@ -229,7 +229,7 @@ RoomSettings::roomName() const
|
||||||
QString
|
QString
|
||||||
RoomSettings::roomTopic() const
|
RoomSettings::roomTopic() const
|
||||||
{
|
{
|
||||||
return QString::fromStdString(info_.topic);
|
return utils::linkifyMessage(QString::fromStdString(info_.topic).toHtmlEscaped());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
|
|
Loading…
Reference in a new issue