diff --git a/code/game/objects/items/weapons/photography.dm b/code/game/objects/items/weapons/photography.dm
index 850273cbdc5..f3adea5e440 100644
--- a/code/game/objects/items/weapons/photography.dm
+++ b/code/game/objects/items/weapons/photography.dm
@@ -59,6 +59,9 @@
..()
if (scribble)
usr << "\blue you see something written on photo's back. "
+ show(usr)
+
+/obj/item/weapon/photo/proc/show(var/mob/usr)
usr << browse_rsc(src.img, "tmp_photo.png")
usr << browse("
Photo" \
+ "" \
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 20df82c211c..25da103db03 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -8,7 +8,7 @@
throw_speed = 3
throw_range = 10
var/obj/item/weapon/pen/haspen //The stored pen.
- var/obj/item/weapon/paper/toppaper //The topmost piece of paper.
+ var/obj/item/weapon/toppaper //The topmost piece of paper.
flags = FPRINT | TABLEPASS
slot_flags = SLOT_BELT
pressure_resistance = 10
@@ -45,11 +45,12 @@
return
/obj/item/weapon/clipboard/attackby(obj/item/weapon/W as obj, mob/user as mob)
- if(istype(W, /obj/item/weapon/paper))
+ if(istype(W, /obj/item/weapon/paper) || istype(W, /obj/item/weapon/photo))
user.drop_item()
W.loc = src
- toppaper = W
- user << "You clip the paper onto \the [src]."
+ if(istype(W, /obj/item/weapon/paper))
+ toppaper = W
+ user << "You clip the [W] onto \the [src]."
update_icon()
else if(toppaper)
toppaper.attackby(usr.get_active_hand(), usr)
@@ -68,10 +69,13 @@
var/obj/item/weapon/paper/P = toppaper
dat += "Write Remove - [P.name]
"
- for(P in src)
- if(P == toppaper)
- continue
- dat += "Write Remove Move to top - [P.name]
"
+ for(var/obj/item/weapon/paper/P in src)
+ if(P==toppaper)
+ continue
+ dat += "Remove - [P.name]
"
+ for(var/obj/item/weapon/photo/Ph in src)
+ dat += "Remove - [Ph.name]
"
+
user << browse(dat, "window=clipboard")
onclose(user, "clipboard")
add_fingerprint(usr)
@@ -128,6 +132,11 @@
usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]")
onclose(usr, "[P.name]")
+ if(href_list["look"])
+ var/obj/item/weapon/photo/P = locate(href_list["look"])
+ if(P)
+ P.show(usr)
+
if(href_list["top"])
var/obj/item/P = locate(href_list["top"])
if(P)
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index abb23f3d556..25b40fada61 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -46,7 +46,7 @@
for(var/obj/item/weapon/paper/P in src)
dat += "Remove - [P.name]
"
for(var/obj/item/weapon/photo/Ph in src)
- dat += "Remove - [Ph.name]
"
+ dat += "Remove - [Ph.name]
"
user << browse(dat, "window=folder")
onclose(user, "folder")
add_fingerprint(usr)
@@ -74,6 +74,10 @@
else
usr << browse("[P.name][P.info][P.stamps]", "window=[P.name]")
onclose(usr, "[P.name]")
+ if(href_list["look"])
+ var/obj/item/weapon/photo/P = locate(href_list["look"])
+ if(P)
+ P.show(usr)
//Update everything
attack_self(usr)