Clipboard Manager — File Browser
ClipboardManagerv1.0 / ClipboardManagerv1.0 / clipboardmanager.mrc
clipboardmanager.mrc — 11.75 KB — Download this file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ClipboardManager
;; by bunkahumpa
;; bunkahumpa@playcs.com
;; irc.GamesNET.net #script
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dialog clipboard {
title "Clipboard Manager"
size -1 -1 103 98
option dbu
box "", 1, 0 0 103 97
edit "", 2, 5 27 93 41, multi return hsbar vsbar
radio "1", 3, 10 15 11 10, push
radio "2", 4, 28 15 11 10, push
radio "3", 5, 46 15 11 10, push
radio "4", 6, 64 15 11 10, push
radio "5", 7, 82 15 11 10, push
text "Choose a Clipboard Item:", 8, 5 7 64 8
button "Copy to Clipboard", 9, 5 71 48 10
button "Save as Item", 10, 61 71 37 10
text "", 11, 23 87 25 8
text "Lines:", 12, 5 87 18 8
text "", 14, 61 87 37 8, right
box "", 15, 0 81 103 16
button "", 16, 0 0 1 1, ok hide
}
menu status,channel,query,nicklist,menubar {
-
ClipboardManager:dialog -m clipboard clipboard
-
}
on *:start:{
if (!$hget(clipboard)) {
if ($shortfn($scriptdirclipboard.hsh)) {
hmake clipboard 3
hload clipboard $shortfn($scriptdirclipboard.hsh)
}
else {
hmake clipboard 3
hadd clipboard one1 Clipboard Item 1
hadd clipboard two1 Clipboard Item 2
hadd clipboard three1 Clipboard Item 3
hadd clipboard four1 Clipboard Item 4
hadd clipboard five1 Clipboard Item 5
}
}
}
on *:exit: {
if ($hget(clipboard)) { hsave -o clipboard clipboard.hsh }
}
; save the hash file when the dialog is closed
on *:dialog:clipboard:close:0:{
if ($hget(clipboard)) { hsave -o clipboard clipboard.hsh }
}
; display the current clipboard and its stats
on *:dialog:clipboard:init:0:{
if ($cb) {
var %line = 1
while (%line <= $cb(0)) {
did -i clipboard 2 %line $cb(%line)
inc %line
}
did -c clipboard 2 $cb(0) $calc($len($cb($cb(0))) + 1)
did -a clipboard 11 $cb(0)
did -a clipboard 14 Chars: $cb(0).len
}
}
; when the editbox is edited, update stats
on *:dialog:clipboard:edit:2:{
did -o clipboard 11 1 $did(clipboard,2).lines
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
did -o clipboard 14 1 Chars: %length
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
did -o clipboard 14 1 Chars: %length
}
inc %line
}
}
; copy to clipboard
on *:dialog:clipboard:sclick:9:{
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
clipboard -n $did(clipboard,2,1)
var %line = 2
while (%line <= $did(clipboard,2).lines) {
clipboard -an $did(clipboard,2,%line)
inc %line
}
}
else {
clipboard $did(clipboard,2)
}
}
}
; display saved item 1
on *:dialog:clipboard:sclick:3:{
if ($hget(clipboard,one1)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,one*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard, one $+ %line)
inc %line
}
did -o clipboard 11 1 $hfind(clipboard,one*,0,w).item
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
}
did -o clipboard 14 1 Chars: %length
inc %line
}
}
else {
did -r clipboard 2
did -o clipboard 11 1 0
did -o clipboard 14 1 Chars: 0
}
}
; display saved item 2
on *:dialog:clipboard:sclick:4:{
if ($hget(clipboard,two1)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,two*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard, two $+ %line)
inc %line
}
did -o clipboard 11 1 $hfind(clipboard,two*,0,w).item
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
}
did -o clipboard 14 1 Chars: %length
inc %line
}
}
else {
did -r clipboard 2
did -o clipboard 11 1 0
did -o clipboard 14 1 Chars: 0
}
}
; display saved item 3
on *:dialog:clipboard:sclick:5:{
if ($hget(clipboard,three1)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,three*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard, three $+ %line)
inc %line
}
did -o clipboard 11 1 $hfind(clipboard,three*,0,w).item
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
}
did -o clipboard 14 1 Chars: %length
inc %line
}
}
else {
did -r clipboard 2
did -o clipboard 11 1 0
did -o clipboard 14 1 Chars: 0
}
}
; display saved item 4
on *:dialog:clipboard:sclick:6:{
if ($hget(clipboard,four1)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,four*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard, four $+ %line)
inc %line
}
did -o clipboard 11 1 $hfind(clipboard,four*,0,w).item
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
}
did -o clipboard 14 1 Chars: %length
inc %line
}
}
else {
did -r clipboard 2
did -o clipboard 11 1 0
did -o clipboard 14 1 Chars: 0
}
}
; display saved item 5
on *:dialog:clipboard:sclick:7:{
if ($hget(clipboard,five1)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,five*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard, five $+ %line)
inc %line
}
did -o clipboard 11 1 $hfind(clipboard,five*,0,w).item
var %line = 1
while (%line <= $did(clipboard,2).lines) {
if (%line == 1) {
var %length = $did(clipboard,2,1).len
}
else {
var %length = $calc(%length + $did(clipboard,2,%line).len)
}
did -o clipboard 14 1 Chars: %length
inc %line
}
}
else {
did -r clipboard 2
did -o clipboard 11 1 0
did -o clipboard 14 1 Chars: 0
}
}
on *:dialog:clipboard:sclick:10:{
dialog -m saveitem saveitem
}
dialog saveitem {
title "Save Item"
size -1 -1 72 51
option dbu
box "", 1, 0 0 72 51
text "Save as Item Number:", 2, 10 8 54 8
combo 3, 24 19 23 50, sort size vsbar drop
button "Save", 4, 17 35 37 10
}
on *:dialog:saveitem:init:0:{
did -a saveitem 3 1
did -a saveitem 3 2
did -a saveitem 3 3
did -a saveitem 3 4
did -a saveitem 3 5
if ($did(clipboard,3).state == 1) {
did -c saveitem 3 1
}
elseif ($did(clipboard,4).state == 1) {
did -c saveitem 3 2
}
elseif ($did(clipboard,5).state == 1) {
did -c saveitem 3 3
}
elseif ($did(clipboard,6).state == 1) {
did -c saveitem 3 4
}
elseif ($did(clipboard,7).state == 1) {
did -c saveitem 3 5
}
else {
did -c saveitem 3 1
}
}
; save specific stuff under the item chosen
on *:dialog:saveitem:sclick:4:{
if ($did(saveitem,3) == 1) {
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
var %line = 1
while (%line <= $did(clipboard,2).lines) {
hadd clipboard one $+ %line $did(clipboard,2,%line)
inc %line
}
}
else {
hadd clipboard one1 $did(clipboard,2)
}
var %hash = 1
while (%hash <= $did(clipboard,2).lines) {
if ($hfind(clipboard,one*,0,w).item > $did(clipboard,2).lines) {
hdel clipboard one $+ $hfind(clipboard,one*,0,w)
}
inc %hash
}
}
else {
hdel -w clipboard one*
}
if ($dialog(clipboard)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,one*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard,one $+ %line)
inc %line
}
}
}
if ($did(saveitem,3) == 2) {
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
var %line = 1
while (%line <= $did(clipboard,2).lines) {
hadd clipboard two $+ %line $did(clipboard,2,%line)
inc %line
}
}
else {
hadd clipboard two1 $did(clipboard,2)
}
var %hash = 1
while (%hash <= $did(clipboard,2).lines) {
if ($hfind(clipboard,two*,0,w).item > $did(clipboard,2).lines) {
hdel clipboard two $+ $hfind(clipboard,two*,0,w)
}
inc %hash
}
}
else {
hdel -w clipboard two*
}
if ($dialog(clipboard)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,two*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard,two $+ %line)
inc %line
}
}
}
if ($did(saveitem,3) == 3) {
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
var %line = 1
while (%line <= $did(clipboard,2).lines) {
hadd clipboard three $+ %line $did(clipboard,2,%line)
inc %line
}
}
else {
hadd clipboard three1 $did(clipboard,2)
}
var %hash = 1
while (%hash <= $did(clipboard,2).lines) {
if ($hfind(clipboard,three*,0,w).item > $did(clipboard,2).lines) {
hdel clipboard three $+ $hfind(clipboard,three*,0,w)
}
inc %hash
}
}
else {
hdel -w clipboard three*
}
if ($dialog(clipboard)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,three*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard,three $+ %line)
inc %line
}
}
}
if ($did(saveitem,3) == 4) {
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
var %line = 1
while (%line <= $did(clipboard,2).lines) {
hadd clipboard four $+ %line $did(clipboard,2,%line)
inc %line
}
}
else {
hadd clipboard four1 $did(clipboard,2)
}
var %hash = 1
while (%hash <= $did(clipboard,2).lines) {
if ($hfind(clipboard,four*,0,w).item > $did(clipboard,2).lines) {
hdel clipboard four $+ $hfind(clipboard,four*,0,w)
}
inc %hash
}
}
else {
hdel -w clipboard four*
}
if ($dialog(clipboard)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,four*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard,four $+ %line)
inc %line
}
}
}
if ($did(saveitem,3) == 5) {
if ($did(clipboard,2)) {
if ($did(clipboard,2).lines > 1) {
var %line = 1
while (%line <= $did(clipboard,2).lines) {
hadd clipboard five $+ %line $did(clipboard,2,%line)
inc %line
}
}
else {
hadd clipboard five1 $did(clipboard,2)
}
var %hash = 1
while (%hash <= $did(clipboard,2).lines) {
if ($hfind(clipboard,five*,0,w).item > $did(clipboard,2).lines) {
hdel clipboard five $+ $hfind(clipboard,five*,0,w)
}
inc %hash
}
}
else {
hdel -w clipboard five*
}
if ($dialog(clipboard)) {
did -r clipboard 2
var %line = 1
while (%line <= $hfind(clipboard,five*,0,w).item) {
did -i clipboard 2 %line $hget(clipboard,five $+ %line)
inc %line
}
}
}
dialog -x saveitem
}