#--------------------------------------------------------------------------------------------------------------
# Show Changelog
#--------------------------------------------------------------------------------------------------------------

use strict;
use warnings;

sub show_changelog {
	my $cl_txt =
	
"4.0 RC7
* Added block rename
* block rename can grab its filenames direct from ed2k links
* fixed .. problem (just not folder icon atm but meh)

4.0 RC6
* Disable regexp option no longer stops directory from listing.

4.0 RC5
* added path detection to solve lib errors in linux
* listing is now sorted case insensitively
* filter now applies to dirs as well
* .. wasnt shown in dir listing if filter was enabled, fixed.

4.0 RC4
* dots2spaces wasnt working correctly with underscore set as space delimiter
  fixed.
* Fixed previous version typo.
* improved general cleanup yet again (wasnt properly cleaning if space delimiter
  was anything but space).
* added some more tags to rm words list
* manual rename updates the original filename when apply is pressed.
* rm words wasnt correctly working on directories (fixed).
* was still using \$_ instead of \$file in some places in fixname.pm (fixed)
* When renaming directories general cleanup and rm words now work as expected.

4.0 RC3
* space delimiter option stopped working correctly fixed.
* optimized general cleanup regexps for orphaned brackets.

4.0 RC2
* post general cleanup wasnt catching extra whitespaces, fixed.
* manual rename gui updated.
* upon closing manual window, directory is relisted

4.0 RC1
* fixed glitch with manual rename, where after renaming wrong file was passed
  to manual rename sub.
* added alot more international char converts, thanks to Mauro J. Jaskelioff
* Improved guess tag routines
* tags were not being displayed in correct columns, fixed
* removed .? from begining and end of url pattern, was removing . before ext
* save window size checkbox will remain ticked if user saves window size.
* improved general cleanup regexp's
* sp casing regexp now catches words @ with _ or . surrounding it
* Added International character �to casing regexp was allready in International
  support.
* Updated Spaces regexp
* optimized pad w zeros regexps (reduced regexp lines by 50%)
* Overhauled truncate to code, much smaller and efficient

3.95
* fixed file icons not displaying after rename
* updated tool tips (more straight forward etc).
* Optimized general cleanup regexps as well as add support for different space
  delimiters.
* All options should fully support and recognize space _ and . as space chars.
* right click on hlist now selects item under it (been trying to figure that out
  for ages.
* Added new padding option (yes I know feature freeze n all), it puts an x
  between what it belives to be season and episode numbers.
  ie: 101 -> 1x01, 0911 -> 09x11 etc
  for extra safety it will not do this on 4 digit numbers that start with 19
  or 20 to avoid mistaking dates.
* added notv to kill word list
* added nl to url matching regexp
* added SG-1 to spec word casing list
* pad NxNN with 0 wasnt matching files with . or _ for space delimiter, fixed

3.9b
* added fqm and tcm to rm words
* spacer put between dir contents when listing recursively
* fixed .. and ../.. showing up in dir string :)
* cd for recursive listing seems to be working (not sure what I did).
* removed some orphaned variables
* bookmarking network paths now work properly
* truncate was still reading max file length not truncate to, fixed
* adjusted width of input boxes on truncate tab
* removed debug print statements

3.9a
* guess mp3 tags is done through a sub, easier to update
* shifted all global variables to their own file
* turned off warnings on main script
* clear button clears the neccesary string entry boxes and check boxes
* truncate to has its own variable - save enabled.
* settings file no longer changes with version number (settings frozen)

3.9
* manual rename supports genre and year tags.
* manual rename will show id3 tags regardless of mp3 display mode.
* fixed error with manual rename not displaying.
* option to set genre for all mp3s processed - done.
* option to set year for all mp3s processed - done.
* id3 write and read functions now support genre and year
* combo box with genre selection for mp3 tab
* renamed padding options, much more self explanitory now.
* id3_mode defaults to off now.
* rm chars now also removes ()
* set all mw button mouse over colours to white, some ppl didnt like yellow :(.
* tidied help menu up.

3.7
* added beginings of id3v2:
|- write_tags writes info to both id3v1 and id3v2 now.
|- To save alot of hassles (for me and the end user) namefix.pl will always
|  favour id3v2 and will write both tags all the time from 1 set of user inputed
|  or guessed tags.
|- If v1 or v2 tags are incomplete and can be filled in from the other they will
|  do so automatically.
|- added options to remove id3v1 and id3v2 tags.

* bookmark menu no longer jumps around.
* blank lines in hlist are no longer set as directorys

3.6b
* all modules have strict and warnings enabled.
* fixed double listing on start.
* fixed redraw error when toggling id3 mode.
* fixed file icons not being displayed in non id3 mode
* filter has option of being case sensitive.
* addition of match filter cmd to code.
* padded filter button
* changed tooltip for insert chars on truncate tab (better explanation)
* code cleanup (use scrolled instead of creating scrollbars)
* removed right click menus from edit lists/ bookmarks dialogs.
* Renamed some main options to simpler names.

3.6a
* bookmarks now update, menu will shift place on update (still wip)

3.6
* turned on strict in main script, slowly doing modules 1 by 1.
* properly declared some varaibles.
* can select by excel style filter
* filter supports regexp

3.5.3a
* aligned track entry in manual edit
* directories listed first in non recursive mode.
* .. now shown in recursive listing mode.
* maximum file name length can be set from truncate tab as well as preferences.

3.5.3
* id3 support added to manual renaming
* guess_tag function created for easy updates to file patterns.
* can guess tags when using manual rename
* can cd into directorys by double clicking them
* can cd to higher directory by double clicking .. entry, .. is only shown in
  none recursive list mode.
* hlist has beginings of a right click menu, atm only manual edit is done.
* removed right click menus from most RO txt dialog boxes.
* aligning main tab contents a lil better

3.5.2
* overhauled dir.pm
* directory listing is working properly, no more double ups
* list will list entire dirs contents (all files)

3.5.1
9:21 PM 8/08/2006
* manual renaming works sweet now.
* set all txt widgets to ro

3.5a
* added basic file icons to hlist
* removed Pathentry due to display issues when console is disabled.
* started support for manual renaming.

3.5
2:54 PM 7/08/2006
* updated about box layout, tested in linux, adjusted default fonts.

2:01 PM 7/08/2006
* all fonts use are declared by variables, editable in fonts.ini
* renamed all config files and lists to neater names.

6/08/2006
* went through and manually formatted all the code, takes up more lines but is
  very easy to follow now :).

3.2.14
7:19 PM 4/08/2006
* now use the OS's native getdir dialog, instead of tk 1

3.2.13
3:52 PM 4/08/2006
* add bookmarks feature, can add/ del/ edit (after add/ delete prog needs to be
  restarted for new bookmarks to show up).
* removed option advance, replaced with option cleanup
* aligned tabs in main window.

3.2.12
3:52 PM 3/08/2006
* set dir ent to use / on windows
* comments are cleaned up
* added 2 more mp3 name formats for tag guessing.

3.2.11
11:56 PM 1/08/2006
* added options for setting comments, comments wont be tidied at this stage,
  I cant see any need for it.
* added (\[[a-f0-9]*\]) to pattern list, gets common md4 tags seen in bt files

3.2.10
8:48 PM 1/08/2006
* updated gui, so that *most* conflicting options cant be set
* each main tab has a lil label uptop.

8:14 PM 1/08/2006
* tidied up the fixname chain, which fixed uc/lc all.

3.2.9
5:16 PM 1/08/2006
* user can manually set artist & album tags on any mp3s that will be processed

1:13 PM 1/08/2006
* added mkv to file ext's
* added vtv, dsr

3.2.8
12:43 AM 1/08/2006
* what a pain in the arse, ran into rendering probs with dynamic tabs - would
  work fine until compiled to exe, had 2 use place to manually set size.
* added tab completion to dir input box.

10:13 PM 31/07/2006
* used dynamic tabs to shift all renaming options to main window, huge
  improvement I feel.

3.2.7
5:33 PM 31/07/2006
* Added option to save window size and position, very handy.

3.2.6
10:08 PM 30/07/2006
* added option to overwrite pre-existing tags when using \"guess id3 tags\"
* added guess id3 tag from filename support.

3.2.5
5:16 PM 30/07/2006
* Uc 1st char of id3 fields (art, tit, alb) when casing is turned on
* sorted id3 vars out (werent being cleared on start of new file).
* destroy dir dialog before listing (stops gui lag on dialog).
* updated includes for benifit of pp compiler
* fsfix wasnt been turned on automatically for win32, fixed.

3.2.4
3:17 PM 30/07/2006
* id3 working fine, next step is id3v2
* id3 tag writing enabled, added counter to keep track of id3 writes.
* id3 tags are cleaned up when running - no writing as of yet.
* removed txt both width n height settings from prefs (no longer needed).
* prefs cleanup.

3.2.3
5:26 PM 29/07/2006
* set dif dialog fonts for win32 and linux
* fixed typo that caused filename,filename output.

3.2.2
2:50 PM 29/07/2006
* can toggle id3 mode, option is saved etc.
* improved rm words, looks inside brackets
* improved cleanup routine.
* when casing is enabled, 1st letter of each filename will be uc, over riding
  specific casing option.

3.2.1
* using single hlist instead of txt box now
* reading/ displaying of id3v1 tags supported (no writting yet).
* resizing works pretty much like a normal windows app now.

3.1 beta 1

* truncate works properly again
* can specify what character/s (if any) u would like to use for instertion of
  middle of file when using truncate from middle style.
* fixed typo in about dialog finally :P
* directory is listed automatically on open and when selecting from dir dialog.
* fixed about dialog size problem :)
* discovered uri wasnt always working, inspected and couldnt work it out. So I
  wrote my own string escaping routine and it seems 2 work a charm.

