diff --git a/src/sbbs3/chat/MainFormUnit.cpp b/src/sbbs3/chat/MainFormUnit.cpp index 507eb480ccc3336fca1f6608106247a817e9cde7..5b49fb7d55097cbc9e7f7ba872f03da9270b6500 100644 --- a/src/sbbs3/chat/MainFormUnit.cpp +++ b/src/sbbs3/chat/MainFormUnit.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -46,6 +46,7 @@ #include <vcl\Registry.hpp> /* TRegistry */ #pragma hdrstop +#include <utime.h> #include "gen_defs.h" /* BS and DEL */ #define PCHAT_LEN 1000 /* Size of Private chat file */ @@ -60,6 +61,10 @@ extern int node_num; extern char ctrl_dir[]; extern char node_dir[]; extern char user_name[]; + +char node_path[MAX_PATH+1]; +char out_path[MAX_PATH+1]; + //--------------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) @@ -99,32 +104,35 @@ bool __fastcall TMainForm::ToggleChat(bool on) lseek(nodedab, n*sizeof(node_t), SEEK_SET); locking(nodedab, LK_UNLCK, sizeof(node_t)); + utime(node_path,NULL); + return(true); } //--------------------------------------------------------------------------- void __fastcall TMainForm::FormShow(TObject *Sender) { - char path[MAX_PATH+1]; char* p; + char path[MAX_PATH+1]; Caption="Waiting for " +AnsiString(user_name)+" on Node "+AnsiString(node_num); - wsprintf(path,"%sNODE.DAB",ctrl_dir); - nodedab=_sopen(path,O_RDWR|O_BINARY|O_CREAT, SH_DENYNONE,S_IREAD|S_IWRITE); + wsprintf(node_path,"%sNODE.DAB",ctrl_dir); + nodedab=_sopen(node_path,O_RDWR|O_BINARY|O_CREAT, SH_DENYNONE,S_IREAD|S_IWRITE); if(nodedab==-1) { - Remote->Lines->Add("!Error opening NODE.DAB"); + Remote->Lines->Add("!Error opening " + AnsiString(node_path)); return; } ToggleChat(true); - wsprintf(path,"%sLCHAT.DAB",node_dir); - if((out=_sopen(path,O_RDWR|O_CREAT|O_BINARY,O_DENYNONE + wsprintf(out_path,"%sLCHAT.DAB",node_dir); + if((out=_sopen(out_path,O_RDWR|O_CREAT|O_BINARY,O_DENYNONE ,S_IREAD|S_IWRITE))==-1) { - Remote->Lines->Add("!Error opening LCHAT.DAB"); - return; } + Remote->Lines->Add("!Error opening " + AnsiString(out_path)); + return; + } wsprintf(path,"%sCHAT.DAB",node_dir); #if 0 @@ -186,6 +194,13 @@ void __fastcall TMainForm::LocalKeyPress(TObject *Sender, char &Key) { char c; + if(Key==22) { /* Ctrl-V */ + Key=0; + return; /* Don't allow "paste from clipboard" */ + } + if(Key<' ' && Key!='\r' && Key!='\t' && Key!='\b') + return; + if(out==-1 || Local->ReadOnly==true) { Beep(); return; @@ -202,6 +217,7 @@ void __fastcall TMainForm::LocalKeyPress(TObject *Sender, char &Key) write(out,&c,1); lseek(out,-1L,SEEK_CUR); } + utime(out_path,NULL); if(tell(out)>=PCHAT_LEN) lseek(out,0L,SEEK_SET); } @@ -288,3 +304,6 @@ void __fastcall TMainForm::FormCreate(TObject *Sender) } //--------------------------------------------------------------------------- + + + diff --git a/src/sbbs3/chat/MainFormUnit.dfm b/src/sbbs3/chat/MainFormUnit.dfm index f878d5e7fdb9ef660eae9806b2dd16b32a88b57f..d4e7d9de7ef25a10f519e8c63947a708d57d1e04 100644 --- a/src/sbbs3/chat/MainFormUnit.dfm +++ b/src/sbbs3/chat/MainFormUnit.dfm @@ -7,7 +7,7 @@ object MainForm: TMainForm Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText - Font.Height = -11 + Font.Height = -14 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = False @@ -15,11 +15,11 @@ object MainForm: TMainForm OnClose = FormClose OnCreate = FormCreate OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 + PixelsPerInch = 120 + TextHeight = 16 object Splitter1: TSplitter Left = 0 - Top = 85 + Top = 105 Width = 409 Height = 2 Cursor = crVSplit @@ -27,23 +27,38 @@ object MainForm: TMainForm end object Local: TMemo Left = 0 - Top = 87 + Top = 107 Width = 409 - Height = 137 + Height = 116 Align = alClient + Color = clBlack + Font.Charset = DEFAULT_CHARSET + Font.Color = clLime + Font.Height = -15 + Font.Name = 'System' + Font.Style = [] + ParentFont = False ReadOnly = True ScrollBars = ssVertical TabOrder = 0 + WantTabs = True OnKeyPress = LocalKeyPress end object Remote: TMemo Left = 0 Top = 0 Width = 409 - Height = 85 + Height = 105 TabStop = False Align = alTop + Color = clBlack + Font.Charset = DEFAULT_CHARSET + Font.Color = clGreen + Font.Height = -15 + Font.Name = 'System' + Font.Style = [] HideSelection = False + ParentFont = False ReadOnly = True ScrollBars = ssVertical TabOrder = 1 diff --git a/src/sbbs3/chat/chat.bpr b/src/sbbs3/chat/chat.bpr index 75192a1b5a309cb5fc9e05ddd48d31730dd8dccb..88199d2c406d48b5a6052886e3023cb586807244 100644 --- a/src/sbbs3/chat/chat.bpr +++ b/src/sbbs3/chat/chat.bpr @@ -2,7 +2,7 @@ <!-- C++Builder XML Project --> <PROJECT> <MACROS> - <VERSION value="BCB.05.03"/> + <VERSION value="BCB.06.00"/> <PROJECT value="chat.exe"/> <OBJFILES value="chat.obj MainFormUnit.obj"/> <RESFILES value="chat.res"/> @@ -11,41 +11,51 @@ <DEFFILE value=""/> <RESDEPEN value="$(RESFILES) MainFormUnit.dfm"/> <LIBFILES value=""/> - <LIBRARIES value="Vcl50.lib"/> - <SPARELIBS value="Vcl50.lib"/> - <PACKAGES value="Vcl50.bpi Vclx50.bpi bcbsmp50.bpi Vcldb50.bpi vclado50.bpi ibsmp50.bpi - VCLBDE50.bpi vcldbx50.bpi Qrpt50.bpi TeeUI50.bpi TeeDB50.bpi Tee50.bpi - Dss50.bpi TeeQR50.bpi VCLIB50.bpi Vclmid50.bpi vclie50.bpi Inetdb50.bpi - Inet50.bpi NMFast50.bpi webmid50.bpi bcbie50.bpi dclocx50.bpi - bcb97axserver50.bpi"/> + <LIBRARIES value="vcl.lib rtl.lib"/> + <SPARELIBS value="rtl.lib vcl.lib"/> + <PACKAGES value="rtl.bpi vcl.bpi vclx.bpi bcbsmp.bpi dbrtl.bpi vcldb.bpi adortl.bpi + ibsmp.bpi bdertl.bpi vcldbx.bpi qrpt.bpi teeui.bpi teedb.bpi tee.bpi + dss.bpi teeqr.bpi ibxpress.bpi dsnap.bpi vclie.bpi inetdb.bpi inet.bpi + nmfast.bpi webdsnap.bpi bcbie.bpi dclocx.bpi bcb97axserver.bpi"/> <PATHCPP value=".;"/> <PATHPAS value=".;"/> <PATHRC value=".;"/> <PATHASM value=".;"/> <DEBUGLIBPATH value="$(BCB)\lib\debug"/> <RELEASELIBPATH value="$(BCB)\lib\release"/> - <LINKER value="tlink32"/> + <LINKER value="ilink32"/> <USERDEFINES value=""/> <SYSDEFINES value="NO_STRICT"/> <MAINSOURCE value="chat.cpp"/> - <INCLUDEPATH value="$(BCB)\include;..;$(BCB)\include\vcl"/> + <INCLUDEPATH value="$(BCB)\include;..\..\xpdev;$(BCB)\include\vcl"/> <LIBPATH value="$(BCB)\lib\obj;$(BCB)\lib"/> <WARNINGS value="-w-par"/> + <OTHERFILES value=""/> </MACROS> <OPTIONS> - <IDLCFLAGS value="-I$(BCB)\include -I.. -I$(BCB)\include\vcl -src_suffix cpp"/> - <CFLAG1 value="-Od -H=$(BCB)\lib\vcl50.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -vi- -c -tW - -tWM"/> - <PFLAGS value="-$YD -$W -$O- -v -JPHNE -M"/> + <IDLCFLAGS value="-I$(BCB)\include -I..\..\xpdev -I$(BCB)\include\vcl -src_suffix cpp"/> + <CFLAG1 value="-O2 -H=c:\borland\CBUILD~2\lib\vcl60.csm -Hc -Vx -Ve -X- -a8 -b- -k- -vi + -c -tW -tWM"/> + <PFLAGS value="-$Y- -$L- -$D- -$A8 -v -JPHNE -M"/> <RFLAGS value=""/> - <AFLAGS value="/mx /w2 /zd"/> + <AFLAGS value="/mx /w2 /zn"/> <LFLAGS value="-D"" -aa -Tpe -GD -s -Gn"/> + <OTHERFILES value=""/> </OPTIONS> <LINKER> <ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/> <ALLRES value="$(RESFILES)"/> <ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib"/> + <OTHERFILES value=""/> </LINKER> + <FILELIST> + <FILE FILENAME="chat.cpp" FORMNAME="" UNITNAME="chat" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="chat.res" FORMNAME="" UNITNAME="chat" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/> + <FILE FILENAME="MainFormUnit.cpp" FORMNAME="MainForm" UNITNAME="MainFormUnit" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/> + </FILELIST> + <BUILDTOOLS> + </BUILDTOOLS> + <IDEOPTIONS> [Version Info] IncludeVerInfo=0 @@ -75,9 +85,10 @@ ProductVersion=1.0.0.0 Comments= [HistoryLists\hlIncludePath] -Count=2 -Item0=$(BCB)\include;..;$(BCB)\include\vcl -Item1=$(BCB)\include;$(BCB)\include\vcl +Count=3 +Item0=$(BCB)\include;..\..\xpdev;$(BCB)\include\vcl +Item1=$(BCB)\include;..;$(BCB)\include\vcl +Item2=$(BCB)\include;$(BCB)\include\vcl [HistoryLists\hlLibraryPath] Count=1 @@ -91,10 +102,15 @@ Item0=$(BCB)\source\vcl DebugSourceDirs=$(BCB)\source\vcl [Parameters] -RunParams=c:\sbbs\ctrl\ c:\sbbs\node1\ 1 +RunParams=s:\sbbs\ctrl\ s:\sbbs\node6\ 6 test +Launcher= +UseLauncher=0 +DebugCWD= HostApplication= RemoteHost= RemotePath= +RemoteLauncher= +RemoteCWD= RemoteDebug=0 [Compiler] diff --git a/src/sbbs3/chat/chat.cpp b/src/sbbs3/chat/chat.cpp index 7b55dd5431b4ae5f193743374e5356affd7201e6..de843aa271c033ade560133524a2ebeb5ebaf2b6 100644 --- a/src/sbbs3/chat/chat.cpp +++ b/src/sbbs3/chat/chat.cpp @@ -8,7 +8,7 @@ * @format.tab-size 4 (Plain Text/Source Code File Header) * * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * * * - * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html * + * Copyright 2003 Rob Swindell - http://www.synchro.net/copyright.html * * * * This program is free software; you can redistribute it and/or * * modify it under the terms of the GNU General Public License * @@ -98,7 +98,8 @@ WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR cmdline, int) try { Application->Initialize(); - Application->CreateForm(__classid(TMainForm), &MainForm); + Application->Title = "Synchronet Sysop Chat"; + Application->CreateForm(__classid(TMainForm), &MainForm); Application->Run(); } catch (Exception &exception) diff --git a/src/sbbs3/chat/chat.res b/src/sbbs3/chat/chat.res index 32b522d0446895614bc4b68603238d2e2e1f4263..41f32636dea08c6fa9bd04c06bf7cdb93c19c2d7 100644 Binary files a/src/sbbs3/chat/chat.res and b/src/sbbs3/chat/chat.res differ