1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 03:52:57 +08:00
Commit Graph

30 Commits

Author SHA1 Message Date
Dean Herbert
6afed5e865 Fix new SettingsItem attribute not playing well with non-Drawables 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