From 7e261eb3670e8d37914b217538d2687b0621f8b2 Mon Sep 17 00:00:00 2001 From: Rpsl Date: Sat, 28 Oct 2023 16:29:48 +0300 Subject: [PATCH] v1.5 --- src/background.js | 11 ++++++----- src/manifest.json | 2 +- src/options.html | 13 ++++++++++++- src/options.js | 11 +++++++++-- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/background.js b/src/background.js index 8708f5e..cb4156e 100644 --- a/src/background.js +++ b/src/background.js @@ -13,7 +13,7 @@ chrome.runtime.onInstalled.addListener(function () { }); }); -function sendVideoUrlToMetube(videoUrl, metubeUrl, callback) { +function sendVideoUrlToMetube(videoUrl, metubeUrl, format, callback) { console.log("Sending videoUrl=" + videoUrl + " to metubeUrl=" + metubeUrl); if (typeof callback !== 'function') { @@ -29,6 +29,7 @@ function sendVideoUrlToMetube(videoUrl, metubeUrl, callback) { }, body: JSON.stringify({ "quality": "best", + "format": format, "url": videoUrl }) }) @@ -42,7 +43,7 @@ function sendVideoUrlToMetube(videoUrl, metubeUrl, callback) { } chrome.contextMenus.onClicked.addListener(function (item, tab) { - chrome.storage.sync.get(['metube', 'contextMenuClickBehavior'], function (data) { + chrome.storage.sync.get(['metube', 'contextMenuClickBehavior', 'defaultFormat'], function (data) { if (data === undefined || !data.hasOwnProperty('metube') || data.metube === "") { openTab(chrome.runtime.getURL('options.html'), tab); return @@ -50,7 +51,7 @@ chrome.contextMenus.onClicked.addListener(function (item, tab) { let needToSwitch = (data.contextMenuClickBehavior === 'context-menu-send-current-url-and-switch'); - sendVideoUrlToMetube(item.linkUrl, data.metube, function () { + sendVideoUrlToMetube(item.linkUrl, data.metube, data.defaultFormat, function () { if (needToSwitch) { openTab(data.metube, tab); } @@ -59,7 +60,7 @@ chrome.contextMenus.onClicked.addListener(function (item, tab) { }); chrome.action.onClicked.addListener(function (tab) { - chrome.storage.sync.get(['metube', 'clickBehavior'], function (data) { + chrome.storage.sync.get(['metube', 'clickBehavior', 'defaultFormat'], function (data) { if (data === undefined || !data.hasOwnProperty('metube') || data.metube === "") { openTab(chrome.runtime.getURL('options.html'), tab); return @@ -78,7 +79,7 @@ chrome.action.onClicked.addListener(function (tab) { }, function (tabs) { // use this tab to get the youtube video URL let videoUrl = tabs[0].url; - sendVideoUrlToMetube(videoUrl, data.metube, function () { + sendVideoUrlToMetube(videoUrl, data.metube, data.defaultFormat, function () { if (!needToSwitch) { openTab(data.metube, tab); } diff --git a/src/manifest.json b/src/manifest.json index bd7cace..81ebdeb 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "MeTube Downloader", "description": "Use the context menu to send video into MeTube application", - "version": "1.4", + "version": "1.5", "manifest_version": 3, "permissions": ["contextMenus", "storage", "tabs"], "background": { diff --git a/src/options.html b/src/options.html index 6eb876a..5a2e70d 100644 --- a/src/options.html +++ b/src/options.html @@ -32,7 +32,18 @@

Settings

-
+

+ + +

When you left-click on the extension icon, you'd like it to:


diff --git a/src/options.js b/src/options.js index a10d753..7f042a5 100644 --- a/src/options.js +++ b/src/options.js @@ -8,12 +8,14 @@ async function saveOptions() { let sites = document.getElementById("additional").value; let clickBehavior = document.querySelector('input[name="click-behavior"]:checked').value; let contextMenuClickBehavior = document.querySelector('input[name="context-menu-click-behavior"]:checked').value; + let defaultFormat = document.getElementById('default_format').value chrome.storage.sync.set({ "metube": url, "sites": sites, "clickBehavior": clickBehavior, - "contextMenuClickBehavior": contextMenuClickBehavior + "contextMenuClickBehavior": contextMenuClickBehavior, + "defaultFormat": defaultFormat, }, function () { document.getElementById("saved").classList.remove('hidden'); @@ -50,7 +52,8 @@ async function restoreOptions() { 'metube', 'sites', 'clickBehavior', - 'contextMenuClickBehavior' + 'contextMenuClickBehavior', + 'defaultFormat' ], function (data) { if (data.metube !== undefined) { document.getElementById("metube").value = data.metube; @@ -67,6 +70,10 @@ async function restoreOptions() { if (data.contextMenuClickBehavior !== undefined) { document.getElementById(data.contextMenuClickBehavior).checked = true; } + + if (data.defaultFormat !== undefined) { + document.getElementById('default_format').value = data.defaultFormat; + } }) }