1/* Tango style sheet */
2
3#Mixxx {  /*
4  AlignRight just for testing, to attach SkinSettings to right edge.
5  Not working. See https://bugs.launchpad.net/mixxx/+bug/1623997 */
6  qproperty-layoutAlignment: 'AlignRight | AlignVCenter';
7  background-color: #1e1e1e;
8  font-size: 12px/12px;
9}
10
11#SkinContainer {  /*
12  AlignRight just for testing, to attach SkinSettings to right edge.
13  Not working. See https://bugs.launchpad.net/mixxx/+bug/1623997 */
14  qproperty-layoutAlignment: 'AlignRight | AlignTop';
15  background-color: #1e1e1e;
16}
17
18WLabel, QLabel,
19WNumber, WNumberPos,
20WPushButton,
21WKey,
22WTime,
23WTrackText,
24WTrackProperty,
25WRecordingDuration,
26QSpinBox,
27WBeatSpinBox,
28WOverview #PassthroughLabel,
29WCueMenuPopup,
30WEffect,
31WEffectSelector,
32WEffectSelector QAbstractScrollArea,
33#fadeModeCombobox,
34#fadeModeCombobox QAbstractScrollArea,
35WLibraryTextBrowser,
36WLibrary QPushButton,
37WLibrary QLabel,
38WLibrary QRadioButton {
39  font-family: Ubuntu;
40  font-weight: normal;
41  font-style: normal;
42}
43/* Unfortunately, the proportional line height of the Ubuntu font
44  is not as tall as Open Sans. For single-line buttons this doesn't
45  matter but the context menus would look crammed.
46  This: use Open Sans for all menus and related widgets. */
47#MainMenu,
48#MainMenu QMenu,
49QToolTip,
50WCueMenuPopup QLabel,
51WTrackMenu,
52WTrackMenu QMenu,
53WTrackMenu QMenu QCheckBox,
54QLineEdit QMenu,
55WCoverArtMenu,
56WLibrarySidebar QMenu,
57WLibraryTextBrowser QMenu,
58WOverview, /* Hotcue labels in the overview */
59WEffectSelector,
60WEffectSelector QAbstractScrollArea,
61#fadeModeCombobox,
62#fadeModeCombobox QAbstractScrollArea,
63/* With 'Ubuntu' font the header section titles would always be top-aligned... */
64WTrackTableViewHeader::section {
65  font-family: "Open Sans";
66  font-weight: normal;
67  font-style: normal;
68}
69
70WPushButton {
71  font-weight: normal;
72  border-radius: 3px;
73}
74
75WPushButton,
76WLibrary QPushButton,
77WLibrary QLabel,
78WLibrary QRadioButton {
79  font-size: 12px/12px;
80}
81
82WWidgetGroup {
83  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
84  border-radius: 1px;
85}
86
87#Library_Singleton,
88#LibraryContainer,
89#DeckContainer {
90  background-color: #1e1e1e;
91}
92
93#GuiCover {
94  qproperty-layoutAlignment: 'AlignVCenter | AlignHCenter';
95  /* background is #333, so this has to blend in */
96  background-color: rgba(51, 51, 51, 120);
97  }
98  #UnconfiguredHeadphoneHint {
99    font-size: 14px/14px;
100    text-align: center;
101    color: #fff;
102  }
103  #UnconfiguredHeadphoneTopbar,
104  #UnconfiguredHeadphonePrevDeck {
105    font-size: 12px/12px;
106    color: #aaa;
107    }
108    #UnconfiguredHeadphoneTopbar {
109      background-color: #333;
110      padding-left: 5px;
111    }
112    #UnconfiguredHeadphonePrevDeck {
113      background-color: rgba(51, 51, 51, 200);
114      margin-left: 25px;
115      padding: 1px 0px;
116    }
117
118
119/* splitters between
120    - waveforms & lower skin part
121    - treeview & library table */
122#LibrarySplitter::handle:horizontal {
123  image: url(skin:/../Tango/graphics/splitterHori_handle.svg);
124  }
125  #LibrarySplitter::handle:horizontal:hover,
126  #LibrarySplitter::handle:horizontal:pressed {
127    image: url(skin:/../Tango/graphics/splitterHori_handle_pressed.svg);
128  }
129  /* splitter between coverArt and tree view */
130  #LibrarySplitter::handle:vertical,
131  #WaveformSplitter::handle:vertical {
132    image: url(skin:/../Tango/graphics/splitterVert_handle.svg);
133    }
134    #LibrarySplitter::handle:vertical:hover,
135    #LibrarySplitter::handle:vertical:pressed,
136    #WaveformSplitter::handle:vertical:hover,
137    #WaveformSplitter::handle:vertical:pressed {
138      image: url(skin:/../Tango/graphics/splitterVert_handle_pressed.svg);
139    }
140
141
142
143/*################################################################
144 #######  Skin Settings  ########################################
145##############################################################*/
146
147#SkinSettingsHeader {
148  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
149  margin: 0px;
150  padding: 0px;
151  }
152  #SkinSettingsClose {
153    border-radius:2px;
154    background-color: transparent;
155    image: url(skin:/../Tango/buttons/btn_skinsettings_close.svg) no-repeat center top;
156    }
157    #SkinSettingsClose:hover {
158      border-radius:2px;
159      background-color: #0f0f0f;
160      image: url(skin:/../Tango/buttons/btn_skinsettings_close_hover.svg) no-repeat center top;
161    }
162
163#SkinSettingsSeparator {
164}
165
166#CategoryLabel,
167#SkinSettingsCategoryButton {
168  font-size: 16px/20px;
169  text-align: left;
170  color: #eeeeee;
171  background-color: none;
172}
173#CategoryLabel {
174  padding: 2px 0px 0px 15px;
175  border-top: 1px solid #000;
176}
177#SkinSettingsCategoryButton {
178  padding: 2px 0px 0px 0px;
179}
180#SkinSettingsHeader > #CategoryLabel,
181#SkinSettingsCategoryButton {
182  border: 0px;
183  border-radius: 0px;
184}
185#SkinSettingsSubMenu {
186  padding-left: 10px;
187}
188
189#SkinSettingsButton,
190#SkinSettingsButtonMulti  {
191  font-size: 12px/12px;
192  }
193  #SkinSettingsButton {
194    border-radius: 0px;
195  }
196  #DeckButtonVisibility[displayValue="0"] {
197    color: #888;
198    }
199    #DeckButtonVisibility[displayValue="0"]:hover,
200    #DeckButtonVisibility[displayValue="1"]:hover {
201    background-color: #000;
202    border: 1px solid #666;
203    }
204  #SkinSettingsButtonMulti {
205    text-align: center;
206    border-radius: 1px;
207    }
208    #SkinSettingsButtonMulti[displayValue="0"] {
209      border: 1px solid #000;
210      }
211      #SkinSettingsButtonMulti[displayValue="0"]:hover {
212        border: 1px solid #666;
213      }
214    #SkinSettingsButtonMulti[displayValue="1"] {
215      background-color: #000;
216      color: #fff;
217      font-weight: bold;
218      border: 1px solid #0f0f0f;
219    }
220
221#DeckIndicatorSettings {
222  margin-left: 17px;
223}
224#DeckButtonVisibility {
225  margin-right: 1px;
226  font-weight: bold;
227  border-radius: 1px;
228  }
229
230#SubmenuCover,
231#CoverSpinnyHint {
232  background-color: rgba(26,26,26,135);
233}
234#SkinSettingsLabel,
235#SubmenuHint {
236  font-size: 12px/12px;
237  }
238  #SkinSettingsLabel {
239    padding-bottom: 2px;
240  }
241  #SubmenuHint {
242    color: #777;
243    margin-bottom: 2px;
244  }
245#CoverSpinnyHint {
246  font-size: 14px;
247  font-weight: bold;
248  color: #f56200;
249  margin: 2px 0px;
250}
251
252
253
254/*################################################################
255 ######## Mixer Bar #############################################
256##############################################################*/
257#Topbar {
258  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
259  margin: 0px 0px 3px 0px;
260}
261
262#MixerBar {
263  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
264  margin: 0px;
265  padding: 0px;
266  qproperty-layoutSpacing: 0px;
267  border: 0px;
268}
269
270#MixerbarSection,
271#CrossfaderContainer {
272  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
273  qproperty-layoutSpacing: 0px;
274  border-radius: 2px;
275  border-top-right-radius: 0px;
276  border-top-left-radius: 0px;
277  background-color: #333;
278  }
279  #MixerbarSection {
280    margin: 0px;
281  }
282  #CrossfaderContainer {
283    margin: 0px 8px;
284  }
285
286#MasterHeadMixerLabel {
287  image: url(skin:/../Tango/buttons/btn_master_head_mixer.svg) no-repeat center center;
288  }
289  #MasterMixerLabel {
290    image: url(skin:/../Tango/buttons/btn_master.svg) no-repeat center center;
291  }
292  #HeadphoneMixerLabel {
293    image: url(skin:/../Tango/buttons/btn_head.svg) no-repeat center center;
294  }
295#BoothMixerLabel {
296  image: url(skin:/../Tango/buttons/btn_booth.svg) no-repeat center center;
297}
298#MixerbarKnob {
299  qproperty-layoutAlignment: 'AlignCenter';
300  margin-top: 0px;
301}
302#MixerbarSlider {
303  margin: 0px;
304}
305#MixerbarCover {
306  /* Note(ronso0): background is #333, so this has to blend in */
307  background-color: rgba(30, 30, 30, 200);
308}
309#MixerbarSection #GuiToggleButton[value="0"] {
310  border: 1px solid #0f0f0f;
311  }
312  #MixerbarSection #GuiToggleButton[value="0"]:hover {
313    border: 1px solid #999;
314  }
315/*################################################################
316 ######  Skin Controls / Rec / Broadcast / Clock ################
317##############################################################*/
318#SkinControlsBar {
319  qproperty-layoutAlignment: 'AlignLeft | AlignVCenter';
320}
321
322#GuiToggleButton,
323#GuiToggleButton2,
324#RecordingButton {
325  color: #888;
326  text-align: center;
327  font-weight: bold;
328  border: 1px solid #444;
329  background-color: #333;
330  }
331  #GuiToggleButton:hover,
332  #GuiToggleButton2:hover {
333    border: 1px solid #999;
334  }
335
336#GuiToggleButton[displayValue="1"],
337#GuiToggleButton[displayValue="2"] {
338  color: #eeeeee;
339  border: 1px solid #999;
340  background-color: #252525;
341  }
342  #GuiToggleButton[displayValue="1"]:hover,
343  #GuiToggleButton[displayValue="2"]:hover,
344  #GuiToggleButton2:hover {
345    border: 1px solid #d2d2d2;
346  }
347
348#RecBox {
349/* used as Rec container as well as "Rec" label to cover RecDuration
350  when inactive (--:--) */
351  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
352  border-radius: 3px;
353  background-color: #333;
354  }
355  #RecButton[displayValue="0"] {  /*
356    background-color: rgba(51, 51, 51, 120);  */
357    }
358    #RecButton[displayValue="0"]:hover,
359    #RecButton[displayValue="2"],
360    #RecButton[displayValue="1"],
361    #RecButton[displayValue="2"]:hover {
362      border: 1px solid #ff8800;
363    }
364    #RecButton[displayValue="2"] {
365      border: 1px solid #999;
366    }
367  #RecDot {
368    background-color: transparent;  /*
369    image: url(skin:/../Tango/graphics/rec_dot.svg) no-repeat center center; */
370    font-size: 12px/12px;
371    margin: 2px 0px 0px 0px;
372    }
373    #RecDot[value="0"] {
374      color: #999;
375    }
376    #RecDot[value="1"] {
377      color: #ff8800;
378    }
379    #RecDot[value="2"] {
380      color: #ff0000;
381    }
382  #RecDuration {
383    font-weight: bold;
384    color: #999;
385  }
386
387#ClockBox {
388  qproperty-layoutAlignment: 'AlignVCenter | AlignHCenter';
389  padding: 2px 0px;
390  qproperty-layoutSpacing: 2;
391  }
392  #ClockBox WLabel,
393  #Clock, WTime {
394    font-size: 15px/15px;
395    color: #999999;
396    text-align: center;
397  }
398
399#BroadcastButton,
400#SkinSettingsToggler {
401  background-color: transparent;
402  padding: 0px;
403  margin: 0px;
404  }
405  #BroadcastButton[displayValue="0"] {
406    image: url(skin:/../Tango/buttons/btn_broadcast_off.svg) no-repeat center center;
407    }
408    #BroadcastButton[displayValue="0"]:hover {
409      image: url(skin:/../Tango/buttons/btn_broadcast_off_hover.svg) no-repeat center center;
410      }
411  #BroadcastButton[displayValue="1"] {
412    image: url(skin:/../Tango/buttons/btn_broadcast_connecting.svg) no-repeat center center;
413    }
414  #BroadcastButton[displayValue="2"] {
415    image: url(skin:/../Tango/buttons/btn_broadcast_connected.svg) no-repeat center center;
416    }
417  #BroadcastButton[displayValue="3"] {
418    image: url(skin:/../Tango/buttons/btn_broadcast_failure.svg) no-repeat center center;
419    }
420  #BroadcastButton[displayValue="4"] {
421    image: url(skin:/../Tango/buttons/btn_broadcast_warning.svg) no-repeat center center;
422    }
423    #BroadcastButton:hover {
424      background-color: #0f0f0f;
425    }
426
427#SkinSettingsToggler[displayValue="0"] {
428  background-color: transparent;
429  image: url(skin:/../Tango/buttons/btn_skinsettings_off.svg) no-repeat center center;
430  }
431  #SkinSettingsToggler[displayValue="0"]:hover {
432    background-color: #0f0f0f;
433    image: url(skin:/../Tango/buttons/btn_skinsettings_on.svg) no-repeat center center;
434  }
435
436
437
438/*################################################################
439 ####### Waveforms ##############################################
440##############################################################*/
441
442/* Also, see color definitions above. */
443#WaveformContainer1,
444#WaveformContainer2,
445#WaveformContainer3,
446#WaveformContainer4 {
447  qproperty-layoutAlignment: 'AlignVCenter';
448/* waveform play position should stay centered, so we shift the waveform
449  containers right to compensate for (inactive) beatgrid button toggle
450  margin-right: -17px; */
451}
452
453#BeatgridButtons {
454/* Those buttons are pushed outside the screen by 17px (see above),
455  so bring them back in
456  padding-right: 17px; */
457}
458#WaveformContainer1,
459#WaveformContainer2,
460#WaveformContainer3,
461#WaveformContainer4 {
462/* Note(ronso0):
463  this will shift waveforms' center position to the left.
464  Useful to 'look ahead' further (who cares about history, ha?)
465  margin-left: -350px;  */
466}
467
468#BeatgridButtonToggler {
469  background-color: #333;
470  }
471  #BeatgridButtonToggler[displayValue="0"] {
472    image: url(skin:/../Tango/buttons/btn_arrow_left.svg) no-repeat center center;
473  }
474  #BeatgridButtonToggler[displayValue="0"]:hover {
475    image: url(skin:/../Tango/buttons/btn_arrow_left_hover.svg) no-repeat center center;
476  }
477#BeatgridButtonToggler[displayValue="1"] {
478  image: url(skin:/../Tango/buttons/btn_arrow_right.svg) no-repeat center center;
479}
480  #BeatgridButtonToggler[displayValue="1"]:hover {
481    image: url(skin:/../Tango/buttons/btn_arrow_right_hover.svg) no-repeat center center;
482  }
483
484#BeatgridCurpos,
485#BeatgridSlower,
486#BeatgridFaster,
487#BeatgridEarlier,
488#BeatgridLater,
489#HotcuesEarlier,
490#HotcuesLater {
491  background-color: #333;
492  }
493  #BeatgridCurpos:hover,
494  #BeatgridSlower:hover,
495  #BeatgridFaster:hover,
496  #BeatgridEarlier:hover,
497  #BeatgridLater:hover,
498  #HotcuesEarlier:hover,
499  #HotcuesLater:hover {
500    background-color: #0f0f0f;
501  }
502  #BeatgridCurpos {
503    image: url(skin:/../Tango/buttons/btn_beats_curpos.svg) no-repeat center center;
504  }
505  #BeatgridSlower {
506    image: url(skin:/../Tango/buttons/btn_beats_slower.svg) no-repeat center center;
507  }
508  #BeatgridFaster {
509    image: url(skin:/../Tango/buttons/btn_beats_faster.svg) no-repeat center center;
510  }
511  #BeatgridEarlier {
512    image: url(skin:/../Tango/buttons/btn_beats_earlier.svg) no-repeat center center;
513  }
514  #BeatgridLater {
515    image: url(skin:/../Tango/buttons/btn_beats_later.svg) no-repeat center center;
516  }
517  #HotcuesEarlier {
518    image: url(skin:/../Tango/buttons/btn_hotcues_earlier.svg) no-repeat center center;
519  }
520  #HotcuesLater {
521    image: url(skin:/../Tango/buttons/btn_hotcues_later.svg) no-repeat center center;
522  }
523
524/*################################################################
525 ######  Mic & Aux  #############################################
526##############################################################*/
527#MicAuxContainer {
528  margin-bottom: 5px;
529}
530
531#MicSection {
532  qproperty-layoutAlignment: 'AlignRight | AlignTop';
533}
534#AuxSection {
535  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
536  }
537  #MicSectionIcon {
538    image: url(skin:/../Tango/buttons/btn_mic_section.svg) no-repeat center center;
539  }
540  #AuxSectionLabel {
541    image: url(skin:/../Tango/buttons/btn_aux_section.svg) no-repeat center center;
542  }
543
544#MicUnit, #AuxUnit {
545  qproperty-layoutAlignment: 'AlignLeft | AlignVCenter';
546  background-color: #333;
547  margin-right: 5px;
548  padding-left: 2px;
549  }
550  #MicUnitIcon {
551    image: url(skin:/../Tango/buttons/btn_mic_unit.svg) no-repeat center left;
552  }
553  #AuxUnitIcon {
554    image: url(skin:/../Tango/buttons/btn_aux_unit.svg) no-repeat center left;
555  }
556  #MicUnitLabel, #AuxUnitLabel {
557    padding-bottom: 8px;
558    color: #b4b4b4;
559    font-size: 16px/22px;
560    font-weight: bold;
561    text-align: right;
562  }
563
564#MicAuxKnob {
565  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
566  margin-top: 1px;
567}
568
569#MicDuckingButton {
570  background-color: #777;
571  color: #0f0f0f;
572  font-weight: bold;
573  }
574#MicDuckingButton[displayValue="0"] {
575  border: 1px solid #0f0f0f;
576  }
577  #MicDuckingButton[displayValue="0"]:hover {
578    border: 1px solid #d2d2d2;
579  }
580#MicDuckingButton[displayValue="1"],
581#MicDuckingButton[displayValue="2"] {
582  color: #eeeeee;
583  border: 1px solid #d2d2d2;
584  }
585  #MicDuckingButton[displayValue="1"]:hover,
586  #MicDuckingButton[displayValue="2"]:hover {
587    border: 1px solid #fff;
588  }
589
590#AuxXfaderButton:hover {
591  background-color: #0f0f0f;
592}
593
594/*################################################################
595 ######  Decks  #################################################
596##############################################################*/
597
598#DeckContainer {
599  qproperty-layoutAlignment: 'AlignTop';
600}
601
602#Deck1,
603#Deck3,
604#Deck2,
605#Deck4
606#DeckMini1,
607#DeckMini2,
608#DeckMini3,
609#DeckMini4 {
610  background-color: #0f0f0f;
611}
612
613#DeckContainer {
614  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
615  padding-bottom: 5px;
616}
617
618#DeckMini1,
619#DeckMini3 {
620  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
621  margin: 0px 4px 5px 0px;
622  border-top-right-radius: 2px;
623  border-bottom-right-radius: 2px;
624}
625
626#DeckMini2,
627#DeckMini4 {
628  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
629  margin: 0px 0px 5px 4px;
630  border-top-left-radius: 2px;
631  border-bottom-left-radius: 2px;
632}
633
634WLabel#TrackBy,
635WLabel#TrackByMini,
636WLabel#TrackComment {
637  color: #888;}
638#DeckContainer WLabel,
639#DeckContainerMini WLabel {
640  color: #b4b4b4;}
641
642#DeckMini_TitlePlayPosKeyBPM {
643  qproperty-layoutAlignment: 'AlignRight | AlignTop';
644  background-color: #333;
645  margin: 0px 1px 0px 1px;
646}
647
648#DeckOverview {
649  background-color: #0f0f0f;
650  }
651  #VinylTogglerLeft[displayValue="0"],
652  #VinylTogglerRightPassthrough[displayValue="1"],
653  #VinylTogglerRight[displayValue="1"] {
654    background-color: transparent;
655    image: url(skin:/../Tango/buttons/btn_vinyl_left.svg) no-repeat top center;
656    }
657    #VinylTogglerLeft[displayValue="0"]:hover,
658    #VinylTogglerRightPassthrough[displayValue="1"]:hover,
659    #VinylTogglerRight[displayValue="1"]:hover {
660      background-color: transparent;
661      image: url(skin:/../Tango/buttons/btn_vinyl_left_hover.svg) no-repeat top center;
662    }
663  #VinylTogglerLeft[displayValue="1"],
664  #VinylTogglerLeftPassthrough[displayValue="1"],
665  #VinylTogglerRight[displayValue="0"] {
666    background-color: transparent;
667    image: url(skin:/../Tango/buttons/btn_vinyl_right.svg) no-repeat top center;
668    }
669    #VinylTogglerLeft[displayValue="1"]:hover,
670    #VinylTogglerLeftPassthrough[displayValue="1"]:hover,
671    #VinylTogglerRight[displayValue="0"]:hover {
672      background-color: transparent;
673      image: url(skin:/../Tango/buttons/btn_vinyl_right_hover.svg) no-repeat top center;
674    }
675  /* When passthrough is active but Vinyl Controls are hidden,
676    yellow background indicates passthrough, similar to how
677    the FX expand toggle does */
678  #VinylTogglerLeftPassthrough[displayValue="0"] {
679    background: #00ffff;
680    image: url(skin:/../Tango/buttons/btn_vinyl_pass_left.svg) no-repeat top center;
681    }
682    #VinylTogglerLeftPassthrough[displayValue="0"]:hover {
683      image: url(skin:/../Tango/buttons/btn_vinyl_pass_left_hover.svg) no-repeat top center;
684    }
685  #VinylTogglerRightPassthrough[displayValue="0"] {
686    background: #00ffff;
687    image: url(skin:/../Tango/buttons/btn_vinyl_pass_right.svg) no-repeat top center;
688    }
689    #VinylTogglerRightPassthrough[displayValue="0"]:hover {
690      image: url(skin:/../Tango/buttons/btn_vinyl_pass_right_hover.svg) no-repeat top center;
691    }
692
693  #VinylControlButton,
694  #VinylControlStatus,
695  #VinylModeButton,
696  #VinylCueModeButton,
697  #PassthroughButton {
698    }
699  #PassthroughButton {
700    margin: 0px 0px 1px 1px;
701    }
702  #VinylControlButton[displayValue="0"],
703  #VinylModeButton,
704  #VinylCueModeButton,
705  #PassthroughButton {
706    font-size: 11px/11px;
707    color: #888;
708    background-color: #333;
709    }
710    #VinylControlButton:hover,
711    #VinylModeButton:hover {
712      border: 1px solid #999999;
713    }
714    #PassthroughButton[displayValue="0"]:hover {
715      border: 1px solid #ff8f00;
716    }
717  #VinylModeButton[displayValue="1"],
718  #VinylModeButton[displayValue="2"],
719  #VinylControlButton[displayValue="1"] {
720    color: #eeeeee;
721    font-weight: bold;
722    } /*
723  #VinylModeButton[displayValue="1"],
724  #VinylModeButton[displayValue="2"], */
725  #VinylControlStatus[displayValue="0"] {
726    background-color: #666;
727    }
728  #VinylControlButton[displayValue="1"] {
729    background-color: transparent;
730    }
731  #VinylControlStatus[displayValue="1"] {
732    background-color: #468c00;
733  }
734  #VinylControlStatus[displayValue="2"] {
735    background-color: #ff6600;
736  }
737  #VinylControlStatus[displayValue="3"] {
738    background-color: #ff0000;
739  }
740  #PassthroughButton[displayValue="1"] {
741    color: #0f0f0f;
742    font-weight: bold;
743    background-color: #ff8f00;
744    }
745    #PassthroughButton[displayValue="1"]:hover {
746      border: 1px solid #fff;
747    }
748
749  #DeckRowCommentFx {
750    qproperty-layoutAlignment: 'AlignVCenter';
751    background-color: #0f0f0f;
752  }
753  WLabel#TrackComment {
754    /* Note(ronso0):
755    defining font-size here breaks top alignment  */
756    padding-left: 1px;
757    /* Note(ronso0):
758    Somehow this is necessary to display multi-line comments correctly.
759    Without it, first line would be cropped. */
760    padding-top: 1px;
761    color: #888;
762    text-align: left;
763    background-color: #333;
764    }
765
766#DeckRowText {
767  qproperty-layoutAlignment: 'AlignVCenter';
768  background-color: #333;
769  }
770  #PlayPosition, #TrackTitle {
771    font-size: 18px/18px;
772    font-weight: bold;
773  }
774  #Duration, #TrackBy, #TrackArtist, #TrackTitleMini, #PlayPositionMini {
775    font-size: 16px/16px;
776    font-weight: bold;
777  }
778  #PlayPosition, #PlayPositionMini {
779    /* Draw a border to emphasize that play position display can be changed
780    to show both elapsed and remaining time */
781    border: 1px solid transparent;
782    }
783  #PlayPosition {
784    padding: 0px 0px 0px 1px;
785    }
786  #PlayPositionMini {
787    padding: 0px 1px 0px 0px;
788    }
789    #PlayPosition:hover, #PlayPositionMini:hover {
790      border: 1px solid #ccc;
791    }
792  #TrackTitleMini {
793    padding: 0px 0px 0px 1px;
794  }
795  #TrackArtist {
796    padding-top: 2px;
797  }
798  WLabel#TrackBy, WLabel#TrackByMini {
799    color: #888;
800  }
801  WLabel#TrackByMini {
802    padding: 2px 6px 0px 6px;
803  }
804  #LoopIndicator:hover {
805    border: 1px solid #fff;
806    }
807    #LoopIndicator[displayValue="1"] {
808      image: url(skin:/../Tango/buttons/btn_reloop_on.svg) no-repeat center center;
809    }
810
811#DeckRowTransport {
812  background-color: #0f0f0f;
813  }
814  #DeckControlsLeft {
815    qproperty-layoutAlignment: 'Alignleft | AlignVCenter';
816    padding: 1px 0px 1px 1px;
817    background-color: #333;
818  }
819  #DeckControlsRight {
820    qproperty-layoutAlignment: 'AlignRight | AlignVCenter';
821    padding: 1px 1px 1px 0px;
822    background-color: #333;
823    border-radius: 0px;
824  }
825
826#DeckControlsExpandedLeft,
827#DeckControlsExpandedRight,
828#DeckButton:hover,
829#DeckControlsToggle_Left[displayValue="1"],
830#DeckControlsToggle_Right[displayValue="1"] {
831  background-color: #151515;
832}
833#DeckButtonExpanded:hover {
834  background-color: #000;
835}
836#DeckControlsExpandedLeft {
837  border-radius: 0px;
838  border-top-right-radius: 3px;
839  border-bottom-right-radius: 3px;
840}
841#DeckControlsExpandedRight {
842  border-radius: 0px;
843  border-bottom-left-radius: 3px;
844  border-top-left-radius: 3px;
845}
846#DeckControlsToggle_Left[displayValue="1"] {
847  border-top-right-radius: 0px;
848  border-bottom-right-radius: 0px;
849}
850#DeckControlsToggle_Right[displayValue="1"] {
851  border-top-left-radius: 0px;
852  border-bottom-left-radius: 0px;
853}
854
855  #DeckControlsToggle_Left[displayValue="0"],
856  #MasterHeadMixerToggle[displayValue="0"] {
857    image: url(skin:/../Tango/buttons/btn_arrow_right.svg) no-repeat center center;
858    }
859    #DeckControlsToggle_Left[displayValue="0"]:hover,
860    #MasterHeadMixerToggle[displayValue="0"]:hover {
861      image: url(skin:/../Tango/buttons/btn_arrow_right_hover.svg) no-repeat center center;
862    }
863    #DeckControlsToggle_Left[displayValue="1"],
864    #MasterHeadMixerToggle[displayValue="1"] {
865      image: url(skin:/../Tango/buttons/btn_arrow_left.svg) no-repeat center center;
866    }
867    #DeckControlsToggle_Left[displayValue="1"]:hover,
868    #MasterHeadMixerToggle[displayValue="1"]:hover {
869      image: url(skin:/../Tango/buttons/btn_arrow_left_hover.svg) no-repeat center center;
870    }
871
872  #DeckControlsToggle_Right[displayValue="0"] {
873    image: url(skin:/../Tango/buttons/btn_arrow_left.svg) no-repeat center center;
874    }
875    #DeckControlsToggle_Right[displayValue="0"]:hover {
876      image: url(skin:/../Tango/buttons/btn_arrow_left_hover.svg) no-repeat center center;
877    }
878    #DeckControlsToggle_Right[displayValue="1"] {
879      image: url(skin:/../Tango/buttons/btn_arrow_right.svg) no-repeat center center;
880    }
881    #DeckControlsToggle_Right[displayValue="1"]:hover {
882      image: url(skin:/../Tango/buttons/btn_arrow_right_hover.svg) no-repeat center center;
883    }
884
885  #Keylock[displayValue="1"]:hover {
886    border: 1px solid #d2d2d2;
887  }
888
889  #DeckStars:hover {
890    background-color: #151515;
891    border-radius: 2px;
892    }
893  /* Starrating in deck_buttons.xml for loaded tracks */
894  WStarRating {
895    margin: 0px;
896    padding: 4px;
897    color: #888;
898    background-color: none;
899    }
900
901/*################################################################
902 #######  Play, Cue and HotCue buttons  #########################
903##############################################################*/
904
905/* Actual Play button. Receives click events, turns red
906  when playing regularly, not from Cue or HotCue */
907#PlayCue[displayValue="0"] {
908  background-color: transparent;
909  }
910  #SamplerPlayCueUnderlay[displayValue="1"] {
911    background: #a90000;
912  }
913
914#PassthroughPlayCover {
915  background-color: transparent;
916  image: url(skin:/../Tango/buttons/btn_mic_aux_mute.svg) no-repeat center center;
917}
918
919#MicTalkover,
920#AuxEnable {
921  background-color: transparent;
922  image: url(skin:/../Tango/buttons/btn_mic_aux_mute.svg) no-repeat center center;
923}
924
925#PlayCue[displayValue="0"]:hover,
926#MicTalkover[displayValue="0"]:hover,
927#AuxEnable[displayValue="0"]:hover,
928#MicAuxAdd[displayValue="0"]:hover {
929  border: 1px solid #ff9900;
930  }
931  #SamplerDeck #PlayCue[displayValue="0"]:hover {
932    background-color: rgba(255, 128, 0, 210);
933  }
934
935#PlayCue[displayValue="1"],
936#PlayIndicator[value="1"],
937#MicTalkover[displayValue="1"],
938#AuxEnable[displayValue="1"],
939#PassthroughPlayCover,
940#LoopIndicator {
941  background-color: #ff8000;
942  border: 1px solid #ff9900;
943  }
944  #PreviewIndicator[value="1"] {
945    border: 3px solid #ff9900;
946  }
947  #PreviewPlay #PreviewIndicator {
948    background-color: #333;
949  }
950  #PlayCue[displayValue="1"]:hover,
951  #SamplerPlayCue[displayValue="1"]:hover,
952  #MicTalkover[displayValue="1"]:hover,
953  #AuxEnable[displayValue="1"]:hover {
954    border: 1px solid #eeeeee;
955  }
956
957#MicTalkover[displayValue="0"],
958#AuxEnable[displayValue="0"],
959#MicAuxAdd[displayValue="0"] {
960  background-color: #777;
961  border: 1px solid #0f0f0f;
962  }
963/* The button which signals alternate play status when
964  playing from Cue/HotCue */
965#PlayUnderlay[displayValue="0"] {
966  }
967  #PlayUnderlay[displayValue="1"] {
968    border: 1px solid #ff8000;
969  }
970
971#MicAuxAdd {
972  font: 17px;
973  font-weight: bold;
974  color: #0f0f0f;
975}
976
977#HotCues_Sampler_Preview {
978  qproperty-layoutAlignment: 'AlignBottom';
979  background-color: #0f0f0f;
980}
981
982#HotcueButton,
983#CueButton {
984  font-size: 14px/16px;
985  font-weight: bold;
986  }
987#SpecialCueButton {
988  font-size: 12px/14px;
989  font-weight: bold;
990  }
991  #SpecialCueButton[displayValue="0"],
992  #HotcueButton[displayValue="0"],
993  #CueUnderlay,
994  #PlayIndicator[value="0"] {
995    color: #888;
996    background-color: #333;
997    }
998  #SpecialCueButton[displayValue="0"]:hover,
999  #HotcueButton[displayValue="0"]:hover,
1000  #CueButton[displayValue="0"]:hover {
1001    border: 1px solid #aaaaaa;
1002    }
1003  #SpecialCueButton[displayValue="1"],
1004  #HotcueButton[displayValue="1"],
1005  #CueButton[displayValue="1"],
1006  #CueUnderlay[displayValue="1"] {
1007    color: #eeeeee;
1008    background-color: #666;
1009    }
1010  #SpecialCueButton[displayValue="1"]:hover,
1011  #HotcueButton[displayValue="1"]:hover,
1012  #CueButton[displayValue="1"]:hover {
1013    border: 1px solid #eeeeee;
1014    }
1015
1016#HotcueButton[light="true"] {
1017    color: #0f0f0f;
1018}
1019
1020#HotcueButton[light="true"]:hover {
1021    border: 1px solid #808080;
1022}
1023
1024#CueButton {
1025/* is styled like #HotcueButton, lights up if play position
1026  is at main Cue point  */
1027  color: #d2d2d2;
1028  background-color: #333;
1029}
1030
1031/*################################################################
1032 #######  Loop Controls  ########################################
1033##############################################################*/
1034
1035#LoopBeatJumpContainer {
1036  background-color: #1e1e1e;
1037}
1038
1039#LoopBeatJumpButton,
1040#LoopSizeButton {
1041  font-weight: bold;
1042  color: #888;
1043  background-color: #333;
1044  }
1045  #LoopSizeButton {
1046    font-size: 14px/12px;
1047  }
1048  #LoopBeatJumpButton:hover,
1049  #LoopSizeButton:hover {
1050    border: 1px solid #888;
1051  }
1052  #LoopSizeButton[displayValue="1"] {
1053    border: 1px solid #ff8f00;
1054    color: #d2d2d2;
1055  }
1056  #LoopSizeButton[displayValue="1"]:hover {
1057    border: 1px solid #eeeeee;
1058  }
1059
1060#ReloopButton[displayValue="0"] {
1061  background-color: #333;
1062  }
1063  #ReloopButton[displayValue="0"]:hover {
1064    border: 1px solid #ff8f00;
1065  }
1066  #ReloopButton[displayValue="1"] {
1067  /* See also #LoopIndicator */
1068    background-color: #ff8f00;
1069    }
1070    #ReloopButton[displayValue="1"]:hover {
1071      border: 1px solid #eeeeee;
1072    }
1073
1074#LoopActivateButton[displayValue="0"] {
1075  background-color: #333;
1076  }
1077  #LoopActivateButton[displayValue="0"]:hover {
1078    border: 1px solid #ff8f00;
1079  }
1080  #LoopActivateButton[displayValue="1"] {
1081    /* See also #LoopIndicator
1082      background-color: #ff8f00; */
1083      border: 1px solid #ff8f00;
1084      background-color: #0f0f0f;
1085    }
1086
1087WBeatSpinBox,
1088#spinBoxTransition {
1089  /* Note(ronso0):
1090  make it 2px smaller in each dimension,
1091  border is added for final size.
1092  Disabled since it prevents correct skin scaling
1093  min-width: 52px;
1094  max-width: 52px;
1095  min-height: 20px;
1096  max-height: 20px; */
1097  border: 1px solid #666;
1098  border-radius: 2px;
1099  color: #aaaaaa;
1100  background-color: #0f0f0f;
1101  selection-color: #0f0f0f;
1102  selection-background-color: #d2d2d2;
1103  font-size: 13px/13px;
1104  }
1105  WBeatSpinBox {
1106    /* Note(ronso0):
1107    Apparently, a top and bottom padding needs to be set to make
1108    the spinbox expand vertically to available 22px */
1109    padding: 1px 0px 1px 3px;
1110    margin: 0px 15px 0px 0px;
1111  }
1112  #spinBoxTransition {
1113    /* Note(ronso0):
1114    Individual padding/margin in AutoDJ feature */
1115    padding: -1px 3px -1px 3px;
1116    margin: 0px 17px 3px 3px;
1117  }
1118  WBeatSpinBox:hover,
1119  #spinBoxTransition:hover {
1120    border-color: #888;
1121  }
1122  WBeatSpinBox:focus,
1123  #spinBoxTransition:focus {
1124    border-color: #ff6600;
1125    color: #ccc;
1126  }
1127
1128  WBeatSpinBox::up-button,
1129  WBeatSpinBox::down-button,
1130  #spinBoxTransition::up-button,
1131  #spinBoxTransition::down-button {
1132    subcontrol-origin: padding;
1133    position: relative;
1134    background-color: #1e1e1e;
1135    border: 1px solid #1e1e1e;
1136    border-width: 1px 0px 1px 0px;
1137    }
1138    WBeatSpinBox::up-button:hover,
1139    WBeatSpinBox::down-button:hover,
1140    #spinBoxTransition::up-button:hover,
1141    #spinBoxTransition::down-button:hover {
1142      background-color: #0f0f0f;
1143      }
1144
1145  WBeatSpinBox::up-button,
1146  #spinBoxTransition::up-button {
1147    subcontrol-position: center right;
1148    /* Note(ronso0):
1149    Regularly, up/down buttons would be stacked vertically.
1150    Here, they're both aligned 'center right' and have the same size.
1151    This would make them overlap so we need to move one of those two
1152    buttons out of the way: */
1153    right: -16px;
1154    image: url(skin:/../Tango/buttons/btn_beatbox_up.svg) no-repeat;
1155    }
1156    WBeatSpinBox::up-button:hover,
1157    #spinBoxTransition::up-button:hover {
1158      image: url(skin:/../Tango/buttons/btn_beatbox_up_hover.svg) no-repeat;
1159    }
1160  WBeatSpinBox::down-button,
1161  #spinBoxTransition::down-button {
1162    subcontrol-position: center right;
1163    border-top-left-radius: 3px;
1164    border-bottom-left-radius: 3px;
1165    image: url(skin:/../Tango/buttons/btn_beatbox_down.svg) no-repeat;
1166    }
1167    WBeatSpinBox::down-button:hover,
1168    #spinBoxTransition::down-button:hover {
1169      image: url(skin:/../Tango/buttons/btn_beatbox_down_hover.svg) no-repeat;
1170    }
1171
1172/*################################################################
1173 #######  Rate Container  #######################################
1174##############################################################*/
1175
1176#RateContainer1,
1177#RateContainer2,
1178#RateContainer3,
1179#RateContainer4,
1180#Bpm {
1181  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
1182}
1183
1184#RateControls {
1185  background-color: #0f0f0f;
1186  border-radius: 3px;
1187}
1188
1189#KeyDisplayMatch, #KeyControls {
1190}
1191#RateButtons {
1192  /*margin-top: 1px;*/
1193}
1194
1195#Bpm, #KeyDisplayMatch,
1196#RateUp, #RateDown,
1197#KeyUp, #KeyDown,
1198#PitchSliderGroup {
1199  background-color: #252525;
1200  border-radius: 3px;
1201}
1202#BpmLabel,
1203#BpmLabelMini {
1204  qproperty-alignment: 'AlignHCenter | AlignVCenter';
1205  font-size: 16px/16px;
1206  font-weight: bold;
1207  text-align: center;
1208  padding-top: 1px;
1209  }
1210  #BpmLabel {
1211    background-color: #252525;
1212  }
1213  #BpmLabelMini {
1214    background-color: #252525;
1215  }
1216  #SyncButtonOverlay[displayValue="0"]:hover,
1217  #SyncButtonOverlayMini[displayValue="0"]:hover {
1218    image: url(skin:/../Tango/buttons/btn_key_match_hover.svg) no-repeat center center;
1219  }
1220  #SyncButtonOverlay[displayValue="0"] {
1221    border: 1px solid #444;
1222  }
1223  #SyncButtonOverlayMini[displayValue="0"],
1224  #KeyMatchMini {
1225    border: 1px solid #1e1e1e;  /*
1226    border-bottom-left-radius: 0px;
1227    border-bottom-right-radius: 0px;
1228    border-bottom: 1px solid #333;  */
1229    margin-bottom: 1px;
1230  }
1231  #SyncButtonOverlay[displayValue="0"]:hover,
1232  #SyncButtonOverlayMini[displayValue="0"]:hover,
1233  #KeyMatch:hover,
1234  #KeyMatchMini:hover {
1235    background-color: rgba(70,70,70,180);
1236    border: 1px solid #ff4800;
1237  }
1238  #SyncButtonOverlay[displayValue="1"],
1239  #SamplerSyncButton[displayValue="1"] {
1240    border: 1px solid #ff4800;
1241    color: #eeeeee;
1242  }
1243  #SyncButtonOverlay[displayValue="1"]:hover,
1244  #SamplerSyncButton[displayValue="1"]:hover {
1245    border: 1px solid #eeeeee;
1246  }
1247
1248    #RateUp:hover, #RateDown:hover,
1249    #KeyUp:hover, #KeyDown:hover {
1250      background-color: #333;
1251    }
1252  #RateUp {
1253    image: url(skin:/../Tango/buttons/btn_rate_up.svg) no-repeat center center;
1254    }
1255    #RateUp:hover {
1256      image: url(skin:/../Tango/buttons/btn_rate_up_hover.svg) no-repeat center center;
1257    }
1258  #RateDown {
1259    image: url(skin:/../Tango/buttons/btn_rate_down.svg) no-repeat center center;
1260    }
1261    #RateDown:hover {
1262      image: url(skin:/../Tango/buttons/btn_rate_down_hover.svg) no-repeat center center;
1263    }
1264
1265  #KeyDisplay, #KeyDisplayMini {
1266    font-size: 14px/14px;
1267  }
1268  #KeyDisplay {
1269    padding: 0px;
1270  }
1271  #KeyDisplayMini {
1272    padding: 0px 0px 0px 0px;
1273  }
1274  #KeyMatch {
1275    border: 1px solid #444;
1276  }
1277    #KeyMatch:hover,
1278    #KeyMatchMini:hover {
1279      image: url(skin:/../Tango/buttons/btn_key_match_hover.svg) no-repeat center center;
1280    }
1281    #KeyUp {
1282      image: url(skin:/../Tango/buttons/btn_key_up.svg) no-repeat center center;
1283      }
1284      #KeyUp:hover {
1285        image: url(skin:/../Tango/buttons/btn_key_up_hover.svg) no-repeat center center;
1286      }
1287    #KeyDown {
1288      image: url(skin:/../Tango/buttons/btn_key_down.svg) no-repeat center center;
1289      }
1290      #KeyDown:hover {
1291        image: url(skin:/../Tango/buttons/btn_key_down_hover.svg) no-repeat center center;
1292      }
1293
1294
1295/* ################################################################
1296####### Deck Colors ##################################################
1297###############################################################*/
1298#Deck1 WLabel, #DeckMini1 WLabel,
1299#Deck2 WLabel, #DeckMini2 WLabel,
1300#RateContainer1 WLabel, #RateContainer1 WPushButton,
1301#RateContainer2 WLabel, #RateContainer2 WPushButton {
1302  color: #e145f3;
1303}
1304#Deck3 WLabel, #DeckMini3 WLabel,
1305#Deck4 WLabel, #DeckMini4 WLabel,
1306#RateContainer3 WLabel, #RateContainer3 WPushButton,
1307#RateContainer4 WLabel, #RateContainer4 WPushButton {
1308  color: #7DBF36;
1309}
1310WLabel#TrackBy,
1311WLabel#TrackByMini,
1312WLabel#TrackComment {
1313  color: #888;
1314}
1315#DeckOverviewRow1, #DeckOverviewRow2 {
1316  background-color: #3A0440;
1317}
1318#DeckOverviewRow3, #DeckOverviewRow4 {
1319  background-color: #19260B;
1320}
1321
1322
1323/*################################################################
1324 #######  Channel Mixer  ########################################
1325##############################################################*/
1326#MixerChannelLeft {
1327  qproperty-layoutAlignment: 'AlignRight | AlignTop';
1328  background-color: #333;
1329  border-bottom-right-radius: 3px;
1330}
1331#MixerChannelRight {
1332  qproperty-layoutAlignment: 'AlignRight | AlignTop';
1333  background-color: #333;
1334  border-bottom-left-radius: 3px;
1335}
1336
1337#VolumeSliderGain {
1338  qproperty-layoutAlignment: 'AlignHCenter';
1339  margin-top: 2px;
1340}
1341
1342#GainKnob {
1343  margin: 0px 2px 4px 2px;
1344}
1345#SuperWetDryKnob {
1346  qproperty-layoutAlignment: 'AlignVCenter | AlignHCenter';
1347  margin: 0px;
1348}
1349#FxMetaknob {
1350  qproperty-layoutAlignment: 'AlignVCenter | AlignHCenter';
1351  margin: 0px;
1352}
1353
1354#MixModeButton {
1355  border: 1px solid #0f0f0f;
1356  }
1357  #MixModeButton:hover {
1358    background-color: #151515;
1359  }
1360
1361#EQKnobContainerLeft {
1362  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
1363  margin: 0px 2px 0px 4px;
1364}
1365#EQKnobContainerRight {
1366  qproperty-layoutAlignment: 'AlignRight | AlignTop';
1367  margin: 0px 4px 0px 2px;
1368}
1369
1370#EQKillButton {
1371  margin: 1px 0px 3px 0px;
1372  }
1373  #EQKillButton[displayValue="0"] {
1374    background-color: #585858;
1375    }
1376    #EQKillButton[displayValue="0"]:hover {
1377      border: 1px solid #ff0000;
1378    }
1379  #EQKillButton[displayValue="1"] {
1380    background-color: #a90000;
1381    }
1382    #EQKillButton[displayValue="1"]:hover {
1383      border: 1px solid #aaaaaa;
1384    }
1385
1386/* Kill indicators underneath EQ knobs */
1387#EQKilledUnderlay[displayValue="1"] {
1388  image: url(skin:/../Tango/knobs_sliders/knob_eq_killed.svg) no-repeat center center;
1389}
1390#QuickFxDisabledUnderlay[displayValue="0"] {
1391  image: url(skin:/../Tango/knobs_sliders/knob_quickFX_disabled.svg) no-repeat center center;
1392}
1393
1394#QuickFXSide {
1395  padding: 0px;
1396}
1397#QuickFXBottom {
1398  padding: 0px 2px 4px 2px;
1399}
1400
1401#QuickFXButton[displayValue="0"] {
1402  background-color: #585858;
1403  }
1404  #QuickFXButton[displayValue="0"]:hover {
1405    border: 1px solid #ff8f00;
1406    }
1407#QuickFXButton[displayValue="1"] {
1408  background-color: #999;
1409  border: 1px solid #ff8f00;
1410  }
1411  #QuickFXButton[displayValue="1"]:hover {
1412    border: 1px solid #eeeeee;
1413  }
1414
1415/*  This wouldn't scale the image:
1416#PflButton[displayValue="0"] {
1417  background: transparent url(skin:/../Tango/buttons/btn_pfl_off.svg) no-repeat center center;
1418  background-origin: padding;
1419  }
1420  This is a workaround to scale and center the image, but image would appear blurred
1421  if it is scaled up too much (>120). Source:
1422  https://forum.qt.io/topic/40151/solved-scaled-background-image-using-stylesheet/6
1423  border-image: url(skin:/../Tango/buttons/btn_pfl_off.svg) 0 0 0 0 stretch stretch; */
1424#PflBoxLeft,
1425#PflBoxRight {
1426  background-color: #0f0f0f;
1427  border-color: #0f0f0f;
1428  border-style: solid;
1429  border-radius: 3px;
1430  }
1431  #PflBoxLeft {
1432    border-width: 1px 0px 0px 1px;
1433    border-top-right-radius: 0px;
1434    border-bottom-left-radius: 0px;
1435  }
1436  #PflBoxRight {
1437    border-width: 1px 1px 0px 0px;
1438    border-bottom-right-radius: 0px;
1439    border-top-left-radius: 0px;
1440  }
1441
1442/* this style is applied to all Pfl buttons in
1443decks, samplers, mic, aux, fx */
1444#PflButton[displayValue="0"] {
1445  background-color: #333;
1446}
1447#PflButton[displayValue="1"] {
1448  background-color: #0f0f0f;
1449}
1450#PflButton[displayValue="0"]:hover,
1451#PflButton[displayValue="1"]:hover {
1452  background-color: #151515;
1453}
1454
1455#FxUnitMixerLeft_mini WPushButton[displayValue="0"],
1456#FxUnitMixerRight_mini WPushButton[displayValue="0"],
1457#FxUnitMixerLeft WPushButton[displayValue="0"],
1458#FxUnitMixerRight WPushButton[displayValue="0"],
1459#SamplerDeck #PflButton {
1460  border: 1px solid #151515;
1461  }
1462  #SamplerDeck #PflButton {
1463    border-width: 0px 1px 0px 1px;
1464    border-radius: 0px;
1465  }
1466  #FxUnitMixerLeft_mini WPushButton[displayValue="1"],
1467  #FxUnitMixerRight_mini WPushButton[displayValue="1"],
1468  #FxUnitMixerLeft WPushButton[displayValue="1"],
1469  #FxUnitMixerRight WPushButton[displayValue="1"],
1470  #FxUnitMixerLeft_mini WPushButton[displayValue="0"]:hover,
1471  #FxUnitMixerRight_mini WPushButton[displayValue="0"]:hover,
1472  #FxUnitMixerLeft WPushButton[displayValue="0"]:hover,
1473  #FxUnitMixerRight WPushButton[displayValue="0"]:hover {
1474    border: 1px solid #151515;
1475  }
1476
1477#VUMeterMixer {
1478  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
1479  margin-top: 3px;
1480}
1481
1482#VUMeterFloating {
1483  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
1484  padding: 3px 0px 1px 0px;
1485  background-color: #252525;
1486  border-radius: 3px;
1487}
1488
1489#VUMeterSampler {
1490  padding: 0px 2px 0px 0px;
1491}
1492
1493#VuMeterClippingBorder[highlight="0"] {
1494  border: 1px solid transparent;
1495  }
1496  #VuMeterClippingBorder[highlight="1"] {
1497    border: 1px solid #fff;
1498  }
1499
1500#VUMeterLabelMaster {
1501  image: url(skin:/../Tango/buttons/btn_master_vu_label.svg) no-repeat center center;
1502}
1503#VUMeterLabelDeck1 {
1504  image: url(skin:/../Tango/buttons/btn_deck1_vu_label.svg) no-repeat center center;
1505}
1506#VUMeterLabelDeck2 {
1507  image: url(skin:/../Tango/buttons/btn_deck2_vu_label.svg) no-repeat center center;
1508}
1509#VUMeterLabelDeck3 {
1510  image: url(skin:/../Tango/buttons/btn_deck3_vu_label.svg) no-repeat center center;
1511}
1512#VUMeterLabelDeck4 {
1513  image: url(skin:/../Tango/buttons/btn_deck4_vu_label.svg) no-repeat center center;
1514}
1515
1516
1517/*################################################################
1518######  Effects  ###############################################
1519##############################################################*/
1520
1521#FxUnitLabel {
1522  /* not respected
1523  qproperty-alignment: center;
1524  text-align: center;*/
1525  font-size: 14px;
1526  font-weight: bold;
1527  color: #888;
1528}
1529
1530#FixedLoopSizesMiniMaxi,
1531#FxMiniMaxi,
1532#SamplersMiniMaxi {
1533  background-repeat: no-repeat;
1534}
1535#FixedLoopSizesMiniMaxi {
1536  background-position: center center;
1537}
1538#SamplersMiniMaxi {
1539  background-position: top center;
1540}
1541#FxMiniMaxi {
1542  background-position: bottom center;
1543}
1544
1545#FixedLoopSizesMiniMaxi[displayValue="0"],
1546#FxMiniMaxi[displayValue="0"],
1547#SamplersMiniMaxi[displayValue="0"] {
1548  background-image: url(skin:/../Tango/buttons/btn_arrow_down.svg)
1549  }
1550  #FixedLoopSizesMiniMaxi[displayValue="0"]:hover,
1551  #FxMiniMaxi[displayValue="0"]:hover,
1552  #SamplersMiniMaxi[displayValue="0"]:hover {
1553    background-image: url(skin:/../Tango/buttons/btn_arrow_down_hover.svg);
1554  }
1555#FixedLoopSizesMiniMaxi[displayValue="1"],
1556#FxMiniMaxi[displayValue="1"],
1557#SamplersMiniMaxi[displayValue="1"] {
1558  background-image: url(skin:/../Tango/buttons/btn_arrow_up.svg);
1559  }
1560  #FixedLoopSizesMiniMaxi[displayValue="1"]:hover,
1561  #FxMiniMaxi[displayValue="1"]:hover,
1562  #SamplersMiniMaxi[displayValue="1"]:hover {
1563    background-image: url(skin:/../Tango/buttons/btn_arrow_up_hover.svg);
1564  }
1565
1566#FxUnitControls {
1567  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
1568  background-color: #252525;
1569}
1570
1571#FxUnitMixerLeft,
1572#FxUnitMixerRight,
1573#FxUnitMixerLeft_mini,
1574#FxUnitMixerRight_mini {
1575  qproperty-layoutAlignment: 'AlignHCenter';
1576  background-color: #333;
1577  }
1578#FxUnitMixerLeft,
1579#FxUnitMixerRight {
1580    padding: 2px;
1581    border-radius: 0px;
1582  }
1583#FxUnitMixerLeft {
1584  border-bottom-right-radius: 2px;
1585  border-left: 1px solid #0f0f0f;
1586}
1587#FxUnitMixerRight {
1588  border-bottom-left-radius: 2px;
1589  border-right: 1px solid #0f0f0f;
1590}
1591  #FxUnitMixerLeft_mini {
1592    padding-left: 2px;
1593  }
1594  #FxUnitMixerRight_mini {
1595    padding-right: 2px;
1596  }
1597
1598/* effect slots backgrounds & separators indicating the effect flow */
1599/* no focus */
1600#FxFlow_mini_separator {
1601  background-color: transparent;
1602  image: url(skin:/../Tango/graphics/fxFlow_mini_noFocus_Fx1-2-3.svg) no-repeat center center;
1603}
1604#FxFlow_maxi_separator {
1605  background-color: transparent;
1606  border-radius: 0px;
1607  image: url(skin:/../Tango/graphics/fxFlow_maxi_noFocus_Fx1-2-3.svg) no-repeat right center;
1608}
1609
1610#FxFlow_focus_background,
1611/* with focus */
1612#FxFlow_focus_background[highlight="0"] {
1613  background-color: #333;
1614  border-radius: 0px;
1615  }
1616  #FxFlow_focus_background[highlight="1"] {
1617    background-color: transparent;
1618  border-radius: 0px;
1619  }
1620/* collapsed effect slots, horizontal layout */
1621#FxFlow_mini_focus_separator1-2[highlight="0"],
1622#FxFlow_mini_focus_separator1-2[highlight="3"],
1623#FxFlow_mini_focus_separator2-3[highlight="0"],
1624#FxFlow_mini_focus_separator2-3[highlight="1"] {
1625  background-color: transparent;
1626  image: url(skin:/../Tango/graphics/fxFlow_mini_noFocus_Fx1-2-3.svg) no-repeat center center;
1627  }
1628  #FxFlow_mini_focus_separator1-2[highlight="1"],
1629  #FxFlow_mini_focus_separator2-3[highlight="2"] {
1630    background-color: transparent;
1631    image: url(skin:/../Tango/graphics/fxFlow_mini_focus_left.svg) no-repeat center center;
1632  }
1633  #FxFlow_mini_focus_separator1-2[highlight="2"],
1634  #FxFlow_mini_focus_separator2-3[highlight="3"] {
1635    background-color: transparent;
1636    image: url(skin:/../Tango/graphics/fxFlow_mini_focus_right.svg) no-repeat center center;
1637  }
1638
1639/* expanded effect slots, vertical layout */
1640#FxFlow_maxi_focus_separator1-2[highlight="0"],
1641#FxFlow_maxi_focus_separator1-2[highlight="3"],
1642#FxFlow_maxi_focus_separator2-3[highlight="0"],
1643#FxFlow_maxi_focus_separator2-3[highlight="1"] {
1644  background-color: transparent;
1645  image: url(skin:/../Tango/graphics/fxFlow_maxi_noFocus_Fx1-2-3.svg) no-repeat center center;
1646  }
1647  #FxFlow_maxi_focus_separator1-2[highlight="1"],
1648  #FxFlow_maxi_focus_separator2-3[highlight="2"] {
1649    background-color: transparent;
1650    image: url(skin:/../Tango/graphics/fxFlow_maxi_focus_top.svg) no-repeat center center;
1651  }
1652  #FxFlow_maxi_focus_separator1-2[highlight="2"],
1653  #FxFlow_maxi_focus_separator2-3[highlight="3"] {
1654    background-color: transparent;
1655    image: url(skin:/../Tango/graphics/fxFlow_maxi_focus_bottom.svg) no-repeat center center;
1656  }
1657/* /effect slot focus indicators */
1658
1659#FxFocusButton {
1660  background-color: transparent;
1661}
1662  #FxFocusButton[displayValue="0"] {
1663    image: url(skin:/../Tango/buttons/btn_fx_focus_off.svg) no-repeat center center;
1664    }
1665    #FxFocusButton[displayValue="0"]:hover {
1666      image: url(skin:/../Tango/buttons/btn_fx_focus_off_hover.svg) no-repeat center center;
1667    }
1668  #FxFocusButton[displayValue="1"] {
1669    image: url(skin:/../Tango/buttons/btn_fx_focus_on.svg) no-repeat center center;
1670    }
1671    #FxFocusButton[displayValue="1"]:hover {
1672      image: url(skin:/../Tango/buttons/btn_fx_focus_on_hover.svg) no-repeat center center;
1673    }
1674
1675#FxMetaknob {
1676  /* Should shift Meta knob 2px down.
1677  Not working, although it works for Gain knob...
1678  margin: 0px 0px -2px 0px; */
1679}
1680
1681#FxToggleSelector {
1682  /* stacked layout for toggle, effect name, feedback underlay & EffectSelector */
1683  qproperty-layoutAlignment: 'AlignLeft | AlignVCenter';
1684  border-radius: 3px;
1685  }
1686  #FxToggleButton[displayValue="0"]:hover {
1687    border: 1px solid #ff8f00;
1688    }
1689    #FxToggleButton[displayValue="1"]:hover {
1690      border: 1px solid #fff;
1691      }
1692  #FxToggleButtonUnderlay[displayValue="0"] {
1693    background-color: #888;
1694    }
1695    #FxToggleButtonUnderlay[displayValue="1"] {
1696      background-color: #ff8f00;
1697      }
1698
1699  #FxNameContainer {
1700    padding: 1px 2px 1px 1px;
1701    qproperty-layoutAlignment: 'AlignLeft';
1702    }
1703    #FxName {
1704      qproperty-alignment: 'AlignLeft | AlignVCenter';
1705      color: #000;
1706      text-align: left;
1707      font-size: 13px/12px;
1708    }
1709
1710  WEffectSelector,
1711  #fadeModeCombobox {
1712    font-size: 13px/13px;
1713    /* On Linux this is applied to both effect name and effect list. */
1714    }
1715    WEffectSelector {
1716      /* Fixes the white bars on the top/bottom of the popup on Mac OS X */
1717      margin: 0px;
1718      /* If you use margin top/bottom 0, the combo box shrinks in width (go figure) and
1719          names start getting cut off. Adding explicit padding improves this. */
1720      padding: 0px 28px 0px 0px;
1721      /* The 3D frame on the combo box becomes flat when you give it a border */
1722      border: 0px solid transparent;
1723      border-radius: 3px;
1724    }
1725    #fadeModeCombobox {
1726      border: 1px solid #666;
1727      margin: 0px 0px 2px 1px;
1728      padding: 1px 3px;
1729      border-radius: 2px;
1730      height: 20px;
1731    }
1732  WEffectSelector:hover {
1733    background-color: #0f0f0f;
1734    }
1735    WEffectSelector::drop-down,
1736    #fadeModeCombobox::drop-down {
1737      border: 0px;
1738      margin: 0px;
1739      padding: 0px;
1740      }
1741      WEffectSelector::drop-down {
1742        margin-right: -2px;
1743      }
1744    WEffectSelector::down-arrow,
1745    #fadeModeCombobox::down-arrow {
1746      /* When the skin is scaled, bg-color would be applied
1747      to the (not scaled) button image only:
1748      background-color: #101010;
1749      width: 11px;
1750      height: 20px; */
1751      image: url(skin:/../Tango/buttons/btn_fx_selector_list.svg) no-repeat center center;
1752      }
1753      WEffectSelector::down-arrow:hover,
1754      #fadeModeCombobox::down-arrow:hover {
1755        image: url(skin:/../Tango/buttons/btn_fx_selector_list_hover.svg) no-repeat center center;
1756      }
1757
1758    WEffectSelector QAbstractScrollArea,
1759    #fadeModeCombobox QAbstractScrollArea {
1760      border-radius: 2px;
1761      margin: 0px;
1762    }
1763    WEffectSelector QAbstractScrollArea{
1764      min-width: 140px;
1765    }
1766    #fadeModeCombobox QAbstractScrollArea {
1767      min-width: 165px;
1768    }
1769    /* selected item */
1770    WEffectSelector::checked,
1771    #fadeModeCombobox::checked {
1772      /* not applied
1773      padding-left: 5px;
1774      font-weight: bold;
1775      background-color: #000; */
1776      color: #fff;
1777      background-color: #555;
1778    }
1779    /* tick mark frame */
1780    WEffectSelector::indicator:checked,
1781    #fadeModeCombobox::indicator:checked {
1782    /* This is sufficient to completely hide the tick mark,
1783      but this alone would show an empty, shadowed box instead of tick mark:  */
1784      /* This should decrease the tick mark's left & right margin but is not respected
1785      margin: 0px -4px 0px -4px; */
1786      /* This draws a border. And eliminates the tick mark...
1787      border: 1px solid #999; */
1788      /* This has no effect:
1789      height: 10px;
1790      width: 10px; */
1791      /* Image is rendered correctly but size of the tick mark containers
1792      won't change. Also, only with this option the hover bg color defined
1793      above will be applied... it's qt magic
1794      background: #0081B7; */
1795      margin: 3px;
1796      image: url(skin:/../Tango/buttons/btn_lib_checkmark_white.svg) no-repeat center center;
1797    }
1798    WEffectSelector::indicator:!checked,
1799    #fadeModeCombobox::indicator:!checked {
1800      image: url(skin:/../Tango/buttons/btn_.svg) no-repeat center center;
1801    }
1802
1803#FxParametersLeft {
1804  qproperty-layoutAlignment: 'AlignRight';
1805}
1806
1807#FxParametersRight {
1808  qproperty-layoutAlignment: 'AlignLeft';
1809}
1810
1811#FxParameterKnob {
1812  padding-right: 1px;
1813  qproperty-layoutAlignment: 'AlignCenter';
1814  margin-right: 1px;
1815}
1816  #FxParameterKnobName {
1817    qproperty-alignment: 'AlignLeft | AlignTop';
1818    font-size: 10px/10px;
1819    font-weight: bold;
1820    color: #999999;
1821    padding-top: -2px;
1822  }
1823
1824#FxParameterButton {
1825  qproperty-layoutAlignment: 'AlignLeft | AlignVCenter';
1826  margin-right: 1px;
1827  }
1828  #FxParameterButtonOverlay[displayValue="0"]:hover {
1829    border: 1px solid #888;
1830  }
1831  #FxParameterButtonOverlay[displayValue="1"]:hover {
1832    border: 1px solid #eeeeee;
1833  }
1834
1835  #FxParameterButtonUnderlay[displayValue="0"] {
1836    background-color: #4b4b4b;
1837  }
1838  #FxParameterButtonUnderlay[displayValue="1"] {
1839    background-color: #006596;
1840  }
1841  #FxParameterButtonName {
1842    font-size: 10px/10px;
1843    font-weight: bold;
1844    qproperty-alignment: 'AlignLeft | AlignVCenter';
1845    margin-left: 1px;
1846    }
1847    #FxParameterButtonName[highlight="0"] {
1848      color: #aaaaaa;
1849    }
1850    #FxParameterButtonName[highlight="1"] {
1851      color: #eeeeee;
1852    }
1853#FxSuperLinkButtonBox,
1854#FxSuperLinkButton,
1855#FxSuperLinkInvertButton {
1856  /* those buttons are only 5px tall, that's why they won't accept
1857  3px radius which is set for all WPushButtons */
1858  border-radius: 2px;
1859  }
1860  #FxSuperLinkButtonBox {
1861    background-color: #282828;
1862    margin: 0px 2px 0px 1px;
1863    qproperty-layoutSpacing: 1;
1864  }
1865  #FxSuperLinkInvertButton {
1866  }
1867
1868#FxSuperLinkButton[value="0"],
1869#FxSuperLinkInvertButton[displayValue="0"] {
1870  background-color: #4b4b4b;
1871}
1872#FxSuperLinkButton[value="0"]:hover {
1873  background-color: #888;
1874}
1875#FxSuperLinkInvertButton[displayValue="1"] {
1876  background-color: #a90000;
1877  }
1878  #FxSuperLinkInvertButton[displayValue="1"]:hover {
1879    background-color: #ff0000;
1880  }
1881
1882#FxSuperLinkInvertButton[displayValue="0"]:hover,
1883#FxSuperLinkButton[value="1"] {
1884  background-color: #006596;
1885  }
1886  #FxSuperLinkButton[value="1"]:hover {
1887    background-color: #078dcd;
1888  }
1889#FxSuperLinkButton[value="2"] { /*
1890  a simple way to achieve a partitioning in thirds  */
1891  background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1892    stop: 0 #006596,
1893    stop: 0.33 #006596,
1894    stop: 0.34 #4b4b4b,
1895    stop: 1 #4b4b4b);
1896  }
1897  #FxSuperLinkButton[value="2"]:hover {
1898    background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1899      stop: 0 #078dcd,
1900      stop: 0.33 #078dcd,
1901      stop: 0.34 #4b4b4b,
1902      stop: 1 #4b4b4b);
1903    }
1904#FxSuperLinkButton[value="3"] {
1905  background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1906    stop: 0 #4b4b4b,
1907    stop: 0.66 #4b4b4b,
1908    stop: 0.67 #006596,
1909    stop: 1 #006596);
1910  }
1911  #FxSuperLinkButton[value="3"]:hover {
1912    background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1913      stop: 0 #4b4b4b,
1914      stop: 0.66 #4b4b4b,
1915      stop: 0.67 #078dcd,
1916      stop: 1 #078dcd);
1917    }
1918#FxSuperLinkButton[value="4"] {
1919  background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1920    stop: 0 #006596,
1921    stop: 0.330000 #006596,
1922    stop: 0.340000 #4b4b4b,
1923    stop: 0.660000 #4b4b4b,
1924    stop: 0.670000 #006596,
1925    stop: 1 #006596);
1926  }
1927  #FxSuperLinkButton[value="4"]:hover {
1928    background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0,
1929      stop: 0 #078dcd,
1930      stop: 0.330000 #078dcd,
1931      stop: 0.340000 #4b4b4b,
1932      stop: 0.660000 #4b4b4b,
1933      stop: 0.670000 #078dcd,
1934      stop: 1 #078dcd);
1935  }
1936
1937#FxAssignButton {
1938  font-size: 13px/13px;
1939  font-weight: bold;
1940  text-align: center;
1941  border-radius: 2px;
1942  background-color: #333;
1943  }
1944  #FxAssignButton[displayValue="0"] {
1945    color: #888;
1946    }
1947    #FxAssignButton[displayValue="0"]:hover {
1948      border: 1px solid #ff8f00;
1949    }
1950  #FxAssignButton[displayValue="1"] {
1951    color: #eeeeee;
1952    border: 1px solid #ff8f00;
1953    }
1954    #FxAssignButton[displayValue="1"]:hover {
1955      border: 1px solid #fff;
1956    }
1957
1958/* Master FX buttons in top bar's mixer section are
1959styled differently because of their importance */
1960#FxMasterToggles {
1961  qproperty-layoutSpacing: 1;
1962}
1963
1964#FxMasterButton {
1965  font-size: 13px/13px;
1966  font-weight: bold;
1967  text-align: center;
1968  border-radius: 1px;
1969  }
1970  #FxMasterButton[displayValue="0"] {
1971    color: #888;
1972    background: #1e1e1e;
1973    }
1974    #FxMasterButton[displayValue="0"]:hover {
1975      border: 1px solid #ff8f00;
1976    }
1977  #FxMasterButton[displayValue="1"] {
1978    background-color: #ff8f00;
1979    color: #0f0f0f;
1980    }
1981    #FxMasterButton[displayValue="1"]:hover {
1982      border: 1px solid #fff;
1983    }
1984
1985/*################################################################
1986 ######  Samplers  ##############################################
1987##############################################################*/
1988
1989#SamplerDecks {
1990  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
1991  margin-bottom: 5px;
1992}
1993
1994#SamplerRow5 {
1995  margin-top: 2px;
1996}
1997
1998#SamplerDeck {
1999  background-color: #333;
2000}
2001
2002#SamplerPlayBox,
2003#SamplerPlayBox_mini {
2004  background-color: #0f0f0f;
2005  border-radius: 3px;
2006  }
2007  #SamplerPlayBox {
2008    padding: 0px 1px 0px 0px;
2009  }
2010  #SamplerPlayBox_mini {
2011    padding: 0px 1px 0px 0px;
2012    }
2013  #SamplerCover {
2014    background-color: #333;
2015    border-radius: 3px;
2016  }
2017
2018WTrackProperty#SamplerTitle {
2019  font-size: 14px/18px;
2020  font-weight: bold;
2021  color: #999999;
2022  text-align: left;
2023  padding: 0 0 0 1px;
2024}
2025
2026WTrackProperty#SamplerTitle_mini {
2027  font-size: 14px/14px;
2028  font-weight: bold;
2029  color: #888;
2030  text-align: left;
2031  padding: 0px 2px 0px 0px;
2032}
2033
2034#SamplerSyncGainPfl {
2035  padding: 1px;
2036}
2037
2038#SamplerGainKnob {
2039  qproperty-layoutAlignment: 'AlignHCenter';
2040}
2041
2042#SamplerButton,
2043#SamplerButton_mini {
2044  font-size: 14px/14px;
2045  font-weight: bold;
2046  text-align: center;
2047  color: #888;
2048}
2049#SamplerButton_mini {
2050  border-radius: 2px;
2051  }
2052  #SamplerButton:hover,
2053  #SamplerButton_mini:hover,
2054  #SamplerSyncButton {
2055    background-color: #0f0f0f;
2056  }
2057#SamplerKeylock {
2058  margin-left: 3px;
2059}
2060
2061#SamplerSyncButton:hover {
2062  border: 1px solid #888;
2063}
2064
2065/*################################################################
2066 ######  Spinnies  ##############################################
2067##############################################################*/
2068
2069#SpinnyCoverContainer {
2070  margin: 0px;
2071  padding: 0px;
2072  background-color: #1e1e1e;
2073}
2074
2075/*################################################################
2076 ######  Preview Deck  ##########################################
2077##############################################################*/
2078
2079#PreviewDeck {
2080  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
2081  background-color: #0f0f0f;
2082}
2083#PreviewTitle,
2084#PreviewEject,
2085#PreviewGainKnob {
2086  background-color: #333;
2087}
2088#PreviewTitleEject {
2089  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
2090  margin-bottom: 1px;
2091}
2092#PreviewPlayOverview {
2093  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
2094}
2095  #PreviewTitle {
2096    padding-left: 1px;
2097  }
2098  #PreviewTitle WLabel {
2099    font-size: 14px/14px;
2100    font-weight: bold;
2101    text-align: left;
2102    color: #bababa;
2103  }
2104  #PreviewEject:hover {
2105    border: 1px solid #eeeeee;
2106  }
2107  #PreviewPlay,
2108  #PreviewOverview {
2109    margin-right: 1px;
2110  }
2111  #PreviewGainKnob {
2112    qproperty-layoutAlignment: 'AlignVCenter | AlignHCenter';
2113  }
2114
2115
2116/*################################################################
2117 ######  Misc  ##################################################
2118##############################################################*/
2119
2120WEffectSelector::checked, /* selected item */
2121WEffectSelector::indicator, /* checkbox, tick mark */
2122WEffectSelector::drop-down,
2123WEffectSelector::indicator:unchecked,
2124#fadeModeCombobox::checked, /* selected mode */
2125#fadeModeCombobox::indicator, /* checkbox, tick mark */
2126#fadeModeCombobox::drop-down,
2127#fadeModeCombobox::indicator:unchecked {
2128  padding: 0px;
2129  margin: 0px;
2130  image: none;
2131  outline: none;
2132  border: 0px solid transparent;
2133}
2134
2135/* It is difficult to achieve identical styles WMainMenuBar #MainMenu
2136  on Windows AND Linux because item and checkbox properties are rendered
2137  slightly different.
2138  For details see
2139    * default-menu-styles-linux.qss
2140    * default-menu-styles-windows.qss
2141  Common styles are set here.
2142  Luckily we don't need to care about macOS here -Woohoo!- because
2143  there the menu bar is always styled natively. */
2144#MainMenu {
2145  margin-bottom: 0px;
2146  padding-bottom: 0px;
2147  }
2148  #MainMenu QMenu::indicator:checked,
2149  #MainMenu QMenu::indicator:checked:selected {
2150    image: url(skin:/../Tango/buttons/btn_mainmenu_checkbox_checked.svg);
2151  }
2152  #MainMenu QMenu::indicator:unchecked,
2153  #MainMenu QMenu::indicator:unchecked:selected {
2154    image: url(skin:/../Tango/buttons/btn_mainmenu_checkbox.svg);
2155  }
2156
2157#MainMenu QMenu {
2158  padding: 0.08em;
2159  border: 1px solid #888;
2160  border-radius: 2px;
2161  }
2162  #MainMenu QMenu::right-arrow,
2163  WTrackMenu::right-arrow,
2164  WTrackMenu QMenu::right-arrow {
2165    width: 0.35em;
2166    height: 0.7em;
2167    margin-right: 0.2em;
2168    image: url(skin:/../Tango/buttons/btn_arrow_right.svg);
2169  }
2170  #MainMenu QMenu::right-arrow:selected,
2171  WTrackMenu::right-arrow:selected,
2172  WTrackMenu QMenu::right-arrow:selected {
2173    image: url(skin:/../Tango/buttons/btn_arrow_right_hover.svg);
2174  }
2175
2176/* Passthrough label on overview waveform */
2177WOverview #PassthroughLabel {
2178  font-weight: bold;
2179  color: #ff8f00;
2180}
2181
2182QToolTip,
2183#MainMenu,
2184#MainMenu::item,
2185#MainMenu QMenu,
2186#MainMenu QMenu::item,
2187#MainMenu QMenu QCheckBox,
2188WLibrarySidebar QMenu,
2189WLibrarySidebar QMenu::item,
2190WTrackTableViewHeader QMenu,
2191WTrackTableViewHeader QMenu::item,
2192WLibraryTextBrowser QMenu,
2193WLibraryTextBrowser QMenu::item,
2194WTrackMenu,
2195WTrackMenu::item,
2196WTrackMenu QMenu,
2197WTrackMenu QMenu::item,
2198WTrackMenu QMenu QCheckBox,
2199QLineEdit QMenu,
2200QLineEdit QMenu::item,
2201WCoverArtMenu,
2202WCoverArtMenu::item,
2203WCueMenuPopup,
2204WCueMenuPopup QLabel,
2205#SkinSettings,
2206#SkinSettingsLabel,
2207#SkinSettingsButton,
2208#SkinSettingsButtonMulti,
2209WEffectSelector, WEffectSelector QAbstractScrollArea,
2210#fadeModeCombobox, #fadeModeCombobox QAbstractScrollArea,
2211#fadeModeCombobox QAbstractScrollArea::item {
2212  background-color: #1a1a1a;
2213  color: #ccc;
2214  }
2215QToolTip,
2216#MainMenu QMenu,
2217WLibrarySidebar QMenu,
2218WTrackTableViewHeader QMenu,
2219WLibraryTextBrowser QMenu,
2220WTrackMenu,
2221WTrackMenu QMenu,
2222QLineEdit QMenu,
2223WCueMenuPopup,
2224WCoverArtMenu,
2225WEffectSelector QAbstractScrollArea,
2226#fadeModeCombobox QAbstractScrollArea {
2227  border: 1px solid #888;
2228  border-radius: 2px;
2229  }
2230  #SkinSettings {
2231    qproperty-layoutAlignment: 'AlignLeft | AlignTop';
2232    margin: 1px 0px 1px 1px;
2233    padding-left: 5px;
2234    border-right: 0px;
2235  }
2236
2237/* selected / hovered menu items */
2238#MainMenu::item:selected,
2239#MainMenu QMenu::item:selected,
2240#MainMenu QMenu::item:focus,
2241#MainMenu QMenu::item:hover,
2242#MainMenu QMenu::indicator:checked:selected,
2243/* ::indicator:!checked won't work. use 'unchecked' */
2244#MainMenu QMenu::indicator:unchecked:selected,
2245WLibrarySidebar QMenu::item:selected,
2246WTrackTableViewHeader QMenu::item:selected,
2247WTrackMenu::item:selected,
2248WTrackMenu QMenu::item:selected,
2249WTrackMenu QMenu QCheckBox:selected,
2250WTrackMenu QMenu QCheckBox:focus,
2251WTrackMenu QMenu QCheckBox:hover,
2252QLineEdit QMenu::item:selected,
2253WCoverArtMenu::item:selected,
2254#fadeModeCombobox::item:selected,
2255WEffectSelector::item:selected {
2256  background-color: #555;
2257  color: #fff;
2258  /* remove OS focus indicator */
2259  outline: none;
2260}
2261
2262/* disabled menu items and checkboxes */
2263#MainMenu::item:disabled,
2264#MainMenu QMenu::item:disabled,
2265WLibrarySidebar QMenu::item:disabled,
2266WTrackMenu::item:disabled,
2267WTrackMenu QMenu::item:disabled,
2268WTrackMenu QMenu QCheckBox:disabled,
2269QLineEdit QMenu::item:disabled {
2270  color: #555;
2271}
2272
2273  #MainMenu QMenu::separator,
2274  WLibrarySidebar QMenu::separator,
2275  WTrackTableViewHeader QMenu::separator,
2276  WTrackMenu::separator,
2277  WTrackMenu QMenu::separator,
2278  WLibraryTextBrowser QMenu::separator,
2279  QLineEdit QMenu::separator {
2280    border-top: 1px solid #0a0a0a;
2281  }
2282
2283WLibrarySidebar QMenu::indicator,
2284WTrackTableViewHeader QMenu::indicator,
2285WTrackMenu QMenu QCheckBox::indicator {
2286  background-color: #0f0f0f;
2287  border: 1px solid #333;
2288  border-radius: 1px;
2289  }
2290  WLibrarySidebar QMenu::indicator:checked,
2291  WTrackTableViewHeader QMenu::indicator:checked,
2292  WTrackMenu QMenu QCheckBox::indicator:checked {
2293    image: url(skin:/../Tango/buttons/btn_lib_checkmark.svg);
2294    border: 1px solid #111;
2295  }
2296  WTrackMenu QMenu QCheckBox::indicator:indeterminate {
2297    image: url(skin:/../Tango/buttons/btn_lib_checkmark_indeterminate.svg);
2298    background-color: #1e1e1e;
2299  }
2300  /* disabled menu checkbox */
2301  WTrackMenu QMenu QCheckBox::indicator:disabled {
2302    background-color: #222;
2303  }
2304  WTrackMenu QMenu QCheckBox::indicator:disabled:checked {
2305    image: url(skin:/../Tango/buttons/btn_lib_checkmark_grey.svg);
2306  }
2307  WTrackMenu QMenu QCheckBox::indicator:disabled:indeterminate {
2308    image: url(skin:/../Tango/buttons/btn_lib_checkmark_indeterminate_grey.svg);
2309  }
2310
2311/* widgets in cue popup menu */
2312#CueDeleteButton {
2313  /* color buttons are 42x24 px.
2314  To get the final size for the Delete button consider border width.
2315  tall button, about the same height as cue number + label edit box */
2316  width: 26px;
2317  height: 44px;
2318  border: 1px solid #666;
2319  background-color: #333;
2320  border-radius: 2px;
2321  qproperty-icon: url(skin:/../Tango/buttons/btn_delete.svg);
2322  /* make the icon slightly larger than default 16px */
2323  qproperty-iconSize: 20px;
2324}
2325#CueLabelEdit {
2326  border: 1px solid #ff6600;
2327  border-radius: 0px;
2328  color: #ccc;
2329  background-color: #000;
2330  selection-color: #000;
2331  selection-background-color: #ccc;
2332  padding: 2px;
2333}
2334
2335#AlignTop {
2336  qproperty-layoutAlignment: 'AlignTop';
2337}
2338#AlignLeft {
2339  qproperty-layoutAlignment: 'AlignLeft | AlignVCenter';
2340}
2341#AlignTopLeft {
2342  qproperty-layoutAlignment: 'AlignLeft | AlignTop';
2343}
2344#AlignBottomLeft {
2345  qproperty-layoutAlignment: 'AlignLeft | AlignBottom';
2346}
2347#AlignRight {
2348  qproperty-layoutAlignment: 'AlignRight | AlignVCenter';
2349}
2350#AlignRightCenter {
2351  qproperty-layoutAlignment: 'AlignRight | AlignVCenter';
2352}
2353#AlignVCenter {
2354  qproperty-layoutAlignment: 'AlignVCenter';
2355}
2356#AlignCenter {
2357  qproperty-layoutAlignment: 'AlignHCenter | AlignVCenter';
2358}
2359#AlignTopCenter {
2360  qproperty-layoutAlignment: 'AlignHCenter | AlignTop';
2361}
2362
2363#Spacer0f {
2364  background-color: #0f0f0f;
2365  }
2366  #RoundSpacer0f {
2367    background-color: #0f0f0f;
2368    border-radius: 2px;
2369  }
2370#Spacer1e {
2371  background-color: #1e1e1e;
2372}
2373#Spacer25 {
2374  background-color: #252525;
2375}
2376#Spacer33 {
2377  background-color: #333;
2378  border-radius: 0px;
2379}
2380#Spacer58 {
2381  background-color: #585858;
2382}
2383#SpacerFF {
2384  background-color: #fff;
2385}
2386#Text33 {
2387  color: #333;
2388  font-size: 1px/1px;
2389}
2390#RoundFiller25 {
2391  background-color: #252525;
2392  border-radius: 3px;
2393}
2394
2395/*################################################################
2396 ######  Library styling is hard  ###############################
2397 ################### most of it was LateNight & Deere ##########
2398############ added styling for AutoDJ & Recording etc ##### */
2399
2400#SearchBoxContainer {
2401  margin-bottom: 5px;
2402}
2403
2404#LibMiniMaxiButton {
2405  }
2406  #LibMiniMaxiButton[displayValue="0"] {
2407    image: url(skin:/../Tango/buttons/btn_lib_maxi.svg) no-repeat center top;
2408    }
2409    #LibMiniMaxiButton[displayValue="0"]:hover {
2410      image: url(skin:/../Tango/buttons/btn_lib_maxi_hover.svg) no-repeat center top;
2411    }
2412  #LibMiniMaxiButton[displayValue="1"] {
2413    image: url(skin:/../Tango/buttons/btn_lib_mini.svg) no-repeat center top;
2414    }
2415    #LibMiniMaxiButton[displayValue="1"]:hover {
2416      image: url(skin:/../Tango/buttons/btn_lib_mini_hover.svg) no-repeat center top;
2417    }
2418
2419WTrackTableView,
2420WLibraryTextBrowser,
2421WLibrarySidebar {
2422  border: 2px solid #585858;
2423  /* font-weight: normal; */
2424  color: #9e9e9e;
2425  background-color: #0f0f0f;
2426  alternate-background-color: #1a1a1a;
2427  /* In selected library rows this sets the color of
2428    * shapes in star rating delegate
2429    * focus border of Cover Art and Color delegates
2430     > See src/library/coverartdelegate.cpp: "option.palette.highlightedText().color();" */
2431  selection-color: #fff;
2432  /* background of Color delegate in selected row */
2433  selection-background-color: #555;
2434}
2435
2436/* selected table row */
2437WTrackTableView::item:selected,
2438#LibraryBPMButton::item:selected {
2439  color: #fff;
2440  background-color: #555;
2441}
2442WLibrarySidebar,
2443WLibrarySidebar::item:focus {
2444  outline: none;
2445}
2446
2447/* Use the native focus decoration */
2448/* This is for all cells including Played and Location */
2449WTrackTableView,
2450/* This is for the BPM cell */
2451WTrackTableView QCheckBox:focus {
2452    outline: 1px solid #fff;
2453}
2454/* This uses a custom qproperty to set the focus border
2455  for Color and Cover Art cells, 1px solid, sharp corners.
2456  See src/library/tableitemdelegate.cpp */
2457WTrackTableView {
2458  qproperty-focusBorderColor: #fff;
2459}
2460
2461  /* Table cell in edit mode */
2462  WLibrary QLineEdit,
2463  #LibraryBPMSpinBox {
2464    color: #ddd;
2465    background-color: #0f0f0f;
2466    selection-color: #000;
2467    selection-background-color: #ccc;
2468    border: 1px solid #555;
2469  }
2470
2471WLibrarySidebar {
2472  min-height: 90px;
2473  min-width: 90px;
2474  border-width: 1px 1px 1px 0px;
2475  border-style: solid;
2476  border-color: #585858;
2477  show-decoration-selected: 0;
2478  /* Don't define top margin here, it won't shift ScrollBar.
2479  Shift WSearchLineEdit instead */
2480  margin: 0px;
2481  }
2482  WTrackTableView:focus,
2483  WLibrarySidebar:focus,
2484  WTrackTableView:focus,
2485  WSearchLineEdit:focus {
2486  /* New Library navigation COs only work if TreeView or TableView have focus.
2487    Clicking on buttons, sliders and visuals elsewhere removes focus from Library.
2488    In conjunction with [Library],MoveFocusBackward/..Forward, some highlight
2489    helps a lot. */
2490    border-color: #ff8800;
2491  }
2492
2493/*  Closed branch icon in tree */
2494WLibrarySidebar::branch:has-children:!has-siblings:closed,
2495WLibrarySidebar::branch:closed:has-children:has-siblings {
2496  image: url(skin:/../Tango/graphics/branch_closed.svg);
2497  }
2498  WLibrarySidebar::branch:has-children:!has-siblings:closed:selected,
2499  WLibrarySidebar::branch:closed:has-children:has-siblings:selected {
2500    background-color: #333;
2501  }
2502
2503/*  Open branch icon in tree */
2504WLibrarySidebar::branch:open:has-children:!has-siblings,
2505WLibrarySidebar::branch:open:has-children:has-siblings {
2506  image: url(skin:/../Tango/graphics/branch_open.svg);
2507  }
2508  WLibrarySidebar::branch:open:has-children:!has-siblings:selected,
2509  WLibrarySidebar::branch:open:has-children:has-siblings:selected {
2510    border-image: none;
2511    background-color: #333;
2512  }
2513/* Text label of branch item */
2514WLibrarySidebar::item:selected {
2515  border-image: none;
2516  background-image: none;
2517  background-color: #333;
2518  color: #d2d2d2;
2519  }
2520  /* space left of selected child item */
2521  WLibrarySidebar::branch:!has-children:!has-siblings:closed:selected,
2522  WLibrarySidebar::branch:closed:!has-children:has-siblings:selected,
2523  WLibrarySidebar::branch:open:!has-children:!has-siblings:selected,
2524  WLibrarySidebar::branch:open:!has-children:has-siblings:selected {
2525    border-image: none;
2526    background-color: #0f0f0f;
2527  }
2528
2529WLibrarySidebar::item:!selected {
2530  border-image: none;
2531  background-image: none;
2532  background-color: #0f0f0f;
2533  color: #999;
2534  }
2535
2536WTrackTableViewHeader {
2537  /* Don't set a font size to pick up the system font size. */
2538  font-weight: bold;
2539  color: #CFCFCF;
2540  background-color: #1e1e1e;
2541  }
2542  /*  Library header 'buttons'  */
2543  WTrackTableViewHeader::section {
2544    height: 1.1em;
2545    padding: 0 0.1em;
2546    /*  use 'border-right' so that for the header of the leftmost column
2547    the border doesn't add to the border of the surrounding qtableview */
2548    border-right: 1px solid #585858;
2549    background-color: #333;
2550    border-radius: 0px;
2551    }
2552  WTrackTableViewHeader::section:hover {
2553    background-color: #585858;
2554    border-radius: 0px;
2555  }
2556
2557  WTrackTableViewHeader::up-arrow,
2558  WTrackTableViewHeader::down-arrow {
2559    width: 0.6em;
2560    padding-right: 0.1em;
2561    border-right: 1px solid #585858;
2562    background-color: rgba(51,51,51,200);
2563    }
2564    WTrackTableViewHeader::up-arrow:hover,
2565    WTrackTableViewHeader::down-arrow:hover {
2566      background-color: rgba(88,88,88,200);
2567    }
2568    WTrackTableViewHeader::up-arrow {
2569      image: url(skin:/../Tango/graphics/library_sort_up.svg);
2570      }
2571      WTrackTableViewHeader::up-arrow:hover {
2572        image: url(skin:/../Tango/graphics/library_sort_down.svg);
2573      }
2574    WTrackTableViewHeader::down-arrow {
2575      image: url(skin:/../Tango/graphics/library_sort_down.svg);
2576      }
2577      WTrackTableViewHeader::down-arrow:hover {
2578        image: url(skin:/../Tango/graphics/library_sort_up.svg);
2579      }
2580
2581WLibraryTextBrowser {
2582  padding-left: 5px;
2583}
2584
2585/* Scroll bars */
2586#LibraryContainer QScrollBar,
2587WEffectSelector QAbstractScrollArea QScrollBar,
2588#fadeModeCombobox QAbstractScrollArea QScrollBar {
2589  padding: 1px;
2590}
2591#LibraryContainer QScrollBar:horizontal,
2592WEffectSelector QAbstractScrollArea QScrollBar:horizontal,
2593#fadeModeCombobox QAbstractScrollArea QScrollBar:horizontal {
2594  min-width: 12px;
2595  height: 10px;
2596  background: #000;
2597  border-radius: 2px;
2598  }
2599  #LibraryContainer QScrollBar:vertical,
2600  WEffectSelector QAbstractScrollArea QScrollBar:vertical,
2601  #fadeModeCombobox QAbstractScrollArea QScrollBar:vertical {
2602    min-height: 12px;
2603    width: 10px;
2604    background: #000;
2605    border-radius: 2px;
2606    }
2607  /* "add-page" and "sub-page" are the gutter of the scrollbar */
2608  #LibraryContainer QScrollBar::add-page,
2609  #LibraryContainer QScrollBar::sub-page,
2610  WEffectSelector QAbstractScrollArea QScrollBar::add-page,
2611  WEffectSelector QAbstractScrollArea QScrollBar::sub-page,
2612  #fadeModeCombobox QAbstractScrollArea QScrollBar::add-page,
2613  #fadeModeCombobox QAbstractScrollArea QScrollBar::sub-page {
2614    min-width: 15px;
2615    min-height: 15px;
2616    background-color: #000;
2617    }
2618  #LibraryContainer QScrollBar::handle:horizontal,
2619  WEffectSelector QAbstractScrollArea QScrollBar::handle:horizontal,
2620  #fadeModeCombobox QAbstractScrollArea QScrollBar::handle:horizontal {
2621    min-width: 25px;
2622    background: #595959;
2623    border-radius:2px;
2624    }
2625    #LibraryContainer QScrollBar::handle:horizontal:hover,
2626    WEffectSelector QAbstractScrollArea QScrollBar::handle:horizontal:hover,
2627    #fadeModeCombobox QAbstractScrollArea QScrollBar::handle:horizontal:hover {
2628      background: #888;
2629    }
2630  #LibraryContainer QScrollBar::handle:vertical,
2631  WEffectSelector QAbstractScrollArea QScrollBar::handle:vertical,
2632  #fadeModeCombobox QAbstractScrollArea QScrollBar::handle:vertical {
2633    min-height: 25px;
2634    background: #595959;
2635    border-radius:2px;
2636    }
2637    #LibraryContainer QScrollBar::handle:vertical:hover,
2638    WEffectSelector QAbstractScrollArea QScrollBar::handle:vertical:hover,
2639    #fadeModeCombobox QAbstractScrollArea QScrollBar::handle:vertical:hover {
2640      background: #888;
2641    }
2642  /* Turn off scroll buttons */
2643  #LibraryContainer QScrollBar::add-line:horizontal,
2644  #LibraryContainer QScrollBar::add-line:vertical,
2645  WEffectSelector QAbstractScrollArea QScrollBar::add-line:horizontal,
2646  WEffectSelector QAbstractScrollArea QScrollBar::add-line:vertical,
2647  #fadeModeCombobox QAbstractScrollArea QScrollBar::add-line:horizontal,
2648  #fadeModeCombobox QAbstractScrollArea QScrollBar::add-line:vertical {
2649    width: 0px;
2650    height: 0px;
2651  }
2652  #LibraryContainer QScrollBar::sub-line:horizontal,
2653  #LibraryContainer QScrollBar::sub-line:vertical,
2654  WEffectSelector QAbstractScrollArea QScrollBar::sub-line:horizontal,
2655  WEffectSelector QAbstractScrollArea QScrollBar::sub-line:vertical,
2656  #fadeModeCombobox QAbstractScrollArea QScrollBar::sub-line:horizontal,
2657  #fadeModeCombobox QAbstractScrollArea QScrollBar::sub-line:vertical {
2658    width: 0px;
2659    height: 0px;
2660  }
2661  /* Corner in between two scrollbars */
2662  #LibraryContainer QAbstractScrollArea::corner,
2663  WEffectSelector QAbstractScrollArea::corner,
2664  #fadeModeCombobox QAbstractScrollArea::corner {
2665    background-color: #0f0f0f;
2666    border: 0px;
2667  }
2668
2669/* Pushbuttons, a lot of them...
2670Library features and their buttons:
2671  Tracks DlgMissing
2672    QPushButton#btnSelect
2673    QPushButton#btnPurge
2674  Tracks DlgHidden
2675    QPushButton#btnSelect
2676    QPushButton#btnPurge
2677    QPushButton#btnUnhide
2678    QPushButton#
2679  DlgAutoDJ
2680    QPushButton#pushButtonShuffle
2681    QPushButton#pushButtonAddRandom
2682    QPushButton#pushButtonSkipNext
2683    QPushButton#pushButtonFadeNow
2684    QSpinBox#spinBoxTransition
2685    QLabel#labelSelectionInfo
2686  DlgAnalysis
2687    + some small margin to maximize and cover art button
2688    + make radio buttons blue like active keylock button
2689    QRadioButton#radioButtonRecentlyAdded
2690    QRadioButton#radioButtonAllSongs
2691    QLabel#labelProgress
2692    QPushButton#pushButtonSelectAll
2693    QPushButton#pushButtonAnalyze
2694  DlgRecording
2695    QLabel#label > "Status: ..."
2696    QPushButton#pushButtonRecording > un/checked
2697
2698    */
2699#LibraryFeatureControls QPushButton {
2700  text-align: center;
2701  font-weight: normal;
2702  /* Note(ronso0)
2703  Interferes with skin scaling, system font size respectively
2704  font-size: 14px/14px;
2705  Setting height/width here will prevent the buttons being scaled properly
2706  min-height: 22px;
2707  max-height: 22px;
2708  height: 22px; */
2709  color: #ccc;
2710  border-radius: 2px;
2711  border: 1px solid #333;
2712  margin: 1px 2px 4px 1px;
2713  padding: 3px 6px 3px 6px;
2714  background-color: #333;
2715  background-position: center;
2716  }
2717  #DlgAutoDJ > #LibraryFeatureControls QPushButton {
2718    padding: 1px 2px;
2719    height: 20px;
2720    min-width: 32px;
2721  }
2722  #pushButtonAutoDJ {
2723    width: 42px;
2724  }
2725
2726  #LibraryFeatureControls QPushButton:!enabled {
2727    color: #888;
2728    }
2729  #LibraryFeatureControls QPushButton:hover,
2730  #fadeModeCombobox:hover {
2731    border: 1px solid #888;
2732    }
2733  #LibraryFeatureControls QPushButton:unchecked {
2734    color: #888;
2735    background-color: #444;
2736    }
2737  #LibraryFeatureControls QPushButton:checked {
2738    color: #000;
2739    background-color: #ff7b00;
2740    }
2741  #LibraryFeatureControls QPushButton:checked:hover {
2742    border: 1px solid #fff;
2743    }
2744  QPushButton#pushButtonRecording:unchecked {
2745    color: #888;
2746    background-color: #444;
2747    border: 1px solid #444;
2748  }
2749  QPushButton#pushButtonAutoDJ:checked {
2750    border: 1px solid #ff9900;
2751  }
2752  QPushButton#pushButtonRepeatPlaylist:checked {
2753    background-color: #888;
2754    border: 1px solid #bbb;
2755  }
2756  QPushButton#pushButtonRecording:unchecked:hover,
2757  QPushButton#pushButtonRecording:checked {
2758    color: #dddddd;
2759    background-color: #a90000;
2760    border: 1px solid #ca0000;
2761  }
2762
2763  /* make library action buttons bold */
2764  QPushButton#pushButtonAutoDJ,
2765  QPushButton#pushButtonRecording,
2766  QPushButton#pushButtonAnalyze,
2767  QPushButton#btnPurge,
2768  QPushButton#btnUnhide {
2769    font-weight: bold;
2770  }
2771
2772  /* 'Enable AutoDJ' button */
2773  QPushButton#pushButtonAutoDJ:hover,
2774  QPushButton#pushButtonAnalyze:hover {
2775    border: 1px solid #ff6600;
2776  }
2777  /* Increased margin for action buttons */
2778  QPushButton#pushButtonAutoDJ,
2779  QPushButton#pushButtonRecording {
2780    margin: 1px 5px 4px 1px;
2781  }
2782  QPushButton#btnPurge {
2783    margin: 1px 1px 4px 5px;
2784  }
2785
2786/* AutoDJ button icons */
2787QPushButton#pushButtonAutoDJ:!checked {
2788  image: url(skin:/../Tango/buttons/btn_autodj_enable_off.svg) no-repeat center center;
2789  }
2790  QPushButton#pushButtonAutoDJ:checked {
2791    image: url(skin:/../Tango/buttons/btn_autodj_enable_on.svg) no-repeat center center;
2792  }
2793QPushButton#pushButtonFadeNow:!enabled {
2794  image: url(skin:/../Tango/buttons/btn_autodj_fade_disabled.svg) no-repeat center center;
2795  }
2796  QPushButton#pushButtonFadeNow:enabled {
2797    image: url(skin:/../Tango/buttons/btn_autodj_fade.svg) no-repeat center center;
2798  }
2799QPushButton#pushButtonSkipNext:!enabled {
2800  image: url(skin:/../Tango/buttons/btn_autodj_skip_disabled.svg) no-repeat center center;
2801  }
2802  QPushButton#pushButtonSkipNext:enabled {
2803    image: url(skin:/../Tango/buttons/btn_autodj_skip.svg) no-repeat center center;
2804  }
2805QPushButton#pushButtonShuffle {
2806  image: url(skin:/../Tango/buttons/btn_autodj_shuffle.svg) no-repeat center center;
2807}
2808QPushButton#pushButtonAddRandom {
2809  image: url(skin:/../Tango/buttons/btn_autodj_addrandom.svg) no-repeat center center;
2810}
2811QPushButton#pushButtonRepeatPlaylist:!checked {
2812  image: url(skin:/../Tango/buttons/btn_autodj_repeat_playlist_off.svg) no-repeat center center;
2813  }
2814  QPushButton#pushButtonRepeatPlaylist:checked {
2815    image: url(skin:/../Tango/buttons/btn_autodj_repeat_playlist_on.svg) no-repeat center center;
2816  }
2817/* AutoDJ button icons */
2818
2819  /* align/center AutoDJ transition label vertically with spinbox */
2820  QLabel#labelTransitionAppendix {
2821    margin: 0px 0px 5px 0px;
2822  }
2823  /* Push labels away from buttons at the right */
2824  /* AutoDJ selection info */
2825  QLabel#labelSelectionInfo,
2826  /* Analysis progress info */
2827  QLabel#labelProgress {
2828    margin: 0px 4px 5px 2px;
2829  }
2830
2831  /* Recording info */
2832  QLabel#labelRecFilename {
2833    font-weight: bold;
2834    margin: 0px 1px;
2835  }
2836  QLabel#labelRecPrefix,
2837  QLabel#labelRecStatistics {
2838    font-weight: normal;
2839  }
2840
2841  /* Entire BPM cell */
2842  /* Lock icon at the left */
2843  #LibraryBPMButton::indicator:checked {
2844    image: url(skin:/../Tango/buttons/btn_lib_bpm_locked.svg);
2845    }
2846  #LibraryBPMButton::indicator:unchecked {
2847    image: url(skin:/../Tango/buttons/btn_lib_bpm_unlocked.svg);
2848    }
2849  /* BPM value */
2850  #LibraryBPMButton::item {
2851    color: #cfcfcf;
2852    }
2853
2854#LibraryBPMSpinBox {
2855  padding: 0px;
2856  margin: 0px;
2857  border-left: 0px;
2858  }
2859  #LibraryBPMSpinBox::up-button,
2860  #LibraryBPMSpinBox::down-button {
2861    background-color: #0f0f0f;
2862    }
2863    #LibraryBPMSpinBox::up-button {
2864      image: url(skin:/../Tango/buttons/btn_lib_spinbox_up_white.svg) no-repeat;
2865      }
2866    #LibraryBPMSpinBox::down-button {
2867      image: url(skin:/../Tango/buttons/btn_lib_spinbox_down_white.svg) no-repeat;
2868    }
2869
2870  /* Button in library "Preview" column */
2871  #LibraryPreviewButton {
2872    background: transparent;
2873    margin: 0px;
2874    padding: 0px;
2875    border: 1px solid transparent;
2876    }
2877    #LibraryPreviewButton:!checked {
2878      image: url(skin:/../Tango/buttons/btn_lib_preview_play.svg);
2879      }
2880      #LibraryPreviewButton:!checked:hover {
2881        border: 1px solid #888;
2882        background: #0f0f0f;
2883      }
2884    #LibraryPreviewButton:checked {
2885      image: url(skin:/../Tango/buttons/btn_lib_preview_pause.svg);
2886      background-color: #000;
2887      border: 1px solid #555;
2888      }
2889      #LibraryPreviewButton:checked:hover {
2890        border: 1px solid #888;
2891      }
2892    /* None of these would style the Preview button background if
2893      the respective table row is selected:
2894    #LibraryPreviewButton {
2895      show-decoration-selected: 0;
2896    }
2897    #LibraryPreviewButton:selected,
2898    #LibraryPreviewButton::item,
2899    #LibraryPreviewButton::item:selected,
2900    #LibraryPreviewButton:focus {
2901      background: #451212;
2902    }*/
2903
2904  /* checkbox in library "Played" column */
2905  WTrackTableView::indicator {
2906    margin: 0px;
2907    padding: 0px;
2908    color: #cfcfcf;
2909    /* border is added to size defined above */
2910    border: 1px solid rgba(151,151,151,128);
2911    }
2912  WTrackTableView::indicator:hover {
2913      border: 1px solid #888;
2914    }
2915  WTrackTableView::indicator:checked {
2916    image: url(skin:/../Tango/buttons/btn_lib_checkmark.svg);
2917    }
2918  WTrackTableView::indicator:unchecked {
2919    background: none;
2920    }
2921
2922WLibrary QSpinBox {
2923  min-height: 22px;
2924  max-height: 22px;
2925  min-width: 40px;
2926  max-width: 40px;
2927}
2928
2929/* library search text box */
2930WSearchLineEdit {
2931  padding: 2px;
2932  border: 1px solid #656565;
2933  color: #cfcfcf;
2934  background-color: #0f0f0f;
2935  selection-color: #0f0f0f;
2936  selection-background-color: #d2d2d2;
2937/* margin will increase the Qt widget size which is used to position the
2938  Clear button. If > 0 it will shift the cue button outside the visible
2939  search box.
2940  margin-bottom: 5px; */
2941  }
2942  WSearchLineEdit:focus {
2943    padding: 1px;
2944    color: #eeeeee;
2945  }
2946  /* Clear button: see /skins/default.qss */
2947
2948WLibrary QLabel,
2949WLibrary QRadioButton { /*
2950  background: none;
2951  Extra declaration for QRadioButton otherwise it shows up with
2952  wrong colors in Linux with Gnome  */
2953  color: #cfcfcf;
2954}
2955
2956QRadioButton#radioButtonRecentlyAdded,
2957QRadioButton#radioButtonAllSongs {
2958  padding: 1px 3px 3px 1px;
2959  color: #cfcfcf;
2960}
2961
2962QRadioButton#radioButtonRecentlyAdded {
2963  margin: 0px 3px 0px 5px;
2964}
2965
2966WLibrary QRadioButton::indicator:checked {
2967  image: url(skin:/../Tango/buttons/btn_lib_radio_button_on.svg) center center;
2968}
2969
2970WLibrary QRadioButton::indicator:unchecked {
2971  image: url(skin:/../Tango/buttons/btn_lib_radio_button_off.svg) center center;
2972}
2973
2974/* explicitly remove icons from unchecked items otherwise
2975  selected, unchecked items would have a checkmark */
2976WLibrarySidebar QMenu::indicator:unchecked,
2977WLibrarySidebar QMenu::indicator:unchecked:selected,
2978WTrackTableViewHeader QMenu::indicator:unchecked,
2979WTrackTableViewHeader QMenu::indicator:unchecked:selected,
2980WTrackTableView::indicator:unchecked,
2981WTrackTableView::indicator:unchecked:selected,
2982WEffectSelector::indicator:unchecked,
2983WEffectSelector::indicator:unchecked:selected,
2984#fadeModeCombobox::indicator:unchecked,
2985#fadeModeCombobox::indicator:unchecked:selected {
2986  image: none;
2987}
2988
2989WRateRange {
2990    font-size: 11px;
2991}
2992
2993#RateDisplayTopPrefix,
2994#RateDisplayTopRate {
2995    qproperty-alignment: 'AlignHCenter | AlignTop';
2996}
2997
2998#RateDisplayBottomPrefix,
2999#RateDisplayBottomRate {
3000    qproperty-alignment: 'AlignHCenter | AlignBottom';
3001}
3002