Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor bool-array setting to QTX_BOOLEAN_SET #1151

Merged
merged 1 commit into from
Apr 18, 2022
Merged

Conversation

herrvigg
Copy link
Collaborator

The bool_elements_array setting was introduced in #1135 and #1137.
Re-using the QTX_ARRAY code with an extra argument makes it hard
to maintain. The QTX_ARRAY type is not suited for set of checkboxes.

Separate the logic by handling this type all separately.
The QTX_BOOLEAN_SET was legacy, defined but not used in the code.
Make the new type generic though only used by ma_module_enabled.
Remove the extra bool_elements_array argument.

The `bool_elements_array` setting was introduced in #1135 and #1137.
Re-using the QTX_ARRAY code with an extra argument makes it hard
to maintain. The QTX_ARRAY type is not suited for set of checkboxes.

Separate the logic by handling this type all separately.
The `QTX_BOOLEAN_SET` was legacy, defined but not used in the code.
Make the new type generic though only used by `ma_module_enabled`.
Remove the extra `bool_elements_array` argument.
@herrvigg herrvigg added the core Core functionalities, including the admin section label Apr 18, 2022
@herrvigg herrvigg merged commit ea83b64 into master Apr 18, 2022
@herrvigg herrvigg deleted the boolean-set branch April 18, 2022 19:23
spleen1981 added a commit to spleen1981/qtranslate-xt that referenced this pull request Apr 18, 2022
* Refactor module activation handler and options

Disambiguate the confusion between module state and admin options.

The module state depends in general on other plugin states.
The new admin options to manually disable or enable the modules are
just preferences for the module activation. They should be stored
regardless of the current state and can be deleted at any time.

Rename the option to `modules_ma_enabled` and make it admin option.
Refactor the module state update to separate the concepts.

* Minor cleanup

* Fix missing checkbox, cleanup module info

* Refactor bool-array setting to `QTX_BOOLEAN_SET` (qtranslate#1151)

The `bool_elements_array` setting was introduced in qtranslate#1135 and qtranslate#1137.
Re-using the QTX_ARRAY code with an extra argument makes it hard
to maintain. The QTX_ARRAY type is not suited for set of checkboxes.

Separate the logic by handling this type all separately.
The `QTX_BOOLEAN_SET` was legacy, defined but not used in the code.
Make the new type generic though only used by `ma_module_enabled`.
Remove the extra `bool_elements_array` argument.

* Use `QTX_BOOLEAN_SET` for module checkboxes

* Cleanup dead code

* Fix module init on activation, complete doc

* Rename `ma_enabled_modules` to `admin_enabled_modules`

Co-authored-by: HerrVigg <herrvigg@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core functionalities, including the admin section
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant