diff --git a/src/components/ProxyDialog.vue b/src/components/ProxyDialog.vue index 2f7ed7b61..aae635469 100644 --- a/src/components/ProxyDialog.vue +++ b/src/components/ProxyDialog.vue @@ -174,6 +174,38 @@ export default { this.modal.show(); }, + /** + * Show dialog to clone a proxy + * @param {number} proxyID ID of proxy to clone + * @returns {void} + */ + showClone(proxyID) { + if (proxyID) { + for (let proxy of this.$root.proxyList) { + if (proxy.id === proxyID) { + // Create a clone of the proxy data + this.proxy = { + protocol: proxy.protocol, + host: proxy.host, + port: proxy.port, + auth: proxy.auth, + username: proxy.username, + password: proxy.password, + active: proxy.active, + default: false, // Cloned proxy should not be default + applyExisting: false, + }; + break; + } + } + } + + // Set id to null to indicate this is a new proxy (clone) + this.id = null; + + this.modal.show(); + }, + /** * Submit form data for saving * @returns {void} diff --git a/src/components/settings/Proxies.vue b/src/components/settings/Proxies.vue index 4608f3aa4..de5b8d5a0 100644 --- a/src/components/settings/Proxies.vue +++ b/src/components/settings/Proxies.vue @@ -13,7 +13,8 @@