summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--COPYING2
-rw-r--r--KTAGS2
-rw-r--r--T42.rc14
-rw-r--r--help/T42.rtf4
-rw-r--r--help/T42.xml5
-rw-r--r--install/install.cpp9
-rw-r--r--install/install.rc10
7 files changed, 29 insertions, 17 deletions
diff --git a/COPYING b/COPYING
index 9abe63f..b71fe11 100644
--- a/COPYING
+++ b/COPYING
@@ -1,19 +1,19 @@
-Copyright (c) 1998-2004 Klever Group (http://www.klever.net/)
+Copyright (c) 1998-2005 Klever Group (http://www.klever.net/)
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/KTAGS b/KTAGS
index 53a4c56..51936ef 100644
--- a/KTAGS
+++ b/KTAGS
@@ -1,12 +1,12 @@
about-date T42.rc /LTEXT\s\+"Copyright /;" kind:d
about-version T42.rc /LTEXT\s\+"T42, Version/;" kind:v
help-license-date ./help/T42.xml /<license\s/;" kind:d
help-news ./help/T42.xml /<newsfor\s/
-install-version ./install/install.cpp /^#define\s\+KINAME\s\+"/;" kind:v
+install-version ./install/install.cpp /^#define\s\+VERSION\s\+"/;" kind:v
install-vsinfo-date install/install.rc /^\s\+VALUE\s\+"LegalCopyright",/;" kind:d
install-vsinfo-numeric-version install/install.rc /^\s\+FILEVERSION\s\+/;" kind:v
install-vsinfo-string-version install/install.rc /^\s\+VALUE\s\+"FileVersion",/;" kind:v
license-date COPYING :1;" kind:d
vsinfo-date T42.rc /VALUE\s\+"LegalCopyright",/;" kind:d
vsinfo-numeric-version T42.rc /^\s\+FILEVERSION\s\+/;" kind:v
vsinfo-string-version T42.rc /^\s\+VALUE\s\+"FileVersion",/;" kind:v
diff --git a/T42.rc b/T42.rc
index 6c51796..1bc84ac 100644
--- a/T42.rc
+++ b/T42.rc
@@ -40,98 +40,98 @@ END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
"#define _AFX_NO_OLE_RESOURCES\r\n"
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
"\r\n"
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
"#ifdef _WIN32\r\n"
"LANGUAGE 9, 1\r\n"
"#pragma code_page(1252)\r\n"
"#endif\r\n"
"#include ""res\\T42.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
"#include ""afxres.rc"" // Standard components\r\n"
"#endif\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDR_MAINFRAME ICON DISCARDABLE "res\\T42.ico"
IDR_T42FRAME ICON DISCARDABLE "res\\IDR_T42F.ico"
IDI_FULLCUP ICON DISCARDABLE "res\\fullcup.ico"
IDR_FULLT42 ICON DISCARDABLE "res\\IDR_FULL.ico"
IDI_BROWSE ICON DISCARDABLE "shared-data/browse-icon.ico"
IDI_T42CALLNEW ICON DISCARDABLE "res\\T42calln.ico"
IDI_T42CALLPROCESSED ICON DISCARDABLE "res\\T42callp.ico"
IDR_FLIPPEDCUP ICON DISCARDABLE "res\\IDR_FLIP.ico"
IDI_PREPLAY ICON DISCARDABLE "shared-data/play-icon.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 194, 78
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About T42"
FONT 8, "MS Sans Serif"
BEGIN
- LTEXT "T42, Version 1.5",IDC_STATIC,37,10,119,8,SS_NOPREFIX
- LTEXT "Copyright © 1998-2004 Klever Group",IDC_STATIC,37,25,119,8
+ LTEXT "T42, Version 1.5.1",IDC_STATIC,37,10,119,8,SS_NOPREFIX
+ LTEXT "Copyright © 1998-2005 Klever Group",IDC_STATIC,37,25,119,8
ICON IDR_MAINFRAME,IDC_STATIC,7,34,18,20
ICON IDR_FLIPPEDCUP,IDC_STATIC,166,34,18,20
DEFPUSHBUTTON "OK",IDOK,81,40,32,14,WS_GROUP
PUSHBUTTON "http://www.klever.net/",IDC_KLEVERNET,107,59,80,12
END
IDD_T42_DIALOG DIALOGEX 0, 0, 221, 200
STYLE DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE | WS_EX_CONTEXTHELP |
WS_EX_APPWINDOW
CAPTION " Tea For Two "
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
CTEXT "On &Call:",IDC_STATIC,7,7,93,56,0,WS_EX_DLGMODALFRAME |
WS_EX_CLIENTEDGE
COMBOBOX IDC_ONCALL,13,19,81,76,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
CTEXT "When &Away:",IDC_STATIC,13,33,81,8
COMBOBOX IDC_ONCALLAWAY,13,43,81,76,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
CONTROL "Calls",IDC_CALLS,"SysListView32",LVS_REPORT | WS_BORDER |
WS_TABSTOP,7,66,207,67
CONTROL "Recorded Message..",IDC_PREVIEW,"RICHEDIT",WS_VSCROLL |
WS_TABSTOP | 0xc184,7,134,207,59
PUSHBUTTON "&Tea",IDC_TALK,173,7,41,13
PUSHBUTTON "&Options",IDC_OPTIONS,173,21,41,13
PUSHBUTTON "E&xit",IDOK,173,35,41,13
PUSHBUTTON "&Help",ID_HELP,173,49,41,13
DEFPUSHBUTTON "",IDCANCEL,0,0,6,6,NOT WS_VISIBLE
CONTROL "A&way",IDC_AWAY,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE |
BS_MULTILINE | WS_TABSTOP,101,7,41,56,
WS_EX_DLGMODALFRAME | WS_EX_CLIENTEDGE |
WS_EX_STATICEDGE
END
IDD_REMOTE DIALOGEX 0, 0, 153, 111
STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION
EXSTYLE WS_EX_TOOLWINDOW | WS_EX_CLIENTEDGE
CAPTION " It's party time!"
FONT 8, "MS Sans Serif", 0, 0, 0x1
BEGIN
LTEXT "&Dear ",IDC_STATIC,7,9,18,8
COMBOBOX IDC_CALLEE,29,7,117,56,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
LTEXT "yes, you on &tty ",IDC_STATIC,41,23,48,8
COMBOBOX IDC_TTY,98,21,48,79,CBS_DROPDOWN | CBS_AUTOHSCROLL |
WS_VSCROLL | WS_TABSTOP
LTEXT "I'd love to have a cup of tea with you. How about right now?",
@@ -253,121 +253,121 @@ BEGIN
CONTROL "&more than",IDC_DOBYTELIMIT,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,85,47,12
LTEXT "&characters entered, or",IDC_STATIC,96,87,70,8
EDITTEXT IDC_BYTELIMIT,55,85,40,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_CHARSPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,84,85,11,12
CONTROL "&time limit of",IDC_DOTIMELIMIT,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,98,47,12
LTEXT "min&utes exceeded.",IDC_STATIC,96,100,63,8
EDITTEXT IDC_TIMELIMIT,55,98,40,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_TIMESPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,85,98,10,12
CONTROL "Stop automatically &accepting calls when",
IDC_DOWINLIMIT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,
115,140,12
LTEXT "calls in &progress",IDC_STATIC,97,129,54,8
EDITTEXT IDC_WINLIMIT,55,127,40,12,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "Spin1",IDC_WINSPIN,"msctls_updown32",UDS_WRAP |
UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY |
UDS_ARROWKEYS | UDS_NOTHOUSANDS,85,127,10,12
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,7,113,196,1
END
IDD_OPTIONS_GENERAL DIALOG DISCARDABLE 0, 0, 210, 154
STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
CAPTION "General"
FONT 8, "MS Sans Serif"
BEGIN
LTEXT "T42 '&ntalk' daemon listening on port ",IDC_STATIC,7,7,
114,8
EDITTEXT IDC_NTALKPORT,123,5,80,12,ES_LOWERCASE | ES_AUTOHSCROLL
CONTROL "Spin1",IDC_NTALKPORTSPIN,"msctls_updown32",
UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,193,5,10,
12
LTEXT "Note: you will need to restart T42 if you change ntalk demon port number.",
IDC_STATIC,40,20,163,20
END
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,5,0,0
- PRODUCTVERSION 1,5,0,0
+ FILEVERSION 1,5,1,0
+ PRODUCTVERSION 1,5,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "T42, unix talk/ntalk implementation\0"
- VALUE "FileVersion", "1, 5, 0, 0\0"
+ VALUE "FileVersion", "1, 5, 1, 0\0"
VALUE "InternalName", "T42\0"
- VALUE "LegalCopyright", "Copyright © 1998-2004 Klever Group (http://www.klever.net/)\0"
+ VALUE "LegalCopyright", "Copyright © 1998-2005 Klever Group (http://www.klever.net/)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "T42.EXE\0"
VALUE "ProductName", "T42\0"
- VALUE "ProductVersion", "1, 5, 0, 0\0"
+ VALUE "ProductVersion", "1, 5, 1, 0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_ABOUTBOX, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 187
TOPMARGIN, 7
BOTTOMMARGIN, 71
END
IDD_T42_DIALOG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 214
TOPMARGIN, 7
BOTTOMMARGIN, 193
END
IDD_REMOTE, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 146
TOPMARGIN, 7
BOTTOMMARGIN, 104
END
IDD_ANNOUNCE, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 134
TOPMARGIN, 7
diff --git a/help/T42.rtf b/help/T42.rtf
index 5768d8f..5032e72 100644
--- a/help/T42.rtf
+++ b/help/T42.rtf
@@ -1,84 +1,86 @@
{\rtf1\ansi
@{\footnote
THIS FILE WAS AUTOMATICALLY GENERATED FROM XML DOCUMENT.
DO NOT MODIFY THIS FILE DIRECTLY. EDIT XML DOCUMENT INSTEAD
}
{\fonttbl{\f0\froman Times New Roman;}{\f1\fswiss Arial;}{\f3\froman Symbol;}}{\colortbl;
\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;
\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;
\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;
\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
\pard\plain\keepn
#{\footnote About}
${\footnote About T42}
{ \f1\fs18\b\sb120 About {\b T42}}
\par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b T42} is our {\i Win32} implementation of {\b\cf6 unix}{\b\cf6 ntalk} protocol.
\par\sa120\sb120\qj\pard \f1\fs18\sb120 It features:\pard
\par \fi0\li0 \bullet {\b Multihoming} - works properly on multihomed machines (ie. accepts connections/issues requests on all interfaces);
\par \fi0\li0 \bullet {\b Your personal secretary} - technically speaking, something like answering machine;
\par \fi0\li0 \bullet {\b Sleep function} - be notified of activities in backgrounded windows;\pard
\par\sa120\sb120\qj\pard \f1\fs18\sb120 Designed to be compatible with our {\i TFTP} client/server, {\uldb {\b PumpKIN}}{\v %!ExecFile("http://kin.klever.net/pumpkin/")}, that allows you to exchange files with your party while having talk sessions.
\par\sa120\sb120\qj\pard \f1\fs18\sb120
\par\sa120\sb120\qj\pard \f1\fs18\sb120 {\b {\i Enjoy!}}
{
-\par\pard\plain\sb360\sa120 \f1\fs16 Copyright (c) 1998-2004 {\uldb\cf0 Klever Group (http://www.klever.net/)}{\v %!ExecFile("http://www.klever.net/")}
+\par\pard\plain\sb360\sa120 \f1\fs16 Copyright (c) 1998-2005 {\uldb\cf0 Klever Group (http://www.klever.net/)}{\v %!ExecFile("http://www.klever.net/")}
\par\qj\sb120\sa120Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
\par The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
\par \sa360 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
}
\par \sa0\sb120\ql \f1\fs16 Author: {\b\uldb\cf11 Michael Krelin ({\i hacker@klever.net})}{\v %!ExecFile("mailto:hacker@klever.net")}
\par \sa0\sb0 Fan mail send to {\i\uldb gefilte@klever.net}{\v %!ExecFile("mailto:gefilte@klever.net")}
\page
\pard\plain
#{\footnote News}
${\footnote What's New}
+\par\pard\plain\f1\fs24\qc\cf2\b 1.5.1 - August 6th, 2005
+\par\pard\plain\fi0\li0\f1\fs18 \bullet Fixed uninstall procedure so that it works on XP
\par\pard\plain\f1\fs24\qc\cf2\b 1.5 - July 11th, 2004
\par\pard\plain\fi0\li0\f1\fs18 \bullet Change of license and opening the source
\page
\pard\plain\keepn
#{\footnote Using}
${\footnote Using T42}
{ \f1\fs18\b\sb120 Using {\b T42}}
\par\sa120\sb120\qj\pard \f1\fs18\sb120 Once you've installed {\b T42}, run it from {\i Programs/Klever Group} menu. A small cup icon will appear in the notification tray area.
\par\sa120\sb120\qj\pard \f1\fs18\sb120 Left-click on the icon will get you to the {\uldb Main Window}{\v MainWindow}, right-click brings up the following menu:\pard
\par \fi0\li0 \bullet {\b Order some tea} - Initiates talk session. This will open new {\uldb Conversation Window}{\v ConversationWindow} and prompt you for request details.
\par \fi0\li0 \bullet {\b Away} - Toggle your away mode. It affects the way {\b T42} handles incoming calls. See {\uldb Main Window}{\v Mainwindow} for details.
\par \fi0\li0 \bullet {\b Show Main Window} - Toggle visibility of the {\uldb Main Window}{\v MainWindow} from which you can control some of {\b T42} options and read/maintain your recorded messages.
\par \fi0\li0 \bullet {\b Options} - Select this to bring up {\uldb Options dialog}{\v Options} so that you can customize {\b T42} to suit your needs.
\par \fi0\li0 \bullet {\b Exit} - This is not likely to happen, but if you want to exit {\b T42} and unload it from memory - that's what {\b Exit} is for.\pard
\page
\pard\plain\keepn
#{\footnote MainWindow}
${\footnote Main Window}
{ \f1\fs18\b\sb120 Main {\b T42} Window}
\par\sa120\sb120\qj\pard \f1\fs18\sb120 Main Window is a {\b T42} Control Center, it's exactly mouse-click away from most of {\b T42} functions. It consists of\pard
\par \fi0\li0 \bullet {\b On Call} and {\b On Call when away} dropdown lists let you select the action to take when incoming call occurs in 'normal' and 'away' mode. Chose one of
\pard
\par \fi0\li0 \bullet {\i Prompt} - Ask you what to do before taking any actions;
\par \fi0\li0 \bullet {\i Secretary} - Relay incoming calls to your {\uldb personal secretary}{\v SecretaryOptions}. Some prefer to call it answering machine.
\par \fi0\li0 \bullet {\i Not here} - Tell the caller you're not here ({\i not logged in}) and terminate connection.
\par \fi0\li0 \bullet {\i Refuse} - Tell the caller you're not accepting messages and terminate connection.
\par \fi0\li0 \bullet {\i Ignore} - Pretend that you didn't notice.\pard
\par \fi0\li0 \bullet {\b Away} button toggles your away mode. When an incoming call occurs {\b T42} takes action based upon away mode and options selected in {\b On Call} and {\b On Call when away} dropdown lists.
\par \fi0\li0 \bullet {\b Tea} button initiates new talk session. This will open new {\uldb Conversation Window}{\v ConversationWindow} and prompt you for {\uldb request details}{\v RemoteDialog}.
\par \fi0\li0 \bullet {\b Options} button brings up {\uldb Configuration Dialog}{\v Options} that lets you customize {\b T42} according to your needs.
\par \fi0\li0 \bullet {\b Exit} - button closes {\b T42} windows and removes {\b T42} from memory.
\par \fi0\li0 \bullet {\b Help} button enters the help system. If you got this far, you probably don't need further explanations.
\par \fi0\li0 \bullet {\b Recorded messages} list this is the list of messages recorded by your secretary. Messages are sorted by age, last ones first. Unanswered messages have a brighter cup icon unless you've explicitly marked the message as processed (see below for details). Right-click on the list entry presents you with popup menu from which you can:
\pard
\par \fi0\li0 \bullet {\i Call back} the person who left the message. This is identical to initiating new talk session and entering caller's data manually. Note: if the caller has a dynamic IP address and have already disconnected from his ISP and reconnected back this may not work.
\par \fi0\li0 \bullet {\i Delete} selected message(s). If you don't need recorded message anymore you can throw it away by selecting this.
\par \fi0\li0 \bullet {\i Save to file..} menu option lets you save message into {\i RTF} file. Then you may print message text, import it into your {\b\cf6 MS Word} documents or do with it whatever you want.
\par \fi0\li0 \bullet {\i Mark as new} message lets you force message state to 'unprocessed' which means that it will have brighter cup icon in front of it which is supposed to help you keep track of messages that you need to take care of.
\par \fi0\li0 \bullet {\i Mark as processed} message is the reverse of {\i Mark as new} command.
\par \fi0\li0 \bullet {\i Empty Log} simply removes all messages from the log.\pard
\par \fi0\li0 \bullet {\b Message preview window} - the recorded message itself is shown in this window.\pard
\page
\pard\plain\keepn
#{\footnote AnnounceDialog}
${\footnote Announce Dialog}
diff --git a/help/T42.xml b/help/T42.xml
index affe7c0..8973ee7 100644
--- a/help/T42.xml
+++ b/help/T42.xml
@@ -1,66 +1,69 @@
<?xml version="1.0"?>
<winhelp>
<topic id="About" title="About T42">
<heading scroll="no">About <kin>T42</kin></heading>
<p><kin>T42</kin> is our <term>Win32</term> implementation of <product>unix</product> <product>ntalk</product> protocol.</p>
<p>It features:</p>
<ul>
<li><b>Multihoming</b> - works properly on multihomed machines (ie. accepts connections/issues requests on all interfaces);</li>
<li><b>Your personal secretary</b> - technically speaking, something like answering machine;</li>
<li><b>Sleep function</b> - be notified of activities in backgrounded windows;</li>
</ul>
<p>Designed to be compatible with our <term>TFTP</term> client/server, <kin href="http://kin.klever.net/pumpkin/">PumpKIN</kin>, that allows you to exchange files with your party while having talk sessions.</p>
<p/>
<p><b><i>Enjoy!</i></b></p>
- <license years="1998-2004"/>
+ <license years="1998-2005"/>
<credits/>
</topic>
<topic id="News" title="What's New">
+ <newsfor version="1.5.1" date="August 6th, 2005">
+ <ni>Fixed uninstall procedure so that it works on XP</ni>
+ </newsfor>
<newsfor version="1.5" date="July 11th, 2004">
<ni>Change of license and opening the source</ni>
</newsfor>
</topic>
<topic id="Using" title="Using T42">
<heading scroll="no">Using <kin>T42</kin></heading>
<p>Once you've installed <kin>T42</kin>, run it from <i>Programs/Klever Group</i> menu. A small cup icon will appear in the notification tray area.</p>
<p>Left-click on the icon will get you to the <a href="#MainWindow">Main Window</a>, right-click brings up the following menu:</p>
<ul>
<li><b>Order some tea</b> - Initiates talk session. This will open new <a href="#ConversationWindow">Conversation Window</a> and prompt you for request details.</li>
<li><b>Away</b> - Toggle your away mode. It affects the way <kin>T42</kin> handles incoming calls. See <a href="#Mainwindow">Main Window</a> for details.</li>
<li><b>Show Main Window</b> - Toggle visibility of the <a href="#MainWindow">Main Window</a> from which you can control some of <kin>T42</kin> options and read/maintain your recorded messages.</li>
<li><b>Options</b> - Select this to bring up <a href="#Options">Options dialog</a> so that you can customize <kin>T42</kin> to suit your needs.</li>
<li><b>Exit</b> - This is not likely to happen, but if you want to exit <kin>T42</kin> and unload it from memory - that's what <b>Exit</b> is for.</li>
</ul>
</topic>
<topic id="MainWindow" title="Main Window">
<heading scroll="no">Main <kin>T42</kin> Window</heading>
<p>Main Window is a <kin>T42</kin> Control Center, it's exactly mouse-click away from most of <kin>T42</kin> functions. It consists of</p>
<ul>
<li><b>On Call</b> and <b>On Call when away</b> dropdown lists let you select the action to take when incoming call occurs in 'normal' and 'away' mode. Chose one of
<ul>
<li><i>Prompt</i> - Ask you what to do before taking any actions;</li>
<li><i>Secretary</i> - Relay incoming calls to your <a href="#SecretaryOptions">personal secretary</a>. Some prefer to call it answering machine.</li>
<li><i>Not here</i> - Tell the caller you're not here (<i>not logged in</i>) and terminate connection.</li>
<li><i>Refuse</i> - Tell the caller you're not accepting messages and terminate connection.</li>
<li><i>Ignore</i> - Pretend that you didn't notice.</li>
</ul>
</li>
<li><b>Away</b> button toggles your away mode. When an incoming call occurs <kin>T42</kin> takes action based upon away mode and options selected in <b>On Call</b> and <b>On Call when away</b> dropdown lists.</li>
<li><b>Tea</b> button initiates new talk session. This will open new <a href="#ConversationWindow">Conversation Window</a> and prompt you for <a href="#RemoteDialog">request details</a>.</li>
<li><b>Options</b> button brings up <a href="#Options">Configuration Dialog</a> that lets you customize <kin>T42</kin> according to your needs.</li>
<li><b>Exit</b> - button closes <kin>T42</kin> windows and removes <kin>T42</kin> from memory.</li>
<li><b>Help</b> button enters the help system. If you got this far, you probably don't need further explanations.</li>
<li><b>Recorded messages</b> list this is the list of messages recorded by your secretary. Messages are sorted by age, last ones first. Unanswered messages have a brighter cup icon unless you've explicitly marked the message as processed (see below for details). Right-click on the list entry presents you with popup menu from which you can:
<ul>
<li><i>Call back</i> the person who left the message. This is identical to initiating new talk session and entering caller's data manually. Note: if the caller has a dynamic IP address and have already disconnected from his ISP and reconnected back this may not work.</li>
<li><i>Delete</i> selected message(s). If you don't need recorded message anymore you can throw it away by selecting this.</li>
<li><i>Save to file..</i> menu option lets you save message into <term>RTF</term> file. Then you may print message text, import it into your <product>MS Word</product> documents or do with it whatever you want.</li>
<li><i>Mark as new</i> message lets you force message state to 'unprocessed' which means that it will have brighter cup icon in front of it which is supposed to help you keep track of messages that you need to take care of.</li>
<li><i>Mark as processed</i> message is the reverse of <i>Mark as new</i> command.</li>
<li><i>Empty Log</i> simply removes all messages from the log.</li>
</ul>
</li>
<li><b>Message preview window</b> - the recorded message itself is shown in this window.</li>
</ul>
</topic>
<topic id="AnnounceDialog" title="Announce Dialog">
diff --git a/install/install.cpp b/install/install.cpp
index 8b8c61f..35717bd 100644
--- a/install/install.cpp
+++ b/install/install.cpp
@@ -1,68 +1,75 @@
#include "resource.h"
#include "../shared-code/install.h"
-#define KINAME "T42 1.5"
+#define VERSION "1.5.1"
+#define KINAME "T42 " VERSION
#define SKINAME "T42"
BOOL Install(void)
{
STRING dPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",SKINAME "Path");
STRING kPath = strFETCH_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath");
LPCSTR qPath = ((LPCSTR)dPath)?(LPCSTR)dPath:(((LPCSTR)kPath)?(LPSTR)kPath:"C:\\Program Files\\Klever\\Nothings");
STRING path = REQUESTPATH(" " KINAME,"\nEnter destination path:",qPath);
if(!path)
return NULL;
#ifdef K_ANNED
STRING sysDir(_MAX_PATH);
GetSystemDirectory(sysDir,_MAX_PATH);
INSTALLFILE("mfc42.dl_",sysDir,"mfc42.dll");
#endif
MAKE_PATH(path);
STRING shortPath = GET_SHORT_PATH(path);
if(!shortPath){
MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
if(!(
INSTALLFILE(SKINAME ".ex_",path,SKINAME ".exe") &&
INSTALLFILE(SKINAME ".hl_",path,SKINAME ".hlp") &&
INSTALLFILE(SKINAME ".cn_",path,SKINAME ".cnt")
)){
MessageBox(NULL,"Failed to install " KINAME " in specified directory",NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
ADDMENU("Klever Group",SKINAME,path, SKINAME ".exe");
strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group",SKINAME "Path",path);
strSET_REG_KEY(HKEY_LOCAL_MACHINE,"Software\\Klever Group","KINPath",path);
FILE* inf=CREATE_INF_FILE(path,SKINAME ".INF");
if(!inf){
MessageBox(NULL,"Failed to install " KINAME,NULL,MB_ICONERROR|MB_OK);
return FALSE;
}
INF_FILE_HEADER(inf);
INF_FILE_SECTION(inf,"Uninstall");
fprintf(inf,"AddReg=kFiles\nDelReg=kReg\nUpdateInis=kMenu\n");
INF_FILE_SECTION(inf,"kFiles");
INF_REMOVE_ROOT(inf,SKINAME "Files",shortPath);
INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".exe");
INF_REMOVE_HELP_FILE(inf,SKINAME "Files",SKINAME);
INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".inf");
INF_REMOVE_FILE(inf,SKINAME "Files",SKINAME ".Calls");
INF_FILE_SECTION(inf,"kReg");
INF_UNINSTALL_REG(inf,SKINAME);
INF_FILE_SECTION(inf,"kMenu");
INF_MENU_GROUP(inf,1,"Klever Group");
INF_MENU_ITEM(inf,1,SKINAME);
fclose(inf);
REG_UNINSTALL_COMMAND(SKINAME,"Klever " KINAME,shortPath,SKINAME ".INF","Uninstall");
+ REG_UNINSTALL_ICON(SKINAME,path,SKINAME ".exe",0);
+ REG_UNINSTALL_COMMENT(SKINAME,"Klever " KINAME);
+ REG_UNINSTALL_VERSION(SKINAME,VERSION);
+ REG_UNINSTALL_LOCATION(SKINAME,path);
+ REG_UNINSTALL_PUBLISHER(SKINAME,"Klever Group");
+ REG_UNINSTALL_URLS(SKINAME,"http://www.klever.net/","http://kin.klever.net/T42/");
MessageBox(NULL,KINAME " installed successfully, you may now run it from 'Programs/Klever Group' menu or remove it using Control Panel Add/Remove Programs applet."," Rejoice!",MB_ICONINFORMATION|MB_OK);
return TRUE;
}
diff --git a/install/install.rc b/install/install.rc
index 1516122..6ff3614 100644
--- a/install/install.rc
+++ b/install/install.rc
@@ -86,97 +86,97 @@ BEGIN
BOTTOMMARGIN, 66
HORZGUIDE, 37
END
END
#endif // APSTUDIO_INVOKED
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""custom.rch""\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON ICON DISCARDABLE "../shared-data/install-icon.ico"
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,5,0,0
- PRODUCTVERSION 1,5,0,0
+ FILEVERSION 1,5,1,0
+ PRODUCTVERSION 1,5,1,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Klever Group (http://www.klever.net/)\0"
VALUE "FileDescription", "INSTALL: T42, unix talk/ntalk implementation\0"
- VALUE "FileVersion", "1, 5, 0, 0\0"
+ VALUE "FileVersion", "1, 5, 1, 0\0"
VALUE "InternalName", "INSTALL\0"
- VALUE "LegalCopyright", "Copyright © 1998-2004 Klever Group (http://www.klever.net/)\0"
+ VALUE "LegalCopyright", "Copyright © 1998-2005 Klever Group (http://www.klever.net/)\0"
VALUE "LegalTrademarks", "Klever Group (http://www.klever.net/)\0"
VALUE "OriginalFilename", "INSTALL.EXE\0"
VALUE "ProductName", "T42\0"
- VALUE "ProductVersion", "1, 5, 0, 0\0"
+ VALUE "ProductVersion", "1, 5, 1, 0\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#include "custom.rch"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED