diff --git a/qrenderdoc/Code/Resources.h b/qrenderdoc/Code/Resources.h
index c49aed2d5..918b258f5 100644
--- a/qrenderdoc/Code/Resources.h
+++ b/qrenderdoc/Code/Resources.h
@@ -41,6 +41,7 @@
RESOURCE_DEF(chart_curve, "chart_curve.png") \
RESOURCE_DEF(cog, "cog.png") \
RESOURCE_DEF(color_wheel, "color_wheel.png") \
+ RESOURCE_DEF(copy, "copy.png") \
RESOURCE_DEF(connect, "connect.png") \
RESOURCE_DEF(control_base_blue, "control_base_blue.png") \
RESOURCE_DEF(control_cursor_blue, "control_cursor_blue.png") \
@@ -52,6 +53,7 @@
RESOURCE_DEF(control_start_blue, "control_start_blue.png") \
RESOURCE_DEF(cross, "cross.png") \
RESOURCE_DEF(checkerboard, "checkerboard.png") \
+ RESOURCE_DEF(cut, "cut.png") \
RESOURCE_DEF(del, "del.png") \
RESOURCE_DEF(disconnect, "disconnect.png") \
RESOURCE_DEF(find, "find.png") \
@@ -71,6 +73,7 @@
RESOURCE_DEF(page_white_edit, "page_white_edit.png") \
RESOURCE_DEF(page_white_link, "page_white_link.png") \
RESOURCE_DEF(page_white_stack, "page_white_stack.png") \
+ RESOURCE_DEF(paste, "paste.png") \
RESOURCE_DEF(plugin, "plugin.png") \
RESOURCE_DEF(plugin_add, "plugin_add.png") \
RESOURCE_DEF(save, "save.png") \
diff --git a/qrenderdoc/Resources/copy.png b/qrenderdoc/Resources/copy.png
new file mode 100644
index 000000000..a61ec1343
Binary files /dev/null and b/qrenderdoc/Resources/copy.png differ
diff --git a/qrenderdoc/Resources/copy@2x.png b/qrenderdoc/Resources/copy@2x.png
new file mode 100644
index 000000000..7e387d63b
Binary files /dev/null and b/qrenderdoc/Resources/copy@2x.png differ
diff --git a/qrenderdoc/Resources/cut.png b/qrenderdoc/Resources/cut.png
new file mode 100644
index 000000000..9a0ae031a
Binary files /dev/null and b/qrenderdoc/Resources/cut.png differ
diff --git a/qrenderdoc/Resources/cut@2x.png b/qrenderdoc/Resources/cut@2x.png
new file mode 100644
index 000000000..d986faf02
Binary files /dev/null and b/qrenderdoc/Resources/cut@2x.png differ
diff --git a/qrenderdoc/Resources/paste.png b/qrenderdoc/Resources/paste.png
new file mode 100644
index 000000000..92181c5ac
Binary files /dev/null and b/qrenderdoc/Resources/paste.png differ
diff --git a/qrenderdoc/Resources/paste@2x.png b/qrenderdoc/Resources/paste@2x.png
new file mode 100644
index 000000000..3ccd74155
Binary files /dev/null and b/qrenderdoc/Resources/paste@2x.png differ
diff --git a/qrenderdoc/Resources/resources.qrc b/qrenderdoc/Resources/resources.qrc
index 9f93c2c38..0a044030c 100644
--- a/qrenderdoc/Resources/resources.qrc
+++ b/qrenderdoc/Resources/resources.qrc
@@ -43,6 +43,8 @@
cog@2x.png
color_wheel.png
color_wheel@2x.png
+ copy.png
+ copy@2x.png
connect.png
connect@2x.png
control_base_blue.png
@@ -63,6 +65,8 @@
control_start_blue@2x.png
cross.png
cross@2x.png
+ cut.png
+ cut@2x.png
del.png
del@2x.png
disconnect.png
@@ -99,6 +103,8 @@
page_white_link@2x.png
page_white_stack.png
page_white_stack@2x.png
+ paste.png
+ paste@2x.png
plugin.png
plugin@2x.png
plugin_add.png
diff --git a/qrenderdoc/Widgets/Extended/RDTreeView.cpp b/qrenderdoc/Widgets/Extended/RDTreeView.cpp
index 13819df9e..a3f9a7482 100644
--- a/qrenderdoc/Widgets/Extended/RDTreeView.cpp
+++ b/qrenderdoc/Widgets/Extended/RDTreeView.cpp
@@ -261,6 +261,8 @@ void RDTreeView::contextMenuEvent(QContextMenuEvent *event)
expandAllAction.setIcon(Icons::arrow_out());
collapseAllAction.setIcon(Icons::arrow_in());
+ copy.setIcon(Icons::copy());
+
expandAllAction.setEnabled(index.isValid() && model()->rowCount(index) > 0);
collapseAllAction.setEnabled(index.isValid() && model()->rowCount(index) > 0);