Skip to content

Commit

Permalink
Add signal for when media object is renamed
Browse files Browse the repository at this point in the history
  • Loading branch information
cg2121 committed Jun 9, 2024
1 parent 763b503 commit 628a962
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 3 deletions.
4 changes: 3 additions & 1 deletion src/media-data.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,16 @@ QString MediaObj::GetUUID()

void MediaObj::SetName(const QString &newName)
{
if (name.isEmpty())
if (newName.isEmpty() || name == newName)
return;

name = newName;

QString hotkeyName = QTStr("SoundHotkey").arg(name);
obs_hotkey_set_name(hotkey, QT_TO_UTF8(hotkeyName));
obs_hotkey_set_description(hotkey, QT_TO_UTF8(hotkeyName));

emit Renamed(this, name);
}

QString MediaObj::GetName()
Expand Down
1 change: 1 addition & 0 deletions src/media-data.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,5 @@ private slots:

signals:
void Play(MediaObj *obj);
void Renamed(MediaObj *obj, QString newName);
};
11 changes: 9 additions & 2 deletions src/soundboard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,14 @@ void Soundboard::Play(MediaObj *obj)
ui->list->setCurrentItem(item);
}

void Soundboard::ItemRenamed(MediaObj *obj, QString name)
{
QListWidgetItem *item = FindItem(obj);

if (item)
item->setText(name);
}

MediaObj *Soundboard::Add(const QString &name_, const QString &path)
{
QString name = GetDefaultString(name_);
Expand All @@ -373,6 +381,7 @@ MediaObj *Soundboard::Add(const QString &name_, const QString &path)
ui->list->setCurrentItem(item);

connect(obj, &MediaObj::Play, this, &Soundboard::Play);
connect(obj, &MediaObj::Renamed, this, &Soundboard::ItemRenamed);

UpdateActions();

Expand Down Expand Up @@ -417,7 +426,6 @@ void Soundboard::on_actionEdit_triggered()
obj->SetName(name);
obj->SetPath(path);
obj->SetLoopEnabled(loop);
item->setText(edit.GetName());
};

connect(&edit, &QDialog::accepted, this, edited);
Expand Down Expand Up @@ -615,7 +623,6 @@ void Soundboard::MediaNameEdited(QWidget *editor)
}

obj->SetName(name);
item->setText(name);
}

MediaRenameDelegate::MediaRenameDelegate(QObject *parent)
Expand Down
2 changes: 2 additions & 0 deletions src/soundboard.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ private slots:
void EditMediaName();
void MediaNameEdited(QWidget *editor);

void ItemRenamed(MediaObj *obj, QString name);

public:
Soundboard(QWidget *parent = nullptr);
~Soundboard();
Expand Down

0 comments on commit 628a962

Please sign in to comment.