Skip to content

Commit 806a2eb

Browse files
committed
Turn View Image context entry into a preference disabled by default
1 parent e53fcf6 commit 806a2eb

File tree

8 files changed

+59
-10
lines changed

8 files changed

+59
-10
lines changed

browser/base/content/browser-context.inc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,12 @@
190190
data-l10n-id="main-context-menu-media-show-controls"
191191
/>
192192
<menuseparator id="context-media-sep-video-commands"/>
193-
<menuitem id="context-viewvideo"
193+
<menuitem id="context-viewvideotab"
194194
data-l10n-id="main-context-menu-video-view-new-tab"
195195
/>
196+
<menuitem id="context-viewvideo"
197+
data-l10n-id="main-context-menu-video-view"
198+
/>
196199
<menuitem id="context-video-pictureinpicture"
197200
data-l10n-id="main-context-menu-media-watch-pip"
198201
type="checkbox"
@@ -201,9 +204,12 @@
201204
<menuitem id="context-reloadimage"
202205
data-l10n-id="main-context-menu-image-reload"
203206
/>
204-
<menuitem id="context-viewimage"
207+
<menuitem id="context-viewimagetab"
205208
data-l10n-id="main-context-menu-image-view-new-tab"
206209
/>
210+
<menuitem id="context-viewimage"
211+
data-l10n-id="main-context-menu-image-view"
212+
/>
207213
<menuitem id="context-saveimage"
208214
data-l10n-id="main-context-menu-image-save-as"
209215
/>

browser/base/content/browser-context.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ document.addEventListener(
114114
case "context-media-showcontrols":
115115
gContextMenu.mediaCommand("showcontrols");
116116
break;
117+
case "context-viewimagetab":
118+
case "context-viewvideotab":
117119
case "context-viewimage":
118120
case "context-viewvideo":
119121
gContextMenu.viewMedia(event);

browser/base/content/nsContextMenu.sys.mjs

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,7 @@ export class nsContextMenu {
665665
!this.onAudio &&
666666
!this.onLink &&
667667
!this.onTextInput;
668+
if (Services.prefs.getBoolPref("r3dfox.view.image")) {
668669
this.showItem("context-viewimage", showViewImage);
669670

670671
var shouldShow = !(
@@ -694,6 +695,12 @@ export class nsContextMenu {
694695
);
695696

696697
this.document.getElementById("context-viewbgimage").disabled = !this.hasBGImage;
698+
this.showItem("context-viewimagetab", false);
699+
} else {
700+
this.showItem("context-viewimagetab", showViewImage || showBGImage);
701+
this.showItem("context-viewimage", false);
702+
this.showItem("context-viewbgimage", false);
703+
}
697704

698705
// Save image depends on having loaded its content.
699706
this.showItem(
@@ -825,11 +832,21 @@ export class nsContextMenu {
825832
this.showItem("context-inspect-a11y", showInspectA11Y);
826833

827834
// View video depends on not having a standalone video.
828-
this.showItem(
829-
"context-viewvideo",
830-
this.onVideo && (!this.inSyntheticDoc || this.inFrame)
831-
);
832-
this.setItemAttr("context-viewvideo", "disabled", !this.mediaURL);
835+
if (Services.prefs.getBoolPref("r3dfox.view.image")) {
836+
this.showItem(
837+
"context-viewvideo",
838+
this.onVideo && (!this.inSyntheticDoc || this.inFrame)
839+
);
840+
this.setItemAttr("context-viewvideo", "disabled", !this.mediaURL);
841+
this.showItem("context-viewvideotab", false);
842+
} else {
843+
this.showItem(
844+
"context-viewvideotab",
845+
this.onVideo && (!this.inSyntheticDoc || this.inFrame)
846+
);
847+
this.setItemAttr("context-viewvideotab", "disabled", !this.mediaURL);
848+
this.showItem("context-viewvideo", false);
849+
}
833850
}
834851

835852
initMiscItems() {
@@ -1739,9 +1756,11 @@ export class nsContextMenu {
17391756
// Change current window to the URL of the image, video, or audio.
17401757
viewMedia(e) {
17411758
let where = lazy.BrowserUtils.whereToOpenLink(e, false, false);
1742-
// if (where == "current") {
1743-
// where = "tab";
1744-
// }
1759+
if (!Services.prefs.getBoolPref("r3dfox.view.image")) {
1760+
if (where == "current") {
1761+
where = "tab";
1762+
}
1763+
}
17451764
let referrerInfo = this.contentData.referrerInfo;
17461765
let systemPrincipal = Services.scriptSecurityManager.getSystemPrincipal();
17471766
if (this.onCanvas) {

browser/components/preferences/main.inc.xhtml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,13 @@
149149
</hbox>
150150
<description class="indent tip-caption" data-l10n-id="r3dfox-one-offs-desc"/>
151151

152+
<hbox align="center">
153+
<checkbox id="r3dfoxviewimage"
154+
data-l10n-id="r3dfox-view-image"
155+
preference="r3dfox.view.image"/>
156+
</hbox>
157+
<description class="indent tip-caption" data-l10n-id="r3dfox-view-image-desc"/>
158+
152159
<hbox align="center">
153160
<checkbox id="r3dfoxmodern"
154161
data-l10n-id="r3dfox-modern"

browser/components/preferences/main.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Preferences.addAll([
7777
{ id: "r3dfox.force.transparency", type: "bool" },
7878
{ id: "r3dfox.caption.text.color", type: "bool" },
7979
{ id: "browser.urlbar.oneOffsInstant", type: "bool" },
80+
{ id: "r3dfox.view.image", type: "bool" },
8081
{ id: "widget.windows-style.modern", type: "bool" },
8182
{ id: "browser.e10s.disabled", type: "bool" },
8283
{ id: "accessibility.force_disabled", type: "int" },

browser/locales/en-US/browser/browserContext.ftl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,10 @@ main-context-menu-image-reload =
267267
.accesskey = R
268268
269269
main-context-menu-image-view-new-tab =
270+
.label = Open Image in New Tab
271+
.accesskey = I
272+
273+
main-context-menu-image-view =
270274
.label = View Image
271275
.accesskey = I
272276
@@ -275,6 +279,10 @@ main-context-menu-image-view-background =
275279
.accesskey = w
276280
277281
main-context-menu-video-view-new-tab =
282+
.label = Open Video in New Tab
283+
.accesskey = i
284+
285+
main-context-menu-video-view =
278286
.label = View Video
279287
.accesskey = i
280288

browser/locales/en-US/browser/preferences/preferences.ftl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,11 @@ r3dfox-one-offs =
213213
214214
r3dfox-one-offs-desc = Enable for instant one off searches.
215215
216+
r3dfox-view-image =
217+
.label = Restore classic View Image context menu option
218+
219+
r3dfox-view-image-desc = Restore the classic View Image and View Background Image context menu options instead of always opening images in a new tab.
220+
216221
r3dfox-modern =
217222
.label = Modern UI (Requires browser restart)
218223

modules/libpref/init/all.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,7 @@ pref("r3dfox.transparent.menubar", false);
661661
// Translucent navbar design
662662
pref("r3dfox.translucent.navbar", false);
663663
// Disable other customizations by default
664+
pref("r3dfox.view.image", false);
664665
pref("r3dfox.colors.esr", false);
665666
pref("r3dfox.browser.plasmafox", false);
666667
pref("r3dfox.colors.plasmafox", false);

0 commit comments

Comments
 (0)