Make arrow "stepper" buttons themeable and use SVG assets (#8123)

* SVG-ify arrow buttons

These buttons are used in the instrument window, Vestige, and VST
effects. Separate versions of the arrow icons are used for the classic
theme.

* Fix some unrelated SVG formatting and metadata

* Revert accidental change to classic border radius

* Add some XML stuff back to appease Github

LMMS renders these SVGs just fine, but apparently the removal of the
XML declaration completely breaks Github's ability to render the image,
so I am adding these back for the sake of those who want to actually
look at the diff on the website lmao

* Attempt to fix Github SVG previews again (`xmlns`)

* Fix crossover eq band mute button icon size

You may ask, "what does this have to do with the arrow buttons?" and you
would be right to assume this is unrelated. However, I'm already
touching the relevant lines of the stylesheet so I may as well sneak it
in there.

* Add missing metadata to fader_knob.svg

And fix mixed indentation in headphones.svg

* Add missing `xmlns` to fader_knob.svg

GRADIENTS!!!!!!!!!!!!

* Fix classic theme arrow buttons

The originals were right angle chevrons

* Remove unused getters
This commit is contained in:
Fawn
2025-11-20 23:26:00 -07:00
committed by GitHub
parent 31f86bc282
commit eb41051bc5
37 changed files with 350 additions and 262 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Downward-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m2 4 3 3 3-3" />
</svg>

After

Width:  |  Height:  |  Size: 974 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Left-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 8-3-3 3-3" />
</svg>

After

Width:  |  Height:  |  Size: 970 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Right-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m4 8 3-3-3-3" />
</svg>

After

Width:  |  Height:  |  Size: 971 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Upward-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m2 6 3-3 3 3" />
</svg>

After

Width:  |  Height:  |  Size: 972 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

View File

@@ -373,27 +373,47 @@ lmms--gui--TrackContentWidget {
qproperty-embossOffset: 0;
}
/* gear button in tracks */
/* 20px = 1px border + 2px padding + 14px icon + 2px padding + 1px border */
QPushButton#btn-mute,
QPushButton#btn-mute-inv,
QPushButton#btn-mute-inv:checked,
QPushButton#btn-solo,
lmms--gui--TrackOperationsWidget QPushButton {
padding: 2;
min-height: 14;
max-height: 14;
min-width: 14;
max-width: 14;
}
/* 16px = 1px border + 2px padding + 10px icon + 2px padding + 1px border */
QPushButton#btn-stepper-down,
QPushButton#btn-stepper-left,
QPushButton#btn-stepper-right {
padding: 2;
border: 1 solid #0f1621;
border-top: 1 solid #18202b;
border-bottom: 1 solid #02060f;
min-height: 10;
max-height: 10;
min-width: 10;
max-width: 10;
}
QPushButton#btn-stepper-down,
QPushButton#btn-stepper-left,
QPushButton#btn-stepper-right,
QPushButton#btn-mute,
QPushButton#btn-mute-inv:checked,
QPushButton#btn-solo,
lmms--gui--TrackOperationsWidget QPushButton {
border: 1 solid #12161d;
border-top: 1 solid #191d24;
border-bottom: 1 solid #0c1016;
border-radius: 4;
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 20%), stop:0.1 rgba(255, 255, 255, 2%), stop:0.9 rgba(0, 0, 0, 2%), stop:1 rgba(0, 0, 0, 40%));
}
QPushButton#btn-stepper-down::menu-indicator,
QPushButton#btn-stepper-left::menu-indicator,
QPushButton#btn-stepper-right::menu-indicator,
lmms--gui--TrackOperationsWidget QPushButton::menu-indicator {
image: none;
}
@@ -411,12 +431,30 @@ QPushButton#btn-solo {
image: url("resources:headphones.svg");
}
QPushButton#btn-stepper-left {
image: url("resources:arrow-left.svg");
}
QPushButton#btn-stepper-right {
image: url("resources:arrow-right.svg");
}
QPushButton#btn-stepper-down {
image: url("resources:arrow-down.svg");
}
QPushButton#btn-stepper-down:hover,
QPushButton#btn-stepper-left:hover,
QPushButton#btn-stepper-right:hover,
QPushButton#btn-mute:hover,
QPushButton#btn-solo:hover,
lmms--gui--TrackOperationsWidget QPushButton:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 25%), stop:0.1 rgba(255, 255, 255, 7%), stop:0.9 transparent, stop:1 rgba(0, 0, 0, 35%));
}
QPushButton#btn-stepper-down:pressed,
QPushButton#btn-stepper-left:pressed,
QPushButton#btn-stepper-right:pressed,
lmms--gui--TrackOperationsWidget QPushButton:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0, 0, 0, 25%), stop:0.1 transparent, stop:0.8 rgba(0, 0, 0, 15%), stop:1 rgba(0, 0, 0, 35%));
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Downward-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="m8.8 3.6-3 4a1 1 0 0 1-1.6 0l-3-4a1 1 0 0 1 0.8-1.6h6a1 1 0 0 1 0.8 1.6z" />
</svg>

