global_mixer->set_transition_names_updated_callback(output, [this](const vector<string> &names){
emit transition_names_updated(names);
});
- setContextMenuPolicy(Qt::CustomContextMenu);
- connect(this, &QWidget::customContextMenuRequested,
- bind(&GLWidget::show_live_context_menu, this, _1));
}
if (output >= Mixer::OUTPUT_INPUT0) {
global_mixer->set_name_updated_callback(output, [this](const string &name){
global_mixer->set_color_updated_callback(output, [this](const string &color){
emit color_updated(output, color);
});
-
- int signal_num = global_mixer->get_channel_signal(output);
- if (signal_num != -1) {
- setContextMenuPolicy(Qt::CustomContextMenu);
- connect(this, &QWidget::customContextMenuRequested,
- bind(&GLWidget::show_preview_context_menu, this, signal_num, _1));
- }
}
+ setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(this, &QWidget::customContextMenuRequested, bind(&GLWidget::show_context_menu, this, _1));
glDisable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
emit clicked();
}
+void GLWidget::show_context_menu(const QPoint &pos)
+{
+ if (output == Mixer::OUTPUT_LIVE) {
+ show_live_context_menu(pos);
+ }
+ if (output >= Mixer::OUTPUT_INPUT0) {
+ int signal_num = global_mixer->get_channel_signal(output);
+ show_preview_context_menu(signal_num, pos);
+ }
+}
+
void GLWidget::show_live_context_menu(const QPoint &pos)
{
QPoint global_pos = mapToGlobal(pos);
void color_updated(Mixer::Output output, const std::string &color);
private slots:
+ void show_context_menu(const QPoint &pos);
+
+private:
void show_live_context_menu(const QPoint &pos);
void show_preview_context_menu(unsigned signal_num, const QPoint &pos);
-private:
Mixer::Output output;
GLuint vao, program_num;
GLuint position_vbo, texcoord_vbo;