3.1 beta
3:52 AM 23/07/2006
* got image working correctly with pp (major arsing around).

2:49 AM 23/07/2006
* added my mugshot to about dialog :)

12:54 AM 23/07/2006
* organized and cleaned all up all variables *phew*
* justified text in main in options window.
* changed routine for clear button, only clears input boxes & related check boxes.
* uses config file with version number in filename, easy way to introduce new
  options. No need to check what version config file is anymore or worry about
  conflict old/new option names.

3.0f
10:32 PM 22/07/2006
* can set amount of zeros for enumerate to pad to.
* updated win32 build script, wasnt including tk::spinbox for some reason
* did some work on options sorting out vars (major headace).
6:34 PM 22/07/2006
* update all modules to reference main vars correctly.
* removed items from config file that arent ment to be saved.

5:30 PM 22/07/2006
* adjusted fonts on all txt windows.

2:12 PM 22/07/2006
* turned all external scripts to basic .pm's

3.0e
8:34 PM 20/07/2006
* split of some routines from the main script, using do atm, will make
  proper libs when I find out how again :P.
* escape strings from spec casing, kill word list.

3.0d
12:50 PM 20/07/2006
* older version of config files are detected and updated.
* resizing text boxes updates in realtime.
* merged some options in config dialog & config gui cleanup.

