If Playlist Viewer can't open instantaneously due
to the retrieval of metadata, or on devices with disk
storage, make sure the UI doesn't feel unresponsive
Change-Id: Ib7a837515b4fb89ee0ee34ec04541200248b1d6f
IpodVT reported odd word wrapping in the case of a perfectly fitting line on a space
which carried over to the next line
in the process I got a ASAN overflow on the line buffer due to
the possibility that lines_per_page - 1 might be -1 and then
reading off in space for an offset into the file
not sure that this would really cause an issue since it would presumably
be bounded within the boundries of the file anyway
Change-Id: Ib5b2c5a30b58faf8bda653f9b9d8d7f76cfb8069
Lists with a selection size of >1 aren't skinned, so we
we have to manually take care of calling scroll_stop on
the un-skinned bookmark list before displaying the
(skinned) context menu.
Change-Id: Ie7ce627b5ea073be03304b7c676403cdfb4d3243
posix month field is called mon not month
mon goes from 0-11 so strfrtime needs to add 1 to the number for %m
day of week goes 0-6 where 0 = sunday
day of year goes 0-365 (365 on a leap year)
according to lua everything starts at 1
so month is 1-12
day of week goes 1-7 1 = sunday
day of year is 1-365 (366 on a leap year)
added some fields in the time_date example
Change-Id: Icd502b172285d23133488aa3456786d756667bfa
Reduces GNU Complexity score from 33 to 2.
Additionally:
- Allocate MAX_PATH, instead of MAX_PATH+1,
for formatted id3 info (NULL terminator is
already included)
- Ensure minimum name buffer size of 2*MAX_PATH,
instead of MAX_PATH+1, so that there is space for
both the formatted track name and, if enabled, the
id3 info of a single track
Change-Id: Ie60590f6c0da4fe3a515b5643494a29cfc56de50
- Eliminate separate display update for USB screen UI vp;
wait for skin_render instead
- Eliminate outer loop around handle_usb_events
- Use handle_usb_events in Simulator as well.
Fixes USB screen being dismissed by any button presses,
or by system events.
- When USB keypad mode is changed, only redraw the title viewport
- Delete unused MODE_NAME_LEN #define
- Hide "USB keypad mode:" prefix. Only display current mode setting,
which requires less scrolling and ensures that the new setting
is always visible immediately after it has been changed
- Change comment from:
/* Don't return until we get SYS_USB_DISCONNECTED or SYS_TIMEOUT */
to: /* Don't return until we get SYS_USB_DISCONNECTED */
which reflects existing behavior (comment may have been
copy-pasted from usb_wait_for_disconnect_w_tmo)
- Don't scroll USB keypad mode unless UI vp's width is > 1, since
some themes try to hide the USB viewport and display a custom UI
instead
Change-Id: I9b9703025b00ad807920ee60a843f269f414f6f9
When using a theme with custom skinned lists
(e.g. Themify 2), a line in Text Editor will
continue to scroll after opening the context
menu, because you're switching from an un-
skinned list to a skinned list, which means
that list-skinned.c/list_draw isn't calling
scroll_stop_viewport for the list_text_vp,
as would be the case for un-skinned lists.
Change-Id: I952937166d8f17c9d57f4d93e715de970c49e5e8
small bug, /t as the last character should left justify without
adding spaces to the end of string
/t also added too many spaces to the end of tabbed lines
adds info comment for new usage
ifdef removes some functionality for the bootloader
Change-Id: Ia4ba80f631f8bac3a13441912a8560616fa2c784
For some reason this resolves an apparently-unrelated warning about a const
violation inside playlist_viewer_init().
Change-Id: Ifd4eb008335876707abe64da04a3afd0d1c46633
The compiler is smart enough to optimize away dead stores but let's
just get rid of them in the first place
Change-Id: I5c85d7c05ef03b084205356a21248f7b049296b0
chris_s reported that a vp width of 1 wpuld cause the trxt reflow to go into an endless loop
check for this and skip displaying the splash
add a warning to the sim for catching unintentional cases of this
Change-Id: I9e1c561f745b5bcf113d0a6cdff57a00cd190fd4
only split a long word across lines if it is larger than screen width
also consider \0 as a valid place to split so we still run through the space finding loop
make /t left justify the splash window (in RTL langs it right justifies)
Change-Id: Id2955878a178c66cb0a1c644e62f943247666d8b
Fixes issues with multiple spaces
adds support for \n and multiple \n
adds support for \t (only at start of line)
adds utf8 aware string splitting
locks to max width/height
adds \f to reset min width / height
larger buffer for units with ram > 8mb
make splash buffer static
Needs testing
Change-Id: I46915043719dce0d696c5ab0da3ed92e4755829c
Metadata for formatting the trackname can
be read from the database instead of from
disk. I think this was changed by mistake,
when a single function was added for both
Show Track Info and track name formatting.
Change-Id: I903d36bb513898242505f01562340924bf642a12
Regression introduced in commit 7aca1d4.
Quickscreen kept redrawing itself over the USB screen,
because remove_event_ex was only called after returning
from it.
Change-Id: I8a187809781cef46d13ed45392efecb28435a9df
Accidentally made the vp flash in previous commit.
Dir scanning doesn't display a progress bar
and already handles its own drawing
Change-Id: Id0e67d62081dfe4b22e91c775cd80af2e55a4b69
Otherwise, with themes that adjust the viewport
for the current activity, the background behind
the progress bar may look glitchy while
scanning items, until the list is displayed
Change-Id: I27a207b37c3209eae9bc61e1fd0862fb5872be57
Slight optimization of c145d19. Not supposed to result in
any visible difference.
- if UI viewport is drawn for GUI_EVENT_NEED_UI_UPDATE,
it doesn't need to do a viewport update; skin_render
already updates the display
- skin_render_deferred shouldn't need to request that
the skin perform an immediate update
Change-Id: Id03cf89357eaf0d61af1e928c94942d8c4882dba
In part regression introduced in c145d19e85.
force_waiting not taking multiple screens into
account appears to be pre-existing issue.
Change-Id: Iabfc2933470145eb512c8f2763fb350e170cb1fa
Calculates sizes of strings to position properly on device, and reduce length of some strings so it scales better on smaller devices as it was unusable on a sansa clip zip
Change-Id: Iad16c15cf85cb79fc9a9ee7146aa40c1c741c26d
Immediately redraw when skin engine does refresh, so
themes that draw over UI viewport don't cause visible
flickering
Change-Id: I6f314cdfbd1136c710b9fee7526673e2f8b98849
Based on commits ce33902 and 8990d52 (without PictureFlow)
from "Rockpod" fork by Nux Li (https://github.com/nuxcodes/rockpod),
with some adjustments.
Addresses flickering when:
- plugin is opened/closed
- activity changes
- theme is toggled
- QuickScreen is opened
In these cases, skin_render will not immediately update the display
anymore, but instead will wait until the UI viewport is ready to be
drawn as well, so we don't produce unnecessary visual glitches.
Change-Id: I8bed8f06221d3e767a32450f199e69d742bc61cd
Initialize a list's dirty_tick to last_dirty_tick instead of to the
current tick.
Issue probably only affects the sim:
To force a list to reinitialize using the GUI_EVENT_THEME_CHANGED
event, last_dirty_tick is set to the current tick.
list_is_dirty() checks whether the list viewport needs to be
re-initialized by comparing the list's dirty tick to last_dirty_tick,
and seeing if time has passed.
In some scenarios though, the list's vp may be initialized, become
immediately dirty, and list_is_dirty is called, all in the same tick.
Change-Id: Ia379117a07bbaf545e0a16d35e74888955893441
missed in commit 2690418:
grayscale targets need to have access
to the Display Options menu now, since
it contains the hide_info option
missed in commit f4dc4d8:
"resizing" message for bmp files wasn't
hidden even with hide_info enabled
Change-Id: I1a73e3816305ab6f032fc226d79f09df0d9aa96b