Skip to content

Commit 3ab6a77

Browse files
committed
fix: added mime types
1 parent 4d94426 commit 3ab6a77

6 files changed

Lines changed: 73 additions & 7 deletions

File tree

frontend/cmake/ui-utility.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ target_sources(
3232
utility/OBSClipboardService.cpp
3333
utility/OBSClipboardSerializer.hpp
3434
utility/OBSClipboardSerializer.cpp
35+
utility/OBSClipboardMimeTypes.hpp
3536
utility/OBSCanvas.cpp
3637
utility/OBSCanvas.hpp
3738
utility/OBSEventFilter.hpp
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
3+
namespace OBSClipboard {
4+
inline constexpr auto SceneItems = "application/x-obs-studio-scene-items+json";
5+
inline constexpr auto SourceFilters = "application/x-obs-studio-source-filters+json";
6+
inline constexpr auto SceneItemTransform = "application/x-obs-studio-scene-item-transform+json";
7+
inline constexpr auto SceneItemTransition = "application/x-obs-studio-scene-item-transition+json";
8+
9+
inline constexpr int PayloadVersion = 1;
10+
} // namespace OBSClipboard

frontend/utility/OBSClipboardSerializer.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,33 @@
22

33
OBSData OBSClipboardSerializer::SerializeSceneItem(OBSSceneItem item)
44
{
5-
return OBSData();
5+
if (!item) {
6+
return {};
7+
}
8+
9+
return {};
610
}
711

812
OBSData OBSClipboardSerializer::SerializeFilters(OBSSource source)
913
{
10-
return OBSData();
14+
if (!source) {
15+
return {};
16+
}
17+
return {};
1118
}
1219

1320
OBSData OBSClipboardSerializer::SerializeTransform(OBSSceneItem item)
1421
{
15-
return OBSData();
22+
if (!item) {
23+
return {};
24+
}
25+
return {};
1626
}
1727

1828
OBSData OBSClipboardSerializer::SerializeTransition(OBSSceneItem item, bool show)
1929
{
20-
return OBSData();
30+
if (!item) {
31+
return {};
32+
}
33+
return {};
2134
}

frontend/utility/OBSClipboardSerializer.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#pragma once
1919

2020
#include <obs.hpp>
21-
#include <QMimeData>
2221

2322
class OBSClipboardSerializer {
2423
public:
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,44 @@
11
#include "OBSClipboardService.hpp"
22

3+
#include "OBSClipboardMimeTypes.hpp"
4+
#include "OBSClipboardSerializer.hpp"
5+
6+
#include <QApplication>
7+
#include <QClipboard>
8+
#include <QMimeData>
9+
310
bool OBSClipboardService::canPasteSceneItems(bool duplicate) const
411
{
512
return false;
613
}
714

15+
bool OBSClipboardService::canPasteFilters() const
16+
{
17+
return false;
18+
}
19+
20+
bool OBSClipboardService::canPasteTransform() const
21+
{
22+
return false;
23+
}
24+
25+
bool OBSClipboardService::canPasteTransition() const
26+
{
27+
return false;
28+
}
29+
830
void OBSClipboardService::copySceneItems(const std::vector<OBSSceneItem> &items) {}
931

32+
void OBSClipboardService::copyFilters(OBSSource source) {}
33+
34+
void OBSClipboardService::copyTransform(OBSSceneItem item) {}
35+
36+
void OBSClipboardService::copyTransition(OBSSceneItem item, bool show) {}
37+
1038
void OBSClipboardService::pasteSceneItems(OBSScene scene, bool duplicate) {}
39+
40+
void OBSClipboardService::pasteFilters(OBSSource destination) {}
41+
42+
void OBSClipboardService::pasteTransform(const std::vector<OBSSceneItem> &items) {}
43+
44+
void OBSClipboardService::pasteTransition(const std::vector<OBSSceneItem> &items, bool show) {}

frontend/utility/OBSClipboardService.hpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,22 @@
1818
#pragma once
1919

2020
#include <obs.hpp>
21-
#include <QMimeData>
22-
#include <QClipboard>
2321
#include <vector>
2422

2523
class OBSClipboardService {
2624
public:
2725
bool canPasteSceneItems(bool duplicate) const;
26+
bool canPasteFilters() const;
27+
bool canPasteTransform() const;
28+
bool canPasteTransition() const;
29+
2830
void copySceneItems(const std::vector<OBSSceneItem> &items);
31+
void copyFilters(OBSSource source);
32+
void copyTransform(OBSSceneItem item);
33+
void copyTransition(OBSSceneItem item, bool show);
34+
2935
void pasteSceneItems(OBSScene scene, bool duplicate);
36+
void pasteFilters(OBSSource destination);
37+
void pasteTransform(const std::vector<OBSSceneItem> &items);
38+
void pasteTransition(const std::vector<OBSSceneItem> &items, bool show);
3039
};

0 commit comments

Comments
 (0)