Implement TOML-based configuration support leveraging tomlc99 and custom file writer.

Fix code related to changing from temporary playlists to permanent ones.

Implement new centralized Koto Paths for defining our variables and revdns name for consistency.

Updated Album View to leverage KotoCoverArtButton component.

Started refactoring our theming to support multiple variants. It isn't where I want it yet but we'll get there.
This commit is contained in:
Joshua Strobl 2021-05-27 12:56:36 +03:00
parent 9f0e8dfbc8
commit fa19fd23b1
45 changed files with 1004 additions and 282 deletions

View file

@ -1,22 +1,8 @@
@import "vars";
.disc-view {
& > box { // Horizontal box with image and disc labe
& > box { // Horizontal box with image and disc label
color: #ccc;
margin: 10px 0;
}
& .track-list {
& > row {
&:not(:active):not(:selected) { // Neither active nor selected, see gtk overrides
&:nth-child(odd):not(:hover) {
background-color: $midnight;
}
&:nth-child(even), &:hover {
background-color: $grey;
}
}
}
}
}

View file

@ -1,20 +1,9 @@
@import 'vars';
.player-bar {
background-color: $midnight;
background-image: none;
padding: $halvedpadding;
.koto-button {
&:not(.toggled) {
color: $darkgrey;
}
&.toggled {
color: white;
}
}
.playerbar-info { // Central info section
& > box { // Info labels
margin-left: 2ex;

View file

@ -1,7 +1,7 @@
@import 'components/cover-art-button';
@import 'components/gtk-overrides';
@import 'pages/music-local';
@import 'pages/playlist-page';
@import 'variants/dark/main';
@import 'button';
@import 'disc-view';
@ -12,15 +12,11 @@
@import 'vars';
window {
background-color: $grey;
& > headerbar, & > headerbar:active {
background-color: $midnight;
background-image: none;
}
.koto-dialog-container {
background-color: transparentize($midnight, 0.5);
padding: 20px;
}

View file

@ -8,18 +8,5 @@ theme = custom_target('Theme generation',
[ '-a', '-M', '-t', 'compact' ],
'@INPUT@', '@OUTPUT@',
],
depend_files: files([
'components/_cover-art-button.scss',
'components/_gtk-overrides.scss',
'pages/_music-local.scss',
'pages/_playlist-page.scss',
'_button.scss',
'_disc-view.scss',
'_expander.scss',
'_player-bar.scss',
'_primary-nav.scss',
'_track-item.scss',
'_vars.scss',
]),
build_by_default: true,
)

View file

@ -2,10 +2,6 @@
.page-music-local {
& > .artist-list {
&, & > viewport, & > viewport > list {
background-color: $midnight;
}
& > viewport > list {
& > row {
padding: $halvedpadding;
@ -27,10 +23,6 @@
& > flowboxchild > .album-view {
& > overlay {
margin-right: $itempadding;
& > revealer > box { // Inner controls
background-color: rgba(0,0,0,0.75);
}
}
& > box {

View file

@ -58,10 +58,6 @@
& > .track-list-columned-item { // Track rows
font-size: x-large;
}
&:nth-child(odd):not(:selected) {
background-color: $midnight;
}
}
}

View file

@ -1,3 +1,5 @@
@import '../../vars';
.cover-art-button {
& > revealer > box { // Inner controls
background-color: rgba(0,0,0,0.75);

View file

@ -0,0 +1,21 @@
@import '../../vars';
.disc-view {
& > box { // Horizontal box with image and disc label
color: #ccc;
}
& .track-list {
& > row {
&:not(:active):not(:selected) { // Neither active nor selected, see gtk overrides
&:nth-child(odd):not(:hover) {
background-color: $midnight;
}
&:nth-child(even), &:hover {
background-color: $grey;
}
}
}
}
}

View file

@ -0,0 +1,21 @@
@import '../../vars';
window {
&.koto-theme-dark {
background-color: $grey;
& > headerbar, & > headerbar:active {
background-color: $midnight;
}
.koto-dialog-container {
background-color: transparentize($midnight, 0.75);
}
@import 'cover-art-button';
@import 'disc-view';
@import 'music-local';
@import 'player-bar';
@import 'playlist-page';
}
}

View file

@ -0,0 +1,7 @@
.page-music-local {
& > .artist-list {
&, & > viewport, & > viewport > list {
background-color: $midnight;
}
}
}

View file

@ -0,0 +1,15 @@
@import '../../vars';
.player-bar {
background-color: $midnight;
.koto-button {
&:not(.toggled) {
color: $darkgrey;
}
&.toggled {
color: white;
}
}
}

View file

@ -0,0 +1,13 @@
@import '../../vars';
.playlist-page {
.track-list-content { // Our Track List
& > .track-list-columned { // Column content
& > row {
&:nth-child(odd):not(:selected) {
background-color: $midnight;
}
}
}
}
}