} // namespace Ui
class Player;
+class QTableView;
class MainWindow : public QMainWindow {
Q_OBJECT
void preview_clicked();
void preview_angle_clicked(unsigned stream_idx);
void play_clicked();
+ void stop_clicked();
void live_player_clip_done();
std::pair<Clip, size_t> live_player_get_next_clip();
void live_player_clip_progress(const std::map<size_t, double> &progress);
void defer_timer_expired();
void content_changed(); // In clip_list or play_list.
void state_changed(const StateProto &state); // Called post-filtering.
+ void save_settings();
enum Rounding { FIRST_AT_OR_AFTER, LAST_BEFORE };
void preview_single_frame(int64_t pts, unsigned stream_idx, Rounding rounding);
void about_triggered();
void undo_triggered();
void redo_triggered();
+ void quality_toggled(int quality, bool checked);
void highlight_camera_input(int stream_idx);
+ template <class Model>
+ void replace_model(QTableView *view, Model **model, Model *new_model);
+
private slots:
void relayout();
};