Advertisement
Guest User

Image Viewer (ALL SITES) w/ ToolTip

a guest
Dec 25th, 2011
790
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 6.41 KB | None | 0 0
  1. on *:LOAD:{ if (!$isdir($mircdirDLImages)) { mkdir DLImages | echo -a 06Thanks for using Image Viewer, memo/pm FelicianoX for questions } }
  2.  
  3. on *:START:{ .timerImageLinks 0 3600 imagelinkscheck }
  4.  
  5. on $^*:HOTLINK:/(?:http\x3A\/\/)?(.+?\.\w{2,})(\/.+\.(?:jpg|gif|png))($| )/Si:#:{
  6.   if ($mouse.key & 16) {
  7.     openToolTip $1
  8.   }
  9.   if (!$hget(ImageLinks,$1) && $group(#Image).status == On) {
  10.     .disable #Image
  11.     .hfree ImageLinks
  12.     hadd -m ImageLinks $1 1
  13.     .enable #Image
  14.   }
  15.   if ($group(#Image).status == off) {
  16.     .enable #Image
  17.     hadd -m ImageLinks $1 1
  18.   }
  19. }
  20.  
  21. #Image on
  22.  
  23. on $*:HOTLINK:/(?:http\x3A\/\/)?(.+?\.\w{2,})(\/.+\.(?:jpg|gif|png))($| )/Si:#:{
  24.   url $1
  25.   if (!$readini(ImageLinks.ini,Downloaded,$1)) {
  26.     var %t $ticks
  27.     hadd -m $+(ImageSocket.,%t) GET $regml(2)
  28.     hadd $+(ImageSocket.,%t) Host $regml(1)
  29.     sockopen $+(image.,%t) $regml(1) 80
  30.   }
  31. }
  32.  
  33. #Image end
  34.  
  35. menu @Image {
  36.   sclick: {
  37.     if ($inrect($mouse.x, $mouse.y, $calc($window(@Image).w -110), 3, 90, 20)) {
  38.       window -c @Image
  39.       unset %file
  40.     }
  41.     elseif ($inrect($mouse.x, $mouse.y, 10, 2, 110, 20)) {
  42.       noop $input(Image deleted, oi, Image Tooltip)
  43.       .remove %file
  44.       imagelinkscheck
  45.     }
  46.   }
  47. }
  48.  
  49. on *:CLOSE:@Image:{ unset %file }
  50.  
  51. alias openToolTip {
  52.   if ($readini(ImageLinks.ini, Downloaded, $1)) {
  53.     set %file $qt($mircdirDLImages\ $+ $gettok($1, -1, $asc(/)))
  54.     var %width = $pic(%file).width, %height = $pic(%file).height
  55.     window -Cpobfdk0 +b @Image 0 0 %width $calc(%height +18)
  56.     drawpic -s @Image 1 19 %file
  57.     drawtext @Image 4 $calc(%width -100) 2 [X] CLOSE
  58.     drawtext @Image 4 10 2 Delete image.
  59.     titlebar @Image Viewer ToolTip
  60.   }
  61.   else {
  62.     noop $regex($1,/(?:(?:ftps?|https?)\x3A\/\/)?(.+?\.\w{2,})(\/.+\.(?:jpg|gif|png))($| )/Si)
  63.     window -Cpobfdk0 +b @Downloading 0 0 350 40
  64.     drawtext @Downloading 4 10 15 Image is being downloaded, please wait...
  65.     titlebar @Downloading image, please wait.
  66.     var %t $ticks
  67.     hadd -m $+(ImageSocket.,%t) GET $regml(2)
  68.     hadd $+(ImageSocket.,%t) Host $regml(1)
  69.     hadd $+(ImageSocket.,%t) Tooltip $true
  70.     sockopen $+(image.,%t) $regml(1) 80
  71.   }
  72. }
  73.  
  74. on *:sockopen:image.*:{
  75.   var %a sockwrite -nt $sockname
  76.   %a GET $hget($+(ImageSocket.,$gettok($sockname,2,46)),GET) HTTP/1.0
  77.   %a Host: $hget($+(ImageSocket.,$gettok($sockname,2,46)),Host) $+ $str($crlf,2)
  78. }
  79.  
  80. on *:sockread:image.*:{
  81.   if (!$sock($sockname).mark) {
  82.     var %a
  83.     sockread %a
  84.     if (%a == $null) {
  85.       sockmark $sockname 1
  86.     }
  87.   }
  88.   else {
  89.     sockread &image
  90.     var %o $gettok($hget($+(ImageSocket.,$gettok($sockname,2,46)),GET),-1,47))
  91.     bwrite $qt($+($mircdirDLImages\,%o)) -1 -1 &image
  92.   }
  93. }
  94.  
  95. on *:sockclose:image.*:{
  96.   var %l $+(http://,$hget($+(ImageSocket.,$gettok($sockname,2,46)),Host),$hget($+(ImageSocket.,$gettok($sockname,2,46)),GET))
  97.   writeini -n ImageLinks.ini Sizes $+(http://,$hget($+(ImageSocket.,$gettok($sockname,2,46)),Host),$hget($+(ImageSocket.,$gettok($sockname,2,46)),GET)) $bytes($lof($+($mircdirDLImages\,$gettok($hget($+(ImageSocket.,$gettok($sockname,2,46)),GET),-1,47))),k) kilobytes
  98.   writeini -n ImageLinks.ini Downloaded %l 1
  99.   if ($hget($+(ImageSocket.,$gettok($sockname,2,46)), Tooltip)) {
  100.     openToolTip %l
  101.     window -c @Downloading
  102.   }
  103.   hfree -w $+(ImageSocket.,$gettok($sockname,2,46))
  104. }
  105.  
  106. alias ImageLinksCheck {
  107.   !var %a $iif(%last,$calc($ini(ImageLinks.ini,Downloaded,0) -250),1)
  108.   !while (%a <= $ini(ImageLinks.ini,Downloaded,0)) {
  109.     !if ($isfile($+($mircdirDLImages\,$gettok($ini(ImageLinks.ini,Downloaded,%a),-1,47))) == $false) {
  110.       !remini -n ImageLinks.ini Downloaded $ini(ImageLinks.ini,Downloaded,%a)
  111.       !remini -n ImageLinks.ini Sizes $ini(ImageLinks.ini,Sizes,%a)
  112.       !inc %a
  113.     }
  114.     !inc %a
  115.   }
  116. }
  117.  
  118. dialog ImagesView {
  119.   title "Image Viewer"
  120.   size -1 -1 933 497
  121.   option pixels
  122.   list 1, 758 22 138 447
  123.   box "Image", 2, 15 17 723 438
  124.   icon 3, 40 33 675 410, $pic ,0
  125.   text "Size:", 4, 24 464 100 17
  126.   button "Copy link", 5, 667 464 65 25
  127.   button "Open folder", 6, 758 464 70 25
  128.   button "Update List", 7, 845 464 70 25
  129.   button "Delete", 8, 580 464 65 25
  130.   text "", 9, 250 464 250 17
  131. }
  132.  
  133. alias -l pic return $+($mircdirDLImages\,$gettok($ini(ImageLinks.ini,Downloaded,$iif(%last,$calc($ini(ImageLinks.ini,Downloaded,0) -250),1)),-1,47))
  134.  
  135. alias -l pics return $bytes($lof($pic),k) kb
  136.  
  137. alias -l openimagelinks {
  138.   set %Last $iif($1 && $ini(ImageLinks.ini,Downloaded,0) > 249,1)
  139.   dialog -m ImagesView ImagesView
  140. }
  141.  
  142. menu channel {
  143.   .Image Viewer
  144.   ..Image Viewer 250: openimagelinks 1
  145.   ..Image Viewer: openimagelinks
  146. }
  147.  
  148. on *:DIALOG:ImagesView:init:0:{
  149.   !did -b ImagesView 5,8
  150.   !did -c ImagesView 1 1
  151.   !did -a ImagesView 4 Size: $pics
  152.   !var %a $iif(%last,$calc($ini(ImageLinks.ini,Downloaded,0) -250),1)
  153.   !while (%a <= $ini(ImageLinks.ini,Downloaded,0)) {
  154.     !did -a ImagesView 1 $gettok($ini(ImageLinks.ini,Downloaded,%a),-1,47)
  155.     !inc %a
  156.   }
  157. }
  158.  
  159.  
  160. on *:DIALOG:ImagesView:close:0:{
  161.   unset %Last
  162. }
  163.  
  164. on *:DIALOG:ImagesView:sclick:1,5-8:{
  165.   if ($did == 1) {
  166.     !did -g ImagesView 3 $qt($+($mircdirDLImages\,$did(ImagesView,1).seltext))
  167.     !did -a ImagesView 4 Size: $bytes($lof($+($mircdirDLImages\,$did(ImagesView,1).seltext)),k) kb
  168.     if (%last) !did -a ImagesView 9 Website: http:// $+ $gettok($remove($ini(ImageLinks.ini,Downloaded,$calc($ini(ImageLinks.ini,Downloaded,0) - 251 + $did(ImagesView,1).sel)), http://), 2-, 47)
  169.     else !did -a ImagesView 9 Website: http:// $+ $gettok($remove($ini(ImageLinks.ini,Downloaded,$did(ImagesView,1).sel), http://), 1, 47)
  170.     !did -e ImagesView 5,8
  171.   }
  172.   elseif ($did == 5) {
  173.     if (%last) clipboard $ini(ImageLinks.ini,Downloaded,$calc($ini(ImageLinks.ini,Downloaded,0) - 251 + $did(ImagesView,1).sel))
  174.     else clipboard $ini(ImageLinks.ini,Downloaded,$did(ImagesView,1).sel)
  175.     !did -a ImagesView 5 Link Copied
  176.     .timerIV 1 1 did -a ImagesView 5 Copy Link
  177.   }
  178.   elseif ($did == 6) {
  179.     run $mircdirDLImages
  180.   }
  181.   elseif ($did == 7) {
  182.     imagelinkscheck
  183.     !did -r ImagesView 1
  184.     !var %a $iif(%last,$calc($ini(ImageLinks.ini,Downloaded,0) -250),1)
  185.     !while (%a <= $ini(ImageLinks.ini,Downloaded,0)) {
  186.       !did -a ImagesView 1 $gettok($ini(ImageLinks.ini,Downloaded,%a),-1,47)
  187.       !inc %a
  188.     }
  189.     !did -b ImagesView 5,8
  190.   }
  191.   elseif ($did == 8) {
  192.     .remove $+(DLImages\,$did(ImagesView,1).seltext)
  193.     did -d ImagesView 1 $did(ImagesView,1).sel
  194.   }
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement