Refactor post_requrest Switching to TreeView More spool info redesign toggle buttons Allow spoolman while printing Styling checkbox as switch render Toggle switch-like Fixed wrong timezones Filtering spools Removed translations of Spoolman Spool image can be overided in theme Added switch-on/off symbols to toggle rename iter to i to avoid shadowing built-in function remove redundant parenthesis convert spoolcompare to static merge check and treeview shared props reduce spacing of buttons very useful for vertical/portrait fix issue with remainings add spoolman shortcut to extrude Using backports.zoneinfo for python < 3.9 use decorators for properties extract format_date function change top row last used sort rebase on upstream Fix for never used spools Co-authored-by: alfrix <alfredomonclus@gmail.com>
606 lines
9.8 KiB
CSS
606 lines
9.8 KiB
CSS
* {
|
|
color: white;
|
|
font-size: KS_FONT_SIZEpx;
|
|
-GtkComboBox-appears-as-list: 0;
|
|
text-shadow: none;
|
|
box-shadow: none;
|
|
border: 0;
|
|
}
|
|
|
|
button:disabled {
|
|
opacity: .2;
|
|
}
|
|
|
|
list row,
|
|
treeview.view,
|
|
window {
|
|
background-color: #13181C;
|
|
-gtk-icon-shadow: none;
|
|
}
|
|
|
|
switch slider {
|
|
border: 0;
|
|
}
|
|
|
|
switch, treeview.view check {
|
|
margin: 0.75em;
|
|
min-width: 6em;
|
|
min-height: 3em;
|
|
border: 0;
|
|
border-radius: 3em;
|
|
}
|
|
|
|
treeview.view check {
|
|
background-color: rgb(32,41,47);
|
|
-gtk-icon-source: -gtk-icontheme("switch-off-symbolic");
|
|
background-repeat: no-repeat;
|
|
background-position: left center;
|
|
background-size : 3em 3em;
|
|
background-image: image(url("./styles/circle.svg"));
|
|
-gtk-icon-transform: translateX(1.5em);
|
|
}
|
|
treeview.view check:checked {
|
|
background-color : rgb(53,132,228);
|
|
background-position: right center;
|
|
-gtk-icon-source: -gtk-icontheme("switch-on-symbolic");
|
|
-gtk-icon-transform: translateX(-1.5em);
|
|
}
|
|
|
|
button {
|
|
background-image: none;
|
|
background-color: #13181C;
|
|
margin: .25em;
|
|
padding: .2em .5em 0;
|
|
border-radius: 0;
|
|
border: 0;
|
|
-gtk-icon-shadow: none;
|
|
}
|
|
|
|
button:active, .button_active {
|
|
background-color: #304C62;
|
|
}
|
|
|
|
button:disabled,
|
|
button.color1:disabled,
|
|
button.color2:disabled,
|
|
button.color3:disabled,
|
|
button.color4:disabled {
|
|
border: 0;
|
|
}
|
|
|
|
button:disabled label,
|
|
button.color1:disabled label,
|
|
button.color2:disabled label,
|
|
button.color3:disabled label,
|
|
button.color4:disabled label {
|
|
color: grey;
|
|
}
|
|
|
|
button label {
|
|
margin-top: .25em;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
button.color1 {
|
|
border-bottom: .4em solid #ED6500;
|
|
margin: .3em;
|
|
min-height: 3em;
|
|
}
|
|
|
|
button.color2 {
|
|
border-bottom: .4em solid #B10080;
|
|
margin: .3em;
|
|
min-height: 3em;
|
|
}
|
|
|
|
button.color3 {
|
|
border-bottom: .4em solid #009384;
|
|
margin: .3em;
|
|
min-height: 3em;
|
|
}
|
|
|
|
button.color4 {
|
|
border-bottom: .4em solid #A7E100;
|
|
margin: .3em;
|
|
min-height: 3em;
|
|
}
|
|
|
|
button.status {
|
|
background-color: #13181C;
|
|
}
|
|
|
|
button.active {
|
|
background-color: #20303D;
|
|
}
|
|
|
|
button.file-list {
|
|
margin: 0;
|
|
}
|
|
|
|
button.update {
|
|
background: #009384;
|
|
border: .4em solid #009384;
|
|
border-radius: 0.4em;
|
|
font-weight: bold;
|
|
}
|
|
|
|
button.invalid {
|
|
background: #e61e1e;
|
|
border: .4em solid #e61e1e;
|
|
border-radius: 0.4em;
|
|
font-weight: bold;
|
|
}
|
|
|
|
combobox box button {
|
|
border: .05em solid #cccccc;
|
|
padding: .5em 1em;
|
|
}
|
|
|
|
combobox arrow {
|
|
min-width: 1em;
|
|
}
|
|
|
|
entry {
|
|
font-size: 1em;
|
|
background-color: #20292F;
|
|
border: .2em solid #13181C;
|
|
padding: .2em;
|
|
}
|
|
|
|
label {
|
|
color: white;
|
|
}
|
|
|
|
menu {
|
|
background-color: #13181C;
|
|
border: .1em solid #cccccc;
|
|
}
|
|
|
|
menuitem {
|
|
background-color: #13181C;
|
|
border: .1em solid #cccccc;
|
|
border-bottom: 0;
|
|
border-top: 0;
|
|
}
|
|
|
|
trough {
|
|
min-height: 2em;
|
|
background-color: #404E57;
|
|
color: white;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
trough highlight, trough progress {
|
|
min-height: 2em;
|
|
background-color: #3584e4;
|
|
color: white;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
trough progress.left {
|
|
border: 0px;
|
|
}
|
|
|
|
scale {
|
|
margin-bottom: 0;
|
|
margin-top: 0;
|
|
padding-bottom: 0;
|
|
padding-top: 0;
|
|
}
|
|
|
|
scale mark {
|
|
color: white;
|
|
}
|
|
|
|
scale trough slider {
|
|
min-height: 2em;
|
|
min-width: 2em;
|
|
}
|
|
|
|
scrollbar, scrollbar button, scrollbar trough {
|
|
border: none;
|
|
background-color: #13181C;
|
|
min-height: 2.5em;
|
|
}
|
|
|
|
scrollbar slider {
|
|
min-width: 2.5em;
|
|
border-radius: .7em;
|
|
background-color: #404E57;
|
|
}
|
|
|
|
scrollbar.vertical.with-steppers {
|
|
-GtkScrollbar-has-backward-stepper: true;
|
|
-GtkScrollbar-has-forward-stepper: true;
|
|
}
|
|
|
|
scrollbar.vertical.with-steppers button.down {
|
|
-gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
|
|
}
|
|
|
|
scrollbar.vertical.with-steppers button.up {
|
|
-gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
|
|
}
|
|
|
|
undershoot.top, undershoot.bottom {
|
|
background-image: none;
|
|
}
|
|
|
|
separator {
|
|
margin: 1em 2em;
|
|
background-color: rgba(255, 255, 255, 0.5);
|
|
}
|
|
|
|
textview, textview text {
|
|
background: transparent;
|
|
font-family: Free Mono;
|
|
}
|
|
|
|
textview .time {
|
|
color: grey;
|
|
}
|
|
|
|
trough {
|
|
margin: .5em .5em;
|
|
}
|
|
|
|
.popup {
|
|
background-color: black;
|
|
}
|
|
|
|
.action_bar {
|
|
/* min-width: 4.5em; */
|
|
/* min-height: 4.5em; */
|
|
}
|
|
|
|
.title_bar {
|
|
min-height: 2em;
|
|
}
|
|
|
|
.content {
|
|
margin: 0 .1em;
|
|
}
|
|
|
|
.dialog {
|
|
border: .1em solid black;
|
|
padding: 2.5em;
|
|
background-color: black;
|
|
margin: 1em;
|
|
}
|
|
|
|
.dialog button {
|
|
padding: 1.5em;
|
|
border-bottom: .4em solid #009384;
|
|
margin-top: 1em;
|
|
}
|
|
|
|
.dialog button:nth-child(1) {
|
|
border-bottom-color: green;
|
|
}
|
|
|
|
.dialog button:nth-child(2) {
|
|
border-bottom-color: red;
|
|
}
|
|
|
|
.distbutton_active {
|
|
background-color: #20303D;
|
|
}
|
|
|
|
.distbutton_top {
|
|
border: .15em solid white;
|
|
border-right: 0;
|
|
border-top-left-radius: .75em;
|
|
border-bottom-left-radius: .75em;
|
|
margin-right: 0;
|
|
min-height: 3em;
|
|
}
|
|
|
|
.distbutton {
|
|
border: .15em solid white;
|
|
border-left: .15em solid #ccc;
|
|
border-right: 0;
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
min-height: 3em;
|
|
}
|
|
|
|
.distbutton_bottom {
|
|
border: .15em solid white;
|
|
border-left: .15em solid #ccc;
|
|
border-top-right-radius: .7em;
|
|
border-bottom-right-radius: .7em;
|
|
margin-left: 0;
|
|
min-height: 3em;
|
|
}
|
|
|
|
.fan_slider {
|
|
margin: 0 1em 0 1em;
|
|
color: white;
|
|
}
|
|
|
|
.frame-item {
|
|
min-height: 4.5em;
|
|
padding: .2em .3em;
|
|
border-bottom: 1px solid rgba(255,255,255,0.05)
|
|
}
|
|
|
|
.heatergraph {
|
|
min-height: 350px;
|
|
}
|
|
|
|
.heater-grid {
|
|
margin-right: .1em;
|
|
}
|
|
|
|
.heater-grid label {
|
|
min-height: 0em;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.heater-grid button{
|
|
margin: .2em;
|
|
min-height: 2.9em;
|
|
padding: 0 .5em;
|
|
}
|
|
|
|
.heater-grid-temp {
|
|
min-width: 8em;
|
|
}
|
|
|
|
.keyboard_box {
|
|
margin-top: 38px;
|
|
}
|
|
|
|
.keyboard_matchbox {
|
|
margin-top: 42px;
|
|
}
|
|
|
|
.keyboard_pad {
|
|
margin: 0.05em;
|
|
padding: 0.0em;
|
|
border-radius: 0.7em;
|
|
}
|
|
|
|
.message_popup_popover {
|
|
border: 0;
|
|
background-color: Transparent;
|
|
padding: 0;
|
|
}
|
|
|
|
.message_popup {
|
|
border: .1em solid white;
|
|
border-radius: 1em;
|
|
padding: 1em;
|
|
margin: 0;
|
|
}
|
|
|
|
.message_popup button{
|
|
padding: 1em;
|
|
}
|
|
|
|
.message_popup_echo, .message_popup_echo button {
|
|
background-color: #367554;
|
|
}
|
|
|
|
.message_popup_warning, .message_popup_warning button {
|
|
background-color: #f9a825;
|
|
}
|
|
|
|
.message_popup_error, .message_popup_error button {
|
|
background-color: #9e2f3a;
|
|
}
|
|
|
|
.numpad{
|
|
margin-top: 30px;
|
|
}
|
|
|
|
.numpad_tleft {
|
|
border: .15em solid white;
|
|
border-bottom: 0;
|
|
border-right: 0;
|
|
border-top-left-radius: .7em;
|
|
margin: .15em 0 0 .15em;
|
|
}
|
|
|
|
.numpad_top {
|
|
border: .15em solid white;
|
|
border-bottom: 0;
|
|
border-right: 0;
|
|
margin: .15em 0 0 0;
|
|
}
|
|
|
|
.numpad_tright {
|
|
border: .15em solid white;
|
|
border-bottom: 0;
|
|
border-top-right-radius: .7em;
|
|
margin: .15em .15em 0 0;
|
|
}
|
|
|
|
.numpad_left {
|
|
border: .15em solid white;
|
|
border-right: 0;
|
|
border-bottom: 0;
|
|
margin: 0 0 0 .15em;
|
|
}
|
|
|
|
.numpad_button {
|
|
border: .15em solid white;
|
|
border-right: 0;
|
|
border-bottom: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.numpad_right {
|
|
border: .15em solid white;
|
|
border-bottom: 0;
|
|
margin: 0 .15em 0 0;
|
|
}
|
|
|
|
.numpad_bleft {
|
|
border: .15em solid white;
|
|
border-right: 0;
|
|
border-bottom-left-radius: .7em;
|
|
margin: 0 0 .15em .15em;
|
|
}
|
|
|
|
.numpad_bottom {
|
|
border: .15em solid white;
|
|
border-right: 0;
|
|
margin: 0 0 .15em 0;
|
|
}
|
|
|
|
.numpad_bright {
|
|
border: .15em solid white;
|
|
border-bottom-right-radius: .7em;
|
|
margin: 0 .15em .15em 0;
|
|
}
|
|
|
|
.printing-filename {
|
|
font-size: 1.4em;
|
|
font-weight: bold;
|
|
margin: .25em .25em 0 0;
|
|
}
|
|
|
|
.printing-info {
|
|
margin-right: .25em;
|
|
}
|
|
.printing-info button {
|
|
margin: 0 .1em;
|
|
background-color: rgba(0, 0, 0, 0.1);
|
|
border-radius: .5em;
|
|
}
|
|
|
|
.printing-info-secondary label {
|
|
margin-left: .75em;
|
|
}
|
|
|
|
.printing-status {
|
|
color: #f0f0f0;
|
|
font-style: italic;
|
|
margin: 0 0 0 0;
|
|
}
|
|
|
|
.printing-progress-text {
|
|
font-size: 1.25em;
|
|
font-weight: bold;
|
|
color: white;
|
|
}
|
|
|
|
.printing-status-label {
|
|
padding-top: .25em;
|
|
padding-bottom: .15em;
|
|
color: #ccc;
|
|
font-size: 1.25em;
|
|
}
|
|
|
|
.print-filename {
|
|
font-size: 1.1em;
|
|
margin-bottom: 0.2em;
|
|
|
|
}
|
|
|
|
.print-info {
|
|
font-size: 0.95em;
|
|
}
|
|
|
|
.tempbutton_top {
|
|
border: .15em solid white;
|
|
border-bottom: 0;
|
|
border-top-left-radius: .75em;
|
|
border-top-right-radius: .75em;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.tempbutton {
|
|
border: .15em solid white;
|
|
border-top: .15em solid #ccc;
|
|
border-bottom: 0;
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.tempbutton_bottom {
|
|
border: .15em solid white;
|
|
border-top: .15em solid #ccc;
|
|
border-bottom-left-radius: .7em;
|
|
border-bottom-right-radius: .7em;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.updater-item {
|
|
min-height: 3em;
|
|
padding: .2em;
|
|
}
|
|
|
|
.message {
|
|
border: .1em solid #981E1F;
|
|
font-size: 1em;
|
|
padding: 2.5em;
|
|
color: white;
|
|
background-color: #981E1F;
|
|
}
|
|
|
|
.message button {
|
|
background-color: white;
|
|
color: black;
|
|
padding: 2em 2.5em 2em 2.5em;
|
|
}
|
|
|
|
.system-program-grid {
|
|
padding: 0.25em;
|
|
padding-right: .5em;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.warning {
|
|
background-color: rgba(30, 204, 39, 0.7);
|
|
}
|
|
|
|
.error {
|
|
background-color: rgba(204, 30, 30, 0.7);
|
|
}
|
|
|
|
popover {
|
|
background-color: #222;
|
|
}
|
|
|
|
popover button {
|
|
background-color: #222;
|
|
}
|
|
|
|
.screensaver, .screensaver button, .screensaver button:hover, .screensaver button:focus, .screensaver button:active {
|
|
background-color: black;
|
|
border: 0;
|
|
margin: 0;
|
|
}
|
|
|
|
.option_slider_max trough highlight, trough progress {
|
|
background-color: darkred;
|
|
}
|
|
|
|
.filament_sensor {
|
|
border-radius: 3em;
|
|
}
|
|
|
|
.filament_sensor switch {
|
|
margin: 0;
|
|
}
|
|
|
|
.filament_sensor_detected {
|
|
background-color: darkgreen;
|
|
}
|
|
|
|
.filament_sensor_empty {
|
|
background-color: darkred;
|
|
}
|
|
|
|
.buttons_slim, .buttons_slim label {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
padding-top: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.graph_label {border-left-width: .4em; border-left-style: solid;}
|