move image-related user options + update reminder

This commit is contained in:
end-4 2024-05-25 21:34:47 +07:00
parent 9a5e53dac1
commit 5f76e68a73
3 changed files with 23 additions and 8 deletions

View file

@ -1,3 +1,5 @@
import GLib from 'gi://GLib';
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'
import userOverrides from '../../user_options.js';
// Default options.
@ -72,9 +74,11 @@ let configOptions = {
'wsNumMarginScale': 0.07,
},
'sidebar': {
'imageColumns': 2,
'imageBooruCount': 20,
'imageAllowNsfw': false,
'image': {
'columns': 2,
'batchCount': 20,
'allowNsfw': false,
},
},
'search': {
'engineBaseUrl': "https://www.google.com/search?q=",
@ -173,9 +177,11 @@ let configOptions = {
}
// Override defaults with user's options
let optionsOkay = true;
function overrideConfigRecursive(userOverrides, configOptions = {}) {
for (const [key, value] of Object.entries(userOverrides)) {
if (typeof value === 'object') {
if (!configOptions[key]) optionsOkay = false;
else if (typeof value === 'object') {
overrideConfigRecursive(value, configOptions[key]);
} else {
configOptions[key] = value;
@ -183,6 +189,13 @@ function overrideConfigRecursive(userOverrides, configOptions = {}) {
}
}
overrideConfigRecursive(userOverrides, configOptions);
if (!optionsOkay) {
Utils.execAsync(['notify-send',
'Update your user options',
'One or more config options don\'t exist',
'-a', 'ags',
]).catch(print);
}
globalThis['userOptions'] = configOptions;
export default configOptions;

View file

@ -98,7 +98,9 @@ export const BooruSettings = () => MarginRevealer({
name: 'Lewds',
desc: `Shows naughty stuff when enabled.\nYa like those? Add this to user_options.js:
'sidebar': {
'imageAllowNsfw': true,
'image': {
'allowNsfw': true,
}
},`,
initValue: BooruService.nsfw,
onChange: (self, newValue) => {
@ -312,7 +314,7 @@ const BooruPage = (taglist, serviceName = 'Booru') => {
downloadState.shown = 'error';
return;
}
const imageColumns = userOptions.sidebar.imageColumns;
const imageColumns = userOptions.sidebar.image.columns;
const imageRows = data.length / imageColumns;
// Init cols

View file

@ -38,7 +38,7 @@ function paramStringFromObj(params) {
class BooruService extends Service {
_baseUrl = 'https://yande.re/post.json';
_mode = 'yandere';
_nsfw = userOptions.sidebar.imageAllowNsfw;
_nsfw = userOptions.sidebar.image.allowNsfw;
_responses = [];
_queries = [];
@ -102,7 +102,7 @@ class BooruService extends Service {
const params = {
'tags': taglist.join('+'),
'page': `${page}`,
'limit': `${userOptions.sidebar.imageBooruCount}`,
'limit': `${userOptions.sidebar.image.batchCount}`,
};
const paramString = paramStringFromObj(params);
// Fetch