Hans Prestige Visual IRC
Visual IRC
   Features & Screenshots
   Download ViRC!
   Scripts

   Visual IRC Forum
   Chat in Undernet #ViRC

   Awards and Reviews
   About the Author
   About the Technology
ViRC Antique Shop

Search change log

What's new in Visual IRC 2.0 RC4?

Additions (19)
Bug fixes (13)
Changed features (11)
Translation changes (3)

Additions

  • TTreeView is now accessible from OVS (as well as TTreeNodes
    and TTreeNode). Most properties and events are supported.
  • ViRC.lib automatically sets up the smileys.vsc and sounds.vsc
    add-ons for first-time users, as well as winamp.vsc if Winamp
    is running when ViRC is started.
  • The nick list can now display your channel background image.
  • The "text windows" configuration page now contains a nick list
    color/style editor.
  • New ViRC.lib script settings to flash the taskbar and/or tray
    icon when new messages arrive and ViRC is in the background.
  • New command: FlashTaskbar [mode]. Mode can be "on" (or 1) to
    highlight ViRC's taskbar button, "off" (or 0) to un-highlight
    it, or "auto" to highlight it until ViRC becomes the active
    program. ("off" may not work correctly due to Windows API bugs.)
  • New function: $IsAppActive() returns 1 if ViRC is the active
    program.
  • TTrayIcon (e.g. $MapObject(!Main:TrayIcon)) has two more
    properties: Flashing (Boolean) and FlashTime (Integer). When
    Flashing is True, the tray icon will flash every FlashTime ms.
  • The OnCloseQuery event of forms can be used to prevent the form
    from closing. Use '@L $CanClose = 0' in the event handler if
    the form shouldn't be closed.
  • ViRC will create a temporary server entry when you connect to
    a server that sends its capabilities in the 005 numeric. The
    temporary entry will not be saved to disk by default. If you
    want to keep it, you can open the server manager and move it
    to a network.
  • New 'Parse List' statement, just like 'Parse Extended' but it
    cleans up the list first and strips quotes from the single items
    ($1 is the second item without quotes, $1- is the second item
    and all following items including quotes). Example:
    @l $list = "albert bill" charlie "dave evan"
    Parse List $list
    // displays: albert bill
    MessageBox $0
    // displays: charlie "dave evan"
    MessageBox $1-
    EndParse
  • Increased $ovsversion to 9 because of the new OLE support.
  • You can now send DDE commands to ViRC by poking data as well as by
    executing a macro (for compatibility with programs written for
    other IRC clients). Use the topic 'command' and the item name
    'IRC_Command'. See vircdde.txt for details.
  • OLE Automation interfaces can be mapped as OVS objects. See
    vircole.txt for full details. Quick notes:
    - OLE interfaces can be mapped one of two ways. (1) Another
    program, or your script in a Language block, can call
    IVSSprout::MapInterface. (2) You can create a new COM object
    with the $NewComObject() function, given its CLSID, as long as
    the object supports IDispatch.
    - The handle 1 is automatically mapped to an instance of
    IVisualIRC, the same interface available to Language blocks as
    "VisualIRC".
    - If $obj is an OLE interface, $ClassOf($obj) returns "IDispatch"
    and $ParentClassOf($obj) returns "IUnknown".
    - Indexed properties can be used by surrounding the index(es) with
    square brackets after the property name: $prop(1.Servers [4])
    - All parameters to an OLE method, including parameters for an
    indexed property, must be individually quoted as list items.
  • OVS objects can be accessed through OLE Automation by using the
    IVSSprout::GetInterface method (see vircole.txt). This allows other
    applications and Language..EndLanguage blocks to control objects
    created by scripts. For example:
    Language VBScript
    Set mainform = VisualIRC.GlobalInterpreter.GetInterface(0)
    mainform.Caption = "This is a new main form caption"
    EndLanguage
    Please note: When one of your objects' methods is called through
    OLE, the parameters will be quoted as list items. See vircole.txt
    for more tips on writing classes that can be called through OLE.
  • New extended With..EndWith syntax. First install a handler:
    ExtendWith <handler_name> [<flagset>] = <command>
    Then invoke it:
    With > <handler_name> [<parameters>]
    <block>
    EndWith
    The <command> will be called with <parameters>, and the content of
    <block> will be available through a TStringList object, $__Block__.
    <flagset> is a set (surrounded by square brackets) of these
    possible values:
    xwEvalParams - evaluate <parameters>
    xwEvalBlock - evaluate each line of $__Block__ before invoking
    the command
    xwNewContext - run <command> in its own local variable namespace
    instead of the same one where With..EndWith was used
    If <flagset> is omitted, the default value is [xwEvalParams].
  • New OVS classes: TDriveComboBox, TDirectoryListBox, TFileListBox,
    TFilterComboBox.
  • Tab completion now works in server, query, and DCC chat windows.
    You can cycle backwards through the completions by pressing
    Shift+Tab. You can also use completion for command and alias names
    preceded by a slash: /ct<tab> changes to /CTCP. In channel
    windows, nicknames will be highlighted as they're completed.
  • ViRC.lib recognizes the 330 numeric, returned by /whois on some
    networks if the user is logged into the network services.

