diff options
Diffstat (limited to 'deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets')
29 files changed, 5653 insertions, 0 deletions
diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_boundlist.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_boundlist.scss new file mode 100644 index 000000000..5726408af --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_boundlist.scss @@ -0,0 +1,45 @@ +@mixin extjs-boundlist { + .#{$prefix}boundlist { + border-width: $boundlist-border-width; + border-style: $boundlist-border-style; + border-color: $boundlist-border-color; + background: $boundlist-background-color; + + .#{$prefix}toolbar { + border-width: 1px 0 0 0; + } + } + + .#{$prefix}boundlist-item { + padding: $boundlist-item-padding; + + @include no-select; + + cursor: pointer; + cursor: hand; + position: relative; /*allow hover in IE on empty items*/ + + border-width: $boundlist-item-border-width; + border-style: $boundlist-item-border-style; + border-color: $boundlist-item-border-color; + } + + .#{$prefix}boundlist-selected { + background: $boundlist-item-selected-background-color; + border-color: $boundlist-item-selected-border-color; + } + + .#{$prefix}boundlist-item-over { + background: $boundlist-item-over-background-color; + border-color: $boundlist-item-over-border-color; + } + + .#{$prefix}boundlist-floating { + border-top-width: 0; + } + + .#{$prefix}boundlist-above { + border-top-width: 1px; + border-bottom-width: 1px; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_btn-group.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_btn-group.scss new file mode 100644 index 000000000..c11b60d19 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_btn-group.scss @@ -0,0 +1,80 @@ +@mixin extjs-btn-group { + .#{$prefix}btn-group { + position: relative; + overflow: hidden; + } + + .#{$prefix}btn-group-body { + position: relative; + zoom: 1; + padding: $btn-group-padding; + .#{$prefix}table-layout-cell { + vertical-align: top; + } + } + + .#{$prefix}btn-group-header-text { + white-space: nowrap; + } + + @include extjs-btn-group-ui('default'); +} + +/** + * @mixin extjs-btn-group-ui + * @class Ext.ButtonGroup + */ +@mixin extjs-btn-group-ui( + $ui-label, + $ui-base-color: null, + + // background + $ui-background-color: $btn-group-background-color, + + // borders + $ui-border-color: $btn-group-border-color, + $ui-border-width: $btn-group-border-width, + $ui-border-radius: $btn-group-border-radius, + $ui-inner-border-color: $btn-group-inner-border-color, + + //header + $ui-header-background-color: $btn-group-header-background-color, + $ui-header-font: $btn-group-header-font, + $ui-header-color: $btn-group-header-color +){ + @include x-frame( + 'btn-group', + $ui: '#{$ui-label}-framed', + + /* Radius, width, padding and background-color */ + $border-radius: $ui-border-radius, + $border-width: $ui-border-width, + $padding: $btn-group-padding, + $background-color: $ui-background-color + ); + + .#{$prefix}btn-group-#{$ui-label}-framed { + border-color: $ui-border-color; + @include inner-border( + $width: $btn-group-inner-border-width, + $color: $ui-inner-border-color + ); + } + + .#{$prefix}btn-group-header-#{$ui-label}-framed { + margin: $btn-group-header-margin; + } + + .#{$prefix}btn-group-header-body-#{$ui-label}-framed { + padding: $btn-group-header-padding; + + background: $ui-header-background-color; + + @include border-top-radius($ui-border-radius); + } + + .#{$prefix}btn-group-header-text-#{$ui-label}-framed { + font: $ui-header-font; + color: $ui-header-color; + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_button.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_button.scss new file mode 100644 index 000000000..7d14febed --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_button.scss @@ -0,0 +1,985 @@ +/** + * @class Ext.Button + * Used to create the base structure of an Ext.Button + */ +@mixin extjs-button { + .#{$prefix}btn { + display: inline-block; + zoom: 1; + *display: inline; + position: relative; + + cursor: pointer; + cursor: hand; + + white-space: nowrap; + + vertical-align: middle; + + * { + cursor: pointer; + cursor: hand; + } + + background-repeat: no-repeat; + + em { + background-repeat: no-repeat; + + // Styles for an anchor button. + a { + text-decoration: none; + display: inline-block; + color: inherit; + } + } + + button { + margin: 0; + padding: 0; + border: 0; + width: auto; + background: none; + outline: 0 none; + overflow: hidden; + vertical-align: bottom; + -webkit-appearance: none; + + &::-moz-focus-inner { + border: 0; + padding: 0; + } + } + + .#{$prefix}btn-inner { + display: block; + white-space: nowrap; + text-align: center; + background-color: transparent; + background-repeat: no-repeat; + background-position: left center; + } + } + + .#{$prefix}btn-disabled { + @include opacity(1); + } + + .#{$prefix}btn-disabled span { + @include opacity(.5); + + .#{$prefix}ie6 &, + .#{$prefix}ie7 & { + filter:none; + } + } + + //remove the opacity rule of IE8 + .#{$prefix}ie7 .#{$prefix}btn-disabled, + .#{$prefix}ie8 .#{$prefix}btn-disabled { + filter:none; + } + + .#{$prefix}ie6 .#{$prefix}btn-disabled, + .#{$prefix}ie7 .#{$prefix}btn-disabled, + .#{$prefix}ie8 .#{$prefix}btn-disabled { + .#{$prefix}btn-icon { + @include opacity(.6); + } + } + + @if $include-ie { + * html .#{$prefix}ie { + .#{$prefix}btn button { + width: 1px; + } + } + + .#{$prefix}ie .#{$prefix}btn button { + overflow-x: visible; /*prevents extra horiz space in IE*/ + vertical-align: baseline; /*IE doesn't like bottom*/ + } + + .#{$prefix}strict .#{$prefix}ie6, + .#{$prefix}strict .#{$prefix}ie7 { + .#{$prefix}btn .#{$prefix}frame-mc { + height: 100%; + } + } + } + + @if not $supports-border-radius or $compile-all { + .#{$prefix}nbr { + .#{$prefix}btn { + .#{$prefix}frame-mc { + vertical-align: middle; + white-space: nowrap; + text-align: center; + cursor: pointer; + } + } + } + } + + .#{$prefix}btn-icon-text-left .#{$prefix}btn-icon { + background-position: left center; + } + + .#{$prefix}btn-icon-text-right .#{$prefix}btn-icon { + background-position: right center; + } + + .#{$prefix}btn-icon-text-top .#{$prefix}btn-icon { + background-position: center top; + } + + .#{$prefix}btn-icon-text-bottom .#{$prefix}btn-icon { + background-position: center bottom; + } + + .#{$prefix}btn { + button, a { + position: relative; + + .#{$prefix}btn-icon { + position: absolute; + background-repeat: no-repeat; + } + } + } + + .#{$prefix}btn-arrow-right { + background: transparent no-repeat right center; + padding-right: $button-arrow-size; + + .#{$prefix}btn-inner { + padding-right: 0 !important; + } + } + + .#{$prefix}toolbar .#{$prefix}btn-arrow-right { + padding-right: $button-toolbar-arrow-size; + } + + .#{$prefix}btn-arrow-bottom { + background: transparent no-repeat center bottom; + padding-bottom: $button-arrow-size; + } + + .#{$prefix}btn-arrow { + @include theme-background-image($theme-name, 'button/arrow.gif'); + display: block; + } + + + //split buttons + .#{$prefix}btn-split-right, + .#{$prefix}btn-over .#{$prefix}btn-split-right { + background: transparent no-repeat right center; + @include theme-background-image($theme-name, 'button/s-arrow.gif'); + padding-right: $button-split-size !important; + } + + .#{$prefix}btn-split-bottom, + .#{$prefix}btn-over .#{$prefix}btn-split-bottom { + background: transparent no-repeat center bottom; + @include theme-background-image($theme-name, 'button/s-arrow-b.gif'); + padding-bottom: $button-split-size; + } + + .#{$prefix}toolbar .#{$prefix}btn-split-right { + @include theme-background-image($theme-name, 'button/s-arrow-noline.gif'); + padding-right: $button-toolbar-split-size !important; + } + + .#{$prefix}toolbar .#{$prefix}btn-split-bottom { + @include theme-background-image($theme-name, 'button/s-arrow-b-noline.gif'); + } + + .#{$prefix}btn-split { + display: block; + } + + .#{$prefix}item-disabled, + .#{$prefix}item-disabled * { + cursor: default; + } + + .#{$prefix}cycle-fixed-width .#{$prefix}btn-inner { + text-align: inherit; + } + + .#{$prefix}btn-over .#{$prefix}btn-split-right { @include theme-background-image($theme-name, 'button/s-arrow-o.gif'); } + .#{$prefix}btn-over .#{$prefix}btn-split-bottom { @include theme-background-image($theme-name, 'button/s-arrow-bo.gif'); } + + @include extjs-button-ui( + /* UI + Scale */ + 'default-small', + + $button-small-border-radius, + $button-small-border-width, + + $button-default-border-color, + $button-default-border-color-over, + $button-default-border-color-focus, + $button-default-border-color-pressed, + $button-default-border-color-disabled, + + $button-small-padding, + $button-small-text-padding, + + $button-default-background-color, + $button-default-background-color-over, + $button-default-background-color-focus, + $button-default-background-color-pressed, + $button-default-background-color-disabled, + + $button-default-background-gradient, + $button-default-background-gradient-over, + $button-default-background-gradient-focus, + $button-default-background-gradient-pressed, + $button-default-background-gradient-disabled, + + $button-default-color, + $button-default-color-over, + $button-default-color-focus, + $button-default-color-pressed, + $button-default-color-disabled, + + $button-small-font-size, + $button-small-font-size-over, + $button-small-font-size-focus, + $button-small-font-size-pressed, + $button-small-font-size-disabled, + + $button-small-font-weight, + $button-small-font-weight-over, + $button-small-font-weight-focus, + $button-small-font-weight-pressed, + $button-small-font-weight-disabled, + + $button-small-font-family, + $button-small-font-family-over, + $button-small-font-family-focus, + $button-small-font-family-pressed, + $button-small-font-family-disabled, + + $button-small-icon-size + ); + + @include extjs-button-ui( + 'default-medium', + + $button-medium-border-radius, + $button-medium-border-width, + + $button-default-border-color, + $button-default-border-color-over, + $button-default-border-color-focus, + $button-default-border-color-pressed, + $button-default-border-color-disabled, + + $button-medium-padding, + $button-medium-text-padding, + + $button-default-background-color, + $button-default-background-color-over, + $button-default-background-color-focus, + $button-default-background-color-pressed, + $button-default-background-color-disabled, + + $button-default-background-gradient, + $button-default-background-gradient-over, + $button-default-background-gradient-focus, + $button-default-background-gradient-pressed, + $button-default-background-gradient-disabled, + + $button-default-color, + $button-default-color-over, + $button-default-color-focus, + $button-default-color-pressed, + $button-default-color-disabled, + + $button-medium-font-size, + $button-medium-font-size-over, + $button-medium-font-size-focus, + $button-medium-font-size-pressed, + $button-medium-font-size-disabled, + + $button-medium-font-weight, + $button-medium-font-weight-over, + $button-medium-font-weight-focus, + $button-medium-font-weight-pressed, + $button-medium-font-weight-disabled, + + $button-medium-font-family, + $button-medium-font-family-over, + $button-medium-font-family-focus, + $button-medium-font-family-pressed, + $button-medium-font-family-disabled, + + $button-medium-icon-size + ); + + @include extjs-button-ui( + 'default-large', + + $button-large-border-radius, + $button-large-border-width, + + $button-default-border-color, + $button-default-border-color-over, + $button-default-border-color-focus, + $button-default-border-color-pressed, + $button-default-border-color-disabled, + + $button-large-padding, + $button-large-text-padding, + + $button-default-background-color, + $button-default-background-color-over, + $button-default-background-color-focus, + $button-default-background-color-pressed, + $button-default-background-color-disabled, + + $button-default-background-gradient, + $button-default-background-gradient-over, + $button-default-background-gradient-focus, + $button-default-background-gradient-pressed, + $button-default-background-gradient-disabled, + + $button-default-color, + $button-default-color-over, + $button-default-color-focus, + $button-default-color-pressed, + $button-default-color-disabled, + + $button-large-font-size, + $button-large-font-size-over, + $button-large-font-size-focus, + $button-large-font-size-pressed, + $button-large-font-size-disabled, + + $button-large-font-weight, + $button-large-font-weight-over, + $button-large-font-weight-focus, + $button-large-font-weight-pressed, + $button-large-font-weight-disabled, + + $button-large-font-family, + $button-large-font-family-over, + $button-large-font-family-focus, + $button-large-font-family-pressed, + $button-large-font-family-disabled, + + $button-large-icon-size + ); + + @include extjs-button-ui( + 'default-toolbar-small', + + $button-small-border-radius, + $button-small-border-width, + + $button-toolbar-border-color, + $button-toolbar-border-color-over, + $button-toolbar-border-color-focus, + $button-toolbar-border-color-pressed, + $button-toolbar-border-color-disabled, + + $button-small-padding, + $button-small-text-padding, + + $button-toolbar-background-color, + $button-toolbar-background-color-over, + $button-toolbar-background-color-focus, + $button-toolbar-background-color-pressed, + $button-toolbar-background-color-disabled, + + $button-toolbar-background-gradient, + $button-toolbar-background-gradient-over, + $button-toolbar-background-gradient-focus, + $button-toolbar-background-gradient-pressed, + $button-toolbar-background-gradient-disabled, + + $button-toolbar-color, + $button-toolbar-color-over, + $button-toolbar-color-focus, + $button-toolbar-color-pressed, + $button-toolbar-color-disabled, + + $button-small-font-size, + $button-small-font-size-over, + $button-small-font-size-focus, + $button-small-font-size-pressed, + $button-small-font-size-disabled, + + $button-small-font-weight, + $button-small-font-weight-over, + $button-small-font-weight-focus, + $button-small-font-weight-pressed, + $button-small-font-weight-disabled, + + $button-small-font-family, + $button-small-font-family-over, + $button-small-font-family-focus, + $button-small-font-family-pressed, + $button-small-font-family-disabled, + + $button-small-icon-size + ); + + @include extjs-button-ui( + 'default-toolbar-medium', + + $button-medium-border-radius, + $button-medium-border-width, + + $button-toolbar-border-color, + $button-toolbar-border-color-over, + $button-toolbar-border-color-focus, + $button-toolbar-border-color-pressed, + $button-toolbar-border-color-disabled, + + $button-medium-padding, + $button-medium-text-padding, + + $button-toolbar-background-color, + $button-toolbar-background-color-over, + $button-toolbar-background-color-focus, + $button-toolbar-background-color-pressed, + $button-toolbar-background-color-disabled, + + $button-toolbar-background-gradient, + $button-toolbar-background-gradient-over, + $button-toolbar-background-gradient-focus, + $button-toolbar-background-gradient-pressed, + $button-toolbar-background-gradient-disabled, + + $button-toolbar-color, + $button-toolbar-color-over, + $button-toolbar-color-focus, + $button-toolbar-color-pressed, + $button-toolbar-color-disabled, + + $button-medium-font-size, + $button-medium-font-size-over, + $button-medium-font-size-focus, + $button-medium-font-size-pressed, + $button-medium-font-size-disabled, + + $button-medium-font-weight, + $button-medium-font-weight-over, + $button-medium-font-weight-focus, + $button-medium-font-weight-pressed, + $button-medium-font-weight-disabled, + + $button-medium-font-family, + $button-medium-font-family-over, + $button-medium-font-family-focus, + $button-medium-font-family-pressed, + $button-medium-font-family-disabled, + + $button-medium-icon-size + ); + + @include extjs-button-ui( + 'default-toolbar-large', + + $button-large-border-radius, + $button-large-border-width, + + $button-toolbar-border-color, + $button-toolbar-border-color-over, + $button-toolbar-border-color-focus, + $button-toolbar-border-color-pressed, + $button-toolbar-border-color-disabled, + + $button-large-padding, + $button-large-text-padding, + + $button-toolbar-background-color, + $button-toolbar-background-color-over, + $button-toolbar-background-color-focus, + $button-toolbar-background-color-pressed, + $button-toolbar-background-color-disabled, + + $button-toolbar-background-gradient, + $button-toolbar-background-gradient-over, + $button-toolbar-background-gradient-focus, + $button-toolbar-background-gradient-pressed, + $button-toolbar-background-gradient-disabled, + + $button-toolbar-color, + $button-toolbar-color-over, + $button-toolbar-color-focus, + $button-toolbar-color-pressed, + $button-toolbar-color-disabled, + + $button-large-font-size, + $button-large-font-size-over, + $button-large-font-size-focus, + $button-large-font-size-pressed, + $button-large-font-size-disabled, + + $button-large-font-weight, + $button-large-font-weight-over, + $button-large-font-weight-focus, + $button-large-font-weight-pressed, + $button-large-font-weight-disabled, + + $button-large-font-family, + $button-large-font-family-over, + $button-large-font-family-focus, + $button-large-font-family-pressed, + $button-large-font-family-disabled, + + $button-large-icon-size + ); + + .#{$prefix}btn-default-toolbar-small-disabled, + .#{$prefix}btn-default-toolbar-medium-disabled, + .#{$prefix}btn-default-toolbar-large-disabled { + border-color: transparent; + + background-image: none; + background: transparent; + } +} + +@mixin extjs-button-ui( + $ui, + + $border-radius: 0px, + + $border-width: 0px, + + $border-color: null, + $border-color-over: null, + $border-color-focus: null, + $border-color-pressed: null, + $border-color-disabled: null, + + $padding: null, + $text-padding: null, + + $background-color: null, + $background-color-over: null, + $background-color-focus: null, + $background-color-pressed: null, + $background-color-disabled: null, + + $background-gradient: null, + $background-gradient-over: null, + $background-gradient-focus: null, + $background-gradient-pressed: null, + $background-gradient-disabled: null, + + $color: null, + $color-over: null, + $color-focus: null, + $color-pressed: null, + $color-disabled: null, + + $font-size: null, + $font-size-over: null, + $font-size-focus: null, + $font-size-pressed: null, + $font-size-disabled: null, + + $font-weight: null, + $font-weight-over: null, + $font-weight-focus: null, + $font-weight-pressed: null, + $font-weight-disabled: null, + + $font-family: null, + $font-family-over: null, + $font-family-focus: null, + $font-family-pressed: null, + $font-family-disabled: null, + + $icon-size: null +) { + .#{$prefix}btn-#{$ui} { + border-color: $border-color; + } + + @include x-frame('btn', $ui, $border-radius, $border-width, $padding, $background-color, $background-gradient, true); + + .#{$prefix}btn-#{$ui} .#{$prefix}btn-inner { + font-size: $font-size; + font-weight: $font-weight; + font-family: $font-family; + color: $color; + background-repeat: no-repeat; + padding: 0 $text-padding; + } + + .#{$prefix}btn-#{$ui}-icon, + .#{$prefix}btn-#{$ui}-noicon { + button, + .#{$prefix}btn-inner { + height: $icon-size; + line-height: $icon-size; + } + } + + //icons + .#{$prefix}btn-#{$ui}-icon { + button { + padding: 0; + width: $icon-size !important; + height: $icon-size; + } + + .#{$prefix}btn-icon { + width: $icon-size; + height: $icon-size; + top: 0; + left: 0; + bottom: 0; + right: 0; + } + } + + .#{$prefix}btn-#{$ui}-icon-text-left { + button { + height: $icon-size; + } + .#{$prefix}btn-inner { + height: $icon-size; + line-height: $icon-size; + padding-left: $icon-size + 4px; + } + + .#{$prefix}btn-icon { + width: $icon-size; + height: auto; + top: 0; + left: 0; + bottom: 0; + right: auto; + + .#{$prefix}ie6 &, + .#{$prefix}quirks & { + height: $icon-size; + } + } + } + + .#{$prefix}btn-#{$ui}-icon-text-right { + button { + height: $icon-size; + } + .#{$prefix}btn-inner { + height: $icon-size; + line-height: $icon-size; + padding-right: $icon-size + 4px !important; + } + + .#{$prefix}btn-icon { + width: $icon-size; + height: auto; + top: 0; + left: auto; + bottom: 0; + right: 0; + + .#{$prefix}ie6 &, + .#{$prefix}quirks & { + height: $icon-size; + } + } + } + + .#{$prefix}btn-#{$ui}-icon-text-top { + .#{$prefix}btn-inner { + padding-top: $icon-size + 4px; + } + + .#{$prefix}btn-icon { + width: auto; + height: $icon-size; + top: 0; + left: 0; + bottom: auto; + right: 0; + + .#{$prefix}ie6 &, + .#{$prefix}quirks & { + width: $icon-size; + } + } + } + + .#{$prefix}btn-#{$ui}-icon-text-bottom { + .#{$prefix}btn-inner { + padding-bottom: $icon-size + 4px; + } + + .#{$prefix}btn-icon { + width: auto; + height: $icon-size; + top: auto; + left: 0; + bottom: 0; + right: 0; + + .#{$prefix}ie6 &, + .#{$prefix}quirks & { + width: $icon-size; + } + } + } + + .#{$prefix}btn-#{$ui}-over { + @if $border-color-over != $border-color { + border-color: $border-color-over; + } + @if $background-color-over != null { + @include background-gradient($background-color-over, $background-gradient-over); + } + + .#{$prefix}btn-inner { + @if $color-over != $color { + color: $color-over; + } + @if $font-weight-over != $font-weight { + font-weight: $font-weight-over; + } + @if $font-size-over != $font-size { + font-size: $font-size-over; + } + @if $font-family-over != $font-family { + font-family: $font-family-over; + } + } + } + + .#{$prefix}btn-#{$ui}-focus { + @if $border-color-focus != $border-color { + border-color: $border-color-focus; + } + @if $background-color-focus != null { + @include background-gradient($background-color-focus, $background-gradient-focus); + } + + .#{$prefix}btn-inner { + @if $color-focus != $color { + color: $color-focus; + } + @if $font-weight-focus != $font-weight { + font-weight: $font-weight-focus; + } + @if $font-size-focus != $font-size { + font-size: $font-size-focus; + } + @if $font-family-focus != $font-family { + font-family: $font-family-focus; + } + } + } + + .#{$prefix}btn-#{$ui}-menu-active, + .#{$prefix}btn-#{$ui}-pressed { + @if $border-color-pressed != $border-color { + border-color: $border-color-pressed; + } + @if $background-color-pressed != null { + @include background-gradient($background-color-pressed, $background-gradient-pressed); + } + + .#{$prefix}btn-inner { + @if $color-pressed != $color { + color: $color-pressed; + } + @if $font-weight-pressed != $font-weight { + font-weight: $font-weight-pressed; + } + @if $font-size-pressed != $font-size { + font-size: $font-size-pressed; + } + @if $font-family-pressed != $font-family { + font-family: $font-family-pressed; + } + } + } + + .#{$prefix}btn-#{$ui}-disabled { + @if $border-color-disabled != $border-color { + border-color: $border-color-disabled; + } + @if $background-color-disabled != null { + @include background-gradient($background-color-disabled, $background-gradient-disabled); + } + + .#{$prefix}btn-inner { + @if $color-disabled != $color { + color: $color !important; + } + @if $font-weight-disabled != $font-weight { + font-weight: $font-weight-disabled; + } + @if $font-size-disabled != $font-size { + font-size: $font-size-disabled; + } + @if $font-family-disabled != $font-family { + font-family: $font-family-disabled; + } + } + } + + .#{$prefix}ie .#{$prefix}btn-#{$ui}-disabled { + .#{$prefix}btn-inner { + @if $color-disabled != $color { + color: darken($color-disabled, 20) !important; + } + } + } + + .#{$prefix}ie6 .#{$prefix}btn-#{$ui}-disabled { + .#{$prefix}btn-inner { + @if $color-disabled != $color { + color: $color-disabled !important; + } + } + } + + @if not $supports-border-radius or $compile-all { + .#{$prefix}nbr { + .#{$prefix}btn-#{$ui}-over { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $background-color-over; + @if $background-gradient-over != null { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif'); + } + } + } + + .#{$prefix}btn-#{$ui}-focus { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $background-color-focus; + @if $background-gradient-focus != null { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif'); + } + } + } + + .#{$prefix}btn-#{$ui}-menu-active, + .#{$prefix}btn-#{$ui}-pressed { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $background-color-pressed; + @if $background-gradient-pressed != null { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif'); + } + } + } + + .#{$prefix}btn-#{$ui}-disabled { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $background-color-disabled; + @if $background-gradient-disabled != null { + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif'); + } + } + } + } + } + + @if not $supports-gradients or $compile-all { + @if $background-gradient != null { + .#{$prefix}nlg { + .#{$prefix}btn-#{$ui} { + background-repeat: repeat-x; + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-bg.gif'); + } + } + } + + @if $background-gradient-over != null { + .#{$prefix}nlg { + .#{$prefix}btn-#{$ui}-over { + background-repeat: repeat-x; + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif'); + } + } + } + + @if $background-gradient-focus != null { + .#{$prefix}nlg { + .#{$prefix}btn-#{$ui}-focus { + background-repeat: repeat-x; + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif'); + } + } + } + + @if $background-gradient-pressed != null { + .#{$prefix}nlg { + .#{$prefix}btn-#{$ui}-menu-active, + .#{$prefix}btn-#{$ui}-pressed { + background-repeat: repeat-x; + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif'); + } + } + } + + @if $background-gradient-disabled != null { + .#{$prefix}nlg { + .#{$prefix}btn-#{$ui}-disabled { + background-repeat: repeat-x; + @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif'); + } + } + } + } +};
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_colorpicker.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_colorpicker.scss new file mode 100644 index 000000000..c35c6c060 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_colorpicker.scss @@ -0,0 +1,45 @@ +@mixin extjs-colorpicker { + .#{$prefix}color-picker { + width: 144px; + height: 90px; + cursor: pointer; + } + + .#{$prefix}color-picker a { + border: 1px solid #fff; + + float: left; + + padding: 2px; + + text-decoration: none; + + -moz-outline: 0 none; + outline: 0 none; + + cursor: pointer; + } + + .#{$prefix}color-picker a:hover, + .#{$prefix}color-picker a.#{$prefix}color-picker-selected { + border-color: $colorpicker-over-border-color; + background-color: $colorpicker-over-background-color; + } + + .#{$prefix}color-picker em { + display: block; + + border: 1px solid $colorpicker-item-border-color; + } + + .#{$prefix}color-picker em span { + cursor: pointer; + + display: block; + + height: 10px; + width: 10px; + + line-height: 10px; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_datepicker.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_datepicker.scss new file mode 100644 index 000000000..459409c93 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_datepicker.scss @@ -0,0 +1,422 @@ +@mixin extjs-datepicker { + .#{$prefix}datepicker { + border: $datepicker-border; + + background-color: $datepicker-background-color; + position: relative; + + a { + -moz-outline: 0 none; + outline: 0 none; + + color: $datepicker-monthpicker-item-color; + text-decoration: none; + + border-width: 0; + } + } + + .#{$prefix}datepicker-inner, + .#{$prefix}datepicker-inner td, + .#{$prefix}datepicker-inner th { + border-collapse: separate; + } + + .#{$prefix}datepicker-header { + position: relative; + + height: 26px; + + @if $datepicker-header-background-gradient { + @include background-gradient($datepicker-header-background-color, $datepicker-header-background-gradient); + } @else { + background-color: $datepicker-header-background-color; + } + } + + .#{$prefix}datepicker-prev, + .#{$prefix}datepicker-next { + position: absolute; + top: 5px; + + width: 18px; + + a { + display: block; + + width: 16px; + height: 16px; + + background-position: top; + background-repeat: no-repeat; + + cursor: pointer; + + text-decoration: none !important; + + @include opacity(.7); + + &:hover { + @include opacity(1); + } + } + } + + .#{$prefix}datepicker-next { + right: 5px; + + a { + @include theme-background-image($theme-name, $datepicker-next-image); + } + } + + .#{$prefix}datepicker-prev { + left: 5px; + + a { + @include theme-background-image($theme-name, $datepicker-prev-image); + } + } + + .#{$prefix}item-disabled .#{$prefix}datepicker-prev a:hover, + .#{$prefix}item-disabled .#{$prefix}datepicker-next a:hover { + @include opacity(.6); + } + + .#{$prefix}datepicker-month { + padding-top: 3px; + + .#{$prefix}btn, + button, + .#{$prefix}btn-tc, + .#{$prefix}btn-tl, + .#{$prefix}btn-tr, + .#{$prefix}btn-mc, + .#{$prefix}btn-ml, + .#{$prefix}btn-mr, + .#{$prefix}btn-bc, + .#{$prefix}btn-bl, + .#{$prefix}btn-br { + background: transparent !important; + border-width: 0 !important; + } + + span { + color: #fff !important; + } + + .#{$prefix}btn-split-right { + background: no-repeat right center !important; + @include theme-background-image($theme-name, $datepicker-month-arrow-image); + + padding-right: 12px; + } + } + + .#{$prefix}datepicker-next { + text-align: right; + } + + .#{$prefix}datepicker-month { + //width: 120px; + text-align: center; + + button { + color: $datepicker-monthpicker-color !important; + } + } + + + table.#{$prefix}datepicker-inner { + width: 100%; + table-layout: fixed; + + th { + width: 25px; + height: 19px; + + padding: 0; + + color: $datepicker-th-color; + font: $datepicker-th-font; + text-align: $datepicker-th-text-align; + + border-bottom: 1px solid $datepicker-th-border-bottom-color; + border-collapse: separate; + + @if $datepicker-th-background-gradient { + @include background-gradient($datepicker-th-background-color, $datepicker-th-background-gradient); + } @else { + background-color: $datepicker-th-background-color; + } + + cursor: default; + + span { + display: block; + padding-right: 7px; + } + } + + tr { + height: 20px; + } + + td { + border: $datepicker-border-width $datepicker-border-style; + height: $datepicker-td-height; + border-color: $datepicker-background-color; + text-align: right; + padding: 0; + } + + a { + padding-right: 4px; + + display: block; + + zoom: 1; + + font: normal ceil($font-size * .9) $font-family; + color: $datepicker-item-color; + text-decoration: none; + text-align: right; + } + + .#{$prefix}datepicker-active { + cursor: pointer; + color: black; + } + + .#{$prefix}datepicker-selected { + a { + background: repeat-x left top; + background-color: $datepicker-selected-item-background-color; + border: 1px solid $datepicker-selected-item-border-color; + } + + span { + font-weight: bold; + } + } + + .#{$prefix}datepicker-today { + a { + border: $datepicker-border-width $datepicker-border-style; + border-color: $datepicker-today-item-border-color; + } + } + + .#{$prefix}datepicker-prevday, + .#{$prefix}datepicker-nextday { + a { + text-decoration: none !important; + color: #aaa; + } + } + + a:hover, + .#{$prefix}datepicker-disabled a:hover { + text-decoration: none !important; + + color: #000; + + background-color: $datepicker-item-hover-background-color; + } + + .#{$prefix}datepicker-disabled a { + cursor: default; + background-color: #eee; + color: #bbb; + } + } + + .#{$prefix}datepicker-footer, + .#{$prefix}monthpicker-buttons { + position: relative; + + border-top: $datepicker-border-width $datepicker-border-style $datepicker-footer-border-top-color; + + @if $datepicker-footer-background-gradient { + @include background-gradient($datepicker-footer-background-color, $datepicker-footer-background-gradient); + } @else { + background-color: $datepicker-footer-background-color; + } + + text-align: center; + + .#{$prefix}btn { + position: relative; + margin: 4px; + } + } + + .#{$prefix}item-disabled .#{$prefix}datepicker-inner a:hover { + background: none; + } + + // month picker + .#{$prefix}datepicker .#{$prefix}monthpicker { + position: absolute; + left: 0; + top: 0; + } + + + .#{$prefix}monthpicker { + border: $datepicker-border; + background-color: $datepicker-background-color; + } + + .#{$prefix}monthpicker-months, + .#{$prefix}monthpicker-years { + float: left; + + height: $datepicker-monthpicker-height; + width: 88px; + } + + .#{$prefix}monthpicker-item { + float: left; + + margin: 4px 0 5px 0; + + font: normal ceil($font-size * .9) $font-family; + text-align: center; + vertical-align: middle; + + height: 18px; + width: 43px; + + border: 0 none; + + a { + display: block; + + margin: 0 5px 0 5px; + + text-decoration: none; + + color: $datepicker-monthpicker-item-color; + + border: $datepicker-monthpicker-item-border; + + line-height: 17px; + + &:hover { + background-color: $datepicker-monthpicker-item-hover-background-color; + } + + &.#{$prefix}monthpicker-selected { + background-color: $datepicker-monthpicker-item-selected-background-color; + border: $datepicker-monthpicker-item-selected-border; + } + } + } + + .#{$prefix}monthpicker-months { + border-right: $datepicker-border; + width: 87px; + } + + .#{$prefix}monthpicker-years .#{$prefix}monthpicker-item { + width: 44px; + } + + .#{$prefix}monthpicker-yearnav { + height: 28px; + + button { + @include theme-background-image($theme-name, $datepicker-tool-sprite-image); + height: 15px; + width: 15px; + padding: 0; + margin: 6px 12px 5px 15px; + border: none; + outline: 0 none; + &::-moz-focus-inner { + border: 0; + padding: 0; + } + } + } + + .#{$prefix}monthpicker-yearnav-next { + background-position: 0 -120px; + } + + .#{$prefix}monthpicker-yearnav-next-over { + cursor: pointer; + cursor: hand; + background-position: -15px -120px; + } + + .#{$prefix}monthpicker-yearnav-prev { + background-position: 0 -105px; + } + + .#{$prefix}monthpicker-yearnav-prev-over { + cursor: pointer; + cursor: hand; + background-position: -15px -105px; + } + + .#{$prefix}monthpicker-small { + .#{$prefix}monthpicker-item { + margin: 2px 0 2px 0; + } + + .#{$prefix}monthpicker-yearnav { + height: 23px; + } + + .#{$prefix}monthpicker-months, .#{$prefix}monthpicker-years { + height: 136px; + } + } + + @if $include-ie { + .#{$prefix}quirks { + .#{$prefix}ie7, + .#{$prefix}ie8 { + .#{$prefix}monthpicker-buttons { + .#{$prefix}btn { + margin-top: 2px; + } + } + } + + .#{$prefix}monthpicker-small .#{$prefix}monthpicker-yearnav button { + margin-top: 3px; + margin-bottom: 3px; + } + } + + .#{$prefix}ie6 .#{$prefix}monthpicker-small .#{$prefix}monthpicker-yearnav button { + margin-top: 3px; + margin-bottom: 3px; + } + } + + //nlg support + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + @if $datepicker-header-background-gradient != null { + .#{$prefix}datepicker-header { + @include theme-background-image($theme-name, 'datepicker/datepicker-header-bg.gif'); + background-repeat: repeat-x; + background-position: top left; + } + } + + @if $datepicker-footer-background-gradient != null { + .#{$prefix}datepicker-footer, + .#{$prefix}monthpicker-buttons { + @include theme-background-image($theme-name, 'datepicker/datepicker-footer-bg.gif'); + background-repeat: repeat-x; + background-position: top left; + } + } + } + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_drawcomponent.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_drawcomponent.scss new file mode 100644 index 000000000..b32c63c0b --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_drawcomponent.scss @@ -0,0 +1,59 @@ +@mixin extjs-drawcomponent { + .#{$prefix}surface { + @include inline-block; + } + + .rvml { + behavior: url(#default#VML); + } + + .#{$prefix}surface tspan { + user-select: none; + -o-user-select: none; + -ms-user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + } + + .#{$prefix}vml-sprite { + position: absolute; + left: 0; + top: 0; + width: 1px; + height: 1px; + } + + .#{$prefix}vml-group { + position: absolute; + left: 0; + top: 0; + width: 1000px; + height: 1000px; + } + + .#{$prefix}vml-measure-span { + position: absolute; + left: -9999em; + top: -9999em; + padding: 0; + margin: 0; + display: inline; + } + + .#{$prefix}vml-base { + position: relative; + top: 0; + left: 0; + overflow: hidden; + display: inline-block; + } + + .#{$prefix}vml-base { + position: relative; + top: 0; + left: 0; + overflow: hidden; + display: inline-block; + } +} + diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_form.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_form.scss new file mode 100644 index 000000000..446554e82 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_form.scss @@ -0,0 +1,8 @@ +@import 'form/all'; +@import 'form/field'; +@import 'form/fieldset'; +@import 'form/file'; +@import 'form/checkbox'; +@import 'form/checkboxgroup'; +@import 'form/triggerfield'; +@import 'form/htmleditor';
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_grid.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_grid.scss new file mode 100644 index 000000000..5c5fb7f16 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_grid.scss @@ -0,0 +1,818 @@ +@mixin extjs-grid { + //main grid view + .#{$prefix}panel { + .#{$prefix}grid-body { + background: $panel-body-background-color; + border-color: $panel-body-border-color; + border-style: $panel-body-border-style; + border-width: 1px; + border-top-color: $grid-header-background-color; + } + + // Still needs left and right border even if it's not visible so that its available width can be calculated correctly + .#{$prefix}grid-header-ct-hidden { + border-top-width: 0 !important; + } + } + + .#{$prefix}grid-header-hidden .#{$prefix}grid-body { + border-top-color: $panel-body-border-color !important; + } + + .#{$prefix}grid-view { + overflow: hidden; + + position: relative; + } + + .#{$prefix}grid-table { + table-layout: fixed; + border-collapse: separate; + } + + .#{$prefix}grid-row .#{$prefix}grid-table { + border-collapse: collapse; + } + + .#{$prefix}grid-locked .#{$prefix}grid-inner-locked { + border-width: 0 1px 0 0 !important; + border-style: solid; + } + + .#{$prefix}grid-header-ct { + cursor: default; + zoom: 1; + padding: 0; + border: 1px solid $panel-body-border-color; + + @if $supports-gradients or $compile-all { + @include background-gradient($grid-header-background-color, $grid-header-background-gradient); + } + } + + @if $include-ie or $compile-all { + .#{$prefix}border-box .#{$prefix}ie9 { + .#{$prefix}grid-header-ct { + padding-left: 1px; + } + } + .#{$prefix}ie6, .#{$prefix}ie7 { + .#{$prefix}grid-header-ct { + padding-left: 1px; + } + } + + } + + .#{$prefix}column-header { + padding: 0; + position: absolute; + overflow: hidden; + + border-right: 1px solid $grid-header-background-color; + border-left: 0 none; + border-top: 0 none; + border-bottom: 0 none; + + text-shadow: 0 1px 0 rgba(255, 255, 255, .3); + font: normal 11px/15px $font-family; + + @if $grid-header-color { + color: $grid-header-color; + } + font: normal ceil($font-size * .9) $font-family; + + @if $supports-gradients or $compile-all { + @include background-gradient($grid-header-background-color, $grid-header-background-gradient); + } + } + + .#{$prefix}group-header { + padding: 0; + border-left-width: 0; + } + .#{$prefix}group-sub-header { + background: transparent; + border-top: 1px solid $grid-header-background-color; + border-left-width: 0; + } + + .#{$prefix}column-header-inner { + zoom: 1; + position: relative; + white-space: nowrap; + line-height: 22px; + padding: $grid-header-padding; + + .#{$prefix}column-header-text { + white-space: nowrap; + } + } + + .#{$prefix}column-header-over, + .#{$prefix}column-header-sort-ASC, + .#{$prefix}column-header-sort-DESC { + border-left-color: $grid-header-over-border-color; + border-right-color: $grid-header-over-border-color; + + @if $supports-gradients or $compile-all { + @include background-gradient($grid-header-over-background-color, $grid-header-over-background-gradient); + } + } + + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + .#{$prefix}grid-header-ct, + .#{$prefix}column-header { + background: repeat-x 0 top; + @include theme-background-image($theme-name, 'grid/column-header-bg.gif'); + } + + .#{$prefix}column-header-over, + .#{$prefix}column-header-sort-ASC, + .#{$prefix}column-header-sort-DESC { + background: #ebf3fd repeat-x 0 top; + @include theme-background-image($theme-name, 'grid/column-header-over-bg.gif'); + } + } + } + + .#{$prefix}column-header-trigger { + display: none; + height: 100%; + width: $grid-header-trigger-width; + background: no-repeat left center; + background-color: #c3daf9; + @include theme-background-image($theme-name, 'grid/grid3-hd-btn.gif'); + position: absolute; + right: 0; + top: 0; + z-index: 2; + cursor: pointer; + } + + .#{$prefix}column-header-over, .#{$prefix}column-header-open { + .#{$prefix}column-header-trigger { + display: block; + } + } + + .#{$prefix}column-header-align-right { + text-align: right; + + .#{$prefix}column-header-text { + padding-right: 0.5ex; + margin-right: 6px; + } + } + .#{$prefix}column-header-align-center { + text-align: center; + } + .#{$prefix}column-header-align-left { + text-align: left; + } + + // Sort direction indicator is a background of the text span. + .#{$prefix}column-header-sort-ASC .#{$prefix}column-header-text { + padding-right: 16px; + background: no-repeat right 6px; + @include theme-background-image($theme-name, 'grid/sort_asc.gif'); + } + .#{$prefix}column-header-sort-DESC .#{$prefix}column-header-text { + padding-right: 16px; + background: no-repeat right 6px; + @include theme-background-image($theme-name, 'grid/sort_desc.gif'); + } + + //grid rows + .#{$prefix}grid-row { + line-height: 13px; + + vertical-align: top; + + padding: $grid-row-padding; + + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: ignore; + + .#{$prefix}grid-cell { + @if $grid-row-cell-color { + color: $grid-row-cell-color; + } + font: $grid-row-cell-font; + + border-color: $grid-row-cell-border-color; + border-style: $grid-row-cell-border-style; + border-width: $grid-row-cell-border-width; + border-top-color: lighten($grid-row-cell-border-color, 5); + } + } + + .#{$prefix}grid-rowwrap-div { + border-width: $grid-row-wrap-border-width; + border-color: $grid-row-wrap-border-color; + border-style: $grid-row-wrap-border-style; + border-top-color: lighten($grid-row-wrap-border-color, 5); + + overflow: hidden; + } + + .#{$prefix}grid-row-alt .#{$prefix}grid-cell, + .#{$prefix}grid-row-alt .#{$prefix}grid-rowwrap-div { + background-color: $grid-row-cell-alt-background; + } + + .#{$prefix}grid-row-over .#{$prefix}grid-cell, + .#{$prefix}grid-row-over .#{$prefix}grid-rowwrap-div { + border-color: $grid-row-cell-over-border-color; + + background-color: $grid-row-cell-over-background-color; + } + + .#{$prefix}grid-row-focused .#{$prefix}grid-cell, + .#{$prefix}grid-row-focused .#{$prefix}grid-rowwrap-div { + border-color: $grid-row-cell-focus-border-color; + + background-color: $grid-row-cell-focus-background-color; + } + + .#{$prefix}grid-row-selected .#{$prefix}grid-cell, + .#{$prefix}grid-row-selected .#{$prefix}grid-rowwrap-div { + border-style: $grid-row-cell-selected-border-style; + border-color: $grid-row-cell-selected-border-color; + + background-color: $grid-row-cell-selected-background-color !important; + } + + .#{$prefix}grid-rowwrap-div { + .#{$prefix}grid-cell, + .#{$prefix}grid-cell-inner { + border-width: 0; + + background: transparent; + } + } + + .#{$prefix}grid-row-body-hidden { + display: none; + } + + .#{$prefix}grid-rowbody { + font: $grid-row-body-font; + + padding: $grid-row-body-padding; + + p { + margin: 5px 5px 10px 5px; + } + } + + //grid cells + .#{$prefix}grid-cell { + overflow: hidden; + + font: $grid-cell-font; + + -moz-user-select: none; + -khtml-user-select:none; + -webkit-user-select:ignore; + } + + .#{$prefix}grid-cell-inner { + overflow: hidden; + + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + + padding: $grid-cell-inner-padding; + + white-space: nowrap; + } + + // Action columns with a standard, 16x16 icon require less padding + .#{$prefix}action-col-cell .#{$prefix}grid-cell-inner { + padding: 1px 2px 0 2px; + } + + .#{$prefix}ie6, + .#{$prefix}ie7, + .#{$prefix}quirks .#{$prefix}ie9, + .#{$prefix}quirks .#{$prefix}ie8, + .#{$prefix}strict .#{$prefix}ie8 { + .#{$prefix}action-col-cell .#{$prefix}grid-cell-inner { + padding: 2px 2px 1px 2px; + } + } + + .#{$prefix}grid-row .#{$prefix}grid-cell-special { + padding: 0; + border-right: 1px solid $grid-cell-with-col-lines-border-color; + + @include background-gradient(#f6f6f6, 'grid-cell-special'); + } + + /* + IE6-8 have issues with shrinking the TR to 0px (even w/line-height=0), so we + use an IE-specific trick to make the row disappear. We cannot do this on any + other browser, because it is not a non-standard thing to do and those other + browsers will do whacky things with it. + */ + + .#{$prefix}ie6, + .#{$prefix}ie7, + .#{$prefix}quirks .#{$prefix}ie8, + .#{$prefix}strict .#{$prefix}ie8 { + .#{$prefix}grid-header-row { + position: absolute; + } + } + + .#{$prefix}grid-row-selected .#{$prefix}grid-cell-special { + border-right: 1px solid adjust-color($base-color, $hue: -0.175deg, $saturation: 25.296%, $lightness: -2.549%); + + @include background-gradient($grid-row-cell-selected-background-color, 'grid-cell-special'); + } + + .#{$prefix}grid-dirty-cell { + @include theme-background-image($theme-name, 'grid/dirty.gif'); + background-position: 0 0; + background-repeat: no-repeat; + } + + .#{$prefix}grid-cell-selected { + background-color: #B8CFEE !important; + } + + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + .#{$prefix}grid-cell-special { + background-repeat: repeat-y; + background-position: top right; + } + + .#{$prefix}grid-row .#{$prefix}grid-cell-special, + .#{$prefix}grid-row-over .#{$prefix}grid-cell-special { + @include theme-background-image($theme-name, 'grid/cell-special-bg.gif'); + + } + + .#{$prefix}grid-row-focused .#{$prefix}grid-cell-special, + .#{$prefix}grid-row-selected .#{$prefix}grid-cell-special { + @include theme-background-image($theme-name, 'grid/cell-special-selected-bg.gif'); + } + } + } + + //this is panel as gridpanel doesn't use a baseCls + .#{$prefix}panel-with-col-lines .#{$prefix}grid-row .#{$prefix}grid-cell { + padding-right: 0; + border-right: 1px solid $grid-cell-with-col-lines-border-color; + } + + @if $include-ie { + .#{$prefix}ie { + .#{$prefix}grid-cell-special { + border-right-width: 0 !important; + } + } + } + + .#{$prefix}property-grid { + .#{$prefix}grid-row .#{$prefix}grid-cell-inner { + padding: 3px 6px 5px; + } + + .#{$prefix}grid-row .#{$prefix}grid-property-name .#{$prefix}grid-cell-inner, + .#{$prefix}grid-row-over .#{$prefix}grid-property-name .#{$prefix}grid-cell-inner { + padding-left: 12px; + @include theme-background-image($theme-name, 'grid/property-cell-bg.gif'); + background-repeat: no-repeat; + background-position: -16px 1px; + } + } + + @if $include-ie { + .#{$prefix}quirks .#{$prefix}ie .#{$prefix}grid-row .#{$prefix}grid-property-name .#{$prefix}grid-cell-inner { + background-position: -16px 2px; + } + } + + .#{$prefix}unselectable { + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: ignore; + } + + .#{$prefix}grid-row-body-hidden { + display: none; + } + + .#{$prefix}grid-group-collapsed { + display: none; + } + + //grid expander + .#{$prefix}grid-view { + .#{$prefix}grid-td-expander { + vertical-align: top; + } + } + + .#{$prefix}grid-td-expander { + background: repeat-y right transparent; + } + + .#{$prefix}grid-view { + .#{$prefix}grid-td-expander { + .#{$prefix}grid-cell-inner { + padding: 0 !important; + } + } + } + + .#{$prefix}grid-row-expander { + @include theme-background-image($theme-name, 'grid/group-collapse.gif'); + background-color: transparent; + + width: 9px; + height: 13px; + + margin-left: 3px; + + background-repeat: no-repeat; + background-position: 0 -2px; + } + + .#{$prefix}grid-row-collapsed { + .#{$prefix}grid-row-expander { + @include theme-background-image($theme-name, 'grid/group-expand.gif'); + } + } + + .#{$prefix}grid-resize-marker { + position: absolute; + z-index: 5; + top: 0; + width: 1px; + background-color: #0f0f0f; + } + + //column move icons, when moving columns + .col-move-top, + .col-move-bottom { + width: 9px; + height: 9px; + position: absolute; + top: 0; + line-height: 0; + font-size: 0; + overflow: hidden; + z-index: 20000; + background: no-repeat left top transparent; + } + + .col-move-top { + @include theme-background-image($theme-name, 'grid/col-move-top.gif'); + } + + .col-move-bottom { + @include theme-background-image($theme-name, 'grid/col-move-bottom.gif'); + } + + //pading toolbar + .#{$prefix}tbar-page-number { + width: 30px; + } + + //grouped grid + .#{$prefix}grid-group, + .#{$prefix}grid-group-body, + .#{$prefix}grid-group-hd { + zoom: 1; + } + + .#{$prefix}grid-group-hd { + padding-top: 6px; + + .#{$prefix}grid-cell-inner { + padding: 10px 4px 4px 4px; + + background: $grid-grouped-header-background-color; + + border-width: $grid-grouped-header-border-width; + border-style: $grid-grouped-header-border-style; + border-color: $grid-grouped-header-border-color; + + cursor: pointer; + } + } + + .#{$prefix}grid-group-title { + background: transparent no-repeat 0 -1px; + @include theme-background-image($theme-name, 'grid/group-collapse.gif'); + + color: $grid-grouped-title-color; + font: $grid-grouped-title-font; + + padding: 0 0 0 14px; + } + + .#{$prefix}grid-group-hd-collapsed { + .#{$prefix}grid-group-title { + @include theme-background-image($theme-name, 'grid/group-expand.gif'); + } + } + + .#{$prefix}grid-group-collapsed .#{$prefix}grid-group-body { + display: none; + } + + .#{$prefix}grid-group-collapsed .#{$prefix}grid-group-title { + @include theme-background-image($theme-name, 'grid/group-expand.gif'); + } + + .#{$prefix}group-by-icon { + @include theme-background-image($theme-name, 'grid/group-by.gif'); + } + + .#{$prefix}show-groups-icon { + @include theme-background-image($theme-name, 'grid/group-by.gif'); + } + + .#{$prefix}column-header-checkbox .#{$prefix}column-header-inner { + padding: 1px; + } + + .#{$prefix}grid-cell-special .#{$prefix}grid-cell-inner { + padding: 4px; + } + + .#{$prefix}grid-row-checker, + .#{$prefix}column-header-checkbox .#{$prefix}column-header-text { + height: 14px; + width: 14px; + @include theme-background-image($theme-name, 'grid/unchecked.gif'); + background-position: -1px -1px; + background-repeat: no-repeat; + background-color: transparent; + } + + // Row checker is a div but column header checker is the text span element, so make it display: block + // Header checkbox element needs centering + .#{$prefix}column-header-checkbox .#{$prefix}column-header-text { + display: block; + margin-top: 4px; + margin-left: 4px; + } + + @if $include-ie or $compile-all { + /* All IE Quirks mode need to squish the header height or the line-height will become too tall */ + /* IE6 always needs the hack regardless of quirks/strict */ + .#{$prefix}quirks .#{$prefix}ie, .#{$prefix}ie6 { + .#{$prefix}column-header-checkbox .#{$prefix}column-header-inner { + line-height: 18px; + } + } + + /* IE 6, 7 & 9 are 1px too far to the right when centering, drop the margin 1px. */ + .#{$prefix}ie6, .#{$prefix}ie7, .#{$prefix}ie9 { + .#{$prefix}column-header-checkbox .#{$prefix}column-header-text { + margin-left: 3px; + } + } + } + + .#{$prefix}grid-hd-checker-on .#{$prefix}column-header-text { + @include theme-background-image($theme-name, 'grid/checked.gif'); + } + + .#{$prefix}grid-row-checker { + margin-left: 1px; + + background-position: 50% -2px; + } + + .#{$prefix}grid-row-selected .#{$prefix}grid-row-checker, + .#{$prefix}grid-row-checked .#{$prefix}grid-row-checker { + @include theme-background-image($theme-name, 'grid/checked.gif'); + } + + //grid icons + .#{$prefix}tbar-page-first { + background-image: theme-image($theme-name, 'grid/page-first.gif') !important; + } + + .#{$prefix}tbar-loading { + background-image: theme-image($theme-name, 'grid/refresh.gif') !important; + } + + .#{$prefix}tbar-page-last { + background-image: theme-image($theme-name, 'grid/page-last.gif') !important; + } + + .#{$prefix}tbar-page-next { + background-image: theme-image($theme-name, 'grid/page-next.gif') !important; + } + + .#{$prefix}tbar-page-prev { + background-image: theme-image($theme-name, 'grid/page-prev.gif') !important; + } + + .#{$prefix}item-disabled { + .#{$prefix}tbar-loading { + background-image: theme-image($theme-name, 'grid/refresh-disabled.gif') !important; + } + + .#{$prefix}tbar-page-first { + background-image: theme-image($theme-name, 'grid/page-first-disabled.gif') !important; + } + + .#{$prefix}tbar-page-last { + background-image: theme-image($theme-name, 'grid/page-last-disabled.gif') !important; + } + + .#{$prefix}tbar-page-next { + background-image: theme-image($theme-name, 'grid/page-next-disabled.gif') !important; + } + + .#{$prefix}tbar-page-prev { + background-image: theme-image($theme-name, 'grid/page-prev-disabled.gif') !important; + } + } + + //menu icons + .xg-hmenu-sort-asc .#{$prefix}menu-item-icon { + @include theme-background-image($theme-name, 'grid/hmenu-asc.gif'); + } + + .xg-hmenu-sort-desc .#{$prefix}menu-item-icon { + @include theme-background-image($theme-name, 'grid/hmenu-desc.gif'); + } + + .xg-hmenu-lock .#{$prefix}menu-item-icon { + @include theme-background-image($theme-name, 'grid/hmenu-lock.gif'); + } + + .xg-hmenu-unlock .#{$prefix}menu-item-icon { + @include theme-background-image($theme-name, 'grid/hmenu-unlock.gif'); + } + + .#{$prefix}group-by-icon { + @include theme-background-image($theme-name, 'grid/group-by.gif'); + } + + .#{$prefix}cols-icon .#{$prefix}menu-item-icon { + @include theme-background-image($theme-name, 'grid/columns.gif'); + } + + .#{$prefix}show-groups-icon { + @include theme-background-image($theme-name, 'grid/group-by.gif'); + } + + // Drag/drop indicator styles + .#{$prefix}grid-drop-indicator { + position: absolute; + height: 1px; + line-height: 0px; + background-color: #77BC71; + overflow: visible; + + .#{$prefix}grid-drop-indicator-left { + position: absolute; + top: -8px; + left: -12px; + @include theme-background-image($theme-name, 'grid/dd-insert-arrow-right.png'); + height: 16px; + width: 16px; + } + + .#{$prefix}grid-drop-indicator-right { + position: absolute; + top: -8px; + right: -11px; + @include theme-background-image($theme-name, 'grid/dd-insert-arrow-left.png'); + height: 16px; + width: 16px; + } + } + + .#{$prefix}ie6 { + .#{$prefix}grid-drop-indicator-left { + @include theme-background-image($theme-name, 'grid/dd-insert-arrow-right.gif'); + } + + .#{$prefix}grid-drop-indicator-right { + @include theme-background-image($theme-name, 'grid/dd-insert-arrow-left.gif'); + } + } + + // Row Editor + .#{$prefix}grid-row-editor { + position: absolute !important; + z-index: 1; + zoom: 1; + overflow: visible !important; + + .#{$prefix}form-field { + font: $grid-row-editor-font; + } + .#{$prefix}form-display-field { + font: $grid-row-editor-font; + padding-top: 0; + } + + .#{$prefix}panel-body { + background-color: $grid-row-editor-background-color; + border-top: $grid-row-editor-border; + border-bottom: $grid-row-editor-border; + } + } + + // Perfect alignment of input text with cell text + .#{$prefix}grid-row-editor { + // Align input text with text value in cell + .#{$prefix}form-text { + padding-left: 2px; + } + } + .#{$prefix}grid-editor { + // Align checkboxes input + .#{$prefix}form-cb-wrap { + text-align: center; + } + } + +.#{$prefix}grid-row-editor-buttons { + background-color: $grid-row-editor-background-color; + position: absolute; + bottom: -31px; + padding: 4px; + width: 200px; + height: 32px; + + .#{$prefix}strict & { + width: 192px; + height: 24px; + } + + &-ml, + &-mr, + &-bl, + &-br, + &-bc { + position: absolute; + overflow: hidden; + } + + &-bl, + &-br { + width: 4px; + height: 4px; + bottom: 0px; + @include theme-background-image($theme-name, 'panel/panel-default-framed-corners.gif'); + } + &-bl { + left: 0px; + background-position: 0px -16px; + } + &-br { + right: 0px; + background-position: 0px -20px; + } + + &-bc { + position: absolute; + left: 4px; + bottom: 0px; + width: 192px; + height: 1px; + background-color: $grid-row-editor-border-color; + } + + &-ml, + &-mr { + height: 27px; + width: 1px; + top: 1px; + background-color: $grid-row-editor-border-color; + } + &-ml { + left: 0px + } + &-mr { + background-position: 0px -20px; + right: 0px; + } + } + + .#{$prefix}grid-row-editor-errors { + ul { + margin-left: 5px; + } + li { + list-style: disc; + margin-left: 15px; + } + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_html.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_html.scss new file mode 100644 index 000000000..a6acf008d --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_html.scss @@ -0,0 +1,126 @@ +/** + * W3C Suggested Default style sheet for HTML 4 + * http://www.w3.org/TR/CSS21/sample.html + */ +@mixin extjs-html { + .#{$prefix}html { + html, + address, + blockquote, + body, + dd, + div, + dl, + dt, + fieldset, + form, + frame, frameset, + h1, + h2, + h3, + h4, + h5, + h6, + noframes, + ol, + p, + ul, + center, + dir, + hr, + menu, + pre { display: block; } + li { display: list-item; list-style: disc; } + head { display: none; } + table { display: table; } + tr { display: table-row; } + thead { display: table-header-group; } + tbody { display: table-row-group; } + tfoot { display: table-footer-group; } + col { display: table-column; } + colgroup { display: table-column-group; } + td, + th { display: table-cell; } + caption { display: table-caption; } + th { font-weight: bolder; text-align: center; } + caption { text-align: center; } + body { margin: 8px; } + h1 { font-size: 2em; margin: .67em 0; } + h2 { font-size: 1.5em; margin: .75em 0; } + h3 { font-size: 1.17em; margin: .83em 0; } + h4, + p, + blockquote, + ul, + fieldset, + form, + ol, + dl, + dir, + menu { margin: 1.12em 0; } + h5 { font-size: .83em; margin: 1.5em 0; } + h6 { font-size: .75em; margin: 1.67em 0; } + h1, + h2, + h3, + h4, + h5, + h6, + b, + strong { font-weight: bolder; } + blockquote { margin-left: 40px; margin-right: 40px; } + i, + cite, + em, + var, + address { font-style: italic; } + pre, + tt, + code, + kbd, + samp { font-family: monospace; } + pre { white-space: pre; } + button, + textarea, + input, + select { display: inline-block; } + big { font-size: 1.17em; } + small, + sub, + sup { font-size: .83em; } + sub { vertical-align: sub; } + sup { vertical-align: super; } + table { border-spacing: 2px; } + thead, + tbody, + tfoot { vertical-align: middle; } + td, + th { vertical-align: inherit; } + s, + strike, + del { text-decoration: line-through; } + hr { border: 1px inset; } + ol, + ul, + dir, + menu, + dd { margin-left: 40px; } + ul, menu, dir { list-style-type: disc; } + ol { list-style-type: decimal; } + ol ul, + ul ol, + ul ul, + ol ol { margin-top: 0; margin-bottom: 0; } + u, + ins { text-decoration: underline; } + br:before { content: "\A"; } + :before, :after { white-space: pre-line; } + center { text-align: center; } + :link, :visited { text-decoration: underline; } + :focus { outline: invert dotted thin; } + + /* Begin bidirectionality settings (do not change) */ + BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override; } + BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override; } + ; } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_loadmask.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_loadmask.scss new file mode 100644 index 000000000..d03b3a03e --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_loadmask.scss @@ -0,0 +1,59 @@ +/** + * @class Ext.LoadMask + * Component used to mask a component + */ +.#{$prefix}mask { + z-index: 100; + + position: absolute; + top: 0; + left: 0; + + @include opacity($loadmask-opacity); + + width: 100%; + height: 100%; + zoom: 1; + + background: $loadmask-backgorund; +} + +.#{$prefix}mask-msg { + z-index: 20001; + + position: absolute; + top: 0; + left: 0; + + padding: $loadmask-msg-padding; + border: 1px solid; + border-color: $loadmask-msg-border-color; + + @if $loadmask-msg-background-gradient { + @if $supports-gradients or $compile-all { + @include background-gradient($loadmask-msg-background-color, $loadmask-msg-background-gradient); + } + } @else { + background: $loadmask-msg-background-color; + } + + div { + padding: $loadmask-msg-inner-padding; + + //if an icon is defined show it + @if $loadmask-msg-inner-icon != null { + background-image: theme-image($theme-name, $loadmask-msg-inner-icon); + background-repeat: no-repeat; + background-position: 5px center; + } + + cursor: wait; + + border: 1px solid $loadmask-msg-inner-border-color; + + background-color: $loadmask-msg-inner-background-color; + + color: $loadmask-msg-inner-color; + font: $loadmask-msg-inner-font; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_menu.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_menu.scss new file mode 100644 index 000000000..d3a8e040d --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_menu.scss @@ -0,0 +1,185 @@ +/** + * @class Ext.menu.* + */ +@mixin extjs-menu { + .#{$prefix}menu-body { + @include no-select; + background: $menu-background-color !important; + padding: $menu-padding; + } + + .#{$prefix}menu-icon-separator { + position: absolute; + top: 0px; + left: $menu-item-indent; + z-index: 0; + border-left: solid 1px $menu-separator-border-color; + background-color: $menu-separator-background-color; + width: 2px; + height: 100%; + overflow: hidden; + } + + .#{$prefix}menu-plain { + .#{$prefix}menu-icon-separator { + display: none; + } + } + + .#{$prefix}menu-focus { + display: block; + position: absolute; + top: -10px; + left: -10px; + width: 0px; + height: 0px; + } + + .#{$prefix}menu-item { + white-space: nowrap; + overflow: hidden; + z-index: 1; + } + + .#{$prefix}menu-item-cmp { + margin-bottom: 1px; + } + + .#{$prefix}menu-item-link { + display: block; + padding: 0px $menu-padding; + margin: 1px; + text-decoration: none !important; + line-height: 16px; + cursor: default; + } + + @if $include-opera { + .#{$prefix}opera { + // Opera 10.5 absolute positioning of submenu arrow has issues + // This will fix it, and not affect newer Operas + .#{$prefix}menu-item-link { + position: relative; + } + } + } + + .#{$prefix}menu-item-icon { + width: 16px; + height: 16px; + margin: 4px 11px 0px 2px; + background: no-repeat center center; + } + + .#{$prefix}menu-item-text { + position: relative; + font-size: ceil($font-size * .9); + color: $menu-text-color; + top: -4px; + } + + .#{$prefix}menu-item-checked { + .#{$prefix}menu-item-icon { + background-image: theme-image($theme-name, $menu-icon-checked); + } + .#{$prefix}menu-group-icon { + background-image: theme-image($theme-name, $menu-icon-group-checked); + } + } + + .#{$prefix}menu-item-unchecked { + .#{$prefix}menu-item-icon { + background-image: theme-image($theme-name, $menu-icon-unchecked); + } + .#{$prefix}menu-group-icon { + background-image: none; + } + } + + .#{$prefix}menu-item-separator { + height: 2px; + border-top: solid 1px $menu-separator-border-color; + background-color: $menu-separator-background-color; + margin: $menu-padding 0px; + overflow: hidden; + } + + .#{$prefix}menu-item-arrow { + position: absolute; + width: 12px; + height: 9px; + top: 9px; + right: 0px; + background: theme-image($theme-name, $menu-icon-arrow) no-repeat center center; + } + + .#{$prefix}menu-item-indent { + margin-left: $menu-item-indent + $menu-padding + 2px; /* The 2px is the width of the seperator */ + } + + .#{$prefix}menu-item-active { + cursor: pointer; + + .#{$prefix}menu-item-link { + @include background-gradient($menu-item-active-background-color, 'matte'); + margin: 0px; + border: 1px solid $menu-item-active-border-color; + cursor: pointer; + @include border-radius(3px); + } + } + + .#{$prefix}menu-item-disabled { + @include opacity(.5); + } + + @if $include-ie { + .#{$prefix}ie { + .#{$prefix}menu-item-link { + line-height: 17px; + padding-bottom: 1px; + } + + .#{$prefix}menu-item-disabled { + .#{$prefix}menu-item-icon { + @include opacity(.5); + } + + .#{$prefix}menu-item-text { + // IE opacity/cleartype bug workaround + background-color: $menu-background-color; + } + } + + .#{$prefix}strict & { + .#{$prefix}menu-icon-separator { + width: 1px; + } + + .#{$prefix}menu-item-separator { + height: 1px; + } + } + } + + .#{$prefix}ie6, + .#{$prefix}ie7, + .#{$prefix}quirks .#{$prefix}ie8 { + .#{$prefix}menu-item-link { + padding-bottom: $menu-padding; + } + } + } + + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + .#{$prefix}menu-item-active .#{$prefix}menu-item-link { + background: $menu-item-active-background-color theme-image($theme-name, $menu-item-active-background-image) repeat-x left top; + } + } + } + + .#{$prefix}menu-date-item { + border-color: #99BBE8; + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_panel.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_panel.scss new file mode 100644 index 000000000..f338a1af8 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_panel.scss @@ -0,0 +1,442 @@ +/** + * @class Ext.Panel + * Used to create the base structure of an Ext.Panel + */ +@mixin extjs-panel { + .#{$prefix}panel, + .#{$prefix}plain { + overflow: hidden; + position: relative; + } + + @if $include-ie { + // Workaround for disappearing right edge in IE6 + .#{$prefix}ie { + .#{$prefix}panel-header, + .#{$prefix}panel-header-tl, + .#{$prefix}panel-header-tc, + .#{$prefix}panel-header-tr, + .#{$prefix}panel-header-ml, + .#{$prefix}panel-header-mc, + .#{$prefix}panel-header-mr, + .#{$prefix}panel-header-bl, + .#{$prefix}panel-header-bc, + .#{$prefix}panel-header-br { + zoom: 1; + } + } + // Fix for IE8 clipping. EXTJSIV-1553 + .#{$prefix}ie8 { + td.#{$prefix}frame-mc { + vertical-align: top; + } + } + } + + //panel header + .#{$prefix}panel-header { + padding: $panel-header-padding; + } + + .#{$prefix}panel-header-icon, + .#{$prefix}window-header-icon { + width:16px; + height:16px; + background-repeat:no-repeat; + background-position:0 0; + vertical-align:middle; + margin-right:4px; + margin-top:-1px; + margin-bottom:-1px; + } + + .#{$prefix}panel-header-draggable, + .#{$prefix}panel-header-draggable .#{$prefix}panel-header-text, + .#{$prefix}window-header-draggable, + .#{$prefix}window-header-draggable .#{$prefix}window-header-text{ + cursor: move; + } + + // A ghost is just a Panel. The only extra it needs is opacity. + // TODO: Make opacity a variable + .#{$prefix}panel-ghost, .#{$prefix}window-ghost { + @include opacity(0.65); + cursor: move; + } + + .#{$prefix}panel-header-horizontal, .#{$prefix}window-header-horizontal, .#{$prefix}btn-group-header-horizontal { + .#{$prefix}panel-header-body, .#{$prefix}window-header-body, .#{$prefix}btn-group-header-body { + width: 100%; + } + } + + .#{$prefix}panel-header-vertical, .#{$prefix}window-header-vertical, .#{$prefix}btn-group-header-vertical { + .#{$prefix}panel-header-body, .#{$prefix}window-header-body, .#{$prefix}btn-group-header-body { + height: 100%; + } + } + + // Vertical headers must be inline blocks so that they acquire width from the content + .#{$prefix}panel-header-vertical, .#{$prefix}panel-header-vertical .#{$prefix}panel-header-body, + .#{$prefix}btn-group-header-vertical, .#{$prefix}btn-group-header-vertical .#{$prefix}btn-group-header-body, + .#{$prefix}window-header-vertical, .#{$prefix}window-header-vertical .#{$prefix}window-header-body { + display: -moz-inline-stack; + display: inline-block; + } + + .#{$prefix}panel-header-text { + @include no-select; + white-space: nowrap; + } + + .#{$prefix}panel-header-left, + .#{$prefix}panel-header-right { + .#{$prefix}vml-base { + left: -3px !important; + } + } + + //panel body + .#{$prefix}panel-body { + overflow: hidden; + position: relative; + + font-size: $panel-body-font-size; + } + + .#{$prefix}panel-header-vertical { + .#{$prefix}surface { + margin-top: 2px; + } + } + + .#{$prefix}panel-header-plain-vertical { + .#{$prefix}surface { + margin-top: 0; + } + } + + + .#{$prefix}panel-collapsed { + .#{$prefix}panel-header-collapsed-border-top { + border-bottom-width: $panel-header-border-width !important; + } + .#{$prefix}panel-header-collapsed-border-right { + border-left-width: $panel-header-border-width !important; + } + .#{$prefix}panel-header-collapsed-border-bottom { + border-top-width: $panel-header-border-width !important; + } + .#{$prefix}panel-header-collapsed-border-left { + border-right-width: $panel-header-border-width !important; + } + } + + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg .#{$prefix}panel-header-vertical { + .#{$prefix}frame-mc { + background-repeat: repeat-y; + } + } + } + + @if $include-panel-uis == true { + @include extjs-panel-ui( + 'default', + + $ui-base-color: $panel-base-color, + $ui-border-width: $panel-border-width, + $ui-border-color: $panel-border-color, + $ui-border-radius: $panel-border-radius, + + $ui-header-color: $panel-header-color, + $ui-header-font-size: $panel-header-font-size, + $ui-header-font-weight: $panel-header-font-weight, + $ui-header-border-color: $panel-header-border-color, + $ui-header-background-color: $panel-header-background-color, + $ui-header-background-gradient: $panel-header-background-gradient, + + $ui-body-color: $panel-body-color, + $ui-body-border-color: $panel-body-border-color, + $ui-body-border-width: 1px, + $ui-body-background-color: $panel-body-background-color + ); + + @include extjs-panel-ui( + 'default-framed', + + $ui-base-color: $panel-base-color, + $ui-border-width: $panel-frame-border-width, + $ui-border-color: $panel-frame-border-color, + $ui-border-radius: $panel-frame-border-radius, + + $ui-header-color: $panel-header-color, + $ui-header-font-size: $panel-header-font-size, + $ui-header-font-weight: $panel-header-font-weight, + $ui-header-border-color: $panel-frame-border-color, + $ui-header-background-color: $panel-header-background-color, + $ui-header-background-gradient: $panel-header-background-gradient, + + $ui-body-color: $panel-body-color, + $ui-body-border-color: $panel-body-border-color, + $ui-body-border-width: 0, + $ui-body-background-color: $panel-frame-background-color + ); + } + + .x-panel-header-plain, + .x-panel-body-plain { + border: 0; + padding: 0; + } +} + +/** + * @class Ext.Panel + * Used to create a visual theme for an Ext.Panel + */ +@mixin extjs-panel-ui( + $ui-label, + + $ui-base-color: null, + + $ui-border-color: null, + $ui-border-radius: null, + $ui-border-width: 0, + + $ui-header-color: null, + $ui-header-font-family: $panel-header-font-family, + $ui-header-font-size: $panel-header-font-size, + $ui-header-font-weight: $panel-header-font-weight, + $ui-header-border-color: $ui-border-color, + $ui-header-background-color: null, + $ui-header-background-gradient: matte, + $ui-header-inner-border-color: null, + + $ui-body-color: null, + $ui-body-border-color: null, + $ui-body-border-width: null, + $ui-body-border-style: solid, + $ui-body-background-color: null, + $ui-body-font-size: null, + $ui-body-font-weight: null +){ + @if $ui-base-color != null { + @if $ui-border-color == null { $ui-border-color: $ui-base-color; } + + @if $ui-header-color == null { $ui-header-color: #fff; } + @if $ui-header-background-color == null { $ui-header-background-color: lighten($ui-base-color, 15); } + } + + @if $ui-header-inner-border-color == null and $ui-header-background-color != null { + $ui-header-inner-border-color: lighten($ui-header-background-color, 10); + } + + .#{$prefix}panel-#{$ui-label} { + @if $ui-border-color != null { border-color: $ui-border-color; } + } + + // header + .#{$prefix}panel-header-#{$ui-label} { + @if $ui-header-font-size != null { font-size: $ui-header-font-size; } + line-height: $panel-header-line-height; + + @if $ui-header-border-color != null { + border-color: $ui-header-border-color; + border-width: $panel-header-border-width; + border-style: $panel-header-border-style; + } + + @if $supports-gradients or $compile-all { + @if $ui-header-background-color != null { @include background-gradient($ui-header-background-color, $ui-header-background-gradient); } + + @if $panel-header-inner-border and $ui-header-inner-border-color != null { + @include inner-border( + $width: $panel-header-inner-border-width, + $color: $ui-header-inner-border-color + ); + } + } + } + + // header background images + @if $ui-header-background-color != null and $ui-header-background-gradient != null { + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-top { + background-image: theme-image($theme-name, 'panel-header/panel-header-#{$ui-label}-top-bg.gif'); + } + + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-bottom { + background-image: theme-image($theme-name, 'panel-header/panel-header-#{$ui-label}-bottom-bg.gif'); + } + + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-left { + background-image: theme-image($theme-name, 'panel-header/panel-header-#{$ui-label}-left-bg.gif'); + } + + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-right { + background-image: theme-image($theme-name, 'panel-header/panel-header-#{$ui-label}-right-bg.gif'); + } + } + } + + // header text + .#{$prefix}panel-header-text-#{$ui-label} { + @if $ui-header-color != null { color: $ui-header-color; } + + @if $ui-header-font-size != null { font-size: $ui-header-font-size; } + @if $ui-header-font-weight != null { font-weight: $ui-header-font-weight; } + @if $ui-header-font-family != null { font-family: $ui-header-font-family; } + } + + // body + .#{$prefix}panel-body-#{$ui-label} { + @if $ui-body-background-color != null { background: $ui-body-background-color; } + @if $ui-body-border-color != null { border-color: $ui-body-border-color; } + @if $ui-body-color != null { color: $ui-body-color; } + @if $ui-body-font-size != null { font-size: $ui-body-font-size; } + @if $ui-body-font-weight != null { font-size: $ui-body-font-weight; } + + @if $ui-body-border-width != null { + border-width: $ui-body-border-width; + @if $ui-body-border-style != null { border-style: $ui-body-border-style; } + } + } + + .#{$prefix}panel-collapsed { + .#{$prefix}window-header-#{$ui-label}, + .#{$prefix}panel-header-#{$ui-label} { + @if $ui-body-border-color != null { border-color: $ui-body-border-color; } + } + } + + .#{$prefix}panel-header-#{$ui-label}-vertical { + @if $ui-body-border-color != null { border-color: $ui-body-border-color; } + } + + @if $ui-base-color != null { + @if $supports-gradients or $compile-all { + .#{$prefix}panel-header-#{$ui-label}-left, + .#{$prefix}panel-header-#{$ui-label}-right { + @include background-gradient($ui-header-background-color, $ui-header-background-gradient, right); + } + } + } + + @if $ui-border-radius != null { + @include x-frame( + 'panel', + $ui: '#{$ui-label}', + + /* Radius, width, padding and background-color */ + $border-radius : $ui-border-radius, + $border-width : $ui-border-width, + $padding : $panel-frame-padding, + $background-color: $ui-body-background-color + ); + + + @include x-frame('panel-header', '#{$ui-label}-top', top($ui-border-radius) right($ui-border-radius) 0 0, $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient); + @include x-frame('panel-header', '#{$ui-label}-right', 0 right($ui-border-radius) bottom($ui-border-radius) 0, $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient, false, right); + @include x-frame('panel-header', '#{$ui-label}-bottom', 0 0 bottom($ui-border-radius) left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient); + @include x-frame('panel-header', '#{$ui-label}-left', top($ui-border-radius) 0 0 left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient, false, right); + + .#{$prefix}panel-header-#{$ui-label}-top { + @include inner-border(1px 1px 0 1px, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-right { + @include inner-border(1px 1px 1px 0, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-bottom { + @include inner-border(0 1px 1px 1px, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-left { + @include inner-border(1px 0 1px 1px, $ui-header-inner-border-color); + } + } @else { + .#{$prefix}panel-collapsed { + .#{$prefix}panel-header-#{$ui-label}-top { + @include border-bottom-radius($ui-border-radius); + } + + .#{$prefix}panel-header-#{$ui-label}-right { + @include border-left-radius($ui-border-radius); + } + + .#{$prefix}panel-header-#{$ui-label}-bottom { + @include border-top-radius($ui-border-radius); + } + + .#{$prefix}panel-header-#{$ui-label}-left { + @include border-right-radius($ui-border-radius); + } + } + + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-right { + background-position: top right; + } + + .#{$prefix}panel-header-#{$ui-label}-top { + @include inner-border(1px 0 0 0, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-right { + @include inner-border(0 1px 0 0, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-bottom { + @include inner-border(0 0 1px, $ui-header-inner-border-color); + } + + .#{$prefix}panel-header-#{$ui-label}-left { + @include inner-border(0 0 0 1px, $ui-header-inner-border-color); + } + } + + .#{$prefix}nlg .#{$prefix}panel-header-#{$ui-label}-bottom { + background-position: bottom left; + } + + @if $ui-border-radius != null { + .#{$prefix}panel .#{$prefix}panel-header-#{$ui-label}-top { + border-bottom-width: 1px !important; + } + + .#{$prefix}panel .#{$prefix}panel-header-#{$ui-label}-right { + border-left-width: 1px !important; + } + + .#{$prefix}panel .#{$prefix}panel-header-#{$ui-label}-bottom { + border-top-width: 1px !important; + } + + .#{$prefix}panel .#{$prefix}panel-header-#{$ui-label}-left { + border-right-width: 1px !important; + } + + .#{$prefix}panel-header-#{$ui-label}-collapsed { + @include border-radius($ui-border-radius); + } + + @include x-frame('panel-header', '#{$ui-label}-collapsed-top', top($ui-border-radius) right($ui-border-radius) bottom($ui-border-radius) left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient); + @include x-frame('panel-header', '#{$ui-label}-collapsed-right', top($ui-border-radius) right($ui-border-radius) bottom($ui-border-radius) left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient, false, right); + @include x-frame('panel-header', '#{$ui-label}-collapsed-bottom', top($ui-border-radius) right($ui-border-radius) bottom($ui-border-radius) left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient); + @include x-frame('panel-header', '#{$ui-label}-collapsed-left', top($ui-border-radius) right($ui-border-radius) bottom($ui-border-radius) left($ui-border-radius), $ui-border-width, 4px 5px 4px 5px, $ui-header-background-color, $ui-header-background-gradient, false, right); + } + + //background positioning of images + .#{$prefix}panel-header-#{$ui-label}-right-tc, + .#{$prefix}panel-header-#{$ui-label}-right-mc, + .#{$prefix}panel-header-#{$ui-label}-right-bc { + background-position: right 0; + } + + .#{$prefix}panel-header-#{$ui-label}-bottom-tc, + .#{$prefix}panel-header-#{$ui-label}-bottom-mc, + .#{$prefix}panel-header-#{$ui-label}-bottom-bc { + background-position: 0 bottom; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_progress-bar.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_progress-bar.scss new file mode 100644 index 000000000..bbd41f647 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_progress-bar.scss @@ -0,0 +1,117 @@ +@mixin extjs-progress { + .#{$prefix}progress { + border-width: $progress-border-width; + border-style: solid; + @include border-radius($progress-border-radius); + + overflow: hidden; + + height: $progress-height; + } + + .#{$prefix}progress-bar { + height: $progress-height - ($progress-border-width * 2); + + overflow: hidden; + position: absolute; + + width: 0; + + @include border-radius($progress-border-radius); + border-right: 1px solid; + border-top: 1px solid; + } + + .#{$prefix}progress-text { + overflow: hidden; + + position: absolute; + + padding: 0 5px; + + height: $progress-height - ($progress-border-width * 2); + + font-weight: $progress-text-font-weight; + font-size: $progress-text-font-size; + line-height: 16px; + text-align: $progress-text-text-align; + } + + .#{$prefix}progress-text-back { + padding-top: 1px; + } + + @if $include-ie or $compile-all { + .#{$prefix}strict .#{$prefix}progress { + height: $progress-height - ($progress-border-width * 2); + } + } + + @include extjs-progress-ui( + 'default', + + $ui-background-color: $progress-background-color, + $ui-border-color: $progress-border-color, + + $ui-bar-background-color: $progress-bar-background-color, + + $ui-color-front: $progress-text-color-front, + $ui-color-back: $progress-text-color-back + ) +} + +/** + * @mixin extjs-progress-ui + */ +@mixin extjs-progress-ui( + $ui-label, + + $ui-base-color: null, + + $ui-border-color: null, + $ui-background-color: null, + + $ui-bar-background-color: null, + $ui-bar-background-gradient: glossy, + + $ui-color-front: null, + $ui-color-back: null +){ + @if $ui-base-color != null { + @if $ui-border-color == null { $ui-border-color: $ui-base-color; } + @if $ui-bar-background-color == null { $ui-bar-background-color: $ui-base-color; } + @if $ui-color-front == null { $ui-color-front: lighten($ui-base-color, 60); } + @if $ui-color-back == null { $ui-color-back: darken($ui-base-color, 60); } + } + + .#{$prefix}progress-#{$ui-label} { + @if $ui-border-color != null { border-color: $ui-border-color; } + + .#{$prefix}progress-bar { + @if $ui-border-color != null { border-right-color: $ui-border-color; } + @if $ui-border-color != null { border-top-color: lighten($ui-border-color, 25); } + + @if $ui-bar-background-color != null { @include background-gradient($ui-bar-background-color, $ui-bar-background-gradient); } + } + + .#{$prefix}progress-text { + @if $ui-color-front != null { color: $ui-color-front; } + } + + .#{$prefix}progress-text-back { + @if $ui-color-back != null { color: $ui-color-back; } + } + } + + @if $ui-background-color != null { + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + .#{$prefix}progress-#{$ui-label} { + .#{$prefix}progress-bar { + background: theme-image($theme-name, 'progress/progress-#{$ui-label}-bg.gif') repeat-x; + } + } + } + } + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_qtip.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_qtip.scss new file mode 100644 index 000000000..2f15fadaa --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_qtip.scss @@ -0,0 +1,164 @@ +@mixin extjs-qtip { + .#{$prefix}tip { + position: absolute; + overflow: visible; /*pointer needs to be able to stick out*/ + border-color: $tip-border-color; + + .#{$prefix}tip-header { + .#{$prefix}box-item { + padding: $tip-header-padding; + } + + .#{$prefix}tool { + padding: 0px 1px 0 0 !important; + } + } + } + + @include x-frame( + $cls: 'tip', + $border-radius: $tip-border-radius, + $border-width: $tip-border-width, + $background-color: $tip-background-color, + $background-gradient: $tip-background-gradient, + $table: true + ); + + .#{$prefix}tip-header-text { + @include no-select; + + color: $tip-header-color; + font-size: $tip-header-font-size; + font-weight: $tip-header-font-weight; + } + + .#{$prefix}tip-header-draggable { + .#{$prefix}tip-header-text { + cursor: move; + } + } + + // Tip is a Panel. It uses dock layout. Body style must be the same + .#{$prefix}tip-body, + .#{$prefix}form-invalid-tip-body { + overflow: hidden; + position: relative; + padding: $tip-body-padding; + } + + .#{$prefix}tip-header, + .#{$prefix}tip-body, + .#{$prefix}form-invalid-tip-body { + color: $tip-body-color; + font-size: $tip-body-font-size; + font-weight: $tip-body-font-weight; + a { + color: $tip-body-link-color; + } + } + + .#{$prefix}tip-anchor { + position: absolute; + + overflow: hidden; + + height: 0; + width: 0; + + border-style: solid; + border-width: 5px; + border-color: $tip-border-color; + + zoom: 1; + } + + .#{$prefix}border-box .#{$prefix}tip-anchor { + width: 10px; + height: 10px; + } + + .#{$prefix}tip-anchor-top { + border-top-color: transparent; + border-left-color: transparent; + border-right-color: transparent; + + @if $include_ie { + _border-top-color: pink; + _border-left-color: pink; + _border-right-color: pink; + _filter: chroma(color=pink); + } + } + + .#{$prefix}tip-anchor-bottom { + border-bottom-color: transparent; + border-left-color: transparent; + border-right-color: transparent; + + @if $include_ie { + _border-bottom-color: pink; + _border-left-color: pink; + _border-right-color: pink; + _filter: chroma(color=pink); + } + } + + .#{$prefix}tip-anchor-left { + border-top-color: transparent; + border-bottom-color: transparent; + border-left-color: transparent; + + @if $include-ie { + _border-top-color: pink; + _border-bottom-color: pink; + _border-left-color: pink; + _filter: chroma(color=pink); + } + } + + .#{$prefix}tip-anchor-right { + border-top-color: transparent; + border-bottom-color: transparent; + border-right-color: transparent; + + @if $include-ie { + _border-top-color: pink; + _border-bottom-color: pink; + _border-right-color: pink; + _filter: chroma(color=pink); + } + } + + //error qtip + .#{$prefix}form-invalid-tip { + border-color: $tip-error-border-color; + + @include inner-border( + $width: 1px, + $color: $tip-error-inner-border-color + ); + } + + .#{$prefix}form-invalid-tip-body { + background: 1px 1px no-repeat; + @include theme-background-image($theme-name, 'form/exclamation.gif'); + padding-left: 22px; + + li { + margin-bottom: 4px; + &.last { + margin-bottom: 0; + } + } + } + + @include x-frame( + $cls: 'form-invalid-tip', + $ui: 'default', + $border-radius: $tip-error-border-radius, + $border-width: $tip-error-border-width, + $background-color: $tip-error-background-color, + $background-gradient: $tip-background-gradient, + $table: true + ); +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_slider.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_slider.scss new file mode 100644 index 000000000..ee5f09e24 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_slider.scss @@ -0,0 +1,143 @@ +@mixin extjs-slider { + .#{$prefix}slider { + zoom:1; + } + + .#{$prefix}slider-inner { + position:relative; + left:0; + top:0; + overflow:visible; + zoom:1; + } + + .#{$prefix}slider-focus { + position:absolute; + left:0; + top:0; + width:1px; + height:1px; + line-height:1px; + font-size:1px; + -moz-outline:0 none; + outline:0 none; + -moz-user-select: none; + -khtml-user-select:none; + -webkit-user-select:ignore; + display:block; + overflow:hidden; + } + + /* Horizontal styles */ + .#{$prefix}slider-horz { + padding-left:7px; + background:transparent no-repeat 0 -24px; + } + + .#{$prefix}slider-horz .#{$prefix}slider-end { + padding-right:7px; + zoom:1; + background:transparent no-repeat right -46px; + } + + .#{$prefix}slider-horz .#{$prefix}slider-inner { + background:transparent repeat-x 0 -2px; + height:18px; + } + + .#{$prefix}slider-horz .#{$prefix}slider-thumb { + width:14px; + height:15px; + position:absolute; + left:0; + top:1px; + background:transparent no-repeat 0 0; + } + + .#{$prefix}slider-horz .#{$prefix}slider-thumb-over { + background-position: -14px -15px; + } + + .#{$prefix}slider-horz .#{$prefix}slider-thumb-drag { + background-position: -28px -30px; + } + + /* Vertical styles */ + .#{$prefix}slider-vert { + padding-top:7px; + background:transparent no-repeat -44px 0; + } + + .#{$prefix}slider-vert .#{$prefix}slider-end { + padding-bottom:7px; + zoom:1; + background:transparent no-repeat -22px bottom; + width:22px; + } + + .#{$prefix}slider-vert .#{$prefix}slider-inner { + background:transparent repeat-y 0 0; + width:22px; + } + + .#{$prefix}slider-vert .#{$prefix}slider-thumb { + width:15px; + height:14px; + position:absolute; + left:3px; + bottom:0; + background:transparent no-repeat 0 0; + } + + .#{$prefix}slider-vert .#{$prefix}slider-thumb-over { + background-position: -15px -14px; + } + + .#{$prefix}slider-vert .#{$prefix}slider-thumb-drag { + background-position: -30px -28px; + } + + .#{$prefix}slider-horz, + .#{$prefix}slider-horz .#{$prefix}slider-end, + .#{$prefix}slider-horz .#{$prefix}slider-inner { + background-image: theme-image($theme-name, 'slider/slider-bg.png'); + } + + .#{$prefix}slider-horz .#{$prefix}slider-thumb { + background-image: theme-image($theme-name, 'slider/slider-thumb.png'); + } + + .#{$prefix}slider-vert, + .#{$prefix}slider-vert .#{$prefix}slider-end, + .#{$prefix}slider-vert .#{$prefix}slider-inner { + background-image: theme-image($theme-name, 'slider/slider-v-bg.png'); + } + + .#{$prefix}slider-vert .#{$prefix}slider-thumb { + background-image: theme-image($theme-name, 'slider/slider-v-thumb.png'); + } + + @if $include-ie { + .#{$prefix}ie6 { + .#{$prefix}slider-horz, + .#{$prefix}slider-horz .#{$prefix}slider-end, + .#{$prefix}slider-horz .#{$prefix}slider-inner { + background-image: theme-image($theme-name, 'slider/slider-bg.gif'); + } + + .#{$prefix}slider-horz .#{$prefix}slider-thumb { + background-image: theme-image($theme-name, 'slider/slider-thumb.gif'); + } + + .#{$prefix}slider-vert, + .#{$prefix}slider-vert .#{$prefix}slider-end, + .#{$prefix}slider-vert .#{$prefix}slider-inner { + background-image: theme-image($theme-name, 'slider/slider-v-bg.gif'); + } + + .#{$prefix}slider-vert .#{$prefix}slider-thumb { + background-image: theme-image($theme-name, 'slider/slider-v-thumb.gif'); + } + } + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tab.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tab.scss new file mode 100644 index 000000000..3b07d0ac3 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tab.scss @@ -0,0 +1,476 @@ +/** + * @class Ext.Tab + */ +@mixin extjs-tab { + @include x-frame( + $cls: 'tab', + $ui: 'default-top', + $border-radius: $tab-top-border-radius, + $border-width: $tab-top-border-width, + $background-color: $tab-base-color, + $background-gradient: $tab-background-gradient, + $background-direction: top, + $table: true + ); + + @include x-frame( + $cls: 'tab', + $ui: 'default-bottom', + $border-radius: $tab-bottom-border-radius, + $border-width: $tab-bottom-border-width, + $background-color: $tab-base-color, + $background-gradient: $tab-background-gradient, + $background-direction: bottom, + $table: true + ); + + .#{$prefix}tab { + z-index: 1; + margin: 0 0 0 $tab-spacing; + display: inline-block; + zoom: 1; + *display: inline; + white-space: nowrap; + height: $tab-height; + border-color: $tab-border-color; + cursor: pointer; + cursor: hand; + + * { + cursor: pointer; + cursor: hand; + } + + em { + display: block; + padding: 0 6px; + line-height: 1px; + } + + button { + background: none; + border: 0; + padding: 0; + margin: 0; + -webkit-appearance: none; + font-size: $tab-font-size; + @if $tab-font-weight { + font-weight: $tab-font-weight; + } + @if $tab-font-family { + $font-family: $tab-font-family; + } + + color: $tab-color; + outline: 0 none; + + overflow: hidden; + overflow-x: visible; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + + &::-moz-focus-inner { + border: 0; + padding: 0; + } + + .#{$prefix}tab-inner { + background-color: transparent; + background-repeat: no-repeat; + background-position: 0 -2px; + display: block; + text-align: center; + white-space: nowrap; + } + } + + img { + display: none; + } + } + + .#{$prefix}border-box { + .#{$prefix}tab-default-top { + height: $tab-height + top($tabbar-top-strip-border-width); + } + .#{$prefix}tab-default-bottom { + height: $tab-height + bottom($tabbar-bottom-strip-border-width); + } + } + + @if $include-ie { + * html .#{$prefix}ie { + .#{$prefix}tab button { + width: 1px; + } + } + + .#{$prefix}strict .#{$prefix}ie6, + .#{$prefix}strict .#{$prefix}ie7 { + .#{$prefix}tab .#{$prefix}frame-mc { + height: 100%; + } + } + + .#{$prefix}ie .#{$prefix}tab-active button:active { + position: relative; + top: -1px; + left: -1px; + } + } + + $framepad: max(top($tab-top-border-radius), right($tab-top-border-radius)) - top($tab-top-border-width); + + .#{$prefix}tab-default-top { + @if $tab-inner-border { + @include inner-border( + $width: $tab-top-inner-border-width, + $color: $tab-inner-border-color + ); + } + + border-bottom: 1px solid $tabbar-strip-border-color !important; + + em { + padding-bottom: $framepad; + } + + button, + .#{$prefix}tab-inner { + height: $tab-height - $framepad * 2 - top($tab-top-border-width); + line-height: $tab-height - $framepad * 2 - top($tab-top-border-width); + } + } + + .#{$prefix}nbr .#{$prefix}tab-default-top { + border-bottom-width: 1px !important; + } + + .#{$prefix}tab-default-top-active { + border-bottom-color: $tabbar-strip-background-color !important; + } + + $framepad: max(bottom($tab-bottom-border-radius), left($tab-bottom-border-radius)) - bottom($tab-bottom-border-width); + + .#{$prefix}tab-default-bottom { + @if $tab-inner-border { + @include inner-border( + $width: $tab-bottom-inner-border-width, + $color: $tab-inner-border-color + ); + } + + border-top: 1px solid $tabbar-strip-border-color !important; + + @include inner-border( + $width: $tab-bottom-inner-border-width, + $color: $tab-inner-border-color + ); + + em { + padding-top: $framepad; + } + + button, + .#{$prefix}tab-inner { + height: $tab-height - $framepad * 2 - bottom($tab-bottom-border-width); + line-height: $tab-height - $framepad * 2 - bottom($tab-bottom-border-width); + } + } + + .#{$prefix}nbr .#{$prefix}tab-default-bottom { + border-top-width: 1px !important; + } + + .#{$prefix}tab-default-bottom-active { + border-top-color: $tabbar-strip-background-color !important; + } + + .#{$prefix}tab-default-disabled { + cursor: default; + + * { + cursor: default; + } + + border-color: $tab-border-color-disabled; + @include background-gradient($tab-base-color-disabled, $tab-background-gradient-disabled); + + button { + color: $tab-color-disabled !important; + } + } + + .#{$prefix}tab-icon-text-left { + .#{$prefix}tab-inner { + padding-left: 20px; + } + } + + .#{$prefix}tab { + button, a { + position: relative; + + .#{$prefix}tab-icon { + position: absolute; + background-repeat: no-repeat; + top: 0; + left:0; + right:auto; + bottom:0; + width: 18px; + height: 18px; + } + } + } + + //over + .#{$prefix}tab-over { + @if $tab-border-color-over != $tab-border-color { + border-color: $tab-border-color-over; + } + + button { + @if $tab-color-over != $tab-color { + color: $tab-color-over; + } + @if $tab-font-weight-over != $tab-font-weight { + font-weight: $tab-font-weight-over; + } + @if $tab-font-size-over != $tab-font-size { + font-size: $tab-font-size-over; + } + @if $tab-font-family-over != $tab-font-family { + font-family: $tab-font-family-over; + } + } + } + + .#{$prefix}tab-top-over { + @include background-gradient($tab-base-color-over, $tab-background-gradient-over, top); + } + .#{$prefix}tab-bottom-over { + @include background-gradient($tab-base-color-over, $tab-background-gradient-over, bottom); + } + + //active + .#{$prefix}tab-active { + z-index: 3; + @if $tab-border-color-active != $tab-border-color { + border-color: $tab-border-color-active; + } + + button { + @if $tab-color-active != $tab-color { + color: $tab-color-active; + } + @if $tab-font-weight-active != $tab-font-weight { + font-weight: $tab-font-weight-active; + } + @if $tab-font-size-active != $tab-font-size { + font-size: $tab-font-size-active; + } + @if $tab-font-family-active != $tab-font-family { + font-family: $tab-font-family-active; + } + } + } + + .#{$prefix}tab-top-active { + @include background-gradient($tab-base-color-active, $tab-background-gradient-active, top); + } + .#{$prefix}tab-bottom-active { + @include background-gradient($tab-base-color-active, $tab-background-gradient-active, bottom); + } + + //disabled + .#{$prefix}tab-disabled { + @if $tab-border-color-disabled != $tab-border-color { + border-color: $tab-border-color-disabled; + } + + button { + @if $tab-color-disabled != $tab-color { + color: $tab-color-disabled; + } + @if $tab-font-weight-disabled != $tab-font-weight { + font-weight: $tab-font-weight-disabled; + } + @if $tab-font-size-disabled != $tab-font-size { + font-size: $tab-font-size-disabled; + } + @if $tab-font-family-disabled != $tab-font-family { + font-family: $tab-font-family-disabled; + } + } + } + + .#{$prefix}tab-top-disabled { + background-image: none; + background: transparent; + @include background-gradient($tab-base-color-disabled, $tab-background-gradient-disabled, top); + } + .#{$prefix}tab-bottom-disabled { + background-image: none; + background: transparent; + @include background-gradient($tab-base-color-disabled, $tab-background-gradient-disabled, bottom); + } + + @if not $supports-gradients or $compile-all { + .#{$prefix}nlg { + .#{$prefix}tab-top { background-image: theme-image($theme-name, 'tab/tab-default-top-bg.gif'); } + .#{$prefix}tab-bottom { background-image: theme-image($theme-name, 'tab/tab-default-bottom-bg.gif'); } + + .#{$prefix}tab-top-over { background-image: theme-image($theme-name, 'tab/tab-default-top-over-bg.gif'); } + .#{$prefix}tab-bottom-over { background-image: theme-image($theme-name, 'tab/tab-default-bottom-over-bg.gif'); } + + .#{$prefix}tab-top-active { background-image: theme-image($theme-name, 'tab/tab-default-top-active-bg.gif'); } + .#{$prefix}tab-bottom-active { background-image: theme-image($theme-name, 'tab/tab-default-bottom-active-bg.gif'); } + + .#{$prefix}tab-top-disabled { background-image: theme-image($theme-name, 'tab/tab-default-top-disabled-bg.gif') !important; } + .#{$prefix}tab-bottom-disabled { background-image: theme-image($theme-name, 'tab/tab-default-bottom-disabled-bg.gif') !important; } + } + } + + .#{$prefix}tab-closable em { + padding-right: $tab-closable-icon-width + 3; + } + + .#{$prefix}tab-close-btn { + position: absolute !important; + top: $tab-closable-icon-top; + right: $tab-closable-icon-right; + width: $tab-closable-icon-width; + height: $tab-closable-icon-height; + font-size: 0; + line-height: 0; + text-indent: -999px; + background: theme-image($theme-name, $tab-closable-icon) no-repeat; + @include opacity(.6); + } + .#{$prefix}tab-close-btn:hover { + @include opacity(1); + } + + @if not $supports-border-radius or $compile-all { + .#{$prefix}nbr { + .#{$prefix}tab-top-over { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-top-over-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-top-over-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $tab-base-color-over; + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-top-over-bg.gif'); + } + } + + .#{$prefix}tab-bottom-over { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-over-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-over-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $tab-base-color-over; + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-bottom-over-bg.gif'); + } + } + + .#{$prefix}tab-top-active { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-top-active-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-top-active-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $tab-base-color-active; + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-top-active-bg.gif'); + } + } + + .#{$prefix}tab-bottom-active { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-active-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-active-sides.gif'); + } + .#{$prefix}frame-mc { + background-color: $tab-base-color-active; + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-bottom-active-bg.gif'); + } + } + + .#{$prefix}tab-top-disabled { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-top-disabled-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-top-disabled-sides.gif'); + } + .#{$prefix}frame-mc { + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-top-disabled-bg.gif'); + } + } + + .#{$prefix}tab-bottom-disabled { + .#{$prefix}frame-tl, + .#{$prefix}frame-bl, + .#{$prefix}frame-tr, + .#{$prefix}frame-br, + .#{$prefix}frame-tc, + .#{$prefix}frame-bc { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-disabled-corners.gif'); + } + .#{$prefix}frame-ml, + .#{$prefix}frame-mr { + background-image: theme-image($theme-name, 'tab/tab-default-bottom-disabled-sides.gif'); + } + .#{$prefix}frame-mc { + background-repeat: repeat-x; + background-image: theme-image($theme-name, 'tab/tab-default-bottom-disabled-bg.gif'); + } + } + } + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tabbar.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tabbar.scss new file mode 100644 index 000000000..519171428 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tabbar.scss @@ -0,0 +1,151 @@ +/** + * @class Ext.tab.Bar + */ +@mixin extjs-tabbar { + .#{$prefix}tab-bar { + position: relative; + background-color: transparent; + @include background-gradient($tabbar-base-color, $tabbar-background-gradient); + font-size: $tab-font-size; + } + + .#{$prefix}nlg .#{$prefix}tab-bar { + background-image: theme-image($theme-name, 'tab-bar/tab-bar-bg.gif'); + } + + .#{$prefix}tab-bar-default-plain, + .#{$prefix}nlg .#{$prefix}tab-bar-default-plain { + background: transparent none; + } + + + .#{$prefix}tab-bar-body { + border-style: solid; + border-color: $tabbar-border-color; + + position: relative; + z-index: 2; + zoom: 1; + } + + @mixin tab-bar-top($toolbarCls, $bodyCls, $stripCls, $body-padding, $body-border-width, $strip-border-width, $strip-height) { + .#{$prefix}#{$toolbarCls} { + .#{$prefix}#{$bodyCls} { + height: $tab-height; + border-width: $body-border-width; + padding: $body-padding; + } + + .#{$prefix}#{$stripCls} { + /*position strip from top rather than bottom to avoid off-by-one error in IE6*/ + top: $tab-height + top($body-border-width) + top($body-padding); + border-width: $strip-border-width; + height: $strip-height - vertical($strip-border-width); + } + } + .#{$prefix}border-box { + .#{$prefix}#{$toolbarCls} { + .#{$prefix}#{$bodyCls} { + height: $tab-height + vertical($body-border-width) + vertical($body-padding); + } + + .#{$prefix}#{$stripCls} { + height: $strip-height; + } + } + } + } + + @mixin tab-bar-bottom($toolbarCls, $bodyCls, $stripCls, $body-padding, $body-border-width, $strip-border-width, $strip-height) { + .#{$prefix}#{$toolbarCls} { + .#{$prefix}#{$bodyCls} { + height: $tab-height; + border-width: $body-border-width; + padding: $body-padding; + + .#{$prefix}box-inner { + position: relative; + top: 0 - bottom($strip-border-width); + } + + .#{$prefix}box-scroller, + .#{$prefix}box-scroller-left, + .#{$prefix}box-scroller-right { + height: $tab-height + bottom($body-padding) + bottom($strip-border-width); + } + } + + .#{$prefix}#{$stripCls} { + top: top($body-border-width); + border-width: $strip-border-width; + height: $strip-height - vertical($strip-border-width); + } + } + .#{$prefix}border-box { + .#{$prefix}#{$toolbarCls} { + .#{$prefix}#{$bodyCls} { + height: $tab-height + vertical($body-border-width) + vertical($body-padding); + } + + .#{$prefix}#{$stripCls} { + height: $strip-height; + } + } + } + } + + + /* Top Tabs */ + @include tab-bar-top( + "tab-bar-top", + "tab-bar-body", + "tab-bar-strip", + $tabbar-top-body-padding, + $tabbar-top-body-border-width, + $tabbar-top-strip-border-width, + $tabbar-strip-height + ); + @include tab-bar-top( + "tab-bar-top", + "tab-bar-body-default-plain", + "tab-bar-strip-default-plain", + $tabbar-top-plain-body-padding, + $tabbar-top-plain-body-border-width, + $tabbar-top-strip-border-width, + $tabbar-strip-height + ); + + /* Bottom Tabs */ + @include tab-bar-bottom( + "tab-bar-bottom", + "tab-bar-body", + "tab-bar-strip", + $tabbar-bottom-body-padding, + $tabbar-bottom-body-border-width, + $tabbar-bottom-strip-border-width, + $tabbar-strip-height + ); + + @include tab-bar-bottom( + "tab-bar-bottom", + "tab-bar-body-default-plain", + "tab-bar-strip-default-plain", + $tabbar-bottom-plain-body-padding, + $tabbar-bottom-plain-body-border-width, + $tabbar-bottom-strip-border-width, + $tabbar-strip-height + ); + + .#{$prefix}tab-bar-strip-default, + .#{$prefix}tab-bar-strip-default-plain { + font-size: 0; + line-height: 0; + position: absolute; + z-index: 1; + border-style: solid; + overflow: hidden; + border-color: $tabbar-strip-border-color; + background-color: $tabbar-strip-background-color; + zoom: 1; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_toolbar.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_toolbar.scss new file mode 100644 index 000000000..c3034af62 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_toolbar.scss @@ -0,0 +1,158 @@ +@mixin extjs-toolbar { + .#{$prefix}toolbar { + font-size: $toolbar-font-size; + + border: 1px solid; + + padding: $toolbar-vertical-spacing 0 $toolbar-vertical-spacing $toolbar-horizontal-spacing; + + .#{$prefix}form-item-label{ + font-size: $toolbar-font-size; + line-height: 15px; + } + + .#{$prefix}toolbar-item { + margin: 0 $toolbar-horizontal-spacing 0 0; + } + + .#{$prefix}toolbar-text { + margin-left: 4px; + margin-right: 6px; + white-space: nowrap; + color: $toolbar-text-color !important; + line-height: $toolbar-text-line-height; + font-family: $toolbar-text-font-family; + font-size: $toolbar-text-font-size; + font-weight: $toolbar-text-font-weight; + } + + .#{$prefix}toolbar-separator { + display: block; + font-size: 1px; + overflow: hidden; + cursor: default; + border: 0; + } + + .#{$prefix}toolbar-separator-horizontal { + margin: 0 3px 0 2px; + + height: 14px; + width: 0px; + + border-left: 1px solid $toolbar-separator-color; + border-right: 1px solid $toolbar-separator-highlight-color; + } + } + + @if $include-ie { + .#{$prefix}quirks .#{$prefix}ie .#{$prefix}toolbar .#{$prefix}toolbar-separator-horizontal { + width: 2px; + } + } + + .#{$prefix}toolbar-footer { + background: transparent; + border: 0px none; + margin-top: 3px; + + padding: $toolbar-footer-vertical-spacing 0 $toolbar-footer-vertical-spacing $toolbar-footer-horizontal-spacing; + + .#{$prefix}box-inner { + border-width: 0; + } + + .#{$prefix}toolbar-item { + margin: 0 $toolbar-footer-horizontal-spacing 0 0; + } + } + + .#{$prefix}toolbar-vertical { + padding: $toolbar-vertical-spacing $toolbar-horizontal-spacing 0 $toolbar-horizontal-spacing; + + .#{$prefix}toolbar-item { + margin: 0 0 $toolbar-horizontal-spacing 0; + } + + .#{$prefix}toolbar-text { + margin-top: 4px; + margin-bottom: 6px; + } + + .#{$prefix}toolbar-separator-vertical { + margin: 2px 5px 3px 5px; + + height: 0px; + width: 10px; + line-height: 0px; + + border-top: 1px solid $toolbar-separator-color; + border-bottom: 1px solid $toolbar-separator-highlight-color; + } + } + + .#{$prefix}toolbar-scroller { + padding-left: 0; + } + + .#{$prefix}toolbar-spacer { + width: $toolbar-spacer-width; + } + + // Background for overflow button inserted by the Menu box overflow handler within a toolbar + .#{$prefix}toolbar-more-icon { + background-image: theme-image($theme-name, 'toolbar/more.gif') !important; + background-position: 2px center !important; + background-repeat: no-repeat; + } + + @include extjs-toolbar-ui( + 'default', + $background-color: $toolbar-background-color, + $background-gradient: $toolbar-background-gradient, + $border-color: $tabbar-border-color + ); + + //plain toolbars have no border + //by default they get no color, so they are transparent. IE6 doesnt support transparent borders + //so we must set the width to 0. + .#{$prefix}toolbar-plain { + border: 0; + } +} + +/** + * @mixin ext-toolbar-ui + * @class Ext.toolbar.Toolbar + * @param {String} $ui The name of the UI + * @param {Color} $background-color The background color of the toolbar (defaults to transparent) + * @param {Gradient/color-stops} $background-gradient The background gradient of the toolbar (defaults to null) + * @param {Color} $border-color The border color of the toolbar (defaults to null) + */ +@mixin extjs-toolbar-ui( + $ui, + + $background-color: transparent, + $background-gradient: null, + + $border-color: null +) { + .#{$prefix}toolbar-#{$ui} { + @if $border-color != null { + border-color: $border-color; + } + + @include background-gradient($background-color, $background-gradient); + } + + @if not $supports-gradients or $compile-all { + @if $background-gradient != null { + .#{$prefix}nlg { + .#{$prefix}toolbar-#{$ui} { + background-image: theme-image($theme-name, 'toolbar/toolbar-#{$ui}-bg.gif') !important; + background-repeat: repeat-x; + } + } + } + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tree.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tree.scss new file mode 100644 index 000000000..a09d06ebb --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_tree.scss @@ -0,0 +1,260 @@ +@mixin extjs-tree { + .#{$prefix}tree-no-lines .#{$prefix}tree-elbow { + background-color: transparent; + } + + .#{$prefix}tree-no-lines .#{$prefix}tree-elbow-end { + background-color: transparent; + } + + .#{$prefix}tree-no-lines .#{$prefix}tree-elbow-line { + background-color: transparent; + } + + //arrows + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-plus { + background: transparent no-repeat 0 0; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end-plus { + background: transparent no-repeat 0 0; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end-minus { + background: transparent no-repeat -16px 0; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-minus { + background: transparent no-repeat -16px 0; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow { + background-color: transparent !important; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-end { + background-color: transparent !important; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-elbow-line { + background-color: transparent !important; + } + + //elbows + .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-plus { + background-position: -32px 0; + } + + .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-minus, + .#{$prefix}tree-arrows .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-minus { + background-position: -48px 0; + } + + .#{$prefix}tree-arrows .x-grid-tree-node-expanded .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-arrows .x-grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus { + background-position: -16px 0; + } + + .#{$prefix}tree-arrows .x-grid-tree-node-expanded .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-arrows .x-grid-tree-node-expanded .#{$prefix}tree-expander-over .#{$prefix}tree-elbow-end-plus { + background-position: -48px 0; + } + + .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-elbow-minus, + .#{$prefix}tree-elbow-end-plus, + .#{$prefix}tree-elbow-end-minus{ + cursor: pointer; + } + + //elbows + .#{$prefix}tree-lines { + .#{$prefix}tree-elbow { + background-image: theme-image($theme-name, 'tree/elbow.gif'); + } + + .#{$prefix}tree-elbow-end { + background-image: theme-image($theme-name, 'tree/elbow-end.gif'); + } + + .#{$prefix}tree-elbow-plus { + background-image: theme-image($theme-name, 'tree/elbow-plus.gif'); + } + + .#{$prefix}tree-elbow-end-plus { + background-image: theme-image($theme-name, 'tree/elbow-end-plus.gif'); + } + + .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-plus { + background-image: theme-image($theme-name, 'tree/elbow-minus.gif'); + } + + .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus { + background-image: theme-image($theme-name, 'tree/elbow-end-minus.gif'); + } + + .#{$prefix}tree-elbow-line { + background-image: theme-image($theme-name, 'tree/elbow-line.gif'); + } + } + + .#{$prefix}tree-no-lines { + .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-elbow-end-plus { + background-image: theme-image($theme-name, 'tree/elbow-plus-nl.gif'); + } + + .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-plus, + .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-elbow-end-plus { + background-image: theme-image($theme-name, 'tree/elbow-end-minus-nl.gif'); + } + } + + .#{$prefix}tree-arrows { + .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-elbow-minus, + .#{$prefix}tree-elbow-end-plus, + .#{$prefix}tree-elbow-end-minus { + background-image: theme-image($theme-name, 'tree/arrows.gif'); + } + } + + .#{$prefix}tree-icon { + margin-right: 3px; + } + + .#{$prefix}tree-elbow, + .#{$prefix}tree-elbow-end, + .#{$prefix}tree-elbow-plus, + .#{$prefix}tree-elbow-end-plus, + .#{$prefix}tree-elbow-empty, + .#{$prefix}tree-elbow-line { + height: $tree-elbow-height; + width: $tree-elbow-width; + } + + .#{$prefix}tree-icon-leaf { + width: $tree-elbow-width; + background-image: theme-image($theme-name, 'tree/leaf.gif'); + } + + .#{$prefix}tree-icon-parent { + width: $tree-elbow-width; + background-image: theme-image($theme-name, 'tree/folder.gif'); + } + + .#{$prefix}grid-tree-node-expanded .#{$prefix}tree-icon-parent { + background-image: theme-image($theme-name, 'tree/folder-open.gif'); + } + + .#{$prefix}grid-rowbody { + padding: 0; + } + + .#{$prefix}tree-panel .#{$prefix}grid-cell-inner { + padding: 0px; + } + + .#{$prefix}tree-panel .#{$prefix}grid-row .#{$prefix}grid-cell { + border: none; + } + + .#{$prefix}tree-panel .#{$prefix}grid-row .#{$prefix}grid-cell-inner { + height: $tree-elbow-height; + + line-height: $tree-elbow-height; + vertical-align: middle; + cursor: pointer; + + img { + float: left; + } + } + + .#{$prefix}ie { + .#{$prefix}tree-panel .#{$prefix}grid-row .#{$prefix}grid-cell-inner { + white-space: normal; + } + } + + + .#{$prefix}tree-checkbox { + float: left; + margin: 2px 3px 0 0; + display: block; + + width: $form-checkbox-size; + height: $form-checkbox-size; + background: theme-image($theme-name, $form-checkbox-image) no-repeat; + + overflow: hidden; + padding: 0; + border: 0; + &::-moz-focus-inner { + padding: 0; + border: 0; + } + } + @if $include-ie { + /* Hack for IE; causes alignment problem in IE9 standards mode so exclude that */ + .#{$prefix}nbr.#{$prefix}ie { + .#{$prefix}tree-checkbox { + font-size: 0; + } + } + } + .#{$prefix}tree-checkbox-checked { + background-position: 0 (0 - $form-checkbox-size); + } + + @if $include-ie { + .#{$prefix}tree-panel .#{$prefix}grid-cell-inner { + border-width: 0 !important; + } + } + + @if $include-ff { + .#{$prefix}gecko { + .#{$prefix}tree-panel .#{$prefix}grid-row .#{$prefix}grid-cell-inner { + line-height: $tree-elbow-height - 2; + } + } + } + + .#{$prefix}tree-drop-ok-append .#{$prefix}dd-drop-icon { + background-image: theme-image($theme-name, 'tree/drop-append.gif'); + } + + .#{$prefix}tree-drop-ok-above .#{$prefix}dd-drop-icon { + background-image: theme-image($theme-name, 'tree/drop-above.gif'); + } + + .#{$prefix}tree-drop-ok-below .#{$prefix}dd-drop-icon { + background-image: theme-image($theme-name, 'tree/drop-below.gif'); + } + + .#{$prefix}tree-drop-ok-between .#{$prefix}dd-drop-icon { + background-image: theme-image($theme-name, 'tree/drop-between.gif'); + } + + .#{$prefix}grid-tree-loading .#{$prefix}tree-icon { + background-image: theme-image($theme-name, 'tree/loading.gif'); + } + + .#{$prefix}tree-ddindicator { + height: 1px; + border-width: 1px 0px 0px; + border-style: dotted; + border-color: green; + } + + .#{$prefix}grid-tree-loading span { + font-style: italic; + color: #444444; + } + + .#{$prefix}tree-animator-wrap { + overflow: hidden; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_viewport.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_viewport.scss new file mode 100644 index 000000000..5f1bf93f5 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_viewport.scss @@ -0,0 +1,9 @@ +@mixin extjs-viewport { + .#{$prefix}viewport, .#{$prefix}viewport body { + margin: 0; + padding: 0; + border: 0 none; + overflow: hidden; + height: 100%; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_window.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_window.scss new file mode 100644 index 000000000..7479d6fee --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/_window.scss @@ -0,0 +1,179 @@ +@mixin extjs-window { + .#{$prefix}window { + outline: none; + + .#{$prefix}window-wrap { + position: relative; + + .#{$prefix}window-body { + overflow: hidden; + } + } + } + + .#{$prefix}window-body { + position: relative; + border-style: $window-body-border-style; + } + + //maximized window + .#{$prefix}window-maximized { + .#{$prefix}window-wrap { + .#{$prefix}window-header { + @include important-no-border-radius; + } + } + } + + // collapsed window header styles + .#{$prefix}window-collapsed { + .#{$prefix}window-header-vertical { + @include border-radius(5px); + } + .#{$prefix}window-header-horizontal { + @include border-radius(5px); + } + + // Padding changes for collapsed headers. + .#{$prefix}window-header-left { + padding-right: 5px !important; + } + + .#{$prefix}window-header-right { + padding-left: 5px !important; + } + + .#{$prefix}window-header-top { + padding-bottom: 5px !important; + } + + .#{$prefix}window-header-bottom { + padding-top: 5px !important; + } + } + + .#{$prefix}window-header-left, + .#{$prefix}window-header-right { + .#{$prefix}vml-base { + left: -3px !important; + } + } + + .#{$prefix}window-header-text { + @include no-select; + white-space: nowrap; + display: block; + } + + @include extjs-window-ui( + 'default', + + $ui-border-radius: $window-border-radius, + $ui-border-color: $window-border-color, + $ui-inner-border-color: $window-inner-border-color, + + $ui-header-color: $window-header-color, + + $ui-body-border-color: $window-body-border-color, + $ui-body-background-color: $window-body-background-color, + $ui-body-color: $window-body-color, + + $ui-background-color: $window-background-color + ); + + .#{$prefix}window-body-plain { + background: transparent; + } +} + +/** + * @class Ext.Window + * Used to create a visual theme for an Ext.Panel + */ +@mixin extjs-window-ui( + $ui-label, + + $ui-padding: null, + $ui-border-radius: null, + $ui-border-color: null, + $ui-inner-border-color: null, + + $ui-header-color: null, + $ui-header-font-size: $window-header-font-size, + $ui-header-font-weight: $window-header-font-weight, + + $ui-body-border-color: null, + $ui-body-background-color: null, + $ui-body-color: null, + + $ui-background-color: null +){ + $ui-header-text-height: round($ui-header-font-size * 1.46); // 11px / 16px + + .#{$prefix}window-#{$ui-label} { + @if $ui-border-color != null { border-color: $ui-border-color; } + @if $ui-border-radius != null { @include border-radius($ui-border-radius); } + + @if $ui-inner-border-color != null { @include inner-border($window-inner-border-width, $ui-inner-border-color); } + } + + @if $ui-border-radius != null { + @include x-frame( + 'window', + $ui-label, + + $border-radius: $ui-border-radius, + $border-width: $window-border-width, + $padding: $ui-padding, + $background-color: $ui-background-color + ); + } + + .#{$prefix}window-body-#{$ui-label} { + @if $ui-body-border-color !=null { + border-color: $ui-body-border-color; + border-width: $window-body-border-width; + } + + @if $ui-body-background-color != null { background: $ui-body-background-color; } + @if $ui-body-color != null { color: $ui-body-color; } + } + + .#{$prefix}window-header-#{$ui-label} { + @if $ui-border-color != null { border-color: $ui-border-color; } + zoom:1; + } + + .#{$prefix}window-header-text-#{$ui-label} { + @if $ui-header-color != null { color: $ui-header-color; } + @if $ui-header-font-weight != null { font-weight: $ui-header-font-weight; } + + line-height: $ui-header-text-height; + + font-family: $font-family; + font-size: $ui-header-font-size; + } + + @if $ui-border-radius != null { + @include x-frame('window-header', '#{$ui-label}-top', top($ui-border-radius) right($ui-border-radius) 0 0, $window-border-width, 5px 5px 0, $ui-background-color); + @include x-frame('window-header', '#{$ui-label}-right', 0 right($ui-border-radius) bottom($ui-border-radius) 0, $window-border-width, 5px 5px 5px 0, $ui-background-color); + @include x-frame('window-header', '#{$ui-label}-bottom', 0 0 bottom($ui-border-radius) left($ui-border-radius), $window-border-width, 0 5px 5px, $ui-background-color); + @include x-frame('window-header', '#{$ui-label}-left', top($ui-border-radius) 0 0 left($ui-border-radius), $window-border-width, 5px 0px 5px 5px, $ui-background-color); + } + + .#{$prefix}window-header-#{$ui-label}-top { + @include inner-border(1px 1px 0, $ui-inner-border-color); + } + + .#{$prefix}window-header-#{$ui-label}-right { + @include inner-border(1px 1px 1px 0, $ui-inner-border-color); + } + + .#{$prefix}window-header-#{$ui-label}-bottom { + @include inner-border(0px 1px 1px, $ui-inner-border-color); + } + + .#{$prefix}window-header-#{$ui-label}-left { + @include inner-border(1px 0 1px 1px, $ui-inner-border-color); + } +} diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_all.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_all.scss new file mode 100644 index 000000000..7c27892d9 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_all.scss @@ -0,0 +1,73 @@ +@mixin extjs-form { + /*misc*/ + .#{$prefix}webkit { + * { + &:focus { + outline:none !important; + } + } + } + + //form items + .#{$prefix}form-item { + display: block; + zoom: 1; + position: relative; + margin-bottom: 5px; + } + + .#{$prefix}form-item-label { + float: left; + padding: 3px 0 0; + z-index: 2; + position: relative; + font-size: $form-label-font-size; + @include no-select; + } + + .#{$prefix}form-item-label-top { + float: none; + clear: none; + padding: 0; + display: block; + } + + .#{$prefix}form-item-label-right { + float: left; + text-align: right; + } + + .#{$prefix}form-item-body { + position: relative; + float: left; + } + + .#{$prefix}form-invalid-under { + padding: 2px 2px 2px 18px; + clear: left; + + color: $form-error-msg-color; + font: $form-error-msg-font; + line-height: $form-error-msg-line-height; + + background: theme-image($theme-name, $form-exclamation-icon) no-repeat 0 2px; + } + + .#{$prefix}form-invalid-icon { + width: 18px; + height: 18px; + overflow: hidden; + text-indent: -9999px; + + position: absolute; + left: 0; + top: 0; + + background: theme-image($theme-name, $form-exclamation-icon) no-repeat 2px 3px; + + ul { + /* prevent inner elements from interfering with QuickTip hovering */ + display: none; + } + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkbox.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkbox.scss new file mode 100644 index 000000000..866184cce --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkbox.scss @@ -0,0 +1,64 @@ +@mixin extjs-form-checkboxfield { + .#{$prefix}form-cb-wrap { + padding-top: 3px; + } + + .#{$prefix}form-checkbox, + .#{$prefix}form-radio { + float: none; + vertical-align: -1px; + + width: $form-checkbox-size; + height: $form-checkbox-size; + background: theme-image($theme-name, $form-checkbox-image) no-repeat; + + overflow: hidden; + padding: 0; + border: 0; + &::-moz-focus-inner { + padding: 0; + border: 0; + } + } + @if $include-ie { + /* Hack for IE; causes alignment problem in IE9 standards mode so exclude that */ + .#{$prefix}nbr.#{$prefix}ie { + .#{$prefix}form-checkbox, + .#{$prefix}form-radio { + font-size: 0; + } + } + } + .#{$prefix}form-cb-checked { + .#{$prefix}form-checkbox, + .#{$prefix}form-radio { + background-position: 0 (0 - $form-checkbox-size); + } + } + + /* Focused */ + .#{$prefix}form-cb-focus { + background-position: (0 - $form-checkbox-size) 0; + } + .#{$prefix}form-cb-checked { + .#{$prefix}form-cb-focus { + background-position: (0 - $form-checkbox-size) (0 - $form-checkbox-size); + } + } + + /* Radios */ + .#{$prefix}form-radio { + background-image: theme-image($theme-name, $form-radio-image); + } + + /* boxLabel */ + .#{$prefix}form-cb-label-before { + margin-right: 4px; + } + .#{$prefix}form-cb-label-after { + margin-left: 4px; + } + + + +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkboxgroup.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkboxgroup.scss new file mode 100644 index 000000000..59c2f8deb --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_checkboxgroup.scss @@ -0,0 +1,30 @@ +@mixin extjs-form-checkboxgroup { + + .#{$prefix}form-checkboxgroup-body { + padding: 3px 4px; + } + + .#{$prefix}form-invalid { + .#{$prefix}form-checkboxgroup-body { + border: 1px solid #c30; + background: #fff theme-image($theme-name, 'grid/invalid_line.gif') repeat-x bottom; + padding: 2px 3px; + } + } + + .#{$prefix}check-group-alt { + background: adjust-color($base-color, $hue: 2.667deg, $saturation: -7.168%, $lightness: 3.725%); + + border-top:1px dotted adjust-color($base-color, $hue: 17.193deg, $saturation: -40.827%, $lightness: -9.412%); + border-bottom:1px dotted adjust-color($base-color, $hue: 17.193deg, $saturation: -40.827%, $lightness: -9.412%); + } + + .#{$prefix}form-check-group-label { + color: #333; + + border-bottom: 1px solid #333; + + margin: 0 30px 5px 0; + padding: 2px; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_field.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_field.scss new file mode 100644 index 000000000..533829c32 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_field.scss @@ -0,0 +1,125 @@ +@mixin extjs-form-field { + .#{$prefix}form-field, + .#{$prefix}form-display-field { + float: left; + + margin: 0 0 0 0; + + font: $form-field-font; + color: $form-field-color; + } + + .#{$prefix}form-text, + textarea.#{$prefix}form-field { + padding: $form-field-padding; + + background: repeat-x 0 0; + border: $form-field-border-width solid; + + background-color: $form-field-background-color; + @if $form-field-background-image { + background-image: theme-image($theme-name, $form-field-background-image); + } + + border-color: $form-field-border-color; + } + + $form-field-content-height: $form-field-height - top($form-field-padding) - top($form-field-border-width) - bottom($form-field-padding) - bottom($form-field-border-width); + + .#{$prefix}form-text { + height: $form-field-content-height; + line-height: $form-field-content-height; + vertical-align: middle; + } + + .#{$prefix}ie6, + .#{$prefix}ie7, + .#{$prefix}ie8 { + .#{$prefix}form-text { + line-height: $form-field-content-height - 3px; + } + } + + .#{$prefix}border-box .#{$prefix}form-text { + height: $form-field-height; + } + + textarea.#{$prefix}form-field { + color: $form-field-color; + overflow: auto; + height: auto; + line-height: normal; + background: repeat-x 0 0; + background-color: $form-field-background-color; + @if $form-field-background-image { + background-image: theme-image($theme-name, $form-field-background-image); + } + resize: none; //Disable browser resizable textarea + } + + .#{$prefix}border-box textarea.#{$prefix}form-field { + height: auto; + } + + @if $include-safari { + .#{$prefix}safari.#{$prefix}mac textarea.#{$prefix}form-field { + margin-bottom: -2px; // another bogus margin bug, safari/mac only + } + } + + .#{$prefix}form-focus, + textarea.#{$prefix}form-focus { + border-color: $form-field-focus-border-color; + } + + .#{$prefix}form-invalid-field, + textarea.#{$prefix}form-invalid-field { + background-color: $form-field-invalid-background-color; + @if $form-field-invalid-background-image { + background-image: theme-image($theme-name, $form-field-invalid-background-image); + background-repeat: $form-field-invalid-background-repeat; + background-position: $form-field-invalid-background-position; + } + border-color: $form-field-invalid-border-color; + } + + .#{$prefix}form-item { + font: $form-label-font; + } + + .#{$prefix}form-empty-field, textarea.#{$prefix}form-empty-field { + color: $form-field-empty-color; + } + + .#{$prefix}webkit { + .#{$prefix}form-empty-field { + line-height: 15px; + } + } + + .#{$prefix}form-display-field { + padding-top: 3px; + } + + @if $include-ie { + .#{$prefix}ie .#{$prefix}form-file { + height: $form-field-height + 1; + + line-height: 18px; + + vertical-align: middle; + } + } + + .#{$prefix}field-default-toolbar .#{$prefix}form-text { + height: $form-toolbar-field-height - vertical($form-field-padding) - vertical($form-field-border-width); + } + + .#{$prefix}border-box .#{$prefix}field-default-toolbar .#{$prefix}form-text { + height: $form-toolbar-field-height; + } + + .#{$prefix}field-default-toolbar .#{$prefix}form-item-label-left { + padding-left: 4px; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_fieldset.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_fieldset.scss new file mode 100644 index 000000000..86cc6c818 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_fieldset.scss @@ -0,0 +1,113 @@ +@mixin extjs-form-fieldset { + .#{$prefix}fieldset { + border: $fieldset-border; + + padding: $fieldset-padding; + margin-bottom: $fieldset-padding; + + display: block; /* preserve margins in IE */ + } + + .#{$prefix}ie .#{$prefix}fieldset { + padding-top: 0; + padding-bottom: $fieldset-padding; + } + + .#{$prefix}fieldset-header { + font: $fieldset-header-font; + color: $fieldset-header-color; + padding: $fieldset-header-padding; + line-height: 16px; + + .#{$prefix}fieldset-header-text { + float: left; + } + + .#{$prefix}form-item, + .#{$prefix}tool { + float: left; + margin: 0 3px 0 0; + } + + .#{$prefix}form-cb-wrap { + padding: 0; + } + } + + .#{$prefix}webkit .#{$prefix}fieldset-header { + padding-top: 1px; + } + + @if $include-ie { + .#{$prefix}quirks .#{$prefix}ie .#{$prefix}fieldset-header, + .#{$prefix}ie6 .#{$prefix}fieldset-header, + .#{$prefix}ie7 .#{$prefix}fieldset-header, + .#{$prefix}ie8 .#{$prefix}fieldset-header { + padding: 0; + } + + .#{$prefix}ie .#{$prefix}fieldset-header { + margin-bottom: 10px; + } + + .#{$prefix}ie9 .#{$prefix}fieldset-header { + padding-top: 1px; + } + } + + .#{$prefix}fieldset-collapsed { + .#{$prefix}fieldset-body { + display: none; + } + } + + .#{$prefix}fieldset-collapsed { + padding-bottom: 0 !important; + + border-width: 1px 1px 0 1px !important; + border-left-color: transparent !important; + border-right-color: transparent !important; + } + + @if $include-ie { + .#{$prefix}ie6 .#{$prefix}fieldset-collapsed { + border-width: 1px 0 0 0 !important; + + padding-bottom: 0 !important; + margin-left: 1px; + margin-right: 1px; + } + + .#{$prefix}ie .#{$prefix}fieldset-bwrap { + zoom: 1; + } + } + + @if $include-ie { + /* IE legend positioning bug */ + .#{$prefix}ie .#{$prefix}fieldset-noborder legend { + position: relative; + + margin-bottom: 23px; + } + + .#{$prefix}ie .#{$prefix}fieldset-noborder legend span { + position: absolute; + left: 16px; + } + } + + .#{$prefix}fieldset { + overflow: hidden; + } + + .#{$prefix}fieldset-bwrap { + overflow: hidden; + + zoom: 1; + } + + .#{$prefix}fieldset-body { + overflow: hidden; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_file.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_file.scss new file mode 100644 index 000000000..3f83ea20c --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_file.scss @@ -0,0 +1,32 @@ +@mixin extjs-form-file { + + .#{$prefix}form-file-wrap { + .#{$prefix}form-text { + color: #777; + } + + .#{$prefix}form-file-btn { + overflow: hidden; + float: left; + } + + .#{$prefix}form-file-input { + position: absolute; + top: -4px; + right: -2px; + height: $form-field-height + 8; + @include opacity(0); + + /* Yes, there's actually a good reason for this... + * If the configured buttonText is set to something longer than the default, + * then it will quickly exceed the width of the hidden file input's "Browse..." + * button, so part of the custom button's clickable area will be covered by + * the hidden file input's text box instead. This results in a text-selection + * mouse cursor over that part of the button, at least in Firefox, which is + * confusing to a user. Giving the hidden file input a huge font-size makes + * the native button part very large so it will cover the whole clickable area. + */ + font-size: 100px; + } + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_htmleditor.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_htmleditor.scss new file mode 100644 index 000000000..633fdf992 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_htmleditor.scss @@ -0,0 +1,123 @@ +@mixin extjs-form-htmleditor { + .#{$prefix}html-editor-wrap { + border: 1px solid $html-editor-border-color; + + .#{$prefix}toolbar { + border-top-width: 0; + border-left-width: 0; + border-right-width: 0; + } + + textarea { + background-color: $html-editor-background-color; + } + } + + .#{$prefix}html-editor-tb .#{$prefix}btn-text { + background:transparent theme-image($theme-name, 'editor/tb-sprite.gif') no-repeat; + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-bold, + .#{$prefix}menu-item img.#{$prefix}edit-bold { + background-position:0 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-italic, + .#{$prefix}menu-item img.#{$prefix}edit-italic { + background-position:-16px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-underline, + .#{$prefix}menu-item img.#{$prefix}edit-underline { + background-position:-32px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-forecolor, + .#{$prefix}menu-item img.#{$prefix}edit-forecolor { + background-position:-160px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-backcolor, + .#{$prefix}menu-item img.#{$prefix}edit-backcolor { + background-position:-176px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-justifyleft, + .#{$prefix}menu-item img.#{$prefix}edit-justifyleft { + background-position:-112px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-justifycenter, + .#{$prefix}menu-item img.#{$prefix}edit-justifycenter { + background-position:-128px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-justifyright, + .#{$prefix}menu-item img.#{$prefix}edit-justifyright { + background-position:-144px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-insertorderedlist, + .#{$prefix}menu-item img.#{$prefix}edit-insertorderedlist { + background-position:-80px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-insertunorderedlist, + .#{$prefix}menu-item img.#{$prefix}edit-insertunorderedlist { + background-position:-96px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-increasefontsize, + .#{$prefix}menu-item img.#{$prefix}edit-increasefontsize { + background-position:-48px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-decreasefontsize, + .#{$prefix}menu-item img.#{$prefix}edit-decreasefontsize { + background-position:-64px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-sourceedit, + .#{$prefix}menu-item img.#{$prefix}edit-sourceedit { + background-position:-192px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tb .#{$prefix}edit-createlink, + .#{$prefix}menu-item img.#{$prefix}edit-createlink { + background-position: -208px 0; + background-image: theme-image($theme-name, 'editor/tb-sprite.gif'); + } + + .#{$prefix}html-editor-tip .#{$prefix}tip-bd .#{$prefix}tip-bd-inner { + padding: 5px; + padding-bottom: 1px; + } + + .#{$prefix}html-editor-tb { + .#{$prefix}toolbar { + position: static !important; + } + .#{$prefix}font-select { + font-size: 11px; + } + } + + .x-html-editor-wrap textarea { + border: 0; + padding: 3px 2px; + overflow: auto; + } +}
\ No newline at end of file diff --git a/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_triggerfield.scss b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_triggerfield.scss new file mode 100644 index 000000000..aa85d56d8 --- /dev/null +++ b/deluge/ui/web/resources/themes/stylesheets/ext4/default/widgets/form/_triggerfield.scss @@ -0,0 +1,162 @@ +@mixin extjs-form-triggerfield { + .#{$prefix}form-trigger-wrap { + float: left; + } + + .#{$prefix}form-trigger { + background-image: theme-image($theme-name, 'form/trigger.gif'); + background-position: 0 0; + + width: $form-trigger-width; + height: $form-trigger-height - $form-trigger-border-bottom-width; + float: left; + + border-bottom: $form-trigger-border-bottom; + + cursor: pointer; + cursor: hand; + } + + .#{$prefix}border-box .#{$prefix}form-trigger { + height: $form-trigger-height; + } + + .#{$prefix}field-default-toolbar .#{$prefix}form-trigger { + height: $form-toolbar-trigger-height - $form-trigger-border-bottom-width; + } + + .#{$prefix}border-box .#{$prefix}field-default-toolbar .#{$prefix}form-trigger { + height: $form-toolbar-trigger-height; + } + + + .#{$prefix}form-trigger-over { + background-position: -$form-trigger-width 0; + + border-bottom-color: $form-trigger-border-bottom-color-over; + } + + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-trigger { + background-position: -($form-trigger-width * 3) 0; + + border-bottom-color: $form-trigger-border-bottom-color-focus; + } + + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-trigger-over { + background-position: -($form-trigger-width * 4) 0; + + @if $form-trigger-border-bottom-color-focus-over { + border-bottom-color: $form-trigger-border-bottom-color-focus-over; + } + } + + .#{$prefix}form-trigger-click, + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-trigger-click { + background-position: -($form-trigger-width * 2) 0; + + @if $form-trigger-border-bottom-color-pressed { + border-bottom-color: $form-trigger-border-bottom-color-pressed; + } + } + + .#{$prefix}form-trigger-icon { + height: $form-trigger-width - $form-trigger-border-bottom-width; + + background-repeat: no-repeat; + background-position: $form-trigger-icon-background-position; + } + + .#{$prefix}pickerfield-open { + .#{$prefix}form-field { + @include border-bottom-radius(0); + } + } + + .#{$prefix}pickerfield-open-above { + .#{$prefix}form-field { + @include border-bottom-left-radius(3px); + @include border-top-radius(0); + } + } + + .#{$prefix}form-arrow-trigger { + .#{$prefix}form-trigger-icon { + background-image: theme-image($theme-name, 'boundlist/trigger-arrow.png'); + } + } + + .#{$prefix}form-date-trigger { + background-image: theme-image($theme-name, 'form/date-trigger.gif'); + } + + $spinner-btn-height: $form-trigger-height / 2; + .#{$prefix}form-trigger-wrap { + .#{$prefix}form-spinner-up, + .#{$prefix}form-spinner-down { + background-image: theme-image($theme-name, 'form/spinner.gif'); + + width: $form-trigger-width; + height: $spinner-btn-height; + + font-size: 0; /*for IE*/ + + border-bottom: 0; + } + .#{$prefix}form-spinner-down { + background-position: 0 (-$spinner-btn-height); + } + } + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-spinner-down { + background-position: -($form-trigger-width * 3) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap .#{$prefix}form-spinner-down-over { + background-position: (-$form-trigger-width) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-spinner-down-over { + background-position: -($form-trigger-width * 4) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap .#{$prefix}form-spinner-down-click { + background-position: -($form-trigger-width * 2) (-$spinner-btn-height); + } + + + .#{$prefix}field-default-toolbar { + $spinner-btn-height: $form-toolbar-trigger-height / 2; + .#{$prefix}form-trigger-wrap { + .#{$prefix}form-spinner-up, + .#{$prefix}form-spinner-down { + background-image: theme-image($theme-name, 'form/spinner-small.gif'); + height: $spinner-btn-height; + } + .#{$prefix}form-spinner-down { + background-position: 0 (-$spinner-btn-height); + } + } + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-spinner-down { + background-position: -($form-trigger-width * 3) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap .#{$prefix}form-spinner-down-over { + background-position: (-$form-trigger-width) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap-focus .#{$prefix}form-spinner-down-over { + background-position: -($form-trigger-width * 4) (-$spinner-btn-height); + } + .#{$prefix}form-trigger-wrap .#{$prefix}form-spinner-down-click { + background-position: -($form-trigger-width * 2) (-$spinner-btn-height); + } + } + + + .#{$prefix}trigger-noedit { + cursor: pointer; + cursor: hand; + } + + + .#{$prefix}form-clear-trigger { + background-image: theme-image($theme-name, 'form/clear-trigger.gif'); + } + .#{$prefix}form-search-trigger { + background-image: theme-image($theme-name, 'form/search-trigger.gif'); + } +} |