gPodder episode flags, states and icons
This pages tries to summarize the meaning of episode states in
gPodder's database and how we are going to modify their states and
context menu entries to be more logical and take advantage of the
possibilities the flags bring with them.
| is_new |
is_downloaded
|
is_deleted
|
Meaning /
Visualization
|
True
|
True
|
True
|
NEW DELETED
|
True
|
True
|
False
|
Not possible!
(set to DOWNLOADED if file exists, else set to NEW_DELETED)
|
True
|
False
|
True
|
True
|
False
|
False
|
NEW
|
False
|
True
|
True
|
DELETED
|
False
|
True
|
False
|
DOWNLOADED
|
False
|
False
|
True
|
Not
possible! (set to DOWNLOADED if file exists, else set to DELETED)
|
False
|
False
|
False
|
NORMAL
|
Possible states of episodes
This describes the states an episode in gPodder could be in and how an
episode can transition from one state to another. The small text in
each node gives the truth values of the is_new, is_downloaded and
is_deleted fields (i.e. "not new" => "is_new = False", "deleted"
=> "is_deleted = True").

Context menu options for each state
This table gives an overview of the options for each state that is
available in the context and main menu. We've left out the advanced
options of a "Downloaded" episode.
State name
|
Normal
|
New
|
Downloaded
|
Deleted
|
New deleted
|
|
Download
|
Download
|
Delete
|
Download
|
Download
|
|
Mark as new
|
Do not mark as new
|
[..played/locked, etc..]
|
Mark as new
|
Do not mark as new
|
Icon
|
[
..none.. ]
|

|
, or 
Emblems supported:
- Missing (file does not exist)
- Unplayed (is_played = False)
- Locked (is_locked = True)
|

|

|
Decision specification for which icon to display
When adding an icon to the episode list, we should use the expressions
+ the corresponding icons to determine which icon we should display.
The expressions have to be checked in the order they appear here.
Expression
|
Icon to
display
|
Emblems?
|
is_new
|
 |
None
|
not downloaded
|
[ ..none.. ]
|
None
|
downloaded and
deleted
|
 |
None
|
[else]
|
, or  |
Yes [see above]
|
Thomas Perl <thpinfo.com>,
Last update: 2008-06-18