Bug fixes

  • Script links now work in the status window.
  • TDCC transfers are correctly recognized as TDCC when the filename
    includes a space.
  • $URLEncode() and $URLDecode() now translate a space to %20 instead
    of '+'.
  • The "don't tell me about this version again" check box setting in
    the update checker is saved correctly.
  • The font change dialog boxes no longer show checkboxes for strike
    out, underline, or color. The main font dialog box no longer lets
    you change the font style to bold or italic (since channel text
    always appear with regular style anyway).
  • $IdleTime() is no longer reset by server pings.
  • The toolbar selection popup no longer appears when right-clicking
    the drawing in a whiteboard window.
  • Continuous backgrounds line up with the wallpaper when toolbars
    are docked to the left side.
  • $ListSearchReplace() works correctly with items that contain
    spaces.
  • Menu item bitmaps appear correctly for toolbar dropdown menus,
    the /wwho right-click menu, and menus creates with
    TMenu.LoadFromMenuTree.
  • Text should now wrap correctly on multi-byte character systems.
  • Fixed the channel control's topic length indicator not updating.
  • Updated to ThemeManager 1.9. Among other things, this fixes
    sab0tage's channel control script causing errors when you close
    ViRC after opening the channel control form.

Changed features

  • As a precaution, the built-in script editor no longer allows
    you to save the file if any code was lost during loading.
    The warning message explains that you must edit the file with
    a text editor.
  • The top-level code in a script (header/footer) can examine $2
    to find out whether this is the user's first time running ViRC.
    $2 will contain "firstrun" if so.
  • The script editor appears much more quickly when using the
    '-editscript filename.vsc' command line option.
  • ViRC.lib now fires <OnCreateStatusWindow* events after creating
    the status window, to allow other scripts to change the
    appearance of the status window and its popup. $0 is the object
    handle of the window itself (TMonkeyScroller) and $1 is the
    popup menu (TPopupMenu).
  • Color names are now more friendly on the "text windows"
    configuration.
  • Some configuration pages have been re-arranged.
  • The error message displayed when you try to change your nick
    while banned/gagged on a channel now shows the channel name.
  • The channel list window is no longer modal. You can select
    another window while the list is open, then switch back by
    clicking the channel list's window tab.
  • Relative path names can be used in embedded TextOut bitmaps
    (\S@bmp:smile.bmp:alt text\S) and script link bitmaps
    (\S@slbmp:smile.bmp:command:alt text\S).
  • Nicklist flag colors are now saved in color scheme files.
  • English messages from ViRC.lib and toolbars.vsc have been moved
    into english.lib to facilitate translation. You can use
    english.lib as a base for translating ViRC.lib's messages into
    other languages.

Translation changes

  • Added messages: Msg_SS_flashtray and Msg_SS_flashtaskbar, the
    captions of the script settings to flash the tray/taskbar when
    a new message is received while ViRC is inactive.
  • Message library version 2.
  • Msg_BanNickChange can now use $$chanstr for the name of the
    channel that prevents a nick change.

Change log history:
© Jesse McGrew 2001-2007