Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
尘离序散
obs-studio
提交
da358da9
O
obs-studio
项目概览
尘离序散
/
obs-studio
与 Fork 源项目一致
从无法访问的项目Fork
通知
30
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
obs-studio
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
da358da9
编写于
6月 30, 2015
作者:
J
jp9000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
UI: Save project only on new changes
上级
4b93b42d
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
48 addition
and
0 deletion
+48
-0
obs/window-basic-adv-audio.cpp
obs/window-basic-adv-audio.cpp
+5
-0
obs/window-basic-filters.cpp
obs/window-basic-filters.cpp
+9
-0
obs/window-basic-main.cpp
obs/window-basic-main.cpp
+31
-0
obs/window-basic-main.hpp
obs/window-basic-main.hpp
+1
-0
obs/window-basic-properties.cpp
obs/window-basic-properties.cpp
+1
-0
obs/window-basic-settings.cpp
obs/window-basic-settings.cpp
+1
-0
未找到文件。
obs/window-basic-adv-audio.cpp
浏览文件 @
da358da9
...
...
@@ -3,6 +3,7 @@
#include <QScrollArea>
#include <QLabel>
#include "window-basic-adv-audio.hpp"
#include "window-basic-main.hpp"
#include "adv-audio-control.hpp"
#include "obs-app.hpp"
#include "qt-wrappers.hpp"
...
...
@@ -86,8 +87,12 @@ OBSBasicAdvAudio::OBSBasicAdvAudio(QWidget *parent)
OBSBasicAdvAudio
::~
OBSBasicAdvAudio
()
{
OBSBasic
*
main
=
reinterpret_cast
<
OBSBasic
*>
(
parent
());
for
(
size_t
i
=
0
;
i
<
controls
.
size
();
++
i
)
delete
controls
[
i
];
main
->
SaveProject
();
}
bool
OBSBasicAdvAudio
::
EnumSources
(
void
*
param
,
obs_source_t
*
source
)
...
...
obs/window-basic-filters.cpp
浏览文件 @
da358da9
...
...
@@ -16,6 +16,7 @@
******************************************************************************/
#include "window-namedialog.hpp"
#include "window-basic-main.hpp"
#include "window-basic-filters.hpp"
#include "display-helpers.hpp"
#include "qt-wrappers.hpp"
...
...
@@ -56,6 +57,8 @@ OBSBasicFilters::OBSBasicFilters(QWidget *parent, OBSSource source_)
"rename"
,
OBSBasicFilters
::
SourceRenamed
,
this
)
{
main
=
reinterpret_cast
<
OBSBasic
*>
(
parent
);
ui
->
setupUi
(
this
);
UpdateFilters
();
...
...
@@ -199,6 +202,8 @@ void OBSBasicFilters::RemoveFilter(OBSSource filter)
break
;
}
}
main
->
SaveProject
();
}
struct
FilterOrderInfo
{
...
...
@@ -282,6 +287,8 @@ void OBSBasicFilters::UpdateFilters()
window
->
AddFilter
(
filter
);
},
this
);
main
->
SaveProject
();
}
static
bool
filter_compatible
(
bool
async
,
uint32_t
sourceFlags
,
...
...
@@ -404,6 +411,8 @@ void OBSBasicFilters::closeEvent(QCloseEvent *event)
obs_display_remove_draw_callback
(
display
,
OBSBasicFilters
::
DrawPreview
,
this
);
display
=
nullptr
;
main
->
SaveProject
();
}
void
OBSBasicFilters
::
timerEvent
(
QTimerEvent
*
event
)
...
...
obs/window-basic-main.cpp
浏览文件 @
da358da9
...
...
@@ -345,6 +345,8 @@ static inline bool HasAudioDevices(const char *source_id)
void
OBSBasic
::
CreateDefaultScene
()
{
disableSaving
++
;
bool
hasDesktopAudio
=
HasAudioDevices
(
App
()
->
OutputAudioSource
());
bool
hasInputAudio
=
HasAudioDevices
(
App
()
->
InputAudioSource
());
...
...
@@ -375,6 +377,8 @@ void OBSBasic::CreateDefaultScene()
if
(
hasInputAudio
)
ResetAudioDevice
(
App
()
->
InputAudioSource
(),
"default"
,
Str
(
"Basic.AuxDevice1"
),
3
);
disableSaving
--
;
}
static
void
ReorderItemByName
(
QListWidget
*
lw
,
const
char
*
name
,
int
newIndex
)
...
...
@@ -420,6 +424,8 @@ void OBSBasic::Load(const char *file)
return
;
}
disableSaving
++
;
ClearSceneData
();
obs_data_t
*
data
=
obs_data_create_from_json
(
jsonData
);
...
...
@@ -447,6 +453,8 @@ void OBSBasic::Load(const char *file)
obs_data_array_release
(
sources
);
obs_data_array_release
(
sceneOrder
);
obs_data_release
(
data
);
disableSaving
--
;
}
#define SERVICE_PATH "obs-studio/basic/service.json"
...
...
@@ -745,7 +753,9 @@ void OBSBasic::OBSInit()
InitPrimitives
();
disableSaving
--
;
Load
(
savePath
);
disableSaving
++
;
TimedCheckForUpdates
();
loaded
=
true
;
...
...
@@ -764,6 +774,8 @@ void OBSBasic::OBSInit()
SetAeroEnabled
(
!
disableAero
);
}
#endif
disableSaving
--
;
}
void
OBSBasic
::
InitHotkeys
()
...
...
@@ -989,6 +1001,9 @@ OBSBasic::~OBSBasic()
void
OBSBasic
::
SaveProject
()
{
if
(
disableSaving
)
return
;
char
savePath
[
512
];
int
ret
=
GetConfigPath
(
savePath
,
sizeof
(
savePath
),
"obs-studio/basic/scenes.json"
);
...
...
@@ -1116,6 +1131,8 @@ void OBSBasic::AddScene(OBSSource source)
item
->
setData
(
static_cast
<
int
>
(
QtDataRole
::
OBSSignals
),
QVariant
::
fromValue
(
handlers
));
SaveProject
();
}
void
OBSBasic
::
RemoveScene
(
OBSSource
source
)
...
...
@@ -1131,6 +1148,8 @@ void OBSBasic::RemoveScene(OBSSource source)
ClearListItems
(
ui
->
sources
);
delete
sel
;
}
SaveProject
();
}
void
OBSBasic
::
AddSceneItem
(
OBSSceneItem
item
)
...
...
@@ -1142,6 +1161,7 @@ void OBSBasic::AddSceneItem(OBSSceneItem item)
InsertSceneItem
(
item
);
sourceSceneRefs
[
source
]
=
sourceSceneRefs
[
source
]
+
1
;
SaveProject
();
}
void
OBSBasic
::
RemoveSceneItem
(
OBSSceneItem
item
)
...
...
@@ -1168,6 +1188,8 @@ void OBSBasic::RemoveSceneItem(OBSSceneItem item)
obs_source_remove
(
source
);
sourceSceneRefs
.
erase
(
source
);
}
SaveProject
();
}
void
OBSBasic
::
UpdateSceneSelection
(
OBSSource
source
)
...
...
@@ -1210,6 +1232,8 @@ void OBSBasic::RenameSources(QString newName, QString prevName)
if
(
volumes
[
i
]
->
GetName
().
compare
(
prevName
)
==
0
)
volumes
[
i
]
->
SetName
(
newName
);
}
SaveProject
();
}
void
OBSBasic
::
SelectSceneItem
(
OBSScene
scene
,
OBSSceneItem
item
,
bool
select
)
...
...
@@ -1507,6 +1531,8 @@ void OBSBasic::ReorderSources(OBSScene scene)
info
->
idx
++
);
return
true
;
},
&
info
);
SaveProject
();
}
/* OBS Callbacks */
...
...
@@ -1942,6 +1968,8 @@ void OBSBasic::CloseDialogs()
void
OBSBasic
::
ClearSceneData
()
{
disableSaving
++
;
CloseDialogs
();
ClearVolumeControls
();
...
...
@@ -1965,6 +1993,8 @@ void OBSBasic::ClearSceneData()
obs_enum_sources
(
cb
,
nullptr
);
sourceSceneRefs
.
clear
();
disableSaving
--
;
}
void
OBSBasic
::
closeEvent
(
QCloseEvent
*
event
)
...
...
@@ -1996,6 +2026,7 @@ void OBSBasic::closeEvent(QCloseEvent *event)
obs_remove_draw_callback
(
OBSBasic
::
RenderMain
,
this
);
SaveProject
();
disableSaving
++
;
/* Clear all scene data (dialogs, widgets, widget sub-items, scenes,
* sources, etc) so that all references are released before shutdown */
...
...
obs/window-basic-main.hpp
浏览文件 @
da358da9
...
...
@@ -74,6 +74,7 @@ private:
std
::
vector
<
OBSSignal
>
signalHandlers
;
bool
loaded
=
false
;
long
disableSaving
=
1
;
QPointer
<
QThread
>
updateCheckThread
;
QPointer
<
QThread
>
logUploadThread
;
...
...
obs/window-basic-properties.cpp
浏览文件 @
da358da9
...
...
@@ -103,6 +103,7 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_)
OBSBasicProperties
::~
OBSBasicProperties
()
{
obs_source_dec_showing
(
source
);
main
->
SaveProject
();
}
void
OBSBasicProperties
::
SourceRemoved
(
void
*
data
,
calldata_t
*
params
)
...
...
obs/window-basic-settings.cpp
浏览文件 @
da358da9
...
...
@@ -2159,6 +2159,7 @@ void OBSBasicSettings::SaveSettings()
config_save
(
main
->
Config
());
config_save
(
GetGlobalConfig
());
main
->
SaveProject
();
}
bool
OBSBasicSettings
::
QueryChanges
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录