Well this is my first snippet and my first dialog. I hope it gets good ratings. Its pretty straight forward.
Command to open:
/squote
Or you can just right-click and select S-Quote.
All quotes will be sorted.
In this dialog there are 6 buttons: Add, Delete, Edit, Search, Random, and Exit.
Add will add whatever you put in the edit box. In edit mode, add will be changed to Fix It.
Delete is self explanatory and can be used under edit mode and search mode.
Edit allows editing of your quotes and it changes the Random Button to Cancel Edit.
Random is self explanatory.
Search finds all matches and puts them in a new file and displays that and changes the Random Button to Cancel Search.
To display your quote all you have to do is Double-Click the quote in the list box and it will be displayed in the Active Window. This dialog will tell you the Active Window you are in and how many quotes you have.
If you find any problem, want any improvements, fixes, etc. let me know.
Thanks goes to HeatedHeart(my teacher), and DarkWarrior(Error Fixer) :P
;----------;
;--[LOAD]--;
;----------;
on *:LOAD: {
echo -a 12S14ag12e Q14uot12e D14ialo12g L14oa12d S14uccessfu12l
if ($isfile(quote.txt) && $isfile(searched.txt)) {
echo -a All files required were found!
}
else if ($isfile(quote.txt) && !$isfile(searched.txt)) {
write searched.txt
echo -a The searched.txt was not found, so it was created.
}
else if ($isfile(searched.txt) && !$isfile(quote.txt)) {
write quote.txt
echo -a The quote.txt was not found, so it was created.
}
else {
write quote.txt
write searched.txt
echo -a No required files were not found, so they were created.
}
echo -a 14-12¥14-12§14åg12é §14¢ríp12t14-12¥14-
}
;------------;
;--[DIALOG]--;
;------------;
dialog quoteDialog {
title §-Quote Dialog ~ D-Mag
size -1 -1 218 134
option dbu
list 1, 1 11 216 60, sort size
button "Exit", 2, 178 107 37 12, ok cancel
button "Add", 3, 3 92 37 12
button "Delete", 4, 3 107 37 12
button "Edit", 5, 92 107 37 12
edit "", 6, 1 72 216 10, autohs return
text "Controls:", 7, 4 83 25 8
edit "", 8, 1 123 216 10, read
button "Random", 9, 92 92 37 12
button "Search", 10, 178 92 37 12
edit "", 11, 117 1 100 10, read
edit "", 12, 1 1 100 10, read
}
;-------------------;
;--[POPUP COMMAND]--;
;-------------------;
menu * {
S-Quotes:dialog -vmd quoteDialog quoteDialog
}
;------------------------;
;--[LOADING THE QUOTES]--;
;------------------------;
on *:dialog:quoteDialog:init:*: {
refresh.Quotes
}
;-------------------------;
;--[SINGLE CLICK EVENTS]--;
;-------------------------;
on *:dialog:quoteDialog:sclick:*: {
if ($did == 1) {
if ($did(9) == Cancel Edit) {
did -ra $dname 6 $did(1).seltext
}
}
;----------------;
;--[ADD] BUTTON--;
;----------------;
else if ($did == 3) {
if ($did(6) == $null) {
did -ra $dname 8 You must enter a quote in the Text Box!
}
else if ($read(quote.txt, w, $did(6).text) == $did(6).text) {
did -ra $dname 8 That quote is already in the file!
did -r $dname 6
}
else if ($did(9) == Cancel Edit) {
delete.Quote
write quote.txt $did(6)
did -r $dname 6
refresh.Quotes
select.Quote
did -ra $dname 6 $read(quote.txt,$lines(quote.txt))
}
else {
write quote.txt $did(6)
did -r $dname 6
refresh.Quotes
select.Quote
}
}
;-------------------;
;--[DELETE] BUTTON--;
;-------------------;
else if ($did == 4) {
var %seldelete $did(1).sel
delete.Quote
did -r $dname 1,6
if ($did(9) == Cancel Search) {
refresh.Search
if (%seldelete > $lines(searched.txt)) { dec %seldelete }
}
else {
refresh.Quotes
if (%seldelete > $lines(quote.txt)) { dec %seldelete }
}
did -c $dname 1 %seldelete
}
;-----------------;
;--[EDIT] BUTTON--;
;-----------------;
else if ($did == 5) {
if ($did(1).sel == 0) {
did -c $dname 1 1
}
var %fixstring $did(1).seltext
did -ra $dname 6 $did(1).seltext
if ($did(9) == Cancel Search) {
refresh.Quotes
did -c $dname 1 %fixsel
var %fixsel 1
while (%fixstring != $did(1).seltext) {
did -c $dname 1 %fixsel
inc %fixsel
}
dec %fixsel
did -c $dname 1 %fixsel
}
did -ra $dname 9 Cancel Edit
did -era $dname 3 Fix It
clear.search
}
;---------------------------------------------;
;--[RANDOM/CANCEL EDIT/CANCEL SEARCH] BUTTON--;
;---------------------------------------------;
else if ($did == 9) {
if ($did(9) == Random) {
msg $active 14-12¥14-S-Quote14-12¥14- 12R14andom12: $read(quote.txt)
}
else if ($did(9) == Cancel Edit) {
did -ra $dname 9 Random
did -r $dname 6
did -era $dname 3 Add
}
else if ($did(9) == Cancel Search) {
did -ra $dname 9 Random
did -era $dname 3 Add
did -r $dname 6
refresh.Quotes
clear.search
}
}
;-------------------;
;--[SEARCH] BUTTON--;
;-------------------;
else if ($did == 10) {
did -ra $dname 9 Cancel Search
did -bra $dname 3 Add
if ($did(6) != $null) {
clear.search
search.Quote
did -ra $dname 11 Results Found: $lines(searched.txt)
}
else {
search.Quote
did -ra $dname 8 Search for what?
did -ra $dname 11 Results Found: $lines(searched.txt)
}
}
}
;-------------------------;
;--[DOUBLE-CLICK EVENTS]--;
;-------------------------;
on *:dialog:quoteDialog:dclick:*: {
if ($did == 1) && ($did(9) == Random) {
msg $active 14-12¥14-§-Quote-12¥14- 12 $+ $chr(35) $+ 14 $+ $did(1).sel $+ 12: $did(1).seltext
}
else if ($did(9) == Cancel Search) {
msg $active 14-12¥14-§-Quote-12¥14- 12S14earched12: $did(1).seltext
}
else { halt }
}
;------------------;
;--[MOUSE EVENTS]--;
;------------------;
on *:dialog:quoteDialog:mouse:*: {
did -ra $dname 12 Active Window: $active
if ($did(9) == Cancel Search) {
did -ra $dname 11 Results Found: $lines(searched.txt)
if if ($did == 3) { did -ra $dname 8 Adds what is in the edit box to the quote file. }
else if ($did == 9) { did -ra $dname 8 Click to Cancel your Searching. }
help.info
}
else if ($did(9) == Cancel Edit) {
did -ra $dname 11 Total Quotes: $lines(quote.txt)
if ($did == 3) { did -ra $dname 8 Add your corrected Quote }
else if ($did == 9) { did -ra $dname 8 Cancels quote editing. }
help.info
}
else {
did -ra $dname 11 Total Quotes: $lines(quote.txt)
if ($did == 3) { did -ra $dname 8 Adds what is in the edit box to the quote file. }
else if ($did == 9) { did -ra $dname 8 Shows a random quote to active channel. }
help.info
}
}
;-------------;
;--[ALIASES]--;
;-------------;
alias clear.search {
while ($read(searched.txt) != $null) {
write -dl1 searched.txt
}
}
alias delete.Quote {
var %delfind 1
while ($read(quote.txt,%delfind) != $did(1).seltext) { inc %delfind }
write -dl $+ %delfind quote.txt
if ($did(9) == Cancel Search) {
var %delfind 1
while ($read(searched.txt,%delfind) != $did(1).seltext) { inc %delfind }
write -dl $+ %delfind searched.txt
}
}
alias help.info {
if ($did == 1) { did -ra $dname 8 Double-Click to display on active window. }
else if ($did == 2) { did -ra $dname 8 Closes the dialog. }
else if ($did == 4) { did -ra $dname 8 Deletes a selected quote from the quote file and list box. }
else if ($did == 5) { did -ra $dname 8 Allows you to edit a selected quote. }
else if ($did == 6) { did -ra $dname 8 Enter you quote here. }
else if ($did == 10) { did -ra $dname 8 Searches for a quote entered in the edit box. }
}
alias refresh.Quotes {
loadbuf -ro quoteDialog 1 quote.txt
did -ra $dname 11 Total Quotes: $lines(quote.txt)
did -ra $dname 12 Active Window: $active
}
alias refresh.Search {
loadbuf -ro quoteDialog 1 searched.txt
did -ra $dname 11 Results Found: $lines(searched.txt)
did -ra $dname 12 Active Window: $active
}
alias squote { dialog -vmd quoteDialog quoteDialog }
alias search.Quote {
var %search 1
while (%search <= $lines(quote.txt)) {
var %look $read(quote.txt, %search)
if ($did(6).text isin %look) {
write searched.txt %look
}
inc %search
}
loadbuf -ro quoteDialog 1 searched.txt
did -r $dname 6
}
alias select.Quote {
var %selfind 1
while ($read(quote.txt,$lines(quote.txt)) != $did(1).seltext) {
did -c $dname 1 %selfind
inc %selfind
}
dec %selfind
did -c $dname 1 %selfind
}
UPDATE: I found a small problem with the delete button. The problem was that if you clicked the delete button while you selected the LAST quote in your LIST BOX, then it would clear the list box completely and it would look as if you lost all your quotes, but they are still there. I just forgot to call the refresh.Quotes alias.
I guess i should have said how to use it. To use Search enter what your looking for in the edit box then click search. You don't have to put anything in the Edit box, but if you don't, all you will see is a blank list box. IF you put something in the Edit box, then if any results are found, then it should write them in the searched file and display that. Hope that help. ._.