3.0c
12:51 AM 20/07/2006
* added option to set height, and Ive learn how to use spin boxes :)
* regexp is disabled in rm words options, can be enabled under advanced.
* it is now safe to use special characters in specific casing list.

3.0b
9:43 PM 10/07/2006
* Cleaned up gui, shifted some less use options to preferances dialog
  should look better in linux mode now.
* can set width of txt feild in preferences under advance.

3.0a
1:58 PM 10/07/2006
* improved killword matching
* U can manually change width of txt boxes by editing config file.
  (seems grid geometry manager doesnt allow for widget resizing atm.)

3.0 Final
2:46 AM 18/06/2006
* decided RC3 Internal was fine for 3.0 Final release

3:01 PM 16/06/2006
* console is hidden in win32 (looks alot more professional).
* pad NxN option was not being saved.
* added \"hdtv, tv, ac3, dvdscr, hdrip, dvd, dvdscr, Sharevirus\" to RM word
  list.
* post general cleanup removes childless brackets

3.0 RC2
2:50 PM 15/06/2006
* added case option to preferences
* option location & names changed again, more user friendly
* fixed bug where unscene option was being saved to file (not intended).

3.0 RC1
11:46 AM 14/06/2006
* added option to truncate from the middle of filename.

5:22 AM 14/06/2006
* Redesigned preferences with tabs.
* moved petty todo's to known issues (no need to fix for 3.0).