After

Width:  |  Height:  |  Size: 956 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Left-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="m6.4 1.2-4 3a1 1 0 0 0 0 1.6l4 3A1 1 0 0 0 8 8V2a1 1 0 0 0-1.6-.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 945 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Right-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="m3.6 1.2 4 3a1 1 0 0 1 0 1.6l-4 3A1 1 0 0 1 2 8V2a1 1 0 0 1 1.6-.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 947 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="10" height="10">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Upward-facing arrow</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="m 8.8,6.4 -3,-4 a 1,1 0 0 0 -1.6,0 l -3,4 A 1,1 0 0 0 2,8 H 8 A 1,1 0 0 0 8.8,6.4 Z" />
</svg>

After

Width:  |  Height:  |  Size: 965 B

View File

@@ -1,18 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" width="23" height="30">
<defs>
<linearGradient id="a">
<stop offset="0" stop-color="#1c1f24"/>
<stop offset="1" stop-color="#2c3138"/>
</linearGradient>
<linearGradient id="b">
<stop offset="0" stop-color="#08a342"/>
<stop offset="1" stop-color="#0bd556"/>
</linearGradient>
<linearGradient xlink:href="#a" id="c" x1="16" x2="16" y1="27.5" y2="4.5" gradientTransform="matrix(.52168 0 0 1.04337 3.15242 -2.19516)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#b" id="d" x1="4" x2="16" y1="8" y2="8" gradientTransform="translate(4.16667 11.33333) scale(.45833)" gradientUnits="userSpaceOnUse" spreadMethod="reflect"/>
</defs>
<rect width="12" height="24" x="5.5" y="2.5" fill="url(#c)" stroke="#000" stroke-linecap="round" rx="2.065" ry="2.065"/>
<path stroke="url(#d)" stroke-width="2" d="M6 15h11"/>
<path fill="#fff" d="M7.56445 3C6.6888 3 6 3.6888 6 4.56445v1C6 4.6888 6.6888 4 7.56445 4h7.8711C16.3112 4 17 4.6888 17 5.56445v-1C17 3.6888 16.3112 3 15.43555 3h-7.8711z" opacity=".1"/>
<path fill="#000" d="M7.56445 26C6.6888 26 6 25.3112 6 24.43555v-1C6 24.3112 6.6888 25 7.56445 25h7.8711C16.3112 25 17 24.3112 17 23.43555v1C17 25.3112 16.3112 26 15.43555 26Z" opacity=".3"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="23" height="30">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Headphones icon</dc:title>
<dc:creator><cc:Agent><dc:title>Rebecca Noel Ati</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<defs>
<linearGradient id="a"><stop offset="0" stop-color="#1c1f24"/><stop offset="1" stop-color="#2c3138"/></linearGradient>
<linearGradient id="b"><stop offset="0" stop-color="#08a342"/><stop offset="1" stop-color="#0bd556"/></linearGradient>
<linearGradient xlink:href="#a" id="c" x1="16" x2="16" y1="27.5" y2="4.5" gradientTransform="matrix(.52168 0 0 1.04337 3.15242 -2.19516)" gradientUnits="userSpaceOnUse"/>
<linearGradient xlink:href="#b" id="d" x1="4" x2="16" y1="8" y2="8" gradientTransform="translate(4.16667 11.33333) scale(.45833)" gradientUnits="userSpaceOnUse" spreadMethod="reflect"/>
</defs>
<rect width="12" height="24" x="5.5" y="2.5" fill="url(#c)" stroke="#000" stroke-linecap="round" rx="2.065" ry="2.065"/>
<path stroke="url(#d)" stroke-width="2" d="M6 15h11"/>
<path fill="#fff" d="M7.56445 3C6.6888 3 6 3.6888 6 4.56445v1C6 4.6888 6.6888 4 7.56445 4h7.8711C16.3112 4 17 4.6888 17 5.56445v-1C17 3.6888 16.3112 3 15.43555 3h-7.8711z" opacity=".1"/>
<path fill="#000" d="M7.56445 26C6.6888 26 6 25.3112 6 24.43555v-1C6 24.3112 6.6888 25 7.56445 25h7.8711C16.3112 25 17 24.3112 17 23.43555v1C17 25.3112 16.3112 26 15.43555 26Z" opacity=".3"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,26 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xml:space="preserve" width="18" height="18" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata>
<rdf:RDF>
<cc:Work>
<cc:license rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:creator>
<cc:Agent>
<dc:title>Fawn Sannar</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="M 8.0270042,0 C 7.4980619,0 7.0727071,0.42536378 7.0727071,0.95430605 V 1.2056263 h -0.00879 A 2.5096571,2.5096571 0 0 1 6.7317557,2.4604548 2.5096571,2.5096571 0 0 1 3.3046852,3.3795958 L 3.088521,3.2548175 C 2.6304487,2.9903509 2.0489568,3.146479 1.7844812,3.6045513 L 0.74934417,5.3954217 C 0.48487753,5.853494 0.64100562,6.4367405 1.0990779,6.7012162 l 0.2179369,0.1265329 -0.00352,0.00527 a 2.5096571,2.5096571 0 0 1 0.9226683,0.9121314 2.5096571,2.5096571 0 0 1 -0.884012,3.4077155 l -0.2530749,0.14587 c -0.45807228,0.264475 -0.61420037,0.845967 -0.34973373,1.30404 l 1.03515503,1.792616 c 0.2644576,0.458072 0.8459585,0.614209 1.3040308,0.349733 l 0.2214462,-0.128296 a 2.5096571,2.5096571 0 0 1 0.00175,-0.0017 2.5096571,2.5096571 0 0 1 1.2530739,-0.333924 2.5096571,2.5096571 0 0 1 2.5078934,2.493857 v 0.268884 c 0,0.528943 0.4253638,0.956061 0.9543061,0.956061 h 2.0685381 c 0.528942,0 0.95606,-0.427118 0.95606,-0.956061 V 16.78911 h 0.02987 a 2.5096571,2.5096571 0 0 1 0.30756,-1.256592 2.5096571,2.5096571 0 0 1 2.052718,-1.253074 2.5096571,2.5096571 0 0 1 1.323368,0.311068 l 0.268894,0.154661 c 0.458081,0.264476 1.039564,0.108339 1.30404,-0.349733 l 1.035155,-1.792616 c 0.264457,-0.458073 0.108338,-1.039565 -0.349743,-1.30404 l -0.221446,-0.128288 0.01582,-0.02812 A 2.5096571,2.5096571 0 0 1 15.884635,10.247783 2.5096571,2.5096571 0 0 1 16.749301,6.8593868 L 17.023468,6.7012162 C 17.48154,6.4367405 17.637677,5.853494 17.373202,5.3954217 L 16.338065,3.6045513 C 16.073598,3.146479 15.492106,2.9903509 15.034025,3.2548175 l -0.216164,0.1247783 -0.0053,-0.00878 A 2.5096571,2.5096571 0 0 1 13.555995,3.7117561 2.5096571,2.5096571 0 0 1 11.051611,1.2442826 V 0.95430605 C 11.051611,0.42536378 10.624493,0 10.095551,0 Z M 9.2115297,5.8541149 A 3.1493764,3.1493764 0 0 1 11.787981,7.4252938 3.1493764,3.1493764 0 0 1 10.636838,11.727567 3.1493764,3.1493764 0 0 1 6.3345653,10.574661 3.1493764,3.1493764 0 0 1 7.487462,6.2723881 3.1493764,3.1493764 0 0 1 9.2115387,5.8541059 Z" />
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="18" height="18">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Gear icon</dc:title>
<dc:creator><cc:Agent><dc:title>Fawn Sannar</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="M 8.0270042,0 C 7.4980619,0 7.0727071,0.42536378 7.0727071,0.95430605 V 1.2056263 h -0.00879 A 2.5096571,2.5096571 0 0 1 6.7317557,2.4604548 2.5096571,2.5096571 0 0 1 3.3046852,3.3795958 L 3.088521,3.2548175 C 2.6304487,2.9903509 2.0489568,3.146479 1.7844812,3.6045513 L 0.74934417,5.3954217 C 0.48487753,5.853494 0.64100562,6.4367405 1.0990779,6.7012162 l 0.2179369,0.1265329 -0.00352,0.00527 a 2.5096571,2.5096571 0 0 1 0.9226683,0.9121314 2.5096571,2.5096571 0 0 1 -0.884012,3.4077155 l -0.2530749,0.14587 c -0.45807228,0.264475 -0.61420037,0.845967 -0.34973373,1.30404 l 1.03515503,1.792616 c 0.2644576,0.458072 0.8459585,0.614209 1.3040308,0.349733 l 0.2214462,-0.128296 a 2.5096571,2.5096571 0 0 1 0.00175,-0.0017 2.5096571,2.5096571 0 0 1 1.2530739,-0.333924 2.5096571,2.5096571 0 0 1 2.5078934,2.493857 v 0.268884 c 0,0.528943 0.4253638,0.956061 0.9543061,0.956061 h 2.0685381 c 0.528942,0 0.95606,-0.427118 0.95606,-0.956061 V 16.78911 h 0.02987 a 2.5096571,2.5096571 0 0 1 0.30756,-1.256592 2.5096571,2.5096571 0 0 1 2.052718,-1.253074 2.5096571,2.5096571 0 0 1 1.323368,0.311068 l 0.268894,0.154661 c 0.458081,0.264476 1.039564,0.108339 1.30404,-0.349733 l 1.035155,-1.792616 c 0.264457,-0.458073 0.108338,-1.039565 -0.349743,-1.30404 l -0.221446,-0.128288 0.01582,-0.02812 A 2.5096571,2.5096571 0 0 1 15.884635,10.247783 2.5096571,2.5096571 0 0 1 16.749301,6.8593868 L 17.023468,6.7012162 C 17.48154,6.4367405 17.637677,5.853494 17.373202,5.3954217 L 16.338065,3.6045513 C 16.073598,3.146479 15.492106,2.9903509 15.034025,3.2548175 l -0.216164,0.1247783 -0.0053,-0.00878 A 2.5096571,2.5096571 0 0 1 13.555995,3.7117561 2.5096571,2.5096571 0 0 1 11.051611,1.2442826 V 0.95430605 C 11.051611,0.42536378 10.624493,0 10.095551,0 Z M 9.2115297,5.8541149 A 3.1493764,3.1493764 0 0 1 11.787981,7.4252938 3.1493764,3.1493764 0 0 1 10.636838,11.727567 3.1493764,3.1493764 0 0 1 6.3345653,10.574661 3.1493764,3.1493764 0 0 1 7.487462,6.2723881 3.1493764,3.1493764 0 0 1 9.2115387,5.8541059 Z" />
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -1,44 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xml:space="preserve"
width="14"
height="14"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
id="defs1" />
<title
id="title1">LMMS solo button (inactive)</title>
<metadata
id="metadata1">
<rdf:RDF>
<cc:Work>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:title>LMMS solo button (inactive)</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Rebecca Noel Ati, Stakeout Punch</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF>
</metadata>
<path
id="headphones"
fill="#fff"
d="m 7,1.0000248 c -1.472525,0.00403 -2.993968,0.4818935 -4.136604,1.5 C 1.72076,3.5181313 1,5.0872298 1,7.000025 c 0,1.60032 0,3.357065 0,5 0,0.5 0.5,1 1,1 h 2 c 0.5,0 1,-0.5 1,-1 v -3 c 0,-0.5 -0.5,-1 -1,-1 H 3 c 0,-0.5 0,-0.5 0,-1 C 3,5.5885998 3.513729,4.6525728 4.246094,4.0000248 4.978458,3.3474773 5.972523,3.0028343 7,3.0000248 8.027475,2.9972148 9.03517,3.3544188 9.765625,4.0039313 10.490632,4.6486008 10.992038,5.5905738 11,7.000025 v 1 h -1 c -0.5,0 -1,0.5 -1,1 v 3 c 0,0.5 0.5,1 1,1 h 2 c 0.5,0 1,-0.5 1,-1 v -5 C 12.992284,5.0891328 12.265582,3.5121893 11.127288,2.5000248 9.982744,1.4823023 8.472523,0.9959983 7,1.0000248 Z"
style="fill:#ffffff;fill-opacity:1" />
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="14" height="14">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Headphones icon</dc:title>
<dc:creator><cc:Agent><dc:title>Rebecca Noel Ati</dc:title></cc:Agent></dc:creator>
<dc:creator><cc:Agent><dc:title>Stakeout Punch</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="m 7,1.0000248 c -1.472525,0.00403 -2.993968,0.4818935 -4.136604,1.5 C 1.72076,3.5181313 1,5.0872298 1,7.000025 c 0,1.60032 0,3.357065 0,5 0,0.5 0.5,1 1,1 h 2 c 0.5,0 1,-0.5 1,-1 v -3 c 0,-0.5 -0.5,-1 -1,-1 H 3 c 0,-0.5 0,-0.5 0,-1 C 3,5.5885998 3.513729,4.6525728 4.246094,4.0000248 4.978458,3.3474773 5.972523,3.0028343 7,3.0000248 8.027475,2.9972148 9.03517,3.3544188 9.765625,4.0039313 10.490632,4.6486008 10.992038,5.5905738 11,7.000025 v 1 h -1 c -0.5,0 -1,0.5 -1,1 v 3 c 0,0.5 0.5,1 1,1 h 2 c 0.5,0 1,-0.5 1,-1 v -5 C 12.992284,5.0891328 12.265582,3.5121893 11.127288,2.5000248 9.982744,1.4823023 8.472523,0.9959983 7,1.0000248 Z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,42 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xml:space="preserve"
width="14"
height="14"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<title
>LMMS mute button (inactive)</title>
<metadata
id="metadata1">
<rdf:RDF>
<cc:Work>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:title>LMMS mute button (inactive)</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Rebecca Noel Ati, Stakeout Punch</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF>
</metadata>
<path
id="speaker"
fill="#fff"
d="M 6.3339845,1.000434 C 5.9921875,1.007274 5.9375,1.062934 5.5,1.500434 l -2,2 c -0.5,0.5 -0.5,0.5 -1,0.5 H 1 c -0.5,0 -1,0.440207 -1,1 v 3.9999998 c 0,0.5 0.5,1.0000002 1,1.0000002 h 1.5 c 0.5,0 0.5,0 1,0.5 l 2,2 c 0.5,0.5 0.5,0.5 1,0.5 H 7 v -12 H 6.5 c -0.0625,0 -0.1172,-9.765e-4 -0.1660155,0 z m 4.6660155,1 -1,1 c 1.417505,1.4175045 2,2.7333335 2,3.9999998 0,1.266665 -0.582495,2.582495 -2,4.0000002 l 1,1 C 12.582495,10.417939 13.367188,8.7337688 13.367188,7.0004338 13.367188,5.267099 12.582495,3.58293 11,2.000434 Z m -2,2 -1,1 c 0.95875,0.958755 1.375,1.56111 1.375,1.9999998 0,0.4389 -0.41625,1.04125 -1.375,2 L 9,10.000434 C 10.04125,8.9591838 10.703125,8.0615488 10.703125,7.0004338 10.703125,5.939324 10.04125,5.041683 9,4.000434 Z"
style="fill:#ffffff;fill-opacity:1" />
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="14" height="14">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Speaker icon</dc:title>
<dc:creator><cc:Agent><dc:title>Rebecca Noel Ati</dc:title></cc:Agent></dc:creator>
<dc:creator><cc:Agent><dc:title>Stakeout Punch</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="M 6.3339845,1.000434 C 5.9921875,1.007274 5.9375,1.062934 5.5,1.500434 l -2,2 c -0.5,0.5 -0.5,0.5 -1,0.5 H 1 c -0.5,0 -1,0.440207 -1,1 v 3.9999998 c 0,0.5 0.5,1.0000002 1,1.0000002 h 1.5 c 0.5,0 0.5,0 1,0.5 l 2,2 c 0.5,0.5 0.5,0.5 1,0.5 H 7 v -12 H 6.5 c -0.0625,0 -0.1172,-9.765e-4 -0.1660155,0 z m 4.6660155,1 -1,1 c 1.417505,1.4175045 2,2.7333335 2,3.9999998 0,1.266665 -0.582495,2.582495 -2,4.0000002 l 1,1 C 12.582495,10.417939 13.367188,8.7337688 13.367188,7.0004338 13.367188,5.267099 12.582495,3.58293 11,2.000434 Z m -2,2 -1,1 c 0.95875,0.958755 1.375,1.56111 1.375,1.9999998 0,0.4389 -0.41625,1.04125 -1.375,2 L 9,10.000434 C 10.04125,8.9591838 10.703125,8.0615488 10.703125,7.0004338 10.703125,5.939324 10.04125,5.041683 9,4.000434 Z" />
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,44 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xml:space="preserve"
width="14"
height="14"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
id="defs1" />
<title
id="title1">LMMS mute button (active)</title>
<metadata
id="metadata1">
<rdf:RDF>
<cc:Work>
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
<dc:title>LMMS mute button (active)</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Rebecca Noel Ati, Stakeout Punch</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/"><cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF>
</metadata>
<path
id="speaker-cut"
fill="#fff"
d="M 2,1 1.5,1.5 1,2 2.95508,3.95508 7,7.9999999 l 1,1 1,1 L 10,11 l 1,1 1,1 0.5,-0.5 L 13,12 11.9336,10.9336 C 12.89052,9.6688499 13.36719,8.3490699 13.36719,6.9999999 13.36719,5.26667 12.58249,3.5825 11,2 l -1,1 c 1.4175,1.4175 2,2.73334 2,3.9999999 0,0.94192 -0.32225,1.9118 -1.07031,2.9297 l -0.98633,-0.98634 c 0.48,-0.63464 0.75976,-1.25496 0.75976,-1.94336 C 10.70312,5.9389 10.04125,5.04125 9,4 L 8,5 c 0.95875,0.95876 1.375,1.56111 1.375,1.9999999 0,0.2501 -0.13605,0.5534 -0.4297,0.94531 L 7,6.00001 v -5 H 6.5 c -0.5,0 -0.5,0 -1,0.5 l -1.5,1.5 z M 1,4 C 0.5,4 0,4.44021 0,5 v 3.9999999 c 0,0.5 0.5,1 1,1 h 1.5 c 0.5,0 0.5,0 1,0.5000001 l 2,2 C 6,13 6,13 6.5,13 H 7 V 9.9999999 Z"
style="fill:#ffffff;fill-opacity:1" />
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.1" width="14" height="14">
<metadata>
<rdf:RDF>
<cc:Work>
<dc:title>Muted speaker icon</dc:title>
<dc:creator><cc:Agent><dc:title>Rebecca Noel Ati</dc:title></cc:Agent></dc:creator>
<dc:creator><cc:Agent><dc:title>Stakeout Punch</dc:title></cc:Agent></dc:creator>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<path fill="#fff" d="M 2,1 1.5,1.5 1,2 2.95508,3.95508 7,7.9999999 l 1,1 1,1 L 10,11 l 1,1 1,1 0.5,-0.5 L 13,12 11.9336,10.9336 C 12.89052,9.6688499 13.36719,8.3490699 13.36719,6.9999999 13.36719,5.26667 12.58249,3.5825 11,2 l -1,1 c 1.4175,1.4175 2,2.73334 2,3.9999999 0,0.94192 -0.32225,1.9118 -1.07031,2.9297 l -0.98633,-0.98634 c 0.48,-0.63464 0.75976,-1.25496 0.75976,-1.94336 C 10.70312,5.9389 10.04125,5.04125 9,4 L 8,5 c 0.95875,0.95876 1.375,1.56111 1.375,1.9999999 0,0.2501 -0.13605,0.5534 -0.4297,0.94531 L 7,6.00001 v -5 H 6.5 c -0.5,0 -0.5,0 -1,0.5 l -1.5,1.5 z M 1,4 C 0.5,4 0,4.44021 0,5 v 3.9999999 c 0,0.5 0.5,1 1,1 h 1.5 c 0.5,0 0.5,0 1,0.5000001 l 2,2 C 6,13 6,13 6.5,13 H 7 V 9.9999999 Z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

