[Client] Settings: open Settings as a tab

Add a singleton TabSettings hosting the shared SettingsView and retarget
the menu action, tray entry, shortcut and room chat deep-link to
TabSupervisor::openTabSettings. Close validation moves from
DlgSettings::closeEvent to TabSettings::closeRequest with tr() contexts
preserved as DlgSettings. The modal stays but is no longer referenced.
This commit is contained in:
Lukas Brübach 2026-10-11 11:49:42 +02:00
parent 77a0253242
commit 8572ac65e6
7 changed files with 214 additions and 12 deletions

View file

@ -3,7 +3,7 @@
#include "../../../client/settings/cache_settings.h"
#include "../../../client/settings/shortcuts_settings.h"
#include "../../pixel_map_generator.h"
#include "../interface/widgets/dialogs/dlg_settings.h"
#include "../interface/widgets/dialogs/settings_view.h"
#include "../interface/widgets/server/chat_view/chat_view.h"
#include "../interface/widgets/server/game_link.h"
#include "../interface/widgets/server/game_selector.h"
@ -272,9 +272,7 @@ void TabRoom::actClearChat()
void TabRoom::actOpenChatSettings()
{
DlgSettings settings(this);
settings.setTab(DlgSettings::MessagesPage);
settings.exec();
tabSupervisor->openTabSettings(SettingsView::MessagesPage);
}
void TabRoom::actCompleterChanged()