changes: +rehaul scrambles +scramble plugins +gui overhaul --> more details options +add gui options to create a selectable/copy-able label (non-editable jtextarea) +timer going negative (as a result of fullscreen feature) fixed +glue component implemented +update contrib folder +fixed a bug where parseXML_gui() was getting called twice upon startup +cleaned up the un-integrated timer panel, removing it from the grid layout, added corresponding configuration options +cannot load "defaults.properties" anymore (intentionally) +borders on selectablelabels +packing is resizing the scramble popup - FIXED +hitting save to exit configdialog enables keyboard timing - FIXED +fullscreen only with stackmat? +BUG: deleting times with delete key will eventually pop up a message saying "are you sure you wish to remove null?" +time label border coloring when using stackmat +editable jlist of times! +fix RAW time +fixed bug where "::::" and related would be valid times +jtextfield context menus -> full :( Substance 4.1 +fixed bug where editing time invalidly and then starting to edit another --> index out of range exceptions +fixed bug where editing time would generate new scramble +fixed bug where adding new time would not use existing scramble +metronome -> implemented (should probably find a better click sound) +profiles +configurable font for the timelabel w/ reset to default timer font (fullscreen bug fixed!) +square-1 scrambles! +fixed bug with sizing of right hand side time list! (esp when times wrap) +MUST use full substance, lite versions break the laf select_on_focus keys +Ant==BEAUTIFUL compiling to fix problems I've been having with eclipse? (deleted contrib folder) +in configDialog, color labels are NOW opaque (Substance changed this) +allow exporting scrambles gui access to scramble attributes (not necessary, just use cct gui) +BUG: fixed when loading scrambles after using cct would not work for the first scramble +clean up square one code (specifically appending to the scramble as it's created) +rigorously test square 1 scrambles! (use jaap's for importing) +graphics2d to fix megaminx alignment issues +fixed bug where loading megaminx scrambles wouldn't work +scramble 1 scrambles now show state of the middle +synchronization error with loading/saving config files +CopyOnWriteArrayList used instead of AWTEventMulticast +bug with configdialog mnemonics fixed +configdialog now opens last tab when displayed +JListMutable - move the adding stuff down into it! +you can now create your own type of scramble, useless now, but will be very powerful in the near future with logging +custom jcombobox renderer for scrambles +got rid of save as button since we now have profiles with their own configs +jlistmutable - deleting multiple doesn't select addtext +run from outside of folder! +error messages for incorrect version of java/other problems during loading screen (note that in faq: "Could not find the main class. Program will exit." most likely means incorrect version of java +best average field inside server? +integrate new sunday contest w/cct +how many mail options are needed? authentication/tls? +sending should have a dialog with cancel button +megaminx pochmann style changed into a variation +make color selector "scrolling savvy" +fixed newlines with exporting statistics +configuration rehaul: +capitalization standardized! like java, UpperCamelCase for "classes", lowerCamelCase for variables +configuration rehaul to use VariableKey's instead of old verbose solution +configdialog.java I got lazy with resetting stuff, so i best do this // TODO MERGE ABOVE METHOD AND BELOW METHOD!!! +cct remembers focused component after gui change +remove editablejcombobox, and switch to a jlistmutable within configdialog +save all scramble lengths to file +save profile ordering, just like with custom scramble types +standardize the terms: scramble type, puzzle type, etc... ===> ScramblePlugin, ScrambleVariation, and ScrambleCustomization +create a Class wrapper, and do all the nasty stuff in there +switched from JListMutable (crap) to a custom JTable subclass I wrote (better powerfulness) +request new scramble button? not in gui by default. +switching scramblecustomization is allowed (without message) so long as scramblevariation is unchanged +improve the gui for custom scramble types +add a reset scramble length button +the scramblecustomization editing doesn't start until after releasing the mouse +fix server scrambles +use ScramblePlugin to finish scramble debugger +tweaked the scramblecustomization editor gui +gui sizes itself too small by default - FIXED by adding to customizable gui, FIXED resizing issue, too +don't allow connections to old servers +don't accept connections to old clients +command line argument for profile +recreate the green and red buttons, and antialias them this time! +scramble placeholder / n00b scrambler +add configuration option for stackmat sampling rate +dual monitor support for fullscreen +force aspect ratio of scramble view (done after the scramble image is updated), also will increase size to minimum if necessary +server scramble loading behavior decided +scramble placeholder must use the actual attributes of the scramble +dtds for xml files +keyboard stackmat feature (adam zamora's idea) +server scrambles needs link to load +behavior when receiving identical averages +replaced TableSorter with built in functionality +CCTClient title will revert to normal after focus is regained after receiving a message while unfocused +addTime will scroll to show the input box if it's hidden +added support for multiple RASizes +be able to import a list of scrambles by copy/paste +add null scramble to replace scramble strings +BUG: default sizing of gui is NO LONGER bad! also got rid of the nasty xmlgui jscrollpane stuff in endelement +BUG: clicking a link when you are scrolled down NO LONGER has bad behavior +BUG: fullscreen timing broken by hiding of scramble popup (TODO in ScrambleArea.java) +hiding of scramble popup fixed (behavior w/ config & null scrambles) +add xmlgui option for showing scramblepopup +expand jtable of times to include {current, rolling1, rolling2} average column +test out jsplitpane xmlgui stuff +sent modified sunday contest to jon morris (emailed on 2/22/08, uploaded on 2/24/08) +escape will release all keys we think are pressed, this allows an easy fix to the alt+spacebar problem +to fix this problem: "add gui option (disabled by default) to maintain focus whenever possible" +added configuration option (enabled by default) to prevent buttons and checkboxes from stealing focus +updated to substance 4.2 -> had to modify solvetimerenderer to fix minor bug introduced by new substance +issues with ant build.xml have been resolved (previously, it didn't include the jfontchooser, source code line numbers, or compile scrambleplugins) +dynamic string can now access the configuration directly ($$configuration_...$$) +add undo-redo buttons (for times and scrambles) +icons on scramble choices, just specify a *.png file in the plugins directory (http://whiskeyfire.typepad.com/whiskey_fire/2006/12/index.html) +added jtabbedpane to xml gui +added clock component to xml gui +enter button can now be used to start the timer +create a jtable class (draggablejtable) that will remember enabled columns, widths, ordering, and sorting +imported scrambles message no longer appears for server scrambles & old session scrambles +scramble popup now hidden when null scrambles imported, and scramblelength disabled +fixed bug where creating new scramblecustomizations would screw up their variation's lengths +profile ordering should be constant across profiles +can't create new profile from addtext repeatedly +fixed renaming profiles, including the current profile +gui layouts remember stuff like jsplitpane location and jtabbedpane selection in a (kinda) general fashion +add properties option for delay between solves +logging to xml database for each profile +comments on sessions and scrambles +add dynamic string stuff/actions for puzzledatabases +deal with unrecognized scramblecustomizations, and renaming customizations! +update global stats upon scramble customization selection +progress time (dynamicstring) was broken +fix nick's bug (DNF as best time for a scramble customization) +added a 15 second countdown option as in the WCA regulations +added option to have cct read times to you +fullscreen timing is broken again! +fixed bug with compareTo() for SolveTimes, also DNFs and POPs are represented as Double.POSITIVE_INFINITY rather than Double.MAX_VALUE +add configuration option for talking with countdown +fixed bug where double clicking a session wouldn't open it if the first column wasn't the date +profiledatabase now does some simple caching, which should improve performance of the sessions table +addtime button now does nothing if timestable doesn't have focus +fixed a bug where loading with an empty time would give a box for the session average, fixed by having new instances of statistics default to 0 for their average +fixed discrepancy between the definition of cdef in cct and the wca regulations +added dtd for the xml database files +BUG: sorting of session table wasn't working for times over a minute, fixed to use solvetime's comparator +deleting of sessions and picking new sessions now makes more sense +BUG: broke customization selection in the sessions table +BUG: deleting current profile wasn't working, now fixed +create recent history jtextfield for connecting to chat servers & downloading scrambles +create send to profile context menu option for sessions +fix square-1 scrambles (http://www.worldcubeassociation.org/regulations/scrambles/scramble_square1.htm) +stackmatinterpreter now does things in stereo, hopefully this will get cct working on many more computers +the timer panel stuff has been cleaned up, removed the annoying status light and the unintegrated timer +BUG: enabling and disabling keyboard timer doesn't change integrated timer border properly +create a countdown for use with stackmats +megaminx scrambles now use U/U', possibly format with newlines? (http://www.worldcubeassociation.org/regulations/scrambles/scramble_megaminx2008.htm) +splits are now saved to database +added table columns for comments, and improved behavior of the comment are +formatTime() in Utils.java modified to round to 2 decimal places before formatting, fixes this: (26.05, 31.25, 24.38, 36.68, 23.88, 29.31, 27.80, 33.61, 32.19, 53.61, 27.75, 29.13) +change big cube scrambles to use new wca notation (Rw instead of r) +merge session stats dialog and average stats dialog w/ dynamic string +scrambleplugins are now secured! No policy file for plugins. there are configuration options to allow them to run unrestricted/untimed +test out security! how to deal with infinite loops, or sucking up of system resources? (timeout after 1000 milliseconds) +fix stackmat inspection when the stackmat gets turned off (inspection now has its own rendering timer) +clean up all critical TODOs scattered throughout the code +save DNF/POP times to database, and reconstruct them w/ raw time +add option to control the font size of the statsdialog +sqr-1 scramble size grows as cct starts and closes, fixed by saving each variation's unit size to configuration, rather than the popup's dimension +fixed bug with addtime, the replaceAll() was turning all characters into "." +fixed bug where stackmat left hand and right hand buttons were stuck on +internationalization (xmlgui, source code, scramble plugins, font dialog, browse dialog, color chooser, documentation, about?) https://native2ascii.dev.java.net/ http://www.famfamfam.com/lab/icons/flags/ http://beradrian.wordpress.com/tag/i18n/ http://java.sun.com/docs/books/tutorial/i18n/intro/index.html http://www.eclipse.org/articles/Article-Internationalization/how2I18n.html +make comment column editable for timestable & sessionstable +fix session highlighting in table (now covers entire row) +reset persistent component's attributes before parsing gui +massive cleanup of ScrambleViewComponent's handling of colorschemes, uses color array rather than hashmap +moved a bunch of code into ScrambleFrame to handle its visibility +scramble class is now instantiable/deleted nullscramble class +BUG (fixed): fullscreen while timing w/ stackmat is producing a ton of windows +Scrambles: clicking on a color is very pretty +Scrambles: setAttributes() is now secured +ScrambleList changed to hold strings, which allowed me to remove the imported boolean from the Scramble class +htmlify secured by turning it into a public static final method and removing it from Scramble.java +the tooltips & scramble popup title (possibly more) are now being updated +translated ALL swing properties (still cannot figure out the close, maximize, and iconify tooltips) +don't recreate fullscreen frame unecessarily +SECURITY concern: scramble plugins cannot modifying other scramble plugin's final arrays (because they are now private) we use reflection to access those fields +keyboard timer display now more indicative of the current state of the timer +move persistent gui components into a hashmap +added a bunch of reset buttons to config. dialog. +cct saves gui state before changing language +turn stackmatsamplingrate into a jspinner +get pack()-ing to work (the split panes aren't showing up in the same place on gui switch) +jnetcube.xml looks diff when loaded 1st vs switch to (& jspinner's are squished when using stackmat) +clean up cct startup as best as possible! +decide upon default startup layout +gui minimum size is being enlarged by the menu +added tooltips to the timestable and sessionstable, currently shows the solve/session comment +importing scrambles is fixed +fixed bug with the ordering/saving of scramble customizations +worsttime in dynamic string is broken, it should ignore infinite times, worstTimeOfCurrentAverage should also properly format POP or DNF +fixed bug with highlighting the current session's row +can no longer delete scramble customizations until they are completely removed from the database +fixed bug w/ database & pure infinite times +waiting cursor on databasing stuff, it can take a while w/ large db +update defaults.properties file, FAQ (esp: new stackmat options, database, & scramble plugins & customizations) +include documentation of the DynamicStrings & update link from showDynamicStrings() in ConfigDialog.java +BUG: titled borders are not anti-aliased (substance bug!) fixed w/ AABorder.java +add color options to font choosers +restore focus to timer after right clicking time +fixed sunday contest, added javascript validation (emailed jon morris 7/14/08) +added "details" button to the server response dialog +copy by double click for scramble field +improved shutdown of cct, test command q with os x (dan cohen) +split screen scramble (accessible via right click or configdialog, lucas garron) +dan cohen's big big cube notation +mean of 3 instead of average +associate scramble customization w/ RA 0 & RA 1 (unaffected by reset all) +minimum size of timer display is FIXED! +added wide notation option to cubescramble plugin +tags for solves? possibly by expanding functionality of pop/dnf/+2? +add draggable jtable to config dialog +add column to timestable? +add profile chooser to bottom of configdialog +java -cp CALCubeTimer.jar net.gnehzr.cct.umts.cctbot.CCTBot irc://localhost#hiya +get cctbot to run w/o configuration +create dist target for cctbot +create small diagnostic problem that will dump relevant info to a file (java version, os, etc.) = cct-diagnostics.jar +irc stuff done! +cleanup remaining todos in irc files +saxparseexception for not finding gui component type in xml gui (startElement() in cct.java), how strict to be with errors in xml files? changed to system.err +fixed bug where changing the profile wouldn't update the stackmat onlabel +remove non-nls stuff +cct now sends incremental solves in the current average +horizontal scrolling fixed, scricter line wrapping implemented +fixed bug when cct users change their nick +bugs with parting chat channel and reconnecting have been fixed +cct now properly sends state upon connecting to the server +search as you type functionality added for URLHistoryBox +Nickname autocompletion added. +fixed bug where people joining a channel wouldn't show up on the right hand side +fixed bug where others joining/leaving a channel would break cct stats transmission +fixed /cctstats command (had to remove an assertion) +fixed bug with \n to
escaping +nickname autocomplete changed to colon from comma +fixed ​ bug with copy paste +fixed bug where statusbar wouldn't update when typing "/part", then closing the window, and reconnecting wouldn't work +analyze possible performance issues with cct/irc +rewritten with speed in mind, esp: created custom jtextarea subclass that does links & coloring +colors/formatting are stripped from incoming messages +command line option & command to set the one character prefix added to cctbot +scramble debugger fixed (token regex, attributes, scramble length, generator group support added) +instructions for using the debugger added to readme.html +added scramble customization choice to undo-redo list +fixed bug with cctuser names being prefixed with "null" +fixed bug with /me messages not being sent properly +fixed bug with autocomplete and % prefix +the current times of users is kept by the clients, rather than by spamming the comm channel with times +dynamic string multiple argument format +develop better solution for installed.properties (replaced with language_*.properties) +about.html: add a blurb for version 0.9