diff --git a/src/evolve.less b/src/evolve.less
index f0bd68b18..68048132c 100644
--- a/src/evolve.less
+++ b/src/evolve.less
@@ -2407,6 +2407,7 @@ a {
margin-bottom: 0 !important;
}
+ .queue,
.theme,
.localization {
margin-bottom: 1rem;
diff --git a/src/index.js b/src/index.js
index fbddeba24..1ea683603 100644
--- a/src/index.js
+++ b/src/index.js
@@ -147,6 +147,9 @@ export function mainVue(){
global.settings.queuestyle = style;
updateQueueStyle();
},
+ setQueueResize(mode) {
+ global.settings.q_resize = mode;
+ },
icon(icon){
global.settings.icon = icon;
save.setItem('evolved',LZString.compressToUTF16(JSON.stringify(global)));
@@ -1285,18 +1288,6 @@ export function index(){
${drawIcon('star',16,irank)} {{ 'star' | label }}
${iconlist}
-
- {{ 'queuestyle' | label }}
-
-
- {{ 'standardqueuestyle' | label }}
- {{ 'listqueuestyle' | label }}
- {{ 'bulletlistqueuestyle' | label }}
- {{ 'numberedlistqueuestyle' | label }}
-
{{ 'locale' | label }}
@@ -1318,6 +1309,20 @@ export function index(){
{{ 'large_log' | label }}
{{ 'large_all' | label }}
+
+
+
+ {{ 'queuestyle' | label }}
+
+
+ {{ 'standardqueuestyle' | label }}
+ {{ 'listqueuestyle' | label }}
+ {{ 'bulletlistqueuestyle' | label }}
+ {{ 'numberedlistqueuestyle' | label }}
+
{{ 'q_merge' | label }}
@@ -1329,7 +1334,20 @@ export function index(){
{{ 'merge_nearby' | label }}
{{ 'merge_all' | label }}
+
+ {{ 'q_resize' | label }}
+
+
+ {{ 'q_resize_auto' | label }}
+ {{ 'q_resize_grow' | label }}
+ {{ 'q_resize_shrink' | label }}
+ {{ 'q_resize_manual' | label }}
+
+
{{ 'pause' | label }}
{{ 'm_keys' | label }}
{{ 'c_cat' | label }}
diff --git a/src/main.js b/src/main.js
index f46f69277..acb2d76c6 100644
--- a/src/main.js
+++ b/src/main.js
@@ -10203,19 +10203,23 @@ function midLoop(){
let min = rem * 5;
let max = totHeight - (5 * rem);
- const buildQueueElement = $(`#buildQueue`).get(0);
- if (buildQueueElement.scrollHeight > buildQueueElement.clientHeight) {
- // The build queue has a scroll-bar.
- buildHeight++;
- } else {
- let minHeight = rem;
- buildQueueElement.childNodes.forEach(function (e) {
- minHeight += e.clientHeight || 0;
- });
+ if (global.settings.q_resize !== 'manual') {
+ const buildQueueElement = $(`#buildQueue`).get(0);
+ if (['auto', 'grow'].includes(global.settings.q_resize) &&
+ buildQueueElement.scrollHeight > buildQueueElement.clientHeight
+ ) {
+ // The build queue has a scroll-bar.
+ buildHeight++;
+ } else if (['auto', 'shrink'].includes(global.settings.q_resize)) {
+ let minHeight = rem;
+ buildQueueElement.childNodes.forEach(function (e) {
+ minHeight += e.clientHeight || 0;
+ });
- if (buildQueueElement.clientHeight > minHeight) {
- // The build queue is larger than it needs to be.
- buildHeight = Math.min(buildHeight, minHeight);
+ if (buildQueueElement.clientHeight > minHeight) {
+ // The build queue is larger than it needs to be.
+ buildHeight = Math.min(buildHeight, minHeight);
+ }
}
}
diff --git a/src/vars.js b/src/vars.js
index c204e7f64..5c101906f 100644
--- a/src/vars.js
+++ b/src/vars.js
@@ -1685,6 +1685,10 @@ if (!global.settings['queuestyle']){
global.settings['queuestyle'] = 'standardqueuestyle';
}
+if (!global.settings['q_resize']){
+ global.settings.q_resize = 'auto';
+}
+
$('html').addClass(global.settings.theme);
$('html').addClass(global.settings.queuestyle);
diff --git a/strings/strings.json b/strings/strings.json
index b93e53f55..7304c7731 100644
--- a/strings/strings.json
+++ b/strings/strings.json
@@ -100,6 +100,11 @@
"listqueuestyle": "List queue",
"bulletlistqueuestyle": "Bullet list queue",
"numberedlistqueuestyle": "Numbered list queue",
+ "q_resize": "Queue size",
+ "q_resize_auto": "Grow and shrink",
+ "q_resize_grow": "Grow",
+ "q_resize_shrink": "Shrink",
+ "q_resize_manual": "Manual",
"add": "Add",
"remove": "Remove",
"active": "Active",