151
152
bool operator< (const SongList &list) const { return &*sl < &*list.sl; }
153
154
iterator insert (iterator pos, const Song &value)
154
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->insert(pos, value); }
155
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->insert(pos, value); }
155
156
void move (iterator old_pos, iterator new_pos)
156
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->move(old_pos, new_pos); }
157
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->move(old_pos, new_pos); }
157
158
iterator remove (iterator pos)
158
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->remove(pos); }
159
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->remove(pos); }
159
160
void pop_front ()
160
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->pop_front(); }
161
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->pop_front(); }
162
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->pop_back(); }
163
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->pop_back(); }
163
164
void push_front (const Song &value)
164
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->push_front(value); }
165
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->push_front(value); }
165
166
void push_back (const Song &value)
166
{ Roboradio::SongListMutable *p = dynamic_cast<Roboradio::SongListMutable*>(&*sl); if (p) p->push_back(value); }
168
SigC::Signal1<void,bool> &signal_shuffle_changed () { return sl->signal_shuffle_changed; }
169
SigC::Signal1<void,bool> &signal_repeat_changed () { return sl->signal_repeat_changed; }
170
SigC::Signal1<void,Glib::ustring> &signal_name_changed () { return sl->signal_name_changed; }
172
SigC::Signal1<void,iterator> &signal_removed () { return sl->signal_removed; }
173
SigC::Signal1<void,iterator> &signal_inserted () { return sl->signal_inserted; }
174
SigC::Signal1<void,iterator> &signal_moved () { return sl->signal_moved; }
175
SigC::Signal1<void,iterator> &signal_song_info_changed () { return sl->signal_song_info_changed; }
176
SigC::Signal2<void,iterator,unsigned int> &signal_song_import_progress () { return sl->signal_song_import_progress; }
177
SigC::Signal0<void> &signal_destroyed () { return sl->signal_destroyed; }
178
SigC::Signal0<void> &signal_current_song_changed () { return sl->signal_current_song_changed; }
180
static SigC::Signal1<void,ref_ptr<Roboradio::SongList> > &signal_new_named_song_list () { return Roboradio::SongList::signal_new_named_song_list; } // FIXME: *** remove roboradio reference
181
static SigC::Signal1<void,ref_ptr<Roboradio::SongList> > &signal_named_song_list_destroyed () { return Roboradio::SongList::signal_named_song_list_destroyed; }
182
static SigC::Signal1<void,ref_ptr<Roboradio::SongList> > &signal_global_name_changed () { return Roboradio::SongList::signal_global_name_changed; }
167
{ Roboradio::SongListMutable *p = sl->get_mutable(); if (p) p->push_back(value); }
169
sigc::signal<void,bool> &signal_shuffle_changed () { return sl->signal_shuffle_changed; }
170
sigc::signal<void,bool> &signal_repeat_changed () { return sl->signal_repeat_changed; }
171
sigc::signal<void,Glib::ustring> &signal_name_changed () { return sl->signal_name_changed; }
173
sigc::signal<void,iterator> &signal_removed () { return sl->signal_removed; }
174
sigc::signal<void,iterator> &signal_inserted () { return sl->signal_inserted; }
175
sigc::signal<void,iterator> &signal_moved () { return sl->signal_moved; }
176
sigc::signal<void,iterator> &signal_song_info_changed () { return sl->signal_song_info_changed; }
177
sigc::signal<void,iterator,unsigned int> &signal_song_import_progress () { return sl->signal_song_import_progress; }
178
sigc::signal<void> &signal_destroyed () { return sl->signal_destroyed; }
179
sigc::signal<void> &signal_current_song_changed () { return sl->signal_current_song_changed; }
181
static sigc::signal<void,ref_ptr<Roboradio::SongList> > &signal_new_named_song_list () { return Roboradio::SongList::signal_new_named_song_list; } // FIXME: *** remove roboradio reference
182
static sigc::signal<void,ref_ptr<Roboradio::SongList> > &signal_named_song_list_destroyed () { return Roboradio::SongList::signal_named_song_list_destroyed; }
183
static sigc::signal<void,ref_ptr<Roboradio::SongList> > &signal_global_name_changed () { return Roboradio::SongList::signal_global_name_changed; }
185
186
class SongListSearch : public SongList