settings: Add Features tab to Network for skipCaps
authorShane Synan <digitalcircuit36939@gmail.com>
Mon, 20 Jul 2020 05:33:35 +0000 (01:33 -0400)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 28 Nov 2020 12:42:31 +0000 (13:42 +0100)
commit84b764f48c2bdfb2cd9c3efea689eaf8a9dfca31
treedee413ed6ed72871e0c42f7f2fa116f0e7ced324
parent64323f7d66dd9a631b86ff07732c3702933d3846
settings: Add Features tab to Network for skipCaps

Add new "Features" tab to the Network settings page, allowing
configuring which IRCv3 capabilities to skip during negotiation.

This initial list is empty; individual IRCv3 capabilities will be
added in future commits.

When the core doesn't support skipping capabilities, show an upgrade
warning banner at the top.

When skipping capabilities is supported, show an info banner noting
that the network must support these features.  The details button
tries to explain IRCv3 capabilities and shows the currently enabled
features.

Add an "Advanced..." button which directly configures the "skipCaps"
list as a space-separated list of IRCv3 capabilities.  This provides
an escape hatch in case misbehaving servers are found or if Quassel's
implementation of an IRCv3 feature is faulty.  It also allows older
clients (with this change) to clear the capability skip list set by
newer clients.  A "Defaults" button makes it clear how to restore the
list to Quassel's normal behavior.

Clean up the settings page UI, including fixing the Commands tab
"perform" list of commands to fill the available space.
src/qtui/settingspages/capseditdlg.ui [new file with mode: 0644]
src/qtui/settingspages/networkssettingspage.cpp
src/qtui/settingspages/networkssettingspage.h
src/qtui/settingspages/networkssettingspage.ui
src/qtui/settingspages/settingspages.cmake