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.. ]
New document
Audio file, Video file or Torrent

Emblems supported:
  1. Missing (file does not exist)
  2. Unplayed (is_played = False)
  3. Locked (is_locked = True)
Trash can
New document


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
New document None
not downloaded
[ ..none.. ]
None
downloaded and deleted
Trash can None
[else]
Audio file, Video file or Torrent Yes [see above]


Thomas Perl <thpinfo.com>, Last update: 2008-06-18