X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=glwidget.cpp;h=ca9416bc4f38a14e26566696642a1ba7491fd8f9;hb=4a300e3cab7b1b1ef5a32e1f4a7ec319c48e95e5;hp=c3e82dacc07b5e9827ea66e218c5023628dbfcfd;hpb=4d4386716f258413132b8696315cb4efbf2c8b45;p=nageru diff --git a/glwidget.cpp b/glwidget.cpp index c3e82da..ca9416b 100644 --- a/glwidget.cpp +++ b/glwidget.cpp @@ -176,6 +176,18 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos) QMenu card_submenu; QActionGroup card_group(&card_submenu); + QMenu interpretation_submenu; + QActionGroup interpretation_group(&interpretation_submenu); + + QMenu video_input_submenu; + QActionGroup video_input_group(&video_input_submenu); + + QMenu audio_input_submenu; + QActionGroup audio_input_group(&audio_input_submenu); + + QMenu mode_submenu; + QActionGroup mode_group(&mode_submenu); + unsigned num_cards = global_mixer->get_num_cards(); unsigned current_card = global_mixer->map_signal(signal_num); bool is_ffmpeg = global_mixer->card_is_ffmpeg(current_card); @@ -197,9 +209,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos) // Note that this setting depends on which card is active. - QMenu interpretation_submenu; - QActionGroup interpretation_group(&interpretation_submenu); - YCbCrInterpretation current_interpretation = global_mixer->get_input_ycbcr_interpretation(current_card); { QAction *action = new QAction("Auto", &interpretation_group); @@ -250,8 +259,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos) } } else { // Add a submenu for selecting video input, with an action for each input. - QMenu video_input_submenu; - QActionGroup video_input_group(&video_input_submenu); std::map video_inputs = global_mixer->get_available_video_inputs(current_card); uint32_t current_video_input = global_mixer->get_current_video_input(current_card); for (const auto &mode : video_inputs) { @@ -269,8 +276,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos) menu.addMenu(&video_input_submenu); // The same for audio input. - QMenu audio_input_submenu; - QActionGroup audio_input_group(&audio_input_submenu); std::map audio_inputs = global_mixer->get_available_audio_inputs(current_card); uint32_t current_audio_input = global_mixer->get_current_audio_input(current_card); for (const auto &mode : audio_inputs) { @@ -288,8 +293,6 @@ void GLWidget::show_preview_context_menu(unsigned signal_num, const QPoint &pos) menu.addMenu(&audio_input_submenu); // The same for resolution. - QMenu mode_submenu; - QActionGroup mode_group(&mode_submenu); std::map video_modes = global_mixer->get_available_video_modes(current_card); uint32_t current_video_mode = global_mixer->get_current_video_mode(current_card); for (const auto &mode : video_modes) {