second part of syncing LCARStrek with Firefox 55 browser windows theme changes
[themes.git] / LCARStrek / browser / downloads / downloads.css
... / ...
CommitLineData
1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5/* === BEGIN downloads.inc.css === */
6
7/* In the original, this is at the end of the file as a preprocessor-include */
8@import url("progressmeter.inc.css");
9
10/*** Panel and outer controls ***/
11
12#downloadsPanel > .panel-arrowcontainer > .panel-arrowcontent {
13 overflow: hidden;
14 display: block;
15}
16
17#downloadsPanel > .panel-arrowcontainer > .panel-arrowcontent,
18#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack > .panel-subviews {
19 padding: 0;
20}
21
22#downloadsListBox {
23 background-color: transparent;
24 color: inherit;
25 margin: 0;
26}
27
28#emptyDownloads {
29 padding: 16px 25px;
30 margin: 0;
31 /* The panel can be wider than this description after the blocked subview is
32 shown, so center the text. */
33 text-align: center;
34}
35
36.downloadsPanelFooter {
37/* background-color: var(--arrowpanel-dimmed);
38 border-top: 1px solid var(--panel-separator-color);*/
39}
40
41.downloadsPanelFooter toolbarseparator,
42richlistitem[type="download"] > toolbarseparator {
43 margin: 0;
44 border: 0;
45 min-width: 0;
46/* border-left: 1px solid var(--panel-separator-color);
47 -moz-appearance: none;*/
48}
49
50.downloadsPanelFooterButton {
51 margin: 0;
52 padding: 0;
53 min-width: 0;
54/* min-height: 40px;*/
55 border: none;
56}
57
58.downloadsPanelFooterButton:hover {
59}
60
61.downloadsPanelFooterButton:hover:active,
62.downloadsPanelFooterButton[open="true"] {
63}
64
65.downloadsPanelFooterButton[default] {
66}
67
68.downloadsPanelFooterButton[default]:hover {
69}
70
71.downloadsPanelFooterButton[default]:hover:active {
72}
73
74.downloadsPanelFooterButton > .button-box {
75 padding: 0;
76 margin: 0;
77 border: none;
78}
79
80#downloadsHistory {
81 padding-inline-start: 10px;
82 padding-inline-end: 10px;
83}
84
85richlistitem[type="download"] > toolbarseparator {
86 margin: 10px 0;
87}
88
89richlistitem[type="download"]:hover > toolbarseparator {
90 margin: 0;
91}
92
93#downloadsSummary {
94 -moz-user-focus: normal;
95}
96
97#downloadsSummary > .downloadTypeIcon {
98 list-style-image: url("chrome://browser/skin/downloads/download-summary.svg");
99}
100
101#downloadsSummaryDescription {
102 color: #3333FF;
103}
104
105/*** List items and similar elements in the summary ***/
106
107#downloadsSummary,
108richlistitem[type="download"] {
109 height: var(--downloads-item-height);
110}
111
112richlistitem[type="download"] {
113 border-bottom: 1px solid var(--panel-separator-color);
114 background: transparent;
115 color: inherit;
116}
117
118richlistitem[type="download"]:last-child {
119 border-bottom: none;
120}
121
122.downloadTypeIcon {
123 margin: 8px 13px;
124 width: 32px;
125 height: 32px;
126}
127
128.downloadBlockedBadge {
129 margin: 0 5px;
130 background: url("chrome://browser/skin/downloads/download-blocked.svg") top right / 16px no-repeat;
131}
132
133downloadBlockedBadge:-moz-locale-dir(rtl) {
134 background-position-x: left;
135}
136
137richlistitem[type="download"][verdict="PotentiallyUnwanted"] .downloadBlockedBadge {
138 background-image: url("chrome://browser/skin/warning.svg");
139}
140
141richlistitem[type="download"][verdict="Uncommon"] .downloadBlockedBadge {
142 background-image: url("chrome://browser/skin/info.svg");
143}
144
145/* We hold .downloadTarget, .downloadProgress and .downloadDetails inside of
146 a vbox with class .downloadContainer. We set the font-size of the entire
147 container to --downloads-item-font-size-factor because:
148
149 1) This is the size that we want .downloadDetails to be
150 2) The container's width is set by localizers by &downloadDetails.width;,
151 which is a ch unit. Since this is the value that should control the
152 panel width, we apply it to the outer container to constrain
153 .downloadTarget and .downloadProgress.
154
155 Finally, since we want .downloadTarget's font-size to be at 100% of the
156 font-size of .downloadContainer's parent, we use calc to go from the
157 smaller font-size back to the original font-size.
158 */
159.downloadContainer {
160 font-size: calc(100% * var(--downloads-item-font-size-factor));
161 margin-inline-end: 13px;
162}
163
164#downloadsSummaryDescription,
165.downloadTarget {
166 margin: 0;
167 font-size: calc(100% / var(--downloads-item-font-size-factor));
168}
169
170#downloadsSummaryDetails,
171.downloadDetails {
172 opacity: var(--downloads-item-details-opacity);
173 /* Use calc() to keep the height consistent with .downloadTarget, so that the
174 progress bar can be vertically centered. */
175 margin: 4px 0 calc(1em / var(--downloads-item-font-size-factor) - 1em);
176}
177
178/* The following rules control which message is shown under the name of the
179 download, using a set of elements that share the class ".downloadDetails".
180 At any given time, only one of these elements is displayed. We use a set of
181 rules to hide the elements that shouldn't be displayed in each case. */
182
183/* The full status message is only displayed in the Downloads View. */
184.downloadDetailsFull {
185 display: none;
186}
187
188/* When hovering the mouse pointer over the item, instead of the normal message
189 we display a more detailed one. */
190richlistitem[type="download"]:hover > .downloadMainArea > .downloadContainer > .downloadDetailsNormal,
191richlistitem[type="download"]:not(:hover) > .downloadMainArea > .downloadContainer > .downloadDetailsHover {
192 display: none;
193}
194
195/* When hovering the action button in particular, instead of the usual hover
196 message we display the command associated with the button. */
197richlistitem[type="download"].downloadHoveringButton > .downloadMainArea > .downloadContainer > .downloadDetailsHover,
198richlistitem[type="download"]:not(.downloadHoveringButton) > .downloadMainArea > .downloadContainer > .downloadButtonLabels {
199 display: none;
200}
201
202/* When hovering the main area of a finished download whose target exists,
203 instead of the usual hover message we display the "Open File" command. */
204richlistitem[type="download"][state="1"][exists] > .downloadMainArea:hover > .downloadContainer > .downloadDetailsHover,
205richlistitem[type="download"]:not([state="1"]) > .downloadMainArea > .downloadContainer > .downloadOpenFile,
206richlistitem[type="download"]:not([exists]) > .downloadMainArea > .downloadContainer > .downloadOpenFile,
207.downloadMainArea:not(:hover) > .downloadContainer > .downloadOpenFile {
208 display: none;
209}
210
211/* When hovering items blocked by Application Reputation, instead of the other
212 hover messages we display the "Show more information" label. */
213richlistitem[type="download"][verdict] > .downloadMainArea > .downloadContainer > .downloadDetailsHover,
214richlistitem[type="download"][verdict] > .downloadMainArea > .downloadContainer > .downloadButtonLabels,
215richlistitem[type="download"]:not([verdict]) > .downloadMainArea > .downloadContainer > .downloadShowMoreInfo,
216richlistitem[type="download"]:not(:hover) > .downloadMainArea > .downloadContainer > .downloadShowMoreInfo {
217 display: none;
218}
219
220richlistitem[type="download"][verdict] > toolbarseparator {
221 visibility: hidden;
222}
223
224.downloadButton {
225 min-width: 58px;
226 margin: 0;
227/* border: none; */
228 background: transparent;
229 padding: 0;
230 color: inherit;
231}
232
233.downloadButton > .button-box > .button-icon {
234 width: 16px;
235 height: 16px;
236 margin: 1px;
237 filter: url("chrome://global/skin/filters.svg#fill");
238 fill: currentColor;
239}
240
241.downloadButton > .button-box > .button-text {
242 margin: 0 !important;
243 padding: 0;
244}
245
246richlistitem[type="download"][state="1"][exists] .downloadMainArea:hover,
247richlistitem[type="download"]:not([verdict]) > .downloadButtonArea:hover,
248richlistitem[type="download"][verdict]:hover {
249 background-color: var(--arrowpanel-dimmed);
250}
251
252richlistitem[type="download"][state="1"][exists] > .downloadMainArea:hover:active,
253richlistitem[type="download"]:not([verdict]) > .downloadButtonArea:hover:active,
254richlistitem[type="download"][verdict]:hover:active {
255 background-color: var(--arrowpanel-dimmed-further);
256}
257
258richlistitem[type="download"][showingsubview] {
259 background-color: #794900;
260 color: #FFCF00;
261 transition: background-color var(--panelui-subview-transition-duration),
262 color var(--panelui-subview-transition-duration);
263}
264
265richlistitem[type="download"][verdict="Malware"]:hover,
266richlistitem[type="download"][verdict="Malware"]:hover:active,
267richlistitem[type="download"][verdict="Malware"][showingsubview] {
268 background-color: #FF0000;
269 color: #000000;
270}
271
272/*** Button icons ***/
273
274.downloadIconCancel > .button-box > .button-icon {
275 list-style-image: url("chrome://browser/skin/panel-icons.svg#cancel");
276}
277
278.downloadIconShow > .button-box > .button-icon {
279 list-style-image: url("chrome://browser/skin/panel-icons.svg#folder");
280}
281
282.downloadIconRetry > .button-box > .button-icon {
283 list-style-image: url("chrome://browser/skin/panel-icons.svg#retry");
284}
285
286.downloadShowBlockedInfo > .button-box > .button-icon {
287 list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-right");
288}
289
290.downloadShowBlockedInfo > .button-box > .button-icon:-moz-locale-dir(rtl) {
291 list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-left");
292}
293
294/*** Blocked subview ***/
295
296#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype=main] > .panel-subviews {
297 /* When the main view is showing, the shadow on the left edge of the subview is
298 barely visible on the right edge of the main view, so set it to none. */
299 box-shadow: none;
300}
301
302/* When the subview is showing, turn the download button into an arrow pointing
303 back to the main view. */
304#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="subview"] .download-state[showingsubview] .downloadButton {
305 color: #FFCF00;
306}
307
308#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="subview"] .download-state[showingsubview] .downloadButton > .button-box > .button-icon {
309 list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-left");
310}
311
312#downloadsPanel-multiView > .panel-viewcontainer > .panel-viewstack[viewtype="subview"] .download-state[showingsubview] .downloadButton > .button-box > .button-icon:-moz-locale-dir(rtl) {
313 list-style-image: url("chrome://browser/skin/panel-icons.svg#arrow-right");
314}
315
316#downloadsPanel-blockedSubview {
317 background-image: url("chrome://browser/skin/warning.svg");
318 background-size: 32px 32px;
319 background-position: 16px 16px;
320 background-repeat: no-repeat;
321}
322
323#downloadsPanel-blockedSubview:-moz-locale-dir(rtl) {
324 background-position: calc(100% - 16px) 16px;
325}
326
327#downloadsPanel-blockedSubview[verdict=Malware] {
328 background-image: url("chrome://browser/skin/downloads/download-blocked.svg");
329}
330
331#downloadsPanel-blockedSubview-title {
332 margin-top: 16px;
333 margin-bottom: 16px;
334 font-size: calc(100% / var(--downloads-item-font-size-factor));
335}
336
337#downloadsPanel-blockedSubview-details1,
338#downloadsPanel-blockedSubview-details2 {
339 font-size: calc(100% * var(--downloads-item-font-size-factor));
340 margin-bottom: 16px;
341 opacity: var(--downloads-item-details-opacity);
342}
343
344#downloadsPanel-blockedSubview-title,
345#downloadsPanel-blockedSubview-details1,
346#downloadsPanel-blockedSubview-details2 {
347 -moz-margin-start: 64px;
348 -moz-margin-end: 16px;
349}
350
351/*** Progressmeter ***/
352/* %include progressmeter.inc.css - this happens as @import at the start of the file */
353
354/* === END downloads.inc.css === */
355
356/*** Panel and outer controls ***/
357
358#downloadsPanel[keyfocus] #downloadsSummary:focus,
359#downloadsPanel[keyfocus] .downloadsPanelFooterButton:focus {
360 outline: 1px #008484 dotted;
361 outline-offset: -1px;
362}
363
364#downloadsPanel[keyfocus] #downloadsSummary:focus {
365 outline-offset: -5px;
366}
367
368richlistitem[type="download"][showingsubview] {
369 background-color: Highlight;
370 color: HighlightText;
371 transition: background-color var(--panelui-subview-transition-duration),
372 color var(--panelui-subview-transition-duration);
373}
374
375#downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"][exists][verdict="Malware"]:hover,
376#downloadsPanel:not([keyfocus]) richlistitem[type="download"][state="1"][exists][verdict="Malware"]:hover:active,
377richlistitem[type="download"][showingsubview][verdict="Malware"] {
378 background-color: hsl(4, 82%, 47%);
379 color: white;
380}
381
382
383/*** List items and similar elements in the summary ***/
384
385:root {
386 --downloads-item-height: 5.5em;
387 --downloads-item-font-size-factor: 0.9;
388 --downloads-item-details-opacity: 0.6;
389}
390
391.downloadButton > .button-box {
392 border: 1px solid transparent;
393}
394
395#downloadsPanel[keyfocus] .downloadButton:focus > .button-box {
396 border: 1px dotted #008484;
397}
398
399richlistitem[type="download"][verdict="PotentiallyUnwanted"] .blockedIcon {
400 list-style-image: url("chrome://global/skin/icons/warning.svg");
401}
402
403richlistitem[type="download"][verdict="Uncommon"] .blockedIcon {
404 list-style-image: url("chrome://global/skin/icons/info.svg");
405}
406
407@media (-moz-windows-default-theme) {
408 richlistitem[type="download"][verdict="Malware"] {
409 color: #FF0000;
410 }
411}
412
413/*** Highlighted list items ***/
414
415#downloadsListBox:-moz-focusring > richlistitem[type="download"][selected] {
416 outline: 1px #008484 dotted;
417 outline-offset: -1px;
418 /*-moz-outline-radius: 3px;*/
419}