mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 13:08:50 +02:00
UI: Add ability to rename audio sources from the mixer
This adds the ability for users to change the names of audio sources from the mixer including desktop and mic/aux sources. Closes jp9000/obs-studio#1055
This commit is contained in:
parent
fc61e6ed69
commit
e86754c2a0
@ -344,6 +344,11 @@ AddProfile.Text="Please enter the name of the profile"
|
||||
# rename profile dialog
|
||||
RenameProfile.Title="Rename Profile"
|
||||
|
||||
# rename audio source in mixer
|
||||
Basic.Main.MixerRename.Title="Rename Audio Source"
|
||||
Basic.Main.MixerRename.Text="Please enter the name of the audio source"
|
||||
|
||||
|
||||
# preview window disabled
|
||||
Basic.Main.PreviewDisabled="Preview is currently disabled"
|
||||
|
||||
|
@ -2285,6 +2285,48 @@ void OBSBasic::ToggleHideMixer()
|
||||
}
|
||||
}
|
||||
|
||||
void OBSBasic::MixerRenameSource()
|
||||
{
|
||||
QAction *action = reinterpret_cast<QAction*>(sender());
|
||||
VolControl *vol = action->property("volControl").value<VolControl*>();
|
||||
OBSSource source = vol->GetSource();
|
||||
|
||||
const char *prevName = obs_source_get_name(source);
|
||||
|
||||
for (;;) {
|
||||
string name;
|
||||
bool accepted = NameDialog::AskForName(this,
|
||||
QTStr("Basic.Main.MixerRename.Title"),
|
||||
QTStr("Basic.Main.MixerRename.Text"),
|
||||
name,
|
||||
QT_UTF8(prevName));
|
||||
if (!accepted)
|
||||
return;
|
||||
|
||||
if (name.empty()) {
|
||||
OBSMessageBox::information(this,
|
||||
QTStr("NoNameEntered.Title"),
|
||||
QTStr("NoNameEntered.Text"));
|
||||
continue;
|
||||
}
|
||||
|
||||
obs_source_t *sourceTest =
|
||||
obs_get_source_by_name(name.c_str());
|
||||
|
||||
if (sourceTest) {
|
||||
OBSMessageBox::information(this,
|
||||
QTStr("NameExists.Title"),
|
||||
QTStr("NameExists.Text"));
|
||||
continue;
|
||||
}
|
||||
|
||||
obs_source_set_name(source, name.c_str());
|
||||
obs_source_release(sourceTest);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void OBSBasic::VolControlContextMenu()
|
||||
{
|
||||
VolControl *vol = reinterpret_cast<VolControl*>(sender());
|
||||
@ -2293,6 +2335,7 @@ void OBSBasic::VolControlContextMenu()
|
||||
|
||||
QAction hideAction(QTStr("Hide"), this);
|
||||
QAction unhideAllAction(QTStr("UnhideAll"), this);
|
||||
QAction mixerRenameAction(QTStr("Rename"), this);
|
||||
|
||||
QAction filtersAction(QTStr("Filters"), this);
|
||||
QAction propertiesAction(QTStr("Properties"), this);
|
||||
@ -2306,6 +2349,9 @@ void OBSBasic::VolControlContextMenu()
|
||||
connect(&unhideAllAction, &QAction::triggered,
|
||||
this, &OBSBasic::UnhideAllAudioControls,
|
||||
Qt::DirectConnection);
|
||||
connect(&mixerRenameAction, &QAction::triggered,
|
||||
this, &OBSBasic::MixerRenameSource,
|
||||
Qt::DirectConnection);
|
||||
|
||||
connect(&filtersAction, &QAction::triggered,
|
||||
this, &OBSBasic::GetAudioSourceFilters,
|
||||
@ -2321,6 +2367,8 @@ void OBSBasic::VolControlContextMenu()
|
||||
|
||||
hideAction.setProperty("volControl",
|
||||
QVariant::fromValue<VolControl*>(vol));
|
||||
mixerRenameAction.setProperty("volControl",
|
||||
QVariant::fromValue<VolControl*>(vol));
|
||||
|
||||
filtersAction.setProperty("volControl",
|
||||
QVariant::fromValue<VolControl*>(vol));
|
||||
@ -2332,6 +2380,7 @@ void OBSBasic::VolControlContextMenu()
|
||||
QMenu popup(this);
|
||||
popup.addAction(&unhideAllAction);
|
||||
popup.addAction(&hideAction);
|
||||
popup.addAction(&mixerRenameAction);
|
||||
popup.addSeparator();
|
||||
popup.addAction(&filtersAction);
|
||||
popup.addAction(&propertiesAction);
|
||||
|
@ -434,6 +434,8 @@ private slots:
|
||||
void UnhideAllAudioControls();
|
||||
void ToggleHideMixer();
|
||||
|
||||
void MixerRenameSource();
|
||||
|
||||
void on_mixerScrollArea_customContextMenuRequested();
|
||||
|
||||
void on_actionCopySource_triggered();
|
||||
|
Loading…
Reference in New Issue
Block a user