View File

@@ -427,27 +427,47 @@ lmms--gui--TrackContentWidget {
qproperty-embossOffset: 0;
}
/* gear button in tracks */
/* 20px = 1px border + 2px padding + 14px icon + 2px padding + 1px border */
QPushButton#btn-mute,
QPushButton#btn-mute-inv,
QPushButton#btn-mute-inv:checked,
QPushButton#btn-solo,
lmms--gui--TrackOperationsWidget QPushButton {
padding: 2;
min-height: 14;
max-height: 14;
min-width: 14;
max-width: 14;
}
/* 16px = 1px border + 2px padding + 10px icon + 2px padding + 1px border */
QPushButton#btn-stepper-down,
QPushButton#btn-stepper-left,
QPushButton#btn-stepper-right {
padding: 2;
border: 1 solid #0f1621;
border-top: 1 solid #18202b;
border-bottom: 1 solid #02060f;
min-height: 10;
max-height: 10;
min-width: 10;
max-width: 10;
}
QPushButton#btn-stepper-down,
QPushButton#btn-stepper-left,
QPushButton#btn-stepper-right,
QPushButton#btn-mute,
QPushButton#btn-mute-inv:checked,
QPushButton#btn-solo,
lmms--gui--TrackOperationsWidget QPushButton {
border: 1 solid #080b12;
border-top: 1 solid #0e1218;
border-bottom: 1 solid #03060b;
border-radius: 2;
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 20%), stop:0.1 rgba(255, 255, 255, 2%), stop:0.9 rgba(0, 0, 0, 2%), stop:1 rgba(0, 0, 0, 40%));
}
QPushButton#btn-stepper-down::menu-indicator,
QPushButton#btn-stepper-left::menu-indicator,
QPushButton#btn-stepper-right::menu-indicator,
lmms--gui--TrackOperationsWidget QPushButton::menu-indicator {
image: none;
}
@@ -465,12 +485,30 @@ QPushButton#btn-solo {
image: url("resources:headphones.svg");
}
QPushButton#btn-stepper-left {
image: url("resources:arrow-left.svg");
}
QPushButton#btn-stepper-right {
image: url("resources:arrow-right.svg");
}
QPushButton#btn-stepper-down {
image: url("resources:arrow-down.svg");
}
QPushButton#btn-stepper-down:hover,
QPushButton#btn-stepper-left:hover,
QPushButton#btn-stepper-right:hover,
QPushButton#btn-mute:hover,
QPushButton#btn-solo:hover,
lmms--gui--TrackOperationsWidget QPushButton:hover {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 25%), stop:0.1 rgba(255, 255, 255, 7%), stop:0.9 transparent, stop:1 rgba(0, 0, 0, 35%));
}
QPushButton#btn-stepper-down:pressed,
QPushButton#btn-stepper-left:pressed,
QPushButton#btn-stepper-right:pressed,
lmms--gui--TrackOperationsWidget QPushButton:pressed {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(0, 0, 0, 25%), stop:0.1 transparent, stop:0.8 rgba(0, 0, 0, 15%), stop:1 rgba(0, 0, 0, 35%));
}
@@ -487,7 +525,6 @@ QPushButton#btn-solo:checked {
background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #5aa8d9, stop:0.1 #2696d1, stop:0.9 #2696d1, stop:1 #16638c);
}
/* font sizes */
lmms--gui--Sf2InstrumentView > QLabel {

View File

@@ -25,7 +25,7 @@
#ifndef LMMS_GUI_LEFT_RIGHT_NAV_H
#define LMMS_GUI_LEFT_RIGHT_NAV_H
#include "PixmapButton.h"
#include <QPushButton>
namespace lmms::gui
@@ -36,16 +36,14 @@ class LeftRightNav : public QWidget
Q_OBJECT
public:
LeftRightNav(QWidget *parent=nullptr);
PixmapButton* getLeftBtn();
PixmapButton* getRightBtn();
void setShortcuts(const QKeySequence &leftShortcut=Qt::Key_Minus, const QKeySequence &rightShortcut=Qt::Key_Plus);
signals:
void onNavLeft();
void onNavRight();
private:
QHBoxLayout m_layout;
PixmapButton m_leftBtn;
PixmapButton m_rightBtn;
QPushButton m_leftBtn;
QPushButton m_rightBtn;
};

