summaryrefslogtreecommitdiffstats
path: root/browser/components/downloads/content/downloads.css
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/downloads/content/downloads.css')
-rw-r--r--browser/components/downloads/content/downloads.css172
1 files changed, 172 insertions, 0 deletions
diff --git a/browser/components/downloads/content/downloads.css b/browser/components/downloads/content/downloads.css
new file mode 100644
index 0000000000..1819ffbda4
--- /dev/null
+++ b/browser/components/downloads/content/downloads.css
@@ -0,0 +1,172 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*** Downloads Panel ***/
+
+#downloadsListBox > richlistitem:not([selected]) button {
+ /* Only focus buttons in the selected item. */
+ -moz-user-focus: none;
+}
+
+#downloadsSummary:not([inprogress]) > vbox > #downloadsSummaryProgress,
+#downloadsSummary:not([inprogress]) > vbox > #downloadsSummaryDetails,
+#downloadsFooter:not([showingsummary]) #downloadsSummary {
+ display: none;
+}
+
+#downloadsFooter[showingsummary] > stack:hover > #downloadsSummary,
+#downloadsFooter[showingsummary] > stack:not(:hover) > #downloadsFooterButtons {
+ /* If we used "visibility: hidden;" then the mouseenter event of
+ #downloadsHistory wouldn't be triggered immediately, and the hover styling
+ of the button would not apply until the mouse is moved again.
+
+ "-moz-user-focus: ignore;" prevents the elements with "opacity: 0;" from
+ being focused with the keyboard. */
+ opacity: 0;
+ -moz-user-focus: ignore;
+}
+
+/*** Downloads View ***/
+
+#downloadsRichListBox > richlistitem button {
+ /* These buttons should never get focus, as that would "disable"
+ the downloads view controller (it's only used when the richlistbox
+ is focused). */
+ -moz-user-focus: none;
+}
+
+/*** Visibility of controls inside download items ***/
+
+.download-state[buttonhidden] > toolbarseparator,
+.download-state[buttonhidden] > .downloadButton {
+ display: none;
+}
+
+.download-state:not([state="6"],/* Blocked (parental) */
+ [state="8"],/* Blocked (dirty) */
+ [state="9"] /* Blocked (policy) */)
+ .downloadBlockedBadge,
+
+.download-state:not([state="-1"],/* Starting (initial) */
+ [state="5"], /* Starting (queued) */
+ [state="0"], /* Downloading */
+ [state="4"], /* Paused */
+ [state="7"] /* Scanning */)
+ .downloadProgress,
+
+.download-state:not([state="0"] /* Downloading */)
+ .downloadPauseMenuItem,
+
+.download-state:not([state="4"] /* Paused */)
+ .downloadResumeMenuItem,
+
+/* Blocked (dirty) downloads that have not been confirmed and
+ have temporary data. */
+.download-state:not([state="8"] /* Blocked (dirty) */)
+ .downloadUnblockMenuItem,
+
+.download-state[state="8"]:not(.temporary-block) .downloadUnblockMenuItem,
+
+.download-state:not([state="1"], /* Finished */
+ [state="2"], /* Failed */
+ [state="3"], /* Canceled */
+ [state="6"], /* Blocked (parental) */
+ [state="8"], /* Blocked (dirty) */
+ [state="9"] /* Blocked (policy) */)
+ .downloadRemoveFromHistoryMenuItem,
+
+.download-state:not([state="-1"],/* Starting (initial) */
+ [state="0"], /* Downloading */
+ [state="1"], /* Finished */
+ [state="4"], /* Paused */
+ [state="5"] /* Starting (queued) */)
+ .downloadShowMenuItem,
+
+.download-state[state="1"]:not([exists]) .downloadShowMenuItem,
+
+.download-state:not([state="-1"],/* Starting (initial) */
+ [state="0"], /* Downloading */
+ [state="1"], /* Finished */
+ [state="4"], /* Paused */
+ [state="5"], /* Starting (queued) */
+ [state="8"] /* Blocked (dirty) */)
+ .downloadCommandsSeparator,
+
+.download-state[state="1"]:not([exists]) .downloadCommandsSeparator,
+
+.download-state[state="8"]:not(.temporary-block) .downloadCommandsSeparator,
+
+/* the system-viewer context menu items are only shown for certain mime-types
+ and can be individually enabled via prefs */
+.download-state:not([viewable-internally]) .downloadUseSystemDefaultMenuItem,
+.download-state .downloadUseSystemDefaultMenuItem:not([enabled]),
+.download-state .downloadAlwaysUseSystemDefaultMenuItem:not([enabled]),
+.download-state:not([viewable-internally]) .downloadAlwaysUseSystemDefaultMenuItem {
+ display: none;
+}
+
+/*** Visibility of download button labels ***/
+
+.download-state:not([state="-1"],/* Starting (initial) */
+ [state="5"], /* Starting (queued) */
+ [state="0"], /* Downloading */
+ [state="4"] /* Paused */)
+ .downloadCancel,
+
+.download-state:not([state="2"], /* Failed */
+ [state="3"] /* Canceled */)
+ .downloadRetry,
+
+.download-state:not([state="1"] /* Finished */)
+ .downloadShow {
+ display: none;
+}
+
+/*** Downloads panel ***/
+
+#downloadsPanel[hasdownloads] #emptyDownloads,
+#downloadsPanel:not([hasdownloads]) #downloadsListBox {
+ display: none;
+}
+
+/*** Downloads panel multiview (main view and blocked-downloads subview) ***/
+
+/* Make the panel wide enough to show the download list items without improperly
+ truncating them. */
+#downloadsPanel-multiView > .panel-viewcontainer,
+#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack {
+ max-width: unset;
+}
+
+/* DownloadsSubview styles: */
+
+/* Hide all status labels by default and selectively display one at a time,
+ depending on the state of the Download. */
+.subviewbutton.download > .toolbarbutton-text > .status-text,
+/* When a Download is not hovered at all, hide the secondary action button. */
+.subviewbutton.download:not(:hover) > .action-button,
+/* Always hide the label of the secondary action button. */
+.subviewbutton.download > .action-button > .toolbarbutton-text {
+ display: none;
+}
+
+/* When a Download is _not_ hovered, display the full status message. */
+.subviewbutton.download:not(:hover) > .toolbarbutton-text > .status-full,
+/* When a Download is hovered when the file doesn't exist and cannot be retried,
+ keep showing the full status message. */
+.subviewbutton.download:hover:is(:not([canShow]),:not([exists])):not([canRetry]) > .toolbarbutton-text > .status-full,
+/* When a Download is hovered and the it can be retried, but the action button
+ is _not_ hovered, keep showing the full status message. */
+.subviewbutton.download:hover[canRetry]:not(.downloadHoveringButton) > .toolbarbutton-text > .status-full,
+/* When a Download is hovered and the file can be opened, but the action button
+ is _not_ hovered, show the 'Open File' status label. */
+.subviewbutton.download:hover[canShow][exists]:not(.downloadHoveringButton) > .toolbarbutton-text > .status-open,
+/* When a Download is hovered - its action button explicitly - and it can be
+ retried, show the 'Retry Download' label. */
+.subviewbutton.download:hover[canRetry].downloadHoveringButton > .toolbarbutton-text > .status-retry,
+/* When a Download is hovered - its action button explicitly - and the file can
+ be shown in the OS's shell, show the 'Open Containing Folder' label. */
+.subviewbutton.download:hover[canShow][exists].downloadHoveringButton > .toolbarbutton-text > .status-show {
+ display: inline;
+}