提交 724690d7 编写于 作者: P Palana

UI: Update window titles on source name change

上级 946b9d01
......@@ -35,6 +35,8 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_)
source (source_),
removedSignal (obs_source_get_signal_handler(source), "remove",
OBSBasicInteraction::SourceRemoved, this),
renamedSignal (obs_source_get_signal_handler(source), "rename",
OBSBasicInteraction::SourceRenamed, this),
eventFilter (BuildEventFilter())
{
int cx = (int)config_get_int(App()->GlobalConfig(), "InteractionWindow",
......@@ -115,6 +117,15 @@ void OBSBasicInteraction::SourceRemoved(void *data, calldata_t *params)
UNUSED_PARAMETER(params);
}
void OBSBasicInteraction::SourceRenamed(void *data, calldata_t *params)
{
const char *name = calldata_string(params, "new_name");
QString title = QTStr("Basic.InteractionWindow").arg(QT_UTF8(name));
QMetaObject::invokeMethod(static_cast<OBSBasicProperties*>(data),
"setWindowTitle", Q_ARG(QString, title));
}
void OBSBasicInteraction::DrawPreview(void *data, uint32_t cx, uint32_t cy)
{
OBSBasicInteraction *window = static_cast<OBSBasicInteraction*>(data);
......
......@@ -42,9 +42,11 @@ private:
OBSSource source;
OBSDisplay display;
OBSSignal removedSignal;
OBSSignal renamedSignal;
std::unique_ptr<OBSEventFilter> eventFilter;
static void SourceRemoved(void *data, calldata_t *params);
static void SourceRenamed(void *data, calldata_t *params);
static void DrawPreview(void *data, uint32_t cx, uint32_t cy);
bool GetSourceRelativeXY(int mouseX, int mouseY, int &x, int &y);
......
......@@ -38,6 +38,9 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_)
removedSignal (obs_source_get_signal_handler(source),
"remove", OBSBasicProperties::SourceRemoved,
this),
renamedSignal (obs_source_get_signal_handler(source),
"rename", OBSBasicProperties::SourceRenamed,
this),
oldSettings (obs_data_create()),
buttonBox (new QDialogButtonBox(this))
{
......@@ -107,6 +110,15 @@ void OBSBasicProperties::SourceRemoved(void *data, calldata_t *params)
UNUSED_PARAMETER(params);
}
void OBSBasicProperties::SourceRenamed(void *data, calldata_t *params)
{
const char *name = calldata_string(params, "new_name");
QString title = QTStr("Basic.PropertiesWindow").arg(QT_UTF8(name));
QMetaObject::invokeMethod(static_cast<OBSBasicProperties*>(data),
"setWindowTitle", Q_ARG(QString, title));
}
void OBSBasicProperties::UpdateProperties(void *data, calldata_t *)
{
QMetaObject::invokeMethod(static_cast<OBSBasicProperties*>(data)->view,
......
......@@ -40,12 +40,14 @@ private:
OBSSource source;
OBSDisplay display;
OBSSignal removedSignal;
OBSSignal renamedSignal;
OBSSignal updatePropertiesSignal;
OBSData oldSettings;
OBSPropertiesView *view;
QDialogButtonBox *buttonBox;
static void SourceRemoved(void *data, calldata_t *params);
static void SourceRenamed(void *data, calldata_t *params);
static void UpdateProperties(void *data, calldata_t *params);
static void DrawPreview(void *data, uint32_t cx, uint32_t cy);
bool ConfirmQuit();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册