From: Steinar H. Gunderson Date: Sat, 13 May 2017 08:56:36 +0000 (+0200) Subject: Fix the context menus in the analyzer. X-Git-Tag: 1.6.0~24 X-Git-Url: https://git.sesse.net/?p=nageru;a=commitdiff_plain;h=874b501560a9d6f20b21bc1170b5d07bcfffad53 Fix the context menus in the analyzer. --- diff --git a/glwidget.cpp b/glwidget.cpp index fb5fe99..a9ad359 100644 --- a/glwidget.cpp +++ b/glwidget.cpp @@ -69,9 +69,6 @@ void GLWidget::initializeGL() global_mixer->set_transition_names_updated_callback(output, [this](const vector &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){ @@ -80,14 +77,9 @@ void GLWidget::initializeGL() 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); @@ -132,6 +124,17 @@ void GLWidget::mousePressEvent(QMouseEvent *event) 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); diff --git a/glwidget.h b/glwidget.h index 01cbbd9..d71f3c8 100644 --- a/glwidget.h +++ b/glwidget.h @@ -52,10 +52,12 @@ signals: 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;