diff options
Diffstat (limited to 'src/rhlibrary/show_selector_widget.go')
-rw-r--r-- | src/rhlibrary/show_selector_widget.go | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/rhlibrary/show_selector_widget.go b/src/rhlibrary/show_selector_widget.go index 55c255b..943413a 100644 --- a/src/rhlibrary/show_selector_widget.go +++ b/src/rhlibrary/show_selector_widget.go @@ -25,6 +25,7 @@ package main import ( + "fmt" "sort" "strconv" "sync" @@ -52,6 +53,7 @@ func fetchShows(db *rddb.DB) (err error) { if shows, err = db.GetShowList(rhuser.Username); err != nil { return err } + sort.Sort(shows) return } @@ -60,15 +62,10 @@ func updateShows(db *rddb.DB) (err error) { return } - var keys []int - for k, _ := range shows { - keys = append(keys, int(k)) - } - sort.Ints(keys) - showsComboBox.RemoveAll() - for _, showid := range keys { - showsComboBox.Append(strconv.FormatUint(uint64(showid), 10), shows[uint(showid)].Title) + for _, show := range shows { + name := fmt.Sprintf(" %d | %s (%s, %v, %s, %d Min.)", show.ID, show.TitleFull, show.Rhythm, show.Dow, show.StartTime, show.Length) + showsComboBox.Append(strconv.FormatUint(uint64(show.ID), 10), name) } if !showsComboBox.SetActiveID(strconv.FormatUint(uint64(showsCurrentID), 10)) { @@ -92,7 +89,12 @@ func selectShow() rddb.ShowListEntry { showsMutex.Lock() defer showsMutex.Unlock() - return shows[showsCurrentID] + for _, show := range shows { + if show.ID == showsCurrentID { + return show + } + } + return rddb.ShowListEntry{} } func addShowComboBox(grid *gtk.Grid, db *rddb.DB, p *player.Player) (err error) { |