feat: Remote session RPC url path change option qt client (#7561)

This commit is contained in:
htmltiger
2025-11-26 20:12:10 +00:00
committed by GitHub
parent 78dd0242cf
commit d64a1a5699
7 changed files with 24 additions and 2 deletions

View File

@@ -280,6 +280,7 @@ auto constexpr MyStatic = std::array<std::string_view, TR_N_KEYS>{
"remote-session-port"sv, "remote-session-port"sv,
"remote-session-requres-authentication"sv, "remote-session-requres-authentication"sv,
"remote-session-username"sv, "remote-session-username"sv,
"remote_session_rpc_url_path"sv,
"removed"sv, "removed"sv,
"rename-partial-files"sv, "rename-partial-files"sv,
"reqq"sv, "reqq"sv,

View File

@@ -282,6 +282,7 @@ enum // NOLINT(performance-enum-size)
TR_KEY_remote_session_port, TR_KEY_remote_session_port,
TR_KEY_remote_session_requres_authentication, TR_KEY_remote_session_requres_authentication,
TR_KEY_remote_session_username, TR_KEY_remote_session_username,
TR_KEY_remote_session_rpc_url_path,
TR_KEY_removed, TR_KEY_removed,
TR_KEY_rename_partial_files, TR_KEY_rename_partial_files,
TR_KEY_reqq, TR_KEY_reqq,

View File

@@ -96,6 +96,7 @@ std::array<Prefs::PrefItem, Prefs::PREFS_COUNT> const Prefs::Items{
{ SESSION_REMOTE_PORT, TR_KEY_remote_session_port, QMetaType::Int }, { SESSION_REMOTE_PORT, TR_KEY_remote_session_port, QMetaType::Int },
{ SESSION_REMOTE_AUTH, TR_KEY_remote_session_requres_authentication, QMetaType::Bool }, { SESSION_REMOTE_AUTH, TR_KEY_remote_session_requres_authentication, QMetaType::Bool },
{ SESSION_REMOTE_USERNAME, TR_KEY_remote_session_username, QMetaType::QString }, { SESSION_REMOTE_USERNAME, TR_KEY_remote_session_username, QMetaType::QString },
{ SESSION_REMOTE_RPC_URL_PATH, TR_KEY_remote_session_rpc_url_path, QMetaType::QString },
{ COMPLETE_SOUND_COMMAND, TR_KEY_torrent_complete_sound_command, QMetaType::QStringList }, { COMPLETE_SOUND_COMMAND, TR_KEY_torrent_complete_sound_command, QMetaType::QStringList },
{ COMPLETE_SOUND_ENABLED, TR_KEY_torrent_complete_sound_enabled, QMetaType::Bool }, { COMPLETE_SOUND_ENABLED, TR_KEY_torrent_complete_sound_enabled, QMetaType::Bool },
{ USER_HAS_GIVEN_INFORMED_CONSENT, TR_KEY_user_has_given_informed_consent, QMetaType::Bool }, { USER_HAS_GIVEN_INFORMED_CONSENT, TR_KEY_user_has_given_informed_consent, QMetaType::Bool },
@@ -477,6 +478,7 @@ tr_variant Prefs::get_default_app_settings()
settings.try_emplace(TR_KEY_statusbar_stats, StatsMode); settings.try_emplace(TR_KEY_statusbar_stats, StatsMode);
settings.try_emplace(TR_KEY_watch_dir, download_dir); settings.try_emplace(TR_KEY_watch_dir, download_dir);
settings.try_emplace(TR_KEY_read_clipboard, false); settings.try_emplace(TR_KEY_read_clipboard, false);
settings.try_emplace(TR_KEY_remote_session_rpc_url_path, TR_DEFAULT_RPC_URL_STR "rpc");
return tr_variant{ std::move(settings) }; return tr_variant{ std::move(settings) };
} }

View File

@@ -64,6 +64,7 @@ public:
SESSION_REMOTE_PORT, SESSION_REMOTE_PORT,
SESSION_REMOTE_AUTH, SESSION_REMOTE_AUTH,
SESSION_REMOTE_USERNAME, SESSION_REMOTE_USERNAME,
SESSION_REMOTE_RPC_URL_PATH,
COMPLETE_SOUND_COMMAND, COMPLETE_SOUND_COMMAND,
COMPLETE_SOUND_ENABLED, COMPLETE_SOUND_ENABLED,
USER_HAS_GIVEN_INFORMED_CONSENT, USER_HAS_GIVEN_INFORMED_CONSENT,

View File

@@ -360,7 +360,7 @@ void Session::start()
} }
url.setHost(prefs_.get<QString>(Prefs::SESSION_REMOTE_HOST)); url.setHost(prefs_.get<QString>(Prefs::SESSION_REMOTE_HOST));
url.setPort(prefs_.get<int>(Prefs::SESSION_REMOTE_PORT)); url.setPort(prefs_.get<int>(Prefs::SESSION_REMOTE_PORT));
url.setPath(QStringLiteral("/transmission/rpc")); url.setPath(prefs_.get<QString>(Prefs::SESSION_REMOTE_RPC_URL_PATH));
if (prefs_.get<bool>(Prefs::SESSION_REMOTE_AUTH)) if (prefs_.get<bool>(Prefs::SESSION_REMOTE_AUTH))
{ {

View File

@@ -19,6 +19,7 @@ void SessionDialog::accept()
prefs_.set(Prefs::SESSION_REMOTE_AUTH, ui_.authCheck->isChecked()); prefs_.set(Prefs::SESSION_REMOTE_AUTH, ui_.authCheck->isChecked());
prefs_.set(Prefs::SESSION_REMOTE_USERNAME, ui_.usernameEdit->text()); prefs_.set(Prefs::SESSION_REMOTE_USERNAME, ui_.usernameEdit->text());
prefs_.set(Prefs::SESSION_REMOTE_PASSWORD, ui_.passwordEdit->text()); prefs_.set(Prefs::SESSION_REMOTE_PASSWORD, ui_.passwordEdit->text());
prefs_.set(Prefs::SESSION_REMOTE_RPC_URL_PATH, ui_.rpcEdit->text());
session_.restart(); session_.restart();
BaseDialog::accept(); BaseDialog::accept();
} }
@@ -72,5 +73,8 @@ SessionDialog::SessionDialog(Session& session, Prefs& prefs, QWidget* parent)
ui_.passwordEdit->setText(prefs.get<QString>(Prefs::SESSION_REMOTE_PASSWORD)); ui_.passwordEdit->setText(prefs.get<QString>(Prefs::SESSION_REMOTE_PASSWORD));
auth_widgets_ << ui_.passwordLabel << ui_.passwordEdit; auth_widgets_ << ui_.passwordLabel << ui_.passwordEdit;
ui_.rpcEdit->setText(prefs.get<QString>(Prefs::SESSION_REMOTE_RPC_URL_PATH));
remote_widgets_ << ui_.rpcLabel << ui_.rpcEdit;
resensitize(); resensitize();
} }

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>248</width> <width>248</width>
<height>297</height> <height>324</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@@ -107,6 +107,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="0">
<widget class="QLabel" name="rpcLabel">
<property name="text">
<string>RPC URL pa&amp;th:</string>
</property>
<property name="buddy">
<cstring>rpcEdit</cstring>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="rpcEdit"/>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>