Age | Commit message (Collapse) | Author |
|
|
|
Should think about moving this into tui-lib! It'd fit the boilerplate
function I have there already (I think), but we're not making use of
that in mtui yet.
|
|
|
|
|
|
|
|
I still prefer recordStore as the cleaner solution, but we were just
doing recordStore.app a lot of the time, and this really wasn't any
better than just passing app.
|
|
Fixes play/mark/etc status not updating right away.
|
|
|
|
|
|
|
|
"v" increases because it's lowercase and therefore more likely to be
accidentally pressed, hence more likely to confuse the user when it
decreases the volume (if it decreased the volume - since it increases
the volume, it generally doesn't seem to have any effect until you've
already discovered that v and V are used for volume controls).
|
|
|
|
|
|
Items in the queue now have a menu, and if you pick "play later" from it
(the other option is "remove from queue"), it'll move that item into
somewhere further down in the queue. If it was already playing when you
select play later, it'll first skip it, then move it.
|
|
* Menus opened from the queue wouldn't work before. Now they do.
(Well, there's no code for them yet, but there was when I was
testing.)
* Rebuilding the items of a listing while it's selected doesn't reset
the selection (i.e. select AppElement -> Tabber -> left pane). So you
can remove an item from the queue and have focus remain on the queue,
at the index where the item you removed was.
|
|
AKA, prevent left/right from bubbling (I already intended this to happen
but I forgot a required return false).
|
|
|
|
|
|
If you press enter in the JumpElement form while it's still empty,
automatically treat the previously-entered input as the entered value,
so that it's easy to quickly do a "repeated" search (you don't have to
enter the same value over and over again).
|
|
Well, not the current index; rather the index which was selected when
the jump element was opened.
|
|
Previously the cursor would only follow the selected track if it was
selected by shift-up/down; now it works if it's automatically played
(i.e. by the previous song finishing).
|
|
Click to switch tab, scroll over the tab list to quickly switch to the
previous or next tab.
|
|
|
|
|
|
Somebody remind me to write unit tests...
|
|
This was already half-done, but the new behavior in this commit feels
quite a bit nicer. (Specifically if you use shift-up/down (or n/p) while
the queue is selected, the cursor will move to the new selection if it
was already on the old selection, whereas before it would never follow
when the queue was selected.)
|
|
|
|
This also makes it so that the selected options in whereControl and
orderControl stay the same when you open the context menu on a different
item, browse a different group, etc.
|
|
E.g. to interweave two groups together.
|
|
Cool! This was one of my favorite tiny features of http-music.
|
|
Not a lot of new potential utility here for now, but it's at the least
easier to use and cleaner than the old look! Also.. shuffle-groups
soon(TM). Maybe!
|
|
|
|
|
|
Used to access a menu for the playlist that's currently being browsed.
Particularly handy for working with the top-level group, since you can't
access its menu any other way. Also useful for quickly acting on a group
you opened from (for example) a PathElement.
|
|
This doesn't impact performance noticeably, it's just a code nitpick.
|
|
|
|
Scroll up/down to seek, click to toggle pause.
|
|
'Cuz hey, why not?
|
|
|
|
|
|
This way you can activate the menu without taking your right hand off
the arrow keys (in typical keyboards).
|
|
Oops! I got rid of (well, tweaked) the concepts of "real" and "fake"
rows, but forgot to get rid of the now-unnecessary (and disfunctional)
isReal checks.
|
|
|
|
I.e, the "Up (to group)" button and the "(This group is empty)"
pseudo-playlist-item.
|
|
Specifically, don't bubble escape when it's pressed in ContextMenus or
in ListingJumpElements.
TL;DR you won't accidentally cancel your currently playing song as much.
|
|
|
|
|
|
See #1.
Also fixed a bug where shift-up/p wouldn't queue a track at the top of the
queue when the top was selected.
|
|
|
|
This happened when the openPlaylistDialog was closed before being
opened - Dialog.close would try to select(this.oldSelectedElement),
but of course that would be undefined since the dialog had never been
opened in the first place.
|