Dean Herbert
19643ba5e6
Resolve scroll animation/position issues
2017-12-18 02:23:03 +09:00
Dean Herbert
54cc6fadf9
Greatly improve performance when many hidden panels are on-screen
2017-12-17 05:57:50 +09:00
Dean Herbert
5d7413f19c
Improve performance with large numbers of panels visible
2017-12-17 04:30:56 +09:00
Dean Herbert
e2710a309c
Fix panel animation and depth
2017-12-17 02:43:24 +09:00
Dean Herbert
da0940ae0b
Only apply criteria if there are items populated in the carousel
2017-12-16 23:55:55 +09:00
Dean Herbert
33f8c8419a
Fix initial beatmap selection potentially being incorrect
2017-12-16 21:25:54 +09:00
Dean Herbert
59dbca2612
Fix ScrollToSelected being called in too many cases
2017-12-16 16:44:42 +09:00
Dean Herbert
df7e795aa3
Simplify and rename filter methods
2017-12-16 16:27:39 +09:00
Dean Herbert
3c406662ed
Ensure correct selection after deletion of currently selected
...
Also fixes a lot of bad interactions and simplifies further.
2017-12-16 16:18:44 +09:00
Dean Herbert
a8a2c233a0
Add tests for (and fix) removal of last item in carousel
2017-12-16 00:33:09 +09:00
Dean Herbert
192ceb5465
Avoid multiple access to selectedBeatmap during y position computation
2017-12-15 14:44:12 +09:00
Dean Herbert
2e3332e3fe
Shortcut non-visible panels to avoid adding as drawables
2017-12-15 14:44:12 +09:00
Dean Herbert
67f05977ea
Add sorting support
2017-12-15 14:36:51 +09:00
Dean Herbert
b4b2f12116
Add support for adding/removing items
...
Tests accompany of course
2017-12-15 14:36:51 +09:00
Dean Herbert
7814b2df14
More renaming
2017-12-15 14:36:51 +09:00
Dean Herbert
5cbb9b9b18
Fix random and add tests
...
Also exposes SelectedBeatmapSet.
2017-12-15 14:36:51 +09:00
Dean Herbert
8646d5d1e0
Add testing and fix filtering only some difficulties
2017-12-15 14:36:51 +09:00
Dean Herbert
ec4f99c92e
Clean up tests some more
2017-12-15 14:36:51 +09:00
Dean Herbert
1b85952441
Cleanup and basic TestCase
2017-12-15 14:36:51 +09:00
Dean Herbert
b9298325a3
Rename weird config setting
2017-12-15 14:36:51 +09:00
Dean Herbert
99b00143eb
More clean-ups and event bindings
2017-12-15 14:36:51 +09:00
Dean Herbert
78dd975a35
Initial carousel infrastructue changes
2017-12-15 14:36:51 +09:00
Dean Herbert
b10240d7ef
Handle the case where the selected panel is no longer a valid selection better
2017-12-11 21:31:26 +09:00
Dean Herbert
fb92b3551e
Correct panel y positions when filtered panels are present
2017-12-11 21:12:06 +09:00
Dean Herbert
f58c554d19
Add per-difficulty filtering support
...
Filters based on selected ruleset
2017-12-11 20:22:10 +09:00
Aergwyn
821154d3bb
reverted Beatmaps-setter back to its former glory
2017-12-09 08:42:59 +01:00
Aergwyn
3e417d8e30
removed specific AddBeatmap method
...
the way UpdateBeatmapSet was extended it can handle all of this and better
2017-12-08 12:47:28 +01:00
Aergwyn
105d01d85b
fix crash when restoring from any non-SongSelect-screen
...
removed unwanted refresh
2017-12-07 22:02:53 +01:00
Aergwyn
12665fb8cf
remove unnecessary declaration + revert accidental formatting
2017-12-04 12:11:28 +01:00
Aergwyn
011223048b
fix crash if any amount of maps were restored from main menu
...
also fixes preview not playing if an entire set is restored
2017-12-04 11:47:27 +01:00
Aergwyn
3bdf82d8df
refactor newly added code to be less redundant
2017-11-28 21:38:11 +01:00
Aergwyn
6a4cc93360
fixes crash if all beatmaps of a set are hidden
2017-11-28 21:26:13 +01:00
Dean Herbert
2603219350
Load beatmap carousel panels asynchronously
2017-11-21 22:30:09 +09:00
Dean Herbert
4f6263ef86
Make many internal classes and methods public
...
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09:00
Dean Herbert
f486ab1f6c
Merge branch 'master' into song_select_delete
2017-10-30 21:07:02 +09:00
Dean Herbert
5001e9f264
Fix Hide/Restore/Delete etc.
2017-10-25 22:08:34 +09:00
Dean Herbert
f69fa0cf1f
Fix selection after hiding all difficulties in a set
2017-10-20 11:16:56 +09:00
Dean Herbert
a85de09c0f
Fix beatmap carousel interactions with deletion when not yet displayed
2017-10-18 18:36:35 +09:00
smoogipoo
b178be21d1
Let's not rename columns yet
2017-10-14 14:30:58 +09:00
EVAST9919
502940ddf3
Fix deleting last visible beatmap doesn't trigger selecting null beatmap
2017-10-14 05:05:38 +03:00
EVAST9919
7cff413ab0
Fix wrong beatmap selection in song-select menu on deleting selected beatmap
2017-10-11 20:25:12 +03:00
TocoToucan
8b01f8671f
Merge from ppy/master
2017-10-10 21:07:36 +03:00
smoogipoo
d3109a5950
Hook up BeatmapPanel "Edit" item
2017-10-07 00:59:14 +09:00
TocoToucan
887aa7496b
Rework EF Core usage in model classes
2017-10-06 00:23:26 +03:00
TocoToucan
6a4198d0d6
Initial EF Core commit
2017-10-04 22:52:12 +03:00
Dean Herbert
396a56ddf4
Remove global OsuContextMenuContainer
2017-09-14 15:41:32 +09:00
Dean Herbert
dd26c80837
Delete -> Hide
2017-09-04 07:59:32 +09:00
Dan Balasescu
19ad5d5328
Merge branch 'master' into song-select-context-menus
2017-09-04 07:56:31 +09:00
Dean Herbert
3ede685ee9
Fix crash on random selection from a previously null selection
2017-09-01 18:44:51 +09:00
Dean Herbert
f9d02afb00
Don't allow selection of a hidden beatmap
2017-09-01 18:13:21 +09:00
Dean Herbert
1f646e6d54
Add hiding support for beatmap difficulties
2017-09-01 17:57:12 +09:00
Dean Herbert
3b4b4b669b
Add framework for deleting difficulties
2017-08-30 21:12:46 +09:00
Dean Herbert
07da29ea1c
Add context menu to beatmap set header
2017-08-30 20:41:41 +09:00
Dean Herbert
c8b5c1b8a5
Merge branch 'master' into scroll_to_selected
2017-08-01 11:06:32 +09:00
EVAST9919
6b3a81f567
Fix hard crash when pressing random if no beatmaps avaliable
2017-07-29 17:42:32 +03:00
EVAST9919
8458622c4d
Add ScrollToSelected method
2017-07-29 16:03:17 +03:00
Dean Herbert
e691dd12c5
Fix potential sequen of execution issues in BeatmapCarousel
2017-07-28 15:05:08 +09:00
Dean Herbert
5f53426a9a
*Database -> *Store
...
Welcome back BeatmapManager
2017-07-27 16:56:41 +09:00
Dean Herbert
9e20a02c0a
Split out BeatmapDatabase into BeatmapStore
...
Hide database functionality at a lower level in preparation from eventually making it private.
2017-07-26 16:31:34 +09:00
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
Dean Herbert
84f12c722f
Merge branch 'master' into master
2017-07-24 18:23:36 +09:00
tgi74000
d0e99f0c95
check removed beatmap being null, check promptdelete beatmap being default
2017-07-24 10:25:33 +02:00
tgi74000
5d30efc090
Do not trigger Random if no Beatmaps are imported
2017-07-24 09:57:12 +02:00
EVAST9919
d9e9ab22db
Merge remote-tracking branch 'refs/remotes/ppy/master' into scrollable_carousel
2017-07-23 13:27:03 +03:00
Thomas Müller
e68675f970
Rename EasingTypes to Easing
2017-07-22 20:53:53 +02:00
EVAST9919
388fcfb295
Make BeatmapCarousel inherit from OsuScrollContainer
2017-07-21 13:13:53 +03:00
Dean Herbert
12b6b80d5c
Make method to flush filter requests
2017-07-21 17:20:52 +09:00
Dean Herbert
fb2f1224b3
Fix carousel filter debounce causing a race condition
...
Clicking a ruleset button on toolbar would schedule a delayed filter of carousel, which could in turn trigger a beatmap change after pushing a Player. This resolves that by forcing any pending operations to complete.
2017-07-21 05:58:58 +09:00
Thomas Müller
e84d8cc020
Merge branch 'master' into fix-empty-carousel
2017-07-20 21:15:58 +02:00
Dean Herbert
4f10256182
Remove unnecessary count check
2017-07-20 15:34:44 +09:00
Dean Herbert
a59557f039
Fix selection not being reset correct when changing between rulesets
...
Carousels filtered to results with no maps visible were not being handled correctly in a few different ways. This covers all those scenarios.
2017-07-20 15:12:20 +09:00
Dean Herbert
15eb6954da
Fix hitting down and enter at song select causing a hard-crash
...
Carousel was not aware of the disabled beatmap change state. Also it was being set too late (in an async load) so wasn't useful. It's now pre-emptively set in PlaySongSelect before loading Player.
2017-07-20 11:50:52 +09:00
Dean Herbert
35157ca6b8
Make DefaultBeatmap private get.
2017-07-19 18:09:59 +09:00
Dean Herbert
f168ee660c
Move dummy to BeatmapDatabase
2017-07-19 15:16:43 +09:00
Thomas Müller
9d523ea012
Update framework
2017-07-12 11:06:13 +09:00
EVAST9919
5117baae66
Make random works with panels too
2017-06-15 06:37:20 +03:00
EVAST9919
e552c39444
change function to a property
2017-06-11 22:04:35 +03:00
EVAST9919
c3f4b1b3cb
Merge remote-tracking branch 'refs/remotes/ppy/master' into cancel-select-random
2017-06-11 21:56:55 +03:00
John Neijzen
aa3a231763
Review Changes
2017-06-07 22:00:14 +08:00
John Neijzen
f9c466eee9
bit more readable
2017-06-07 20:12:16 +08:00
John Neijzen
23a7045eef
More Clean UP
2017-06-07 20:07:18 +08:00
John Neijzen
9b0e1c26a3
Clean Up Code
2017-06-07 19:53:37 +08:00
EVAST9919
78500eec21
Applied suggested changes
2017-06-05 12:24:28 +03:00
EVAST9919
a42c67ee97
Cancel beatmap random selection
2017-06-01 20:54:42 +03:00
Patrick Andersson
94294e4b45
Changed default selection type and added suggestions from PR feedback
2017-06-01 08:54:48 +02:00
Patrick Andersson
a3945bb11d
Added suggestions by code inspector
2017-05-31 22:04:29 +02:00
Patrick Andersson
9592e9778b
Trim whitespace
2017-05-31 20:31:05 +02:00
Patrick Andersson
1dd85b5986
Add alternative for random beatmap selection
...
"Never repeat" will not repeat until all songs have been seen by repeatedly pressing F2/Random button
2017-05-31 20:11:26 +02:00
MrTheMake
24f64c8815
More formatting
2017-05-24 02:38:05 +02:00
MrTheMake
e9c2b51012
Random the difficulty too
2017-05-22 01:59:10 +02:00
MrTheMake
5ef7451dba
Improved LEFTand RIGHT key behaviour
2017-05-22 01:53:36 +02:00
MrTheMake
974e8d1f82
Fix pressing up always goes to the first beatmap group difficulty, not the last
2017-05-21 19:27:34 +02:00
MrTheMake
043d1ed20a
Updated preload condition to handle special case
2017-05-21 14:08:04 +02:00
MrTheMake
1546bbc66b
Updated preload condition.
2017-05-21 13:04:04 +02:00
MrTheMake
44cad4e0ac
Fix a bug that prevents the lowest beatmap group from being selected if it is not completly on-screen.
2017-05-21 03:04:12 +02:00
Dean Herbert
7bb38e927b
Fix song select reverting to first difficulty of current group on entering
2017-05-17 17:33:20 +09:00
Huo Yaoyuan
767cfaaac3
Access database recursively.
2017-05-06 15:37:53 +08:00
ColdVolcano
f2b0602f90
Double check if the selectedpanel is not the provided as argument
2017-05-01 00:13:00 -05:00
Dean Herbert
4e65da0fd1
Fix regression in panel select animation.
...
Currently we are required to update computeYPositions twice per selection. Without doing this, panels are in the wrong place when using keyboard selection.
There's still a bit of work to be done to make this work correctly. It's caused by a race condition of state application for panels which have not yet been presented (and get their state applied in LoadComplete which breaks the order of things).
2017-04-28 22:17:35 +09:00
Dean Herbert
003cf53441
Streamline panel selection event logic.
...
Was previously firing multiple times where it was completely unnecessary. Also had bidirection firing going on.
2017-04-28 20:43:42 +09:00
Dean Herbert
b78fa99620
Don't perform a selection if we already have the correct panel selected.
2017-04-28 20:31:09 +09:00
Dean Herbert
f2174054ea
Fix song select.
2017-04-18 10:04:32 +09:00
Dean Herbert
4b1588a21d
Fix correct mode filter not being applied when first entering song select.
2017-04-05 17:33:19 +09:00
Dean Herbert
6afa6f30cc
Keep selected beatmap in centre of screen post-filter.
2017-03-29 20:01:46 +09:00
Dean Herbert
fa7fd6efe3
Fix mode selector not invoking a re-filter.
2017-03-29 19:48:13 +09:00
Dean Herbert
f7dc7e9bb9
Update references.
2017-03-28 21:26:20 +09:00
Dean Herbert
54e1b24fe9
Enforce readonly private members where possible.
2017-03-23 13:50:08 +09:00
Dean Herbert
c7fa79b027
Fix nullref.
2017-03-17 20:09:23 +09:00
Dean Herbert
907236e475
Move filtering to BeatmapCarousel (but actual logic is now in FilterCriteria.
2017-03-17 19:54:51 +09:00
Dean Herbert
4b97304603
CarouselContainer -> BeatmapCarousel.
2017-03-17 19:12:54 +09:00