Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dean Herbert
6afed5e865
Fix new SettingsItem
attribute not playing well with non-Drawable
s
2022-04-01 16:01:33 +09:00
Dean Herbert
66f5eae530
Hook up a dropdown to show all available sprites for the current skin
2022-04-01 15:01:43 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Dean Herbert
41a2e6eeeb
Fix cache not actually caching anything
2021-09-09 14:56:39 +09:00
Dean Herbert
a622a0b660
Use a more traditional method of caching
2021-09-08 23:18:17 +09:00
Dean Herbert
81c9d831f4
Cache reflection portion of SettingSource
lookups
...
Fixes the mod-related overhead portion of https://github.com/ppy/osu/issues/14638 . There's still a significant performance issue that will be addressed separately.
2021-09-08 13:26:11 +09:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
aitani9
93edb25ace
Override CreateMenu
instead of using a property
2021-06-24 14:32:43 -07:00
Dean Herbert
bae42a8908
Add inline comment explaining why the height is set lower
2021-06-23 14:07:37 +09:00
aitani9
59928a7d91
Decrease the max height of dropdown menus in mod settings
2021-06-22 13:32:45 -07:00
smoogipoo
05bd6ee50c
Add back ctor doc
2021-04-28 03:54:42 +09:00
smoogipoo
04454062b7
Fix up xmldoc
2021-04-28 03:52:59 +09:00
smoogipoo
4e3ee77396
Add support for custom controls to SettingSourceAttribute
2021-04-28 02:51:24 +09:00
Bartłomiej Dach
7e17c5ab71
Trim yet another array copy
2021-02-27 15:46:18 +01:00
Bartłomiej Dach
1e56d2cbba
Make SettingSourceAttribute
implement IComparable
2021-02-27 15:30:08 +01:00
Bartłomiej Dach
528de5869e
Fix multiple enumerations when ordering setting sources
...
This was not spotted previously, because the base `Attribute` overrides
`Equals()` to have semantics similar to structs (per-field equality) by
using reflection. That masked the issue when strings were used, and
migrating to `LocalisableString` revealed it, as that struct's
implementation of equality currently uses instance checks.
Whether `LocalisableString.Equals()` is the correct implementation may
still be up for discussion, but allowing multiple enumeration is wrong
anyway, since the underlying enumerables are live (one especially is a
yield iterator, causing new object instances to be allocated).
2021-02-27 14:58:01 +01:00
Dean Herbert
3802cb29a4
Fix failing tests doing reference comparisons between string and LocalisedString
2021-02-25 17:49:54 +09:00
Dean Herbert
dddd776802
Add the ability for settings items to have tooltips
2021-02-11 16:38:17 +09:00
Dean Herbert
9d7880afda
Make SettingsItem conform to IHasCurrentValue
2020-10-06 17:18:54 +09:00
voidedWarranties
f486db48de
Add labels and fix dropdown bindable values
2020-02-27 17:30:06 -08:00
voidedWarranties
a8eb9ba45c
Update xmldoc
2020-02-12 15:55:16 -08:00
voidedWarranties
e9b5137147
Remove >-1 limitation by using a separate constructor
2020-02-11 21:52:22 -08:00
voidedWarranties
ca237fd987
Simplify ordering by using only numbers, add xmldoc
2020-02-10 16:21:49 -08:00
voidedWarranties
ea521b466f
Switch numerical consts to an enum
2020-02-09 21:37:40 -08:00
voidedWarranties
88a56d00bf
Allow specifying order to SettingSource
2020-02-09 20:11:37 -08:00
Dean Herbert
1613198834
Set a sane default keyboard step for mod settings
2020-02-06 19:43:33 +09:00
smoogipoo
2bc7458abf
Add mod setting (de)serialization support
2020-01-17 13:27:47 +09:00
Dean Herbert
5347e7c4a2
Apply code quality improvements
2019-12-06 20:14:06 +09:00
Dean Herbert
2fa0b30fa2
Add textbox and dropdown support
2019-12-06 18:04:46 +09:00
Dean Herbert
ed6d1ccd95
Add a method for getting settings UI components automatically from a target class
2019-12-06 18:04:46 +09:00