40
qml/main.qml
40
qml/main.qml
@@ -126,12 +126,6 @@ Kirigami.ApplicationWindow {
|
||||
showPassiveNotification(i18n("Warning: %1", message));
|
||||
}
|
||||
}
|
||||
|
||||
function onOpenLink(url) {
|
||||
openLinkConfirmationComponent.createObject(QQC2.ApplicationWindow.overlay, {
|
||||
url: url,
|
||||
}).open();
|
||||
}
|
||||
}
|
||||
|
||||
function pushReplaceLayer(page, args) {
|
||||
@@ -376,38 +370,4 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: openLinkConfirmationComponent
|
||||
|
||||
Kirigami.OverlaySheet {
|
||||
id: openLinkConfirmation
|
||||
required property var url;
|
||||
|
||||
header: Kirigami.Heading {
|
||||
text: i18n("Confirm opening a link")
|
||||
}
|
||||
parent: QQC2.ApplicationWindow.overlay
|
||||
contentItem: ColumnLayout {
|
||||
QQC2.Label {
|
||||
text: i18n("Do you want to open the link to %1?", `<a href='${url}'>${url}</a>`)
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
QQC2.CheckBox {
|
||||
id: dontAskAgain
|
||||
text: i18n("Don't ask again")
|
||||
}
|
||||
}
|
||||
footer: QQC2.DialogButtonBox {
|
||||
standardButtons: QQC2.DialogButtonBox.Ok | QQC2.DialogButtonBox.Cancel
|
||||
onAccepted: {
|
||||
Config.confirmLinksAction = !dontAskAgain.checked;
|
||||
Config.save();
|
||||
Qt.openUrlExternally(url);
|
||||
openLinkConfirmation.close();
|
||||
}
|
||||
onRejected: openLinkConfirmation.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,10 +18,6 @@
|
||||
<label>Show notifications</label>
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="ConfirmLinksAction" type="bool">
|
||||
<label>Confirm link before opening them</label>
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="MergeRoomList" type="bool">
|
||||
<label>Merge Room Lists</label>
|
||||
<default>false</default>
|
||||
|
||||
@@ -164,15 +164,9 @@ void RoomManager::joinRoom(Quotient::Connection *account,
|
||||
|
||||
bool RoomManager::visitNonMatrix(const QUrl &url)
|
||||
{
|
||||
// Return true if the user cancels, treating it as an alternative normal
|
||||
// flow (rather than an abnormal flow when the navigation itself fails).
|
||||
if (NeoChatConfig::self()->confirmLinksAction()) {
|
||||
Q_EMIT openLink(url);
|
||||
} else {
|
||||
if (!QDesktopServices::openUrl(url)) {
|
||||
Q_EMIT warning(i18n("No application for the link"),
|
||||
i18n("Your operating system could not find an application for the link."));
|
||||
}
|
||||
if (!QDesktopServices::openUrl(url)) {
|
||||
Q_EMIT warning(i18n("No application for the link"),
|
||||
i18n("Your operating system could not find an application for the link."));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -95,9 +95,6 @@ Q_SIGNALS:
|
||||
/// Displays warning to the user.
|
||||
void warning(const QString &title, const QString &message);
|
||||
|
||||
/// Ask user to open link and then open it.
|
||||
void openLink(const QUrl &url);
|
||||
|
||||
private:
|
||||
NeoChatRoom *m_currentRoom;
|
||||
NeoChatRoom *m_lastCurrentRoom;
|
||||
|
||||
Reference in New Issue
Block a user