Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Obs Studio
提交
ff2a2cce
O
Obs Studio
项目概览
小白菜888
/
Obs Studio
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Obs Studio
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ff2a2cce
编写于
6月 30, 2014
作者:
J
jp9000
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Implement context menu on 'sources' box
上级
67440b92
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
77 addition
and
4 deletion
+77
-4
build/data/obs-studio/locale/en.txt
build/data/obs-studio/locale/en.txt
+5
-0
obs/forms/OBSBasic.ui
obs/forms/OBSBasic.ui
+8
-2
obs/window-basic-main.cpp
obs/window-basic-main.cpp
+56
-2
obs/window-basic-main.hpp
obs/window-basic-main.hpp
+8
-0
未找到文件。
build/data/obs-studio/locale/en.txt
浏览文件 @
ff2a2cce
...
...
@@ -10,6 +10,7 @@ Yes="Yes"
No="No"
Add="Add"
Remove="Remove"
Rename="Rename"
Properties="Properties"
MoveUp="Move Up"
MoveDown="Move Down"
...
...
@@ -26,6 +27,10 @@ NameExists.Text="The name is already in use."
NoNameEntered="Please enter a valid name"
# confirm delete dialog box
ConfirmRemove.Title="Confirm Remove"
ConfirmRemove.Text="Are you sure you wish to remove '$1'?"
# output connect messages
Output.ConnectFail.Title="Failed to connect"
Output.ConnectFail.BadPath="Invalid Path or Connection URL. Please check your settings to confirm that they are valid."
...
...
obs/forms/OBSBasic.ui
浏览文件 @
ff2a2cce
...
...
@@ -152,6 +152,9 @@
<verstretch>
0
</verstretch>
</sizepolicy>
</property>
<property
name=
"contextMenuPolicy"
>
<enum>
Qt::CustomContextMenu
</enum>
</property>
<property
name=
"frameShape"
>
<enum>
QFrame::NoFrame
</enum>
</property>
...
...
@@ -257,6 +260,9 @@
<verstretch>
0
</verstretch>
</sizepolicy>
</property>
<property
name=
"contextMenuPolicy"
>
<enum>
Qt::CustomContextMenu
</enum>
</property>
<property
name=
"frameShape"
>
<enum>
QFrame::NoFrame
</enum>
</property>
...
...
@@ -467,7 +473,7 @@
<property
name=
"title"
>
<string>
Basic.MainMenu.Edit
</string>
</property>
<widget
class=
"QMenu"
name=
"
menuBasic_MainMenu_Edit_Transform
"
>
<widget
class=
"QMenu"
name=
"
transformMenu
"
>
<property
name=
"title"
>
<string>
Basic.MainMenu.Edit.Transform
</string>
</property>
...
...
@@ -488,7 +494,7 @@
<addaction
name=
"actionUndo"
/>
<addaction
name=
"actionRedo"
/>
<addaction
name=
"separator"
/>
<addaction
name=
"
menuBasic_MainMenu_Edit_Transform
"
/>
<addaction
name=
"
transformMenu
"
/>
</widget>
<addaction
name=
"menu_File"
/>
<addaction
name=
"menuBasic_MainMenu_Edit"
/>
...
...
obs/window-basic-main.cpp
浏览文件 @
ff2a2cce
...
...
@@ -88,6 +88,12 @@ OBSBasic::OBSBasic(QWidget *parent)
this
,
SLOT
(
SceneItemNameEdited
(
QWidget
*
,
QAbstractItemDelegate
::
EndEditHint
)));
removeItemAction
=
new
QAction
(
QTStr
(
"Remove"
),
this
);
removeItemAction
->
setShortcut
(
QKeySequence
(
Qt
::
Key_Delete
));
connect
(
removeItemAction
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
RemoveSelectedItem
()));
addAction
(
removeItemAction
);
}
static
void
SaveAudioDevice
(
const
char
*
name
,
int
channel
,
obs_data_t
parent
)
...
...
@@ -786,6 +792,25 @@ void OBSBasic::DeactivateAudioSource(OBSSource source)
}
}
void
OBSBasic
::
RemoveSelectedItem
()
{
OBSSceneItem
item
=
GetCurrentSceneItem
();
if
(
item
)
{
obs_source_t
source
=
obs_sceneitem_getsource
(
item
);
const
char
*
name
=
obs_source_getname
(
source
);
QString
text
=
QTStr
(
"ConfirmRemove.Text"
);
text
.
replace
(
"$1"
,
QT_UTF8
(
name
));
QMessageBox
::
StandardButton
button
;
button
=
QMessageBox
::
question
(
this
,
QTStr
(
"ConfirmRemove.Remove"
),
text
);
if
(
button
==
QMessageBox
::
Yes
)
obs_sceneitem_remove
(
item
);
}
}
/* OBS Callbacks */
void
OBSBasic
::
SceneItemAdded
(
void
*
data
,
calldata_t
params
)
...
...
@@ -1211,6 +1236,11 @@ void OBSBasic::on_scenes_currentItemChanged(QListWidgetItem *current,
UNUSED_PARAMETER
(
prev
);
}
void
OBSBasic
::
EditSceneName
()
{
ui
->
scenes
->
editItem
(
ui
->
scenes
->
currentItem
());
}
void
OBSBasic
::
on_scenes_customContextMenuRequested
(
const
QPoint
&
pos
)
{
/* TODO */
...
...
@@ -1315,10 +1345,34 @@ void OBSBasic::on_sources_currentItemChanged(QListWidgetItem *current,
UNUSED_PARAMETER
(
prev
);
}
void
OBSBasic
::
EditSceneItemName
()
{
ui
->
sources
->
editItem
(
ui
->
sources
->
currentItem
());
}
void
OBSBasic
::
on_sources_customContextMenuRequested
(
const
QPoint
&
pos
)
{
/* TODO */
UNUSED_PARAMETER
(
pos
);
QListWidgetItem
*
item
=
ui
->
sources
->
itemAt
(
pos
);
QMenu
popup
;
QPointer
<
QMenu
>
addSourceMenu
=
CreateAddSourcePopupMenu
();
if
(
addSourceMenu
)
popup
.
addMenu
(
addSourceMenu
);
if
(
item
)
{
if
(
addSourceMenu
)
popup
.
addSeparator
();
popup
.
addAction
(
QTStr
(
"Rename"
),
this
,
SLOT
(
EditSceneItemName
()));
popup
.
addAction
(
removeItemAction
);
popup
.
addMenu
(
ui
->
transformMenu
);
popup
.
addSeparator
();
popup
.
addAction
(
QTStr
(
"Properties"
),
this
,
SLOT
(
on_actionSourceProperties_triggered
()));
}
popup
.
exec
(
QCursor
::
pos
());
}
void
OBSBasic
::
AddSource
(
const
char
*
id
)
...
...
obs/window-basic-main.hpp
浏览文件 @
ff2a2cce
...
...
@@ -19,6 +19,7 @@
#include <QNetworkAccessManager>
#include <QBuffer>
#include <QAction>
#include <obs.hpp>
#include <unordered_map>
#include <vector>
...
...
@@ -60,6 +61,8 @@ private:
QNetworkAccessManager
networkManager
;
QPointer
<
QAction
>
removeItemAction
;
QBuffer
logUploadPostData
;
QNetworkReply
*
logUploadReply
=
nullptr
;
QByteArray
logUploadReturnData
;
...
...
@@ -145,6 +148,8 @@ private slots:
void
ActivateAudioSource
(
OBSSource
source
);
void
DeactivateAudioSource
(
OBSSource
source
);
void
RemoveSelectedItem
();
private:
/* OBS Callbacks */
static
void
SceneItemAdded
(
void
*
data
,
calldata_t
params
);
...
...
@@ -244,6 +249,9 @@ private slots:
void
AddSourceFromAction
();
void
EditSceneName
();
void
EditSceneItemName
();
void
SceneNameEdited
(
QWidget
*
editor
,
QAbstractItemDelegate
::
EndEditHint
endHint
);
void
SceneItemNameEdited
(
QWidget
*
editor
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录