Added Play SFX context menu action (#791)
* Added Play SFX context menu action Resolve #746 * The SFX context menu now allows the user to preview the sound selected by playing it. * Changed declarations for methods.
This commit is contained in:
		
							parent
							
								
									7b4b297a22
								
							
						
					
					
						commit
						7805e80e83
					
				@ -256,7 +256,7 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // Handle the stuff that comes when the character appears on screen and starts animating (preanims etc.)
 | 
					  // Handle the stuff that comes when the character appears on screen and starts animating (preanims etc.)
 | 
				
			||||||
  void handle_ic_message();
 | 
					  void handle_ic_message();
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  // Display the character.
 | 
					  // Display the character.
 | 
				
			||||||
  void display_character();
 | 
					  void display_character();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -442,7 +442,7 @@ private:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // delay before chat messages starts ticking
 | 
					  // delay before chat messages starts ticking
 | 
				
			||||||
  QTimer *text_delay_timer;
 | 
					  QTimer *text_delay_timer;
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  // delay before the next queue entry is going to be processed
 | 
					  // delay before the next queue entry is going to be processed
 | 
				
			||||||
  QTimer *text_queue_timer;
 | 
					  QTimer *text_queue_timer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -884,6 +884,7 @@ private slots:
 | 
				
			|||||||
  void on_sfx_dropdown_custom(QString p_sfx);
 | 
					  void on_sfx_dropdown_custom(QString p_sfx);
 | 
				
			||||||
  void set_sfx_dropdown();
 | 
					  void set_sfx_dropdown();
 | 
				
			||||||
  void on_sfx_context_menu_requested(const QPoint &pos);
 | 
					  void on_sfx_context_menu_requested(const QPoint &pos);
 | 
				
			||||||
 | 
					  void on_sfx_play_clicked();
 | 
				
			||||||
  void on_sfx_edit_requested();
 | 
					  void on_sfx_edit_requested();
 | 
				
			||||||
  void on_sfx_remove_clicked();
 | 
					  void on_sfx_remove_clicked();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4553,18 +4553,24 @@ void Courtroom::on_sfx_context_menu_requested(const QPoint &pos)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  menu->setAttribute(Qt::WA_DeleteOnClose);
 | 
					  menu->setAttribute(Qt::WA_DeleteOnClose);
 | 
				
			||||||
  menu->addSeparator();
 | 
					  menu->addSeparator();
 | 
				
			||||||
 | 
					  menu->addAction(QString("Play"), this, &Courtroom::on_sfx_play_clicked);
 | 
				
			||||||
  if (file_exists(ao_app->get_real_path(
 | 
					  if (file_exists(ao_app->get_real_path(
 | 
				
			||||||
                    ao_app->get_character_path(current_char, "soundlist.ini"))))
 | 
					          ao_app->get_character_path(current_char, "soundlist.ini"))))
 | 
				
			||||||
    menu->addAction(QString("Edit " + current_char + "/soundlist.ini"), this,
 | 
					    menu->addAction(QString("Edit " + current_char + "/soundlist.ini"), this,
 | 
				
			||||||
                    SLOT(on_sfx_edit_requested()));
 | 
					                    &Courtroom::on_sfx_edit_requested);
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    menu->addAction(QString("Edit global soundlist.ini"), this,
 | 
					    menu->addAction(QString("Edit global soundlist.ini"), this,
 | 
				
			||||||
                    SLOT(on_sfx_edit_requested()));
 | 
					                    &Courtroom::on_sfx_edit_requested);
 | 
				
			||||||
  if (!custom_sfx.isEmpty())
 | 
					  if (!custom_sfx.isEmpty())
 | 
				
			||||||
    menu->addAction(QString("Clear Edit Text"), this, SLOT(on_sfx_remove_clicked()));
 | 
					    menu->addAction(QString("Clear Edit Text"), this, &Courtroom::on_sfx_remove_clicked);
 | 
				
			||||||
  menu->popup(ui_sfx_dropdown->mapToGlobal(pos));
 | 
					  menu->popup(ui_sfx_dropdown->mapToGlobal(pos));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Courtroom::on_sfx_play_clicked()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  sfx_player->play(get_char_sfx(), get_current_char());
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Courtroom::on_sfx_edit_requested()
 | 
					void Courtroom::on_sfx_edit_requested()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  QString p_path = ao_app->get_real_path(ao_app->get_character_path(current_char, "soundlist.ini"));
 | 
					  QString p_path = ao_app->get_real_path(ao_app->get_character_path(current_char, "soundlist.ini"));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user