- Move the ~17 top-level QML files into views/, settings/, and forms/ subdirectories, grouped so cross-directory type references stay minimal (only 3 files need an added `import` line). Root now only holds the four surfaces plugin.json points at directly. - Add a `dms ipc call dankChat popout` IPC target to open the floating window directly, alongside the existing `toggle`, and document both in the README along with the new directory layout. - Add one line of breathing room between the last message and the composer bar via the message ListView's bottomMargin (measured with FontMetrics rather than a guessed pixel value). Co-Authored-By: Claude Sonnet 5 <[email protected]>
114 lines
3.1 KiB
QML
114 lines
3.1 KiB
QML
import QtQuick
|
|
import qs.Common
|
|
import qs.Widgets
|
|
import qs.Modules.Plugins
|
|
|
|
// IRC's own settings area, loaded by ChatSettings.qml's protocol rail.
|
|
// Its own PluginSettings instance scoped to just these fields - future
|
|
// services get their own equally self-contained ProtocolSettingsPanel.qml
|
|
// (e.g. MatrixSettingsPanel.qml) loaded the same way, without touching
|
|
// this file or ChatSettings.qml's rail/Loader plumbing.
|
|
PluginSettings {
|
|
id: root
|
|
pluginId: "dankChat"
|
|
|
|
StyledText {
|
|
width: parent.width
|
|
text: "Message filters"
|
|
font.weight: Font.Medium
|
|
color: Theme.surfaceVariantText
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.showJoinMessages"
|
|
label: "Show join messages"
|
|
description: "\"X entered the room\" when someone joins a channel"
|
|
defaultValue: true
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.showPartMessages"
|
|
label: "Show part/quit messages"
|
|
description: "\"X left the room\" when someone leaves a channel or disconnects - IRC's PART and QUIT read identically once libpurple turns them into text, so this covers both"
|
|
defaultValue: true
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.showNickChanges"
|
|
label: "Show nick changes"
|
|
description: "\"X is now known as Y\""
|
|
defaultValue: true
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.showTopicChanges"
|
|
label: "Show topic changes"
|
|
defaultValue: true
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.showModeChanges"
|
|
label: "Show mode changes"
|
|
description: "Channel/user mode notices (+o, +m, etc.) - often noisy on busy channels"
|
|
defaultValue: true
|
|
}
|
|
|
|
Rectangle {
|
|
width: parent.width
|
|
height: 1
|
|
color: Theme.outlineMedium
|
|
}
|
|
|
|
StyledText {
|
|
width: parent.width
|
|
text: "Connection defaults for new accounts"
|
|
font.weight: Font.Medium
|
|
color: Theme.surfaceVariantText
|
|
}
|
|
|
|
StyledText {
|
|
width: parent.width
|
|
text: "Applied when you connect a new IRC account. SASL, autojoin, and NickServ auto-identify are set per-account instead, from that account's own entry in the Accounts pane."
|
|
wrapMode: Text.WordWrap
|
|
font.pixelSize: Theme.fontSizeSmall
|
|
color: Theme.surfaceVariantText
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.defaultSsl"
|
|
label: "Use SSL/TLS"
|
|
defaultValue: true
|
|
}
|
|
|
|
StringSetting {
|
|
settingKey: "irc.defaultEncoding"
|
|
label: "Encoding"
|
|
defaultValue: "UTF-8"
|
|
}
|
|
|
|
ToggleSetting {
|
|
settingKey: "irc.autodetectUtf8"
|
|
label: "Auto-detect incoming UTF-8"
|
|
defaultValue: false
|
|
}
|
|
|
|
StringSetting {
|
|
settingKey: "irc.quitMessage"
|
|
label: "Quit message"
|
|
defaultValue: "Leaving."
|
|
}
|
|
|
|
StringSetting {
|
|
settingKey: "irc.ratelimitInterval"
|
|
label: "Seconds between sending messages"
|
|
description: "Flood control"
|
|
defaultValue: "2"
|
|
}
|
|
|
|
StringSetting {
|
|
settingKey: "irc.ratelimitBurst"
|
|
label: "Maximum messages to send at once"
|
|
defaultValue: "5"
|
|
}
|
|
}
|