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
@@ -889,13 +889,17 @@ BOOL CScreenSpyDlg::OnInitDialog()
|
||||
// 启动传输速率更新定时器 (1秒)
|
||||
SetTimer(4, 1000, NULL);
|
||||
|
||||
// 下发质量配置表(让客户端可以持久化保存)
|
||||
// 下发质量配置表(让客户端可以持久化保存)。
|
||||
// 优先使用主控端在「高级 → 远程桌面质量等级」里自定义的档位;无主控端时回落内置默认表。
|
||||
{
|
||||
BYTE profileCmd[1 + sizeof(QualityProfile) * QUALITY_COUNT];
|
||||
profileCmd[0] = CMD_QUALITY_PROFILES;
|
||||
for (int i = 0; i < QUALITY_COUNT; i++) {
|
||||
const QualityProfile& prof = (m_pParent != nullptr)
|
||||
? m_pParent->GetQualityProfileCfg(i)
|
||||
: GetQualityProfile(i);
|
||||
memcpy(profileCmd + 1 + i * sizeof(QualityProfile),
|
||||
&GetQualityProfile(i), sizeof(QualityProfile));
|
||||
&prof, sizeof(QualityProfile));
|
||||
}
|
||||
m_ContextObject->Send2Client(profileCmd, sizeof(profileCmd));
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user