handle colored empty tag marker

This commit is contained in:
Andrzej Rybczak
2008-12-11 18:29:56 +01:00
parent cfa8268f2d
commit da8feb885f
10 changed files with 151 additions and 175 deletions

View File

@@ -157,8 +157,6 @@ extern bool header_update_status;
extern bool search_case_sensitive;
extern bool search_match_to_pattern;
extern string EMPTY_TAG;
extern string playlist_stats;
extern string volume_state;
extern const char *search_mode_normal;
@@ -513,7 +511,7 @@ int main(int argc, char *argv[])
Mpd->AddSearch(Config.media_lib_primary_tag, mLibArtists->Current());
Mpd->AddSearch(MPD_TAG_ITEM_ALBUM, *it);
Mpd->CommitSearch(l);
if (!l.empty() && l[0]->GetAlbum() != EMPTY_TAG)
if (!l.empty() && !l[0]->GetAlbum().empty())
maplist[l[0]->toString(Config.media_lib_album_format)] = *it;
FreeSongList(l);
}
@@ -729,7 +727,7 @@ int main(int argc, char *argv[])
if (current_screen == csLyrics && reload_lyrics)
{
const Song &s = mPlaylist->at(now_playing);
if (s.GetArtist() != EMPTY_TAG && s.GetTitle() != EMPTY_TAG)
if (!s.GetArtist().empty() && !s.GetTitle().empty())
goto LOAD_LYRICS;
else
reload_lyrics = 0;
@@ -1024,101 +1022,71 @@ int main(int argc, char *argv[])
case 1:
{
Statusbar() << fmtBold << "Title: " << fmtBoldEnd;
if (s.GetTitle() == EMPTY_TAG)
s.SetTitle(wFooter->GetString());
else
s.SetTitle(wFooter->GetString(s.GetTitle()));
mTagEditor->at(option) << fmtBold << "Title:" << fmtBoldEnd << ' ' << s.GetTitle();
s.SetTitle(wFooter->GetString(s.GetTitle()));
mTagEditor->at(option) << fmtBold << "Title:" << fmtBoldEnd << ' ' << ShowTag(s.GetTitle());
break;
}
case 2:
{
Statusbar() << fmtBold << "Artist: " << fmtBoldEnd;
if (s.GetArtist() == EMPTY_TAG)
s.SetArtist(wFooter->GetString());
else
s.SetArtist(wFooter->GetString(s.GetArtist()));
mTagEditor->at(option) << fmtBold << "Artist:" << fmtBoldEnd << ' ' << s.GetArtist();
s.SetArtist(wFooter->GetString(s.GetArtist()));
mTagEditor->at(option) << fmtBold << "Artist:" << fmtBoldEnd << ' ' << ShowTag(s.GetArtist());
break;
}
case 3:
{
Statusbar() << fmtBold << "Album: " << fmtBoldEnd;
if (s.GetAlbum() == EMPTY_TAG)
s.SetAlbum(wFooter->GetString());
else
s.SetAlbum(wFooter->GetString(s.GetAlbum()));
mTagEditor->at(option) << fmtBold << "Album:" << fmtBoldEnd << ' ' << s.GetAlbum();
s.SetAlbum(wFooter->GetString(s.GetAlbum()));
mTagEditor->at(option) << fmtBold << "Album:" << fmtBoldEnd << ' ' << ShowTag(s.GetAlbum());
break;
}
case 4:
{
Statusbar() << fmtBold << "Year: " << fmtBoldEnd;
if (s.GetYear() == EMPTY_TAG)
s.SetYear(wFooter->GetString(4));
else
s.SetYear(wFooter->GetString(s.GetYear(), 4));
mTagEditor->at(option) << fmtBold << "Year:" << fmtBoldEnd << ' ' << s.GetYear();
s.SetYear(wFooter->GetString(s.GetYear(), 4));
mTagEditor->at(option) << fmtBold << "Year:" << fmtBoldEnd << ' ' << ShowTag(s.GetYear());
break;
}
case 5:
{
Statusbar() << fmtBold << "Track: " << fmtBoldEnd;
if (s.GetTrack() == EMPTY_TAG)
s.SetTrack(wFooter->GetString(3));
else
s.SetTrack(wFooter->GetString(s.GetTrack(), 3));
mTagEditor->at(option) << fmtBold << "Track:" << fmtBoldEnd << ' ' << s.GetTrack();
s.SetTrack(wFooter->GetString(s.GetTrack(), 3));
mTagEditor->at(option) << fmtBold << "Track:" << fmtBoldEnd << ' ' << ShowTag(s.GetTrack());
break;
}
case 6:
{
Statusbar() << fmtBold << "Genre: " << fmtBoldEnd;
if (s.GetGenre() == EMPTY_TAG)
s.SetGenre(wFooter->GetString());
else
s.SetGenre(wFooter->GetString(s.GetGenre()));
mTagEditor->at(option) << fmtBold << "Genre:" << fmtBoldEnd << ' ' << s.GetGenre();
s.SetGenre(wFooter->GetString(s.GetGenre()));
mTagEditor->at(option) << fmtBold << "Genre:" << fmtBoldEnd << ' ' << ShowTag(s.GetGenre());
break;
}
case 7:
{
Statusbar() << fmtBold << "Composer: " << fmtBoldEnd;
if (s.GetComposer() == EMPTY_TAG)
s.SetComposer(wFooter->GetString());
else
s.SetComposer(wFooter->GetString(s.GetComposer()));
mTagEditor->at(option) << fmtBold << "Composer:" << fmtBoldEnd << ' ' << s.GetComposer();
s.SetComposer(wFooter->GetString(s.GetComposer()));
mTagEditor->at(option) << fmtBold << "Composer:" << fmtBoldEnd << ' ' << ShowTag(s.GetComposer());
break;
}
case 8:
{
Statusbar() << fmtBold << "Performer: " << fmtBoldEnd;
if (s.GetPerformer() == EMPTY_TAG)
s.SetPerformer(wFooter->GetString());
else
s.SetPerformer(wFooter->GetString(s.GetPerformer()));
mTagEditor->at(option) << fmtBold << "Performer:" << fmtBoldEnd << ' ' << s.GetPerformer();
s.SetPerformer(wFooter->GetString(s.GetPerformer()));
mTagEditor->at(option) << fmtBold << "Performer:" << fmtBoldEnd << ' ' << ShowTag(s.GetPerformer());
break;
}
case 9:
{
Statusbar() << fmtBold << "Disc: " << fmtBoldEnd;
if (s.GetDisc() == EMPTY_TAG)
s.SetDisc(wFooter->GetString());
else
s.SetDisc(wFooter->GetString(s.GetDisc()));
mTagEditor->at(option) << fmtBold << "Disc:" << fmtBoldEnd << ' ' << s.GetDisc();
s.SetDisc(wFooter->GetString(s.GetDisc()));
mTagEditor->at(option) << fmtBold << "Disc:" << fmtBoldEnd << ' ' << ShowTag(s.GetDisc());
break;
}
case 10:
{
Statusbar() << fmtBold << "Comment: " << fmtBoldEnd;
if (s.GetComment() == EMPTY_TAG)
s.SetComment(wFooter->GetString());
else
s.SetComment(wFooter->GetString(s.GetComment()));
mTagEditor->at(option) << fmtBold << "Comment:" << fmtBoldEnd << ' ' << s.GetComment();
s.SetComment(wFooter->GetString(s.GetComment()));
mTagEditor->at(option) << fmtBold << "Comment:" << fmtBoldEnd << ' ' << ShowTag(s.GetComment());
break;
}
case 12:
@@ -1198,81 +1166,57 @@ int main(int argc, char *argv[])
case 1:
{
Statusbar() << fmtBold << "Filename: " << fmtBoldEnd;
if (s.GetName() == EMPTY_TAG)
s.SetFile(wFooter->GetString());
else
s.SetFile(wFooter->GetString(s.GetFile()));
*mSearcher->Current().first << fmtBold << "Filename:" << fmtBoldEnd << ' ' << s.GetFile();
s.SetFile(wFooter->GetString(s.GetFile()));
*mSearcher->Current().first << fmtBold << "Filename:" << fmtBoldEnd << ' ' << ShowTag(s.GetFile());
break;
}
case 2:
{
Statusbar() << fmtBold << "Title: " << fmtBoldEnd;
if (s.GetTitle() == EMPTY_TAG)
s.SetTitle(wFooter->GetString());
else
s.SetTitle(wFooter->GetString(s.GetTitle()));
*mSearcher->Current().first << fmtBold << "Title:" << fmtBoldEnd << ' ' << s.GetTitle();
s.SetTitle(wFooter->GetString(s.GetTitle()));
*mSearcher->Current().first << fmtBold << "Title:" << fmtBoldEnd << ' ' << ShowTag(s.GetTitle());
break;
}
case 3:
{
Statusbar() << fmtBold << "Artist: " << fmtBoldEnd;
if (s.GetArtist() == EMPTY_TAG)
s.SetArtist(wFooter->GetString());
else
s.SetArtist(wFooter->GetString(s.GetArtist()));
*mSearcher->Current().first << fmtBold << "Artist:" << fmtBoldEnd << ' ' << s.GetArtist();
s.SetArtist(wFooter->GetString(s.GetArtist()));
*mSearcher->Current().first << fmtBold << "Artist:" << fmtBoldEnd << ' ' << ShowTag(s.GetArtist());
break;
}
case 4:
{
Statusbar() << fmtBold << "Album: " << fmtBoldEnd;
if (s.GetAlbum() == EMPTY_TAG)
s.SetAlbum(wFooter->GetString());
else
s.SetAlbum(wFooter->GetString(s.GetAlbum()));
*mSearcher->Current().first << fmtBold << "Album:" << fmtBoldEnd << ' ' << s.GetAlbum();
s.SetAlbum(wFooter->GetString(s.GetAlbum()));
*mSearcher->Current().first << fmtBold << "Album:" << fmtBoldEnd << ' ' << ShowTag(s.GetAlbum());
break;
}
case 5:
{
Statusbar() << fmtBold << "Year: " << fmtBoldEnd;
if (s.GetYear() == EMPTY_TAG)
s.SetYear(wFooter->GetString(4));
else
s.SetYear(wFooter->GetString(s.GetYear(), 4));
*mSearcher->Current().first << fmtBold << "Year:" << fmtBoldEnd << ' ' << s.GetYear();
s.SetYear(wFooter->GetString(s.GetYear(), 4));
*mSearcher->Current().first << fmtBold << "Year:" << fmtBoldEnd << ' ' << ShowTag(s.GetYear());
break;
}
case 6:
{
Statusbar() << fmtBold << "Track: " << fmtBoldEnd;
if (s.GetTrack() == EMPTY_TAG)
s.SetTrack(wFooter->GetString(3));
else
s.SetTrack(wFooter->GetString(s.GetTrack(), 3));
*mSearcher->Current().first << fmtBold << "Track:" << fmtBoldEnd << ' ' << s.GetTrack();
s.SetTrack(wFooter->GetString(s.GetTrack(), 3));
*mSearcher->Current().first << fmtBold << "Track:" << fmtBoldEnd << ' ' << ShowTag(s.GetTrack());
break;
}
case 7:
{
Statusbar() << fmtBold << "Genre: " << fmtBoldEnd;
if (s.GetGenre() == EMPTY_TAG)
s.SetGenre(wFooter->GetString());
else
s.SetGenre(wFooter->GetString(s.GetGenre()));
*mSearcher->Current().first << fmtBold << "Genre:" << fmtBoldEnd << ' ' << s.GetGenre();
s.SetGenre(wFooter->GetString(s.GetGenre()));
*mSearcher->Current().first << fmtBold << "Genre:" << fmtBoldEnd << ' ' << ShowTag(s.GetGenre());
break;
}
case 8:
{
Statusbar() << fmtBold << "Comment: " << fmtBoldEnd;
if (s.GetComment() == EMPTY_TAG)
s.SetComment(wFooter->GetString());
else
s.SetComment(wFooter->GetString(s.GetComment()));
*mSearcher->Current().first << fmtBold << "Comment:" << fmtBoldEnd << ' ' << s.GetComment();
s.SetComment(wFooter->GetString(s.GetComment()));
*mSearcher->Current().first << fmtBold << "Comment:" << fmtBoldEnd << ' ' << ShowTag(s.GetComment());
break;
}
case 10:
@@ -1719,9 +1663,7 @@ int main(int argc, char *argv[])
{
LockStatusbar();
Statusbar() << fmtBold << mEditorTagTypes->Current() << fmtBoldEnd << ": ";
mEditorTags->Current().GetEmptyFields(1);
string new_tag = wFooter->GetString((mEditorTags->Current().*get)());
mEditorTags->Current().GetEmptyFields(0);
UnlockStatusbar();
for (SongList::iterator it = list.begin(); it != list.end(); it++)
(**it.*set)(new_tag);
@@ -1731,9 +1673,7 @@ int main(int argc, char *argv[])
{
LockStatusbar();
Statusbar() << fmtBold << mEditorTagTypes->Current() << fmtBoldEnd << ": ";
mEditorTags->Current().GetEmptyFields(1);
string new_tag = wFooter->GetString((mEditorTags->Current().*get)());
mEditorTags->Current().GetEmptyFields(0);
UnlockStatusbar();
if (new_tag != (mEditorTags->Current().*get)())
(mEditorTags->Current().*set)(new_tag);
@@ -2744,7 +2684,7 @@ int main(int argc, char *argv[])
break;
}
if (s->GetDirectory() == EMPTY_TAG) // for streams
if (s->GetDirectory().empty()) // for streams
continue;
Config.local_browser = !s->IsFromDB();
@@ -3305,7 +3245,7 @@ int main(int argc, char *argv[])
default:
break;
}
if (*artist != EMPTY_TAG)
if (!artist->empty())
{
wPrev = wCurrent;
wCurrent = sInfo;
@@ -3396,7 +3336,7 @@ int main(int argc, char *argv[])
default:
break;
}
if (s->GetArtist() != EMPTY_TAG && s->GetTitle() != EMPTY_TAG)
if (!s->GetArtist().empty() && !s->GetTitle().empty())
{
wPrev = wCurrent;
prev_screen = current_screen;