21 #ifndef GUI_ABSTRACT_STREAM_H_
22 #define GUI_ABSTRACT_STREAM_H_
24 #include "Gui/Plugins/PlayerPluginBase.h"
25 #include "Gui/Utils/PreferenceAction.h"
26 #include "Utils/Pimpl.h"
50 QString identifier()
const override;
53 QString display_name()
const override;
66 virtual void retranslate_ui()
override;
67 virtual void play(QString url, QString station_name);
69 virtual QString get_title_fallback_name()
const=0;
73 template<
typename T,
typename UiType>
74 void setup_parent(T* subclass, UiType** uiptr)
76 PlayerPlugin::Base::setup_parent(subclass, uiptr);
77 AbstractStream::init_ui();
85 void listen_clicked();
86 void combo_idx_changed(
int idx);
91 void delete_clicked();
93 void too_many_urls_found(
int n_urls,
int n_max_urls);
97 void data_available();
98 void _sl_skin_changed();
102 virtual QComboBox* combo_stream()=0;
103 virtual QPushButton* btn_play()=0;
106 virtual QString url()
const;
107 QString current_station()
const;
108 void add_stream(
const QString& name,
const QString& url);
113 void assign_ui_vars()
override;
115 void init_connections();
116 void setup_stations();
118 void set_searching(
bool searching);
120 virtual void init_ui()
override;
124 #endif // GUI_ABSTRACT_STREAM_H_