Feature: Add configurable remote-desktop quality levels menu
Add an "高级 (Advanced)" menu after "其他 (Other)" whose "远程桌面质量等级 (Remote Desktop Quality Levels)" item opens a dialog to edit the six preset QualityProfile levels (max FPS, max width, codec algorithm, bitrate). The dialog edits a working copy in a full grid with per-field validation and a restore-defaults button; on OK it persists the values to the [quality] INI section. The server stays authoritative: LoadQualityProfilesFromCfg loads the saved levels at startup (falling back to GetQualityProfile defaults), and ScreenSpyDlg now sends CMD_QUALITY_PROFILES from GetQualityProfileCfg so new remote-desktop sessions transmit with the configured parameters. Added en_US/de_DE/zh_TW translations for the menu and dialog strings. Co-Authored-By: deepseek-v4-pro
This commit is contained in:
1 parent
0416dadbba
commit
033ff077ef
9 files changed
+294
-3
No files matched your search
@@ -6,6 +6,7 @@
|
||||
#include "TrueColorToolBar.h"
|
||||
#include "IOCPServer.h"
|
||||
#include <common/location.h>
|
||||
#include "common/commands.h"
|
||||
#include <map>
|
||||
#include <unordered_map>
|
||||
#include <mutex>
|
||||
@@ -328,6 +329,15 @@ public:
|
||||
void LoadThumbnailSettingsFromCfg(); // 从 THIS_CFG 读到 m_ThumbnailCfg
|
||||
void SaveThumbnailSettingsToCfg() const; // m_ThumbnailCfg 落盘到 THIS_CFG
|
||||
void TickThumbnailRefresh(); // TIMER_THUMBNAIL_REFRESH 主循环
|
||||
|
||||
// ===== 远程桌面质量等级配置(6 档 QualityProfile) =====
|
||||
// 主控端 UI 偏好,持久化走 THIS_CFG [quality] 节。服务端权威,经 CMD_QUALITY_PROFILES
|
||||
// 下发给客户端。仅 UI 线程访问;修改后需重开远程桌面会话才对新连接生效。
|
||||
QualityProfile m_QualityProfiles[QUALITY_COUNT];
|
||||
void LoadQualityProfilesFromCfg(); // 从 THIS_CFG 读到 m_QualityProfiles(缺省回落 GetQualityProfile)
|
||||
void SaveQualityProfilesToCfg() const; // m_QualityProfiles 落盘到 THIS_CFG
|
||||
const QualityProfile& GetQualityProfileCfg(int level) const; // 供 ScreenSpyDlg 下发用
|
||||
void OnQualityLevels(); // 高级→远程桌面质量等级
|
||||
void SendThumbnailRequest(class context* ctx);// 发一次缩略图请求
|
||||
void CacheThumbnail(uint64_t clientID, const BYTE* jpeg, size_t bytes);
|
||||
void ClearThumbnailCacheEntry(uint64_t clientID);
|
||||
|
||||
Reference in new issue
Block a user