View File

@@ -532,14 +532,10 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument,
m_openPresetButton->setToolTip(tr("Open VST plugin preset"));
m_rolLPresetButton = new PixmapButton( this, "" );
m_rolLPresetButton->setCheckable( false );
m_rolLPresetButton->setCursor( Qt::PointingHandCursor );
m_rolLPresetButton = new QPushButton(this);
m_rolLPresetButton->setObjectName("btn-stepper-left");
m_rolLPresetButton->setCursor(Qt::PointingHandCursor);
m_rolLPresetButton->move( 190, 201 );
m_rolLPresetButton->setActiveGraphic( embed::getIconPixmap(
"stepper-left-press" ) );
m_rolLPresetButton->setInactiveGraphic( embed::getIconPixmap(
"stepper-left" ) );
connect( m_rolLPresetButton, SIGNAL( clicked() ), this,
SLOT( previousProgram() ) );
m_rolLPresetButton->setToolTip(tr("Previous (-)"));
@@ -560,14 +556,10 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument,
m_savePresetButton->setToolTip(tr("Save preset"));
m_rolRPresetButton = new PixmapButton( this, "" );
m_rolRPresetButton->setCheckable( false );
m_rolRPresetButton->setCursor( Qt::PointingHandCursor );
m_rolRPresetButton = new QPushButton(this);
m_rolRPresetButton->setObjectName("btn-stepper-right");
m_rolRPresetButton->setCursor(Qt::PointingHandCursor);
m_rolRPresetButton->move( 209, 201 );
m_rolRPresetButton->setActiveGraphic( embed::getIconPixmap(
"stepper-right-press" ) );
m_rolRPresetButton->setInactiveGraphic( embed::getIconPixmap(
"stepper-right" ) );
connect( m_rolRPresetButton, SIGNAL( clicked() ), this,
SLOT( nextProgram() ) );
m_rolRPresetButton->setToolTip(tr("Next (+)"));
@@ -575,16 +567,15 @@ VestigeInstrumentView::VestigeInstrumentView( Instrument * _instrument,
m_rolRPresetButton->setShortcut( Qt::Key_Plus );
m_selPresetButton = new QPushButton( tr( "" ), this );
m_selPresetButton->setGeometry( 228, 201, 16, 16 );
m_selPresetButton = new QPushButton(this);
m_selPresetButton->setObjectName("btn-stepper-down");
m_selPresetButton->setCursor(Qt::PointingHandCursor);
m_selPresetButton->move(228, 201);
auto menu = new QMenu;
connect( menu, SIGNAL( aboutToShow() ), this, SLOT( updateMenu() ) );
m_selPresetButton->setIcon( embed::getIconPixmap( "stepper-down" ) );
m_selPresetButton->setMenu(menu);
m_toggleGUIButton = new QPushButton( tr( "Show/hide GUI" ), this );

View File

@@ -174,8 +174,8 @@ private:
PixmapButton * m_openPluginButton;
PixmapButton * m_openPresetButton;
PixmapButton * m_rolLPresetButton;
PixmapButton * m_rolRPresetButton;
QPushButton* m_rolLPresetButton;
QPushButton* m_rolRPresetButton;
QPushButton * m_selPresetButton;
QPushButton * m_toggleGUIButton;
PixmapButton * m_managePluginButton;

View File

@@ -123,13 +123,9 @@ VstEffectControlDialog::VstEffectControlDialog( VstEffectControls * _ctl ) :
m_openPresetButton->setMinimumHeight( 16 );
m_openPresetButton->setMaximumHeight( 16 );
m_rolLPresetButton = new PixmapButton( this, "" );
m_rolLPresetButton->setCheckable( false );
m_rolLPresetButton->setCursor( Qt::PointingHandCursor );
m_rolLPresetButton->setActiveGraphic( embed::getIconPixmap(
"stepper-left-press" ) );
m_rolLPresetButton->setInactiveGraphic( embed::getIconPixmap(
"stepper-left" ) );
m_rolLPresetButton = new QPushButton(this);
m_rolLPresetButton->setObjectName("btn-stepper-left");
m_rolLPresetButton->setCursor(Qt::PointingHandCursor);
connect( m_rolLPresetButton, SIGNAL( clicked() ), _ctl,
SLOT( rolrPreset() ) );
@@ -140,18 +136,10 @@ VstEffectControlDialog::VstEffectControlDialog( VstEffectControls * _ctl ) :
m_rolLPresetButton->setShortcut( Qt::Key_Minus );
m_rolLPresetButton->setMinimumWidth( 16 );
m_rolLPresetButton->setMaximumWidth( 16 );
m_rolLPresetButton->setMinimumHeight( 16 );
m_rolLPresetButton->setMaximumHeight( 16 );
m_rolRPresetButton = new PixmapButton( this, "" );
m_rolRPresetButton->setCheckable( false );
m_rolRPresetButton->setCursor( Qt::PointingHandCursor );
m_rolRPresetButton->setActiveGraphic( embed::getIconPixmap(
"stepper-right-press" ) );
m_rolRPresetButton->setInactiveGraphic( embed::getIconPixmap(
"stepper-right" ) );
m_rolRPresetButton = new QPushButton(this);
m_rolRPresetButton->setObjectName("btn-stepper-right");
m_rolRPresetButton->setCursor(Qt::PointingHandCursor);
connect( m_rolRPresetButton, SIGNAL( clicked() ), _ctl,
SLOT( rollPreset() ) );
@@ -162,16 +150,10 @@ VstEffectControlDialog::VstEffectControlDialog( VstEffectControls * _ctl ) :
m_rolRPresetButton->setShortcut( Qt::Key_Plus );
m_rolRPresetButton->setMinimumWidth( 16 );
m_rolRPresetButton->setMaximumWidth( 16 );
m_rolRPresetButton->setMinimumHeight( 16 );
m_rolRPresetButton->setMaximumHeight( 16 );
_ctl->m_selPresetButton = new QPushButton( tr( "" ), this );
_ctl->m_selPresetButton->setCheckable( false );
_ctl->m_selPresetButton->setCursor( Qt::PointingHandCursor );
_ctl->m_selPresetButton->setIcon( embed::getIconPixmap( "stepper-down" ) );
_ctl->m_selPresetButton = new QPushButton(this);
_ctl->m_selPresetButton->setObjectName("btn-stepper-down");
_ctl->m_selPresetButton->setCursor(Qt::PointingHandCursor);
auto menu = new QMenu;
connect( menu, SIGNAL( aboutToShow() ), _ctl, SLOT( updateMenu() ) );
@@ -299,4 +281,4 @@ void VstEffectControlDialog::togglePluginUI( bool checked )
}
} // namespace lmms::gui
} // namespace lmms::gui

