Selaa lähdekoodia

create new prodile by cloning the selected one (cf #272)

Former-commit-id: a269d5917ae6f55d527e1ccc1c83fcc63f82e262
Gildas 6 vuotta sitten
vanhempi
sitoutus
65f04ea050
2 muutettua tiedostoa jossa 4 lisäystä ja 4 poistoa
  1. 3 3
      extension/core/bg/config.js
  2. 1 1
      extension/ui/bg/ui-options.js

+ 3 - 3
extension/core/bg/config.js

@@ -169,7 +169,7 @@ singlefile.extension.core.bg.config = (() => {
 			await addRule(message.url, message.profileName, message.autoSaveProfileName);
 		}
 		if (message.method.endsWith(".createProfile")) {
-			await createProfile(message.profileName);
+			await createProfile(message.profileName, message.fromProfileName || DEFAULT_PROFILE_NAME);
 		}
 		if (message.method.endsWith(".renameProfile")) {
 			await renameProfile(message.profileName, message.newProfileName);
@@ -211,12 +211,12 @@ singlefile.extension.core.bg.config = (() => {
 		return {};
 	}
 
-	async function createProfile(profileName) {
+	async function createProfile(profileName, fromProfileName) {
 		const config = await getConfig();
 		if (Object.keys(config.profiles).includes(profileName)) {
 			throw new Error("Duplicate profile name");
 		}
-		config.profiles[profileName] = DEFAULT_CONFIG;
+		config.profiles[profileName] = config.profiles[fromProfileName];
 		await browser.storage.local.set({ profiles: config.profiles });
 	}
 

+ 1 - 1
extension/ui/bg/ui-options.js

@@ -235,7 +235,7 @@
 		const profileName = await prompt(browser.i18n.getMessage("profileAddPrompt"));
 		if (profileName) {
 			try {
-				await browser.runtime.sendMessage({ method: "config.createProfile", profileName });
+				await browser.runtime.sendMessage({ method: "config.createProfile", profileName, fromProfileName: profileNamesInput.value });
 			} catch (error) {
 				// ignored
 			}