|
@@ -32,12 +32,9 @@ void ExtraBrowsersModel::Reset()
|
|
|
OBSBasic *main = OBSBasic::Get();
|
|
|
|
|
|
for (int i = 0; i < main->extraBrowserDocks.size(); i++) {
|
|
|
- BrowserDock *dock = reinterpret_cast<BrowserDock *>(
|
|
|
- main->extraBrowserDocks[i].data());
|
|
|
-
|
|
|
Item item;
|
|
|
item.prevIdx = i;
|
|
|
- item.title = dock->windowTitle();
|
|
|
+ item.title = main->extraBrowserDockNames[i];
|
|
|
item.url = main->extraBrowserDockTargets[i];
|
|
|
items.push_back(item);
|
|
|
}
|
|
@@ -181,6 +178,10 @@ void ExtraBrowsersModel::UpdateItem(Item &item)
|
|
|
dock->setWindowTitle(item.title);
|
|
|
dock->setObjectName(item.title + OBJ_NAME_SUFFIX);
|
|
|
|
|
|
+ if (main->extraBrowserDockNames[idx] != item.title) {
|
|
|
+ main->extraBrowserDockNames[idx] = item.title;
|
|
|
+ }
|
|
|
+
|
|
|
if (main->extraBrowserDockTargets[idx] != item.url) {
|
|
|
dock->cefWidget->setURL(QT_TO_UTF8(item.url));
|
|
|
main->extraBrowserDockTargets[idx] = item.url;
|
|
@@ -235,6 +236,7 @@ void ExtraBrowsersModel::Apply()
|
|
|
for (int i = deleted.size() - 1; i >= 0; i--) {
|
|
|
int idx = deleted[i];
|
|
|
main->extraBrowserDockTargets.removeAt(idx);
|
|
|
+ main->extraBrowserDockNames.removeAt(idx);
|
|
|
main->extraBrowserDocks.removeAt(idx);
|
|
|
}
|
|
|
|
|
@@ -462,6 +464,7 @@ void OBSExtraBrowsers::on_apply_clicked()
|
|
|
void OBSBasic::ClearExtraBrowserDocks()
|
|
|
{
|
|
|
extraBrowserDockTargets.clear();
|
|
|
+ extraBrowserDockNames.clear();
|
|
|
extraBrowserDocks.clear();
|
|
|
}
|
|
|
|
|
@@ -494,10 +497,11 @@ void OBSBasic::SaveExtraBrowserDocks()
|
|
|
Json::array array;
|
|
|
for (int i = 0; i < extraBrowserDocks.size(); i++) {
|
|
|
QDockWidget *dock = extraBrowserDocks[i].data();
|
|
|
+ QString title = extraBrowserDockNames[i];
|
|
|
QString url = extraBrowserDockTargets[i];
|
|
|
QString uuid = dock->property("uuid").toString();
|
|
|
Json::object obj{
|
|
|
- {"title", QT_TO_UTF8(dock->windowTitle())},
|
|
|
+ {"title", QT_TO_UTF8(title)},
|
|
|
{"url", QT_TO_UTF8(url)},
|
|
|
{"uuid", QT_TO_UTF8(uuid)},
|
|
|
};
|
|
@@ -566,6 +570,7 @@ void OBSBasic::AddExtraBrowserDock(const QString &title, const QString &url,
|
|
|
|
|
|
AddDockWidget(dock, Qt::RightDockWidgetArea, true);
|
|
|
extraBrowserDocks.push_back(QSharedPointer<QDockWidget>(dock));
|
|
|
+ extraBrowserDockNames.push_back(title);
|
|
|
extraBrowserDockTargets.push_back(url);
|
|
|
|
|
|
if (firstCreate) {
|