libsaria: Remove operator[] for strings

Public member variables is easier.

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
Bryan Schumaker 2012-11-24 17:14:23 -05:00 committed by Anna Schumaker
parent d79eefc8b2
commit 5bc357be18
5 changed files with 12 additions and 44 deletions

View File

@ -8,16 +8,6 @@
#include <string>
using namespace std;
enum track_sprop_t {
TRACK_FILEPATH,
TRACK_TITLE,
TRACK_ARTIST,
TRACK_ALBUM,
TRACK_COMMENT,
TRACK_GENRE,
TRACK_LENSTR,
};
namespace libsaria
{
namespace library
@ -75,9 +65,7 @@ namespace libsaria
string get_last_played();
void set_banned(bool);
bool operator<(Track &);
string &operator[](track_sprop_t);
};
Track *current_track();

View File

@ -19,8 +19,8 @@ static void validate_path(void *d)
path = (struct libsaria::library::Path *)d;
while (i < path->tracks.size()) {
track = path->tracks[i];
if (!libsaria::exists((*track)[TRACK_FILEPATH])) {
println("Reaping: " + (*track)[TRACK_FILEPATH]);
if (!libsaria::exists(track->filepath)) {
println("Reaping: " + track->filepath);
lib_playlist.remove_track(track);
path->tracks.erase(path->tracks.begin() + i);
} else
@ -54,7 +54,7 @@ static void setup_scan_data(struct ScanData *scan, list<string> &files)
static bool find_file(libsaria::library::Path *path, string &file)
{
for (unsigned int i = 0; i < path->tracks.size(); i++) {
if ((*path->tracks[i])[TRACK_FILEPATH] == file)
if (path->tracks[i]->filepath == file)
return true;
}
return false;

View File

@ -44,24 +44,4 @@ namespace libsaria
return track < cmp_track.track;
}
string &Track::operator[](track_sprop_t property)
{
switch (property) {
case TRACK_FILEPATH:
return filepath;
case TRACK_TITLE:
return title;
case TRACK_ARTIST:
return artist;
case TRACK_ALBUM:
return album;
case TRACK_COMMENT:
return comment;
case TRACK_GENRE:
return genre;
default: /* TRACK_LENSTR */
return lenstr;
}
}
}

View File

@ -33,14 +33,14 @@ static void update_track(libsaria::Track *track, GtkListStore *liststore,
gtk_list_store_set(liststore, iter,
0, track,
1, track->track,
2, (*track)[TRACK_TITLE].c_str(),
3, (*track)[TRACK_LENSTR].c_str(),
4, (*track)[TRACK_ARTIST].c_str(),
5, (*track)[TRACK_ALBUM].c_str(),
2, track->title.c_str(),
3, track->lenstr.c_str(),
4, track->artist.c_str(),
5, track->album.c_str(),
6, track->year,
7, track->count,
8, track->get_last_played().c_str(),
9, formatted((*track)[TRACK_FILEPATH]).c_str(),
9, formatted(track->filepath).c_str(),
-1);
}

View File

@ -29,10 +29,10 @@ static void set_label(const string &name, const string &text, const string &size
void update_labels(libsaria::Track *track)
{
set_label("TitleLabel", (*track)[TRACK_TITLE], "xx-large");
set_label("ArtistLabel", (*track)[TRACK_ARTIST], "x-large");
set_label("AlbumLabel", (*track)[TRACK_ALBUM], "x-large");
set_label("DurLabel", (*track)[TRACK_LENSTR], "");
set_label("TitleLabel", track->title, "xx-large");
set_label("ArtistLabel", track->artist, "x-large");
set_label("AlbumLabel", track->album, "x-large");
set_label("DurLabel", track->lenstr, "");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(get_widget("BanButton")),
track->banned);
}