View File

@@ -60,8 +60,8 @@ private:
QPushButton * m_togglePluginButton;
PixmapButton * m_openPresetButton;
PixmapButton * m_rolLPresetButton;
PixmapButton * m_rolRPresetButton;
QPushButton* m_rolLPresetButton;
QPushButton* m_rolRPresetButton;
PixmapButton * m_managePluginButton;
PixmapButton * m_savePresetButton;

View File

@@ -33,30 +33,23 @@ namespace lmms::gui
LeftRightNav::LeftRightNav(QWidget *parent)
: QWidget(parent),
m_layout(this),
m_leftBtn(this, tr("Previous")),
m_rightBtn(this, tr("Next"))
: QWidget(parent)
, m_layout(this)
, m_leftBtn(this)
, m_rightBtn(this)
{
m_layout.setContentsMargins(0, 0, 0, 0);
m_layout.setSpacing(2);
m_leftBtn.setObjectName("btn-stepper-left");
m_rightBtn.setObjectName("btn-stepper-right");
m_leftBtn.setCheckable(false);
m_rightBtn.setCheckable(false);
m_leftBtn.setCursor(Qt::PointingHandCursor);
m_rightBtn.setCursor(Qt::PointingHandCursor);
m_leftBtn.setActiveGraphic(embed::getIconPixmap(
"stepper-left-press"));
m_rightBtn.setActiveGraphic(embed::getIconPixmap(
"stepper-right-press" ));
m_leftBtn.setInactiveGraphic(embed::getIconPixmap(
"stepper-left" ));
m_rightBtn.setInactiveGraphic(embed::getIconPixmap(
"stepper-right"));
connect(&m_leftBtn, SIGNAL(clicked()), this,
SIGNAL(onNavLeft()));
connect(&m_rightBtn, SIGNAL(clicked()), this,
@@ -65,10 +58,8 @@ LeftRightNav::LeftRightNav(QWidget *parent)
m_leftBtn.setToolTip(tr("Previous"));
m_rightBtn.setToolTip(tr("Next"));
m_leftBtn.setWindowTitle(tr("Previous"));
m_rightBtn.setWindowTitle(tr("Next"));
// AutomatableButton's right click menu (contains irrelevant options like copying and pasting values)
// The context menu contains irrelevant options for these buttons,
// such as copying and pasting values
m_leftBtn.setContextMenuPolicy(Qt::NoContextMenu);
m_rightBtn.setContextMenuPolicy(Qt::NoContextMenu);
@@ -76,14 +67,6 @@ LeftRightNav::LeftRightNav(QWidget *parent)
m_layout.addWidget(&m_rightBtn);
}
PixmapButton* LeftRightNav::getLeftBtn()
{
return &m_leftBtn;
}
PixmapButton* LeftRightNav::getRightBtn()
{
return &m_rightBtn;
}
void LeftRightNav::setShortcuts(const QKeySequence &leftShortcut, const QKeySequence &rightShortcut)
{