Просмотр исходного кода

Rename volume control if audio source renamed

jp9000 11 лет назад
Родитель
Сommit
5585ae0eff
3 измененных файлов с 18 добавлено и 0 удалено
  1. 10 0
      obs/volume-control.cpp
  2. 3 0
      obs/volume-control.hpp
  3. 5 0
      obs/window-basic-main.cpp

+ 10 - 0
obs/volume-control.cpp

@@ -95,6 +95,16 @@ void VolControl::SliderChanged(int vol)
 	volLabel->setText(QString::number(vol));
 }
 
+QString VolControl::GetName() const
+{
+	return nameLabel->text();
+}
+
+void VolControl::SetName(const QString &newName)
+{
+	nameLabel->setText(newName);
+}
+
 VolControl::VolControl(OBSSource source_)
 	: source        (source_),
 	  signalChanged (true),

+ 3 - 0
obs/volume-control.hpp

@@ -36,4 +36,7 @@ public:
 	~VolControl();
 
 	inline obs_source_t GetSource() const {return source;}
+
+	QString GetName() const;
+	void SetName(const QString &newName);
 };

+ 5 - 0
obs/window-basic-main.cpp

@@ -741,6 +741,11 @@ void OBSBasic::RenameSources(QString newName, QString prevName)
 {
 	RenameListValues(ui->scenes,  newName, prevName);
 	RenameListValues(ui->sources, newName, prevName);
+
+	for (size_t i = 0; i < volumes.size(); i++) {
+		if (volumes[i]->GetName().compare(prevName) == 0)
+			volumes[i]->SetName(newName);
+	}
 }
 
 void OBSBasic::MoveSceneItem(OBSSceneItem item, order_movement movement)