2.99b
8:21 AM 13/06/2006
* Discovered that tk / utf-8 prob is gui only, while u may see shit like below,
  rest assured the filename is written correctly.
  Scrubs - 05x22 - My D��Vu, My D��Vu.av
  Scrubs - X - My D?j? Vu, My D?j? Vu.avi

7:35 AM 13/06/2006
* added to international character list
* made rm words match better
* removed old/hidden options from cli version
* cleaned up fixname.

3:16 AM 13/06/2006
* moved RM pattern up in chain, added () and [] to patterns.
* added \'at\' and \'are\' to specific casing list.

3:08 AM 12/06/2006
* Padding of NxN rms extra 0's and also does SxE now.
* FS Fix enabled by default for win32 os's
* misc menu and gramar tidy ups.
* enum and proc dir work together properly now.

2.99a
7:07 PM 11/06/2006
* Improved regexp for pad digits.
* Added option to pad NxN with zeros.

2.99
2:14 AM 8/06/2006
* Cleaned up prefs menu again
* Added options truncate & maximum filename length.

2.987b
5:18 PM 7/06/2006
* Improved rm word matching (will not for eg rm rns from Burns, but will remove
  rns when not part of a word).
* corrected about txt
* added rns to rm words
* added removal of - @ front of filename to general post cleanup routine.
* Added Scenify option
* relocated un/scene options to top of chain
* optimized refresh display while running
* added options max filelength & truncate. Configurable but not usable yet.

2.987a
5:25 AM 7/06/2006
* Fixed prob with pad digits & unscene.
* wasnt autoscrolling after summary was printed.

2.987
5:12am 7/June/2006
* Text boxes scroll when listing/ renaming.

2.985
4:23am 7/June/2006
* added new option to specify default file types to process.
* listing works recursively now as well.
* GUI no longer lags when listing / running (became really noticable with
  recursive mode enabled).

2.98a
12:48am 6/June/2006
* More GUI tidy ups.
* Adjusted default specific word casing array

2.98
11:18pm 6/June/2006
* menu tidy ups.
* added recursive option to gui finally
* few engine tidy ups to support recr/proc dir better.
* few default settings fixed, pad - was 1.
* Improved regexp for removing - - occurences.

2.97
12:15am 5/June/2006
* Rm'ed space to _
* Rm'ed _ to space
* Added spaces option - space delimiter configurable in prefs.

2.96b
11:14pm 4/June/2006
* clear buttons, clears then reloads saved defaults.

2.96a
8:42pm 4/June/2006
* Fixed small prob with removing duplicated -'s

2.96
7:42pm 4/June/2006
* Option in preferences to unscenify Season Episode numbers
* Option to pad numbers with - in prefs.

2.95a
6:33pm 4/june/2006
* fixed small error with padding - (was on all the time).
* removed rm brackets & a_style from code (was obselete).

2.95
5:46pm 4/June/2006
* Can now save current options as defaults in preferenes dialog.
* Removed before and after tooltip on main window.
* enum now has 3 selectable modes
* enum has option to pad N with 0's
* padding - with spaces is now an option
* locked window size on all dialogs.

2.94a
3:56am 4/June/2006
* Swapped FAT32SUCKS tmp ext to FSFIX
* Begining of preferences dialog.
* Renamed settings menu to Edit lists.

2.94
11:44pm 3/June/2006
* Window size frozen (didnt resize properly anyway).
* Default Pattern list updated by John Tibbs, should make urls in Word list
  unneccesary.

2.93a
11:40pm 29/May/2006
* misc typo's / minor updates
* added , to RM char list

2.93
11:24pm 29/May/2006
* Fixed error when using Spaces to _
* Removed 2 patterns from default list (can always re-add them youself).

2.92d
9:58pm 29/May/2006
* Started experimental support for emule downloads good chance it wont make 3.0

2.92c
5:00pm 29/May/2006
* Cleaned up messages to user.
* Minor gui code cleanups.
* Removed func RM Brackets and replaced with RM Chars.

2.92b
1:13pm 29/May/2006
* Removed option RM brackets and replaced with RM Chars.
* Added Thanks / Greetings Dialog.
* Added Links dialog.

2.92am
~3am 29/May/2006
* Properly fixed Specific Word Casing, THANK FUCK, dont code while tired and
  off your face ;)

2.92
1:18am 29/May/2006
* Add changelog Dialog.
* Fixed Problem with casing list, Order words in casing preference.
  ie \"and\" before \"- And\", last casing rule applies to all.
* Cleaned up srl_y2 warning.
* Updated tool tips with better explanations.
* added inbuilt todo list, hopefully encourage contributors.

20/12/2005
* Major code work has been done using perl/tk with new GUI underway
* Too many improvements to list! See code base.

24/3/2005
* Added option R
* Added option P sometime before to, forgot to make note.

13/1/2005
* Recursive option was broken, fixed.
* Added option P to remove frequent patterns

20/8/2004
* Added unofficial feature Kill common words, switch is K

24/4/2004
* Fixed fat32 renaming problem for good, if u use F switch now it should rename
  correctly and safely :)

22/4/2004
* File ext to lower case routine could match whole file if it had a dot in the
  filename, eg:
  -\> 07 - V.C. \(Gloria Domini\).mp3
  \=\> 07 - V.c. \(gloria domini\).mp3

21/4/2004
* Prevent this from occurring filename..ext
* Found problem, 1st becomes 1St FIXED

13/4/2004
* Small fixes to make the script work more like u expect it to when using the
  kill word switch. Also tidied up code a lil.

?/8/2003
* Decided to finally get of my arse and resume work on my script complete tidy
 up in progress. Drivel: I did actually write a new version with id3 support
 and many other nice features in 2002, but never actually released code. The
 file was lost in a tragic hdd accident and well that successfully de-motivated
  me until today :)

?/4/2002 - Douglas
* Added -p (change + to _)

5/4/2001 - Douglas
* Added -d (digit-kill)
* Some code-tiding
* Increased version-nr. to 1.3

25/1/2001 - Douglas
* The long awaited Scandinavian-char-support :)

7/1/2001 - Douglas
* Killed lil bug (didn't \" .mp3\"->\".mp3\")
* Some casings added (e.g. DNA and XXX)

18/11/2000 - Douglas
* Added history
* Option parsing
* Put all word-specific upper/lower-casing under extra option
* u/c first character of Artist/Title
* Removed \"And/and\" thingy
* Smaller changes
* un-broke int(e)r_char *g2Mem*

6/11/2000
* Released 1.2

31/3/2000
* Released 1.0

1/3/2000
* Released 0.90b
* Probably lots more :P
";

        my $top = $main::mw -> Toplevel();
        $top -> title("Changelog");

        my $top_lab = $top -> Label(
        	-text=>"Changelog for Namefix.pl $main::version",
        	-font=>$main::dialog_title_font
        )
        -> grid(
        	-row=>1,
        	-column=>1,
        	-columnspan=>2
        );

        my $txt = $top->Scrolled(
        	"ROText",
        	-scrollbars=>"osoe",
        	-font=>$main::dialog_font,
        	-width=>80,
        	-height=>25
        )
        -> grid(
        	-row=>2,
        	-column=>1,
        	-columnspan=>2
        );

        $txt->menu(undef);
        $txt -> insert(
        	'end',
        	 "$cl_txt"
        );

        my $but_close = $top -> Button(
        	-text=>"Close",
        	-activebackground=>'white',
        	-command => sub {
        		destroy $top;
        	}
        )
        -> grid(
        	-row=>4,
        	-column=>1,
        	-columnspan=>2
        );

        $top->resizable(0,0);
}

1;


syntax highlighted by Code2HTML, v. 0.9.1