8 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
\r
9 Dialogs, ComCtrls, GnokiiAPI, ExtCtrls, Menus, StdCtrls, Spin, IniFiles;
\r
12 TMainForm = class(TForm)
\r
13 StatusBar1: TStatusBar;
\r
14 TreeView1: TTreeView;
\r
15 Splitter1: TSplitter;
\r
16 MainMenu1: TMainMenu;
\r
22 OpenDialog1: TOpenDialog;
\r
23 SaveDialog1: TSaveDialog;
\r
24 PageControl1: TPageControl;
\r
25 NetmonitorTabSheet: TTabSheet;
\r
26 GroupBox1: TGroupBox;
\r
28 NetmonGroupBox: TGroupBox;
\r
29 NetmonLabel: TLabel;
\r
30 SpinEdit1: TSpinEdit;
\r
32 PhonebookTabSheet: TTabSheet;
\r
33 GroupBox2: TGroupBox;
\r
36 ComboBox1: TComboBox;
\r
37 ListView1: TListView;
\r
38 PhoneTabSheet: TTabSheet;
\r
39 GroupBox3: TGroupBox;
\r
40 GroupBox12: TGroupBox;
\r
48 GroupBox14: TGroupBox;
\r
49 ListView8: TListView;
\r
50 GroupBox11: TGroupBox;
\r
51 CheckBox1: TCheckBox;
\r
52 LogosTabSheet: TTabSheet;
\r
53 GroupBox4: TGroupBox;
\r
57 ComboBox2: TComboBox;
\r
64 RingtonesTabSheet: TTabSheet;
\r
65 GroupBox5: TGroupBox;
\r
70 SMSTabSheet: TTabSheet;
\r
71 GroupBox6: TGroupBox;
\r
74 ComboBox3: TComboBox;
\r
75 ListView2: TListView;
\r
76 SpeedTabSheet: TTabSheet;
\r
77 GroupBox7: TGroupBox;
\r
78 ListView3: TListView;
\r
79 CalendarTabSheet: TTabSheet;
\r
80 GroupBox8: TGroupBox;
\r
81 ListView4: TListView;
\r
82 SMSCTabSheet: TTabSheet;
\r
83 GroupBox9: TGroupBox;
\r
84 ListView6: TListView;
\r
85 CallerTabSheet: TTabSheet;
\r
86 GroupBox10: TGroupBox;
\r
87 ListView5: TListView;
\r
88 ProfileTabSheet: TTabSheet;
\r
89 GroupBox13: TGroupBox;
\r
90 ListView7: TListView;
\r
92 Splitter2: TSplitter;
\r
93 GroupBox15: TGroupBox;
\r
94 GroupBox16: TGroupBox;
\r
101 CalendarPopupMenu: TPopupMenu;
\r
104 Delete1: TMenuItem;
\r
105 SMSPopupMenu: TPopupMenu;
\r
112 WapBookTabSheet: TTabSheet;
\r
113 GroupBox17: TGroupBox;
\r
114 DateTimePicker1: TDateTimePicker;
\r
115 ConfigTabSheet: TTabSheet;
\r
116 GroupBox18: TGroupBox;
\r
117 Configuration1: TMenuItem;
\r
119 Delete2: TMenuItem;
\r
120 SMSCPopupMenu: TPopupMenu;
\r
123 ComboBox4: TComboBox;
\r
125 ComboBox5: TComboBox;
\r
127 CheckBox2: TCheckBox;
\r
130 PBKPopupMenu: TPopupMenu;
\r
135 SMSSendSave1: TMenuItem;
\r
136 ComboBox6: TComboBox;
\r
137 WAPSettTabSheet: TTabSheet;
\r
138 DivertTabSheet: TTabSheet;
\r
139 GroupBox19: TGroupBox;
\r
140 GroupBox20: TGroupBox;
\r
142 ListView9: TListView;
\r
143 AboutTabSheet: TTabSheet;
\r
144 GroupBox21: TGroupBox;
\r
147 PCSMSTabSheet: TTabSheet;
\r
148 GroupBox22: TGroupBox;
\r
150 Splitter3: TSplitter;
\r
152 ListView10: TListView;
\r
153 CopytoPC1: TMenuItem;
\r
157 PCSMSPopupMenu: TPopupMenu;
\r
158 SendSave1: TMenuItem;
\r
160 Delete3: TMenuItem;
\r
162 ComboBox7: TComboBox;
\r
168 ComboBox8: TComboBox;
\r
170 ComboBox9: TComboBox;
\r
172 ComboBox10: TComboBox;
\r
182 ComboBox11: TComboBox;
\r
184 ComboBox12: TComboBox;
\r
186 ComboBox13: TComboBox;
\r
194 ComboBox14: TComboBox;
\r
196 PageControl2: TPageControl;
\r
197 TabSheet1: TTabSheet;
\r
204 ComboBox15: TComboBox;
\r
208 PCCalendarTabSheet: TTabSheet;
\r
209 GroupBox23: TGroupBox;
\r
210 ListView11: TListView;
\r
212 CopytoPC2: TMenuItem;
\r
213 PCCalendarPopupMenu: TPopupMenu;
\r
214 Copytocalendar1: TMenuItem;
\r
216 Delete5: TMenuItem;
\r
217 PCOfflineTabSheet: TTabSheet;
\r
218 GroupBox24: TGroupBox;
\r
223 TabSheet2: TTabSheet;
\r
224 TabSheet3: TTabSheet;
\r
225 procedure TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
\r
226 Shift: TShiftState; X, Y: Integer);
\r
227 procedure FormCreate(Sender: TObject);
\r
228 procedure Timer1Timer(Sender: TObject);
\r
229 procedure NetmonitorTabSheetShow(Sender: TObject);
\r
230 procedure NetmonitorTabSheetHide(Sender: TObject);
\r
231 procedure SpinEdit1Change(Sender: TObject);
\r
232 procedure ComboBox1Change(Sender: TObject);
\r
233 procedure PhonebookTabSheetHide(Sender: TObject);
\r
234 procedure Quit1Click(Sender: TObject);
\r
235 procedure FormResize(Sender: TObject);
\r
236 procedure About1Click(Sender: TObject);
\r
237 procedure LogosImageMouseMove(Sender: TObject; Shift: TShiftState; X,
\r
239 procedure Button1Click(Sender: TObject);
\r
240 procedure Button4Click(Sender: TObject);
\r
241 procedure Button3Click(Sender: TObject);
\r
242 procedure PhoneTabSheetShow(Sender: TObject);
\r
243 procedure Button2Click(Sender: TObject);
\r
244 procedure LogosTabSheetShow(Sender: TObject);
\r
245 procedure ComboBox2Select(Sender: TObject);
\r
246 procedure Button7Click(Sender: TObject);
\r
247 procedure LogosImageMouseDown(Sender: TObject; Button: TMouseButton;
\r
248 Shift: TShiftState; X, Y: Integer);
\r
249 procedure Button6Click(Sender: TObject);
\r
250 procedure Button5Click(Sender: TObject);
\r
251 procedure Button8Click(Sender: TObject);
\r
252 procedure SpeedTabSheetShow(Sender: TObject);
\r
253 procedure Button9Click(Sender: TObject);
\r
254 procedure SpeedTabSheetHide(Sender: TObject);
\r
255 procedure Button11Click(Sender: TObject);
\r
256 procedure Button12Click(Sender: TObject);
\r
257 procedure CalendarTabSheetShow(Sender: TObject);
\r
258 procedure CallerTabSheetShow(Sender: TObject);
\r
259 procedure SMSCTabSheetShow(Sender: TObject);
\r
260 procedure Button10Click(Sender: TObject);
\r
261 procedure ProfileTabSheetShow(Sender: TObject);
\r
262 procedure SMSCTabSheetHide(Sender: TObject);
\r
263 procedure CalendarTabSheetHide(Sender: TObject);
\r
264 procedure CallerTabSheetHide(Sender: TObject);
\r
265 procedure ProfileTabSheetHide(Sender: TObject);
\r
266 procedure PhonebookTabSheetShow(Sender: TObject);
\r
267 procedure SMSTabSheetShow(Sender: TObject);
\r
268 procedure ComboBox3Change(Sender: TObject);
\r
269 procedure ListView2SelectItem(Sender: TObject; Item: TListItem;
\r
270 Selected: Boolean);
\r
271 procedure New1Click(Sender: TObject);
\r
272 procedure Edit3Click(Sender: TObject);
\r
273 procedure ListView4SelectItem(Sender: TObject; Item: TListItem;
\r
274 Selected: Boolean);
\r
275 procedure Delete1Click(Sender: TObject);
\r
276 procedure Button16Click(Sender: TObject);
\r
277 procedure Edit4Click(Sender: TObject);
\r
278 procedure New2Click(Sender: TObject);
\r
279 procedure Configuration1Click(Sender: TObject);
\r
280 procedure TreeView1KeyUp(Sender: TObject; var Key: Word;
\r
281 Shift: TShiftState);
\r
282 procedure SMSTabSheetHide(Sender: TObject);
\r
283 procedure SMSPopupMenuPopup(Sender: TObject);
\r
284 procedure CalendarPopupMenuPopup(Sender: TObject);
\r
285 procedure Edit1Change(Sender: TObject);
\r
286 procedure Delete2Click(Sender: TObject);
\r
287 procedure Edit5Click(Sender: TObject);
\r
288 procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
\r
289 Shift: TShiftState; X, Y: Integer);
\r
290 procedure SMSCPopupMenuPopup(Sender: TObject);
\r
291 procedure ListView6SelectItem(Sender: TObject; Item: TListItem;
\r
292 Selected: Boolean);
\r
293 procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
\r
294 Selected: Boolean);
\r
295 procedure Edit7Click(Sender: TObject);
\r
296 procedure Button18Click(Sender: TObject);
\r
297 procedure Button17Click(Sender: TObject);
\r
298 procedure SMS1Click(Sender: TObject);
\r
299 procedure SMSSendSave1Click(Sender: TObject);
\r
300 procedure Button13Click(Sender: TObject);
\r
301 procedure Button14Click(Sender: TObject);
\r
302 procedure ConfigTabSheetHide(Sender: TObject);
\r
303 procedure ConfigTabSheetShow(Sender: TObject);
\r
304 procedure Timer2Timer(Sender: TObject);
\r
305 procedure AboutTabSheetShow(Sender: TObject);
\r
306 procedure PCSMSTabSheetShow(Sender: TObject);
\r
307 procedure CopytoPC1Click(Sender: TObject);
\r
308 procedure ListView10SelectItem(Sender: TObject; Item: TListItem;
\r
309 Selected: Boolean);
\r
310 procedure PCSMSPopupMenuPopup(Sender: TObject);
\r
311 procedure Delete3Click(Sender: TObject);
\r
312 procedure SendSave1Click(Sender: TObject);
\r
313 procedure WapBookTabSheetHide(Sender: TObject);
\r
314 procedure WapBookTabSheetShow(Sender: TObject);
\r
315 procedure ComboBox7Change(Sender: TObject);
\r
316 procedure Button19Click(Sender: TObject);
\r
317 procedure Button20Click(Sender: TObject);
\r
318 procedure PCOfflineTabSheetShow(Sender: TObject);
\r
319 procedure PCCalendarTabSheetShow(Sender: TObject);
\r
320 procedure CopytoPC2Click(Sender: TObject);
\r
321 procedure Delete5Click(Sender: TObject);
\r
322 procedure Copytocalendar1Click(Sender: TObject);
\r
323 procedure PCCalendarPopupMenuPopup(Sender: TObject);
\r
325 { Private declarations }
\r
327 { Public declarations }
\r
331 MainForm: TMainForm;
\r
332 setcalendarnote:GSM_CalendarNote;
\r
333 setsms:GSM_MultiSMSMessage;
\r
334 setsmslocation:integer;
\r
335 smscselectitem:integer;
\r
337 rington:GSM_Ringtone;
\r
338 calenda:GSM_CalendarNote;
\r
339 pbk:GSM_PhonebookEntry;
\r
340 previewcolor:TColor;
\r
342 procedure AddCalendarNote(note:GSM_CalendarNote;myview:TListView);
\r
343 function DayOFweek3(date:TDateTime):string;
\r
344 procedure SetSMSC(num:integer);
\r
348 uses Calendar, SMSEdit, LogosRing, Netmon, smscedit, pbkedit;
\r
353 TNetmonThread = class(TThread)
\r
355 procedure Execute; override;
\r
357 TPhonebookThread = class(TThread)
\r
359 procedure Execute; override;
\r
361 TSpeedThread = class(TThread)
\r
363 procedure Execute; override;
\r
365 TSMSCThread = class(TThread)
\r
367 procedure Execute; override;
\r
369 TSMSThread = class(TThread)
\r
371 procedure Execute; override;
\r
373 TCalendarThread = class(TThread)
\r
375 procedure Execute; override;
\r
377 TCallerThread = class(TThread)
\r
379 procedure Execute; override;
\r
381 TProfileThread = class(TThread)
\r
383 procedure Execute; override;
\r
385 TPlayRingtoneThread = class(TThread)
\r
387 procedure Execute; override;
\r
389 TWAPBookmarkThread = class(TThread)
\r
391 procedure Execute; override;
\r
398 //reading netmonitor variables
\r
399 netmonnum: integer; //number of netmon screen
\r
400 NetmonThread: TNetmonThread;
\r
402 //reading phonebook memories variables
\r
403 phonebookstatus:GSM_MemoryStatus;
\r
404 phonebookcur:integer;
\r
405 phonebookfound:integer;
\r
406 PhonebookThread: TPhonebookThread;
\r
407 pbknumberentry:integer;
\r
412 logofilename:string='xxx';
\r
415 PlayRingtoneThread: TPlayRingtoneThread;
\r
417 binring:GSM_BinRingtone;
\r
421 SpeedThread: TSpeedThread;
\r
424 caller:array[1..5] of GSM_Bitmap;
\r
425 callerinit:boolean;
\r
427 CallerThread: TCallerThread;
\r
431 SMSCThread: TSMSCThread;
\r
433 SMSC2:array[1..10] of GSM_MessageCenter;
\r
436 calendarnum:integer;
\r
437 CalendarThread: TCalendarThread;
\r
438 calendarselect:integer;
\r
439 readcalendar:boolean;
\r
442 profilenum:integer;
\r
443 ProfileThread: TProfileThread;
\r
445 SMS:array[1..200] of GSM_SMSMessage;
\r
447 SMSfolders:GSM_SMSFolders;
\r
448 SMSstatus:GSM_SMSStatus;
\r
449 smsnumindex:integer;
\r
450 SMSThread: TSMSThread;
\r
453 SMSOffline:array[1..300] of GSM_SMSMessage;
\r
454 SMSOfflineNumber:integer;
\r
457 WAPBookmarkThread: TWAPBookmarkThread;
\r
458 bookmarknum:integer;
\r
460 CalendarOffline:array[1..300] of GSM_CalendarNote;
\r
461 CalendarOfflineNumber:integer;
\r
463 function Inttostr2(I: Longint;digits:integer): string;
\r
465 { Convert any integer type to a string }
\r
473 if s[j]<>' ' then break;
\r
479 function DayOFweek3(date:TDateTime):string;
\r
481 days: array[1..7] of string;
\r
490 DayOfWeek3:= days[DayOfWeek(date)];
\r
493 function DayOFweek2(day:integer;month:integer;year:integer):string;
\r
497 Date:=EncodeDate(Year,Month,Day);
\r
498 DayOfWeek2:= DayOfWeek3(Date);
\r
501 procedure SetSMSC(num:integer);
\r
503 SMSEditForm.Edit1.Text:=SMSC2[num].Number;
\r
504 case SMSC2[num].Validity of
\r
505 GSMV_1_Hour : SMSEditForm.ComboBox3.ItemIndex:=0;
\r
506 GSMV_6_Hours : SMSEditForm.ComboBox3.ItemIndex:=1;
\r
507 GSMV_24_Hours : SMSEditForm.ComboBox3.ItemIndex:=2;
\r
508 GSMV_72_Hours : SMSEditForm.ComboBox3.ItemIndex:=3;
\r
509 GSMV_1_Week : SMSEditForm.ComboBox3.ItemIndex:=4;
\r
511 SMSEditForm.ComboBox3.ItemIndex:=5;
\r
514 case SMSC2[num].Format of
\r
515 GSMF_Text : SMSEditForm.ComboBox4.ItemIndex:=0;
\r
516 GSMF_Fax : SMSEditForm.ComboBox4.ItemIndex:=1;
\r
517 GSMF_Email : SMSEditForm.ComboBox4.ItemIndex:=2;
\r
519 SMSEditForm.ComboBox4.ItemIndex:=3;
\r
523 procedure ReadCallerGroup();
\r
529 if callernum<6 then
\r
534 logo.type2:=GSM_CallerLogo;
\r
535 logo.number:=callernum-1;
\r
536 MainForm.Timer2.Enabled:=false;
\r
537 i:=GSM_GetBitmap(@logo);
\r
538 MainForm.Timer2.Enabled:=true;
\r
540 caller[callernum]:=logo;
\r
541 MainForm.ListView5.Items.Add;
\r
542 MainForm.ListView5.Items.Item[callernum-1].Caption:=inttostr(callernum);
\r
543 if logo.text[1]=chr(0) then
\r
550 4:name:='Colleagues';
\r
555 caller[callernum].text[i]:=chr(0);
\r
557 for i:=1 to strlen(name) do
\r
559 caller[callernum].text[i]:=name[i-1];
\r
562 MainForm.ListView5.Items.Item[callernum-1].Subitems.Add(caller[callernum].text);
\r
563 if logo.ringtone=16 then
\r
564 MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('default')
\r
566 MainForm.ListView5.Items.Item[callernum-1].Subitems.Add(inttostr(logo.ringtone));
\r
567 if logo.enabled<>0 then
\r
568 MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('logo enabled')
\r
570 MainForm.ListView5.Items.Item[callernum-1].Subitems.Add('logo disabled');
\r
571 end else callerinit:=true;
\r
572 callernum:=callernum+1;
\r
575 procedure ReadAllCallerGroups();
\r
577 if callerinit=false then
\r
579 MainForm.ListView5.Items.Clear;
\r
581 while callerinit=false do
\r
584 if callerinit then break;
\r
590 procedure UpdatePointBitmap(i,j:integer);
\r
592 if GSM_IsPointBitmap(@bitma,i,j)<>0 then
\r
594 MainForm.LogosImage.Canvas.Brush.Color := clBlack;
\r
595 MainForm.Image1.Canvas.Pen.Color := clBlack;
\r
598 MainForm.LogosImage.Canvas.Brush.Color := PreviewColor;//$0063cf63
\r
599 MainForm.Image1.Canvas.Pen.Color := PreviewColor;
\r
601 MainForm.LogosImage.Canvas.FillRect(Rect(i*pointsize+i,j*pointsize+j,(i+1)*pointsize+i,(j+1)*pointsize+j));
\r
602 MainForm.Image1.Canvas.Polyline([Point(28+i, 145+j), Point(29+i,146+j)]);
\r
605 procedure DrawBitmap();
\r
611 MainForm.StatusBar1.Panels[0].Text:=inttostr(bitma.width);
\r
612 xsize:=bitma.width;
\r
613 ysize:=bitma.heigh;
\r
615 MainForm.LogosImage.Canvas.Brush.Style := bsSolid;
\r
616 MainForm.LogosImage.Canvas.Brush.Color := clScrollBar;
\r
618 MainForm.LogosImage.Canvas.Pen.Mode := pmCopy;
\r
620 MainForm.LogosImage.Canvas.Pen.Color := clScrollBar;
\r
621 MainForm.LogosImage.Canvas.Rectangle(0,0,MainForm.LogosImage.Width,MainForm.LogosImage.Height);
\r
623 MainForm.LogosImage.Canvas.Pen.Color := PreviewColor;
\r
624 MainForm.LogosImage.Canvas.Rectangle(0,0,xsize*pointsize+xsize-1,ysize*pointsize+ysize-1);
\r
626 MainForm.LogosImage.Canvas.Brush.Color := PreviewColor;
\r
627 MainForm.LogosImage.Canvas.FloodFill(2,2,PreviewColor,fsBorder);
\r
629 MainForm.LogosImage.Canvas.Pen.Color := clBlack;
\r
631 for i:=0 to xsize do
\r
633 MainForm.LogosImage.Canvas.MoveTo(i*pointsize+i-1,0);
\r
634 MainForm.LogosImage.Canvas.LineTo(i*pointsize+i-1,ysize*pointsize+ysize-1);
\r
636 for i:=0 to ysize do
\r
638 MainForm.LogosImage.Canvas.MoveTo(0,i*pointsize+i-1);
\r
639 MainForm.LogosImage.Canvas.LineTo(xsize*pointsize+xsize-1,i*pointsize+i-1);
\r
642 MainForm.Image1.Picture.Assign(MainForm.Image2.Picture);
\r
643 MainForm.Image1.Canvas.Pen.Mode := pmCopy;
\r
644 for i:=0 to xsize-1 do
\r
646 for j:=0 to ysize-1 do
\r
648 UpdatePointBitmap(i,j);
\r
653 procedure TMainForm.Image1MouseDown(Sender: TObject; Button: TMouseButton;
\r
654 Shift: TShiftState; X, Y: Integer);
\r
660 if FindFirst(ExtractFilePath(Application.ExeName)+'\*bmp', faAnyFile, sr) = 0 then
\r
663 if (sr.Attr and faAnyFile) = sr.Attr then
\r
665 if sr.Size=57814 then
\r
669 Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+sr.name);
\r
670 PreviewColor:=Image2.Canvas.Pixels[70,170];
\r
673 logofilename:=sr.name;
\r
675 0:if logofilename=sr.Name then filefound:=1;
\r
677 if filefound=2 then break;
\r
680 until FindNext(sr) <> 0;
\r
683 if filefound<>2 then
\r
685 if FindFirst(ExtractFilePath(Application.ExeName)+'\*bmp', faAnyFile, sr) = 0 then
\r
687 Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+sr.name);
\r
689 logofilename:=sr.name;
\r
694 procedure LogosMousePos(x,y:integer);
\r
712 procedure TMainForm.ComboBox2Select(Sender: TObject);
\r
716 case ComboBox2.ItemIndex of
\r
717 0:bittype:=GSM_CallerLogo;
\r
718 1:bittype:=GSM_OperatorLogo;
\r
719 2:bittype:=GSM_PictureImage;
\r
720 3:bittype:=GSM_StartupLogo;
\r
722 bittype:=GSM_StartupLogo;
\r
724 GSM_ResizeBitmap(@bitma,bittype);
\r
726 if bitma.type2<>GSM_OperatorLogo then
\r
727 Button8.Enabled:=false
\r
729 Button8.Enabled:=true;
\r
732 procedure TMainForm.LogosImageMouseMove(Sender: TObject; Shift: TShiftState;
\r
735 LogosMousePos(x,y);
\r
736 if x2<=bitma.width then
\r
738 if y2<=bitma.heigh then
\r
739 MainForm.StatusBar1.Panels[0].Text:=inttostr(x2)+','+inttostr(y2)
\r
741 MainForm.StatusBar1.Panels[0].Text:='';
\r
743 MainForm.StatusBar1.Panels[0].Text:='';
\r
746 procedure TMainForm.LogosTabSheetShow(Sender: TObject);
\r
751 procedure TMainForm.Button7Click(Sender: TObject);
\r
755 LogosRingForm.Label1.Caption:='What logo do you want to get ?';
\r
756 LogosRingForm.ComboBox3.Items.Clear;
\r
757 case bitma.type2 of
\r
760 LogosRingForm.ComboBox3.Visible:=true;
\r
761 ReadAllCallerGroups();
\r
764 LogosRingForm.ComboBox3.Items.Add(caller[i].text);
\r
766 LogosRingForm.ComboBox3.ItemIndex:=0;
\r
767 LogosRingForm.ShowModal();
\r
768 if (LogosRingForm.ComboBox3.Visible) then
\r
770 bitma.number:=LogosRingForm.ComboBox3.ItemIndex;
\r
771 MainForm.Timer2.Enabled:=false;
\r
772 GSM_GetBitmap(@bitma);
\r
773 MainForm.Timer2.Enabled:=true;
\r
779 LogosRingForm.ComboBox3.Visible:=true;
\r
782 LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));
\r
784 LogosRingForm.ComboBox3.ItemIndex:=0;
\r
785 LogosRingForm.ShowModal();
\r
786 if (LogosRingForm.ComboBox3.Visible) then
\r
788 bitma.number:=LogosRingForm.ComboBox3.ItemIndex;
\r
789 MainForm.Timer2.Enabled:=false;
\r
790 GSM_GetBitmap(@bitma);
\r
791 MainForm.Timer2.Enabled:=true;
\r
797 MainForm.Timer2.Enabled:=false;
\r
798 GSM_GetBitmap(@bitma);
\r
799 MainForm.Timer2.Enabled:=true;
\r
805 procedure TMainForm.Button4Click(Sender: TObject);
\r
809 if OpenDialog1.Execute then
\r
811 if GSM_ReadBitmapFile(PChar(OpenDialog1.FileName),@bit)=0 then
\r
815 case bitma.type2 of
\r
816 GSM_CallerLogo :ComboBox2.ItemIndex:=0;
\r
817 GSM_OperatorLogo:ComboBox2.ItemIndex:=1;
\r
818 GSM_PictureImage:ComboBox2.ItemIndex:=2;
\r
819 GSM_StartupLogo :ComboBox2.ItemIndex:=3;
\r
825 procedure TMainForm.LogosImageMouseDown(Sender: TObject; Button: TMouseButton;
\r
826 Shift: TShiftState; X, Y: Integer);
\r
828 LogosMousePos(x,y);
\r
829 if x2<=bitma.width then
\r
831 if y2<=bitma.heigh then
\r
833 if ssLeft in Shift then
\r
834 GSM_SetPointBitmap(@bitma,x2-1,y2-1)
\r
836 GSM_ClearPointBitmap(@bitma,x2-1,y2-1);
\r
838 UpdatePointBitmap(x2-1,y2-1);
\r
843 procedure TMainForm.Button6Click(Sender: TObject);
\r
846 Name,Data:array[1..255] of char;
\r
847 oldbitma:GSM_Bitmap;
\r
849 LogosRingForm.Label1.Caption:='Do you want to set logo ?';
\r
850 LogosRingForm.ComboBox3.Items.Clear;
\r
851 case bitma.type2 of
\r
854 LogosRingForm.ComboBox3.Visible:=false;
\r
855 LogosRingForm.ShowModal();
\r
856 if (LogosRingForm.ComboBox3.Visible) then
\r
857 GSM_SetBitmap(@bitma);
\r
861 LogosRingForm.ComboBox3.Visible:=true;
\r
862 LogosRingForm.ComboBox3.Items.Add('Preview');
\r
863 //preparing network names
\r
867 GSM_GetNetworkData(i,@Name,@Data);
\r
869 // conversion problems
\r
870 Label14.Caption:=Name;
\r
871 if strcomp(PChar(Label14.Caption),PChar('unknown'))=0 then break;
\r
873 // conversion problems
\r
874 Label14.Caption:=' - '+Label14.Caption;
\r
875 for j:=6 downto 1 do
\r
877 Label14.Caption:=Data[j]+Label14.Caption;
\r
880 LogosRingForm.ComboBox3.Items.Add(Pchar(Label14.Caption));
\r
883 //looking for current network
\r
884 if GSMPhoneConnected then
\r
886 // conversion problems
\r
887 Label14.Caption:=MainForm.StatusBar1.Panels[1].Text;
\r
888 Label14.Caption:=' - '+Label14.Caption;
\r
889 for j:=6 downto 1 do
\r
891 Label14.Caption:=GSMNetworkInfo.NetworkCode[j]+Label14.Caption;
\r
897 if strcomp(pchar(LogosRingForm.ComboBox3.Items[i]),pchar(Label14.Caption))=0
\r
901 LogosRingForm.ComboBox3.ItemIndex:=i;
\r
903 LogosRingForm.ShowModal();
\r
904 if (LogosRingForm.ComboBox3.Visible) then
\r
906 if LogosRingForm.ComboBox3.ItemIndex=0 then
\r
911 bitma.netcode[i]:=GSMNetworkInfo.NetworkCode[i];
\r
913 bitma.netcode[7]:=chr(0);
\r
916 GSM_GetNetworkData(LogosRingForm.ComboBox3.ItemIndex-1,@Name,@bitma.netcode);
\r
918 GSM_SetBitmap(@bitma);
\r
923 LogosRingForm.ComboBox3.Visible:=true;
\r
926 LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));
\r
928 LogosRingForm.ComboBox3.ItemIndex:=0;
\r
929 LogosRingForm.ShowModal();
\r
930 if (LogosRingForm.ComboBox3.Visible) then
\r
932 if LogosRingForm.ComboBox3.ItemIndex=0 then
\r
937 bitma.number:=LogosRingForm.ComboBox3.ItemIndex;
\r
939 GSM_SetBitmap(@bitma);
\r
944 LogosRingForm.ComboBox3.Visible:=true;
\r
945 LogosRingForm.ComboBox3.Items.Add('Preview');
\r
946 ReadAllCallerGroups();
\r
949 LogosRingForm.ComboBox3.Items.Add(caller[i].text);
\r
951 LogosRingForm.ComboBox3.ItemIndex:=1;
\r
952 LogosRingForm.ShowModal();
\r
953 if (LogosRingForm.ComboBox3.Visible) then
\r
955 if LogosRingForm.ComboBox3.ItemIndex=0 then
\r
960 bitma.number:=LogosRingForm.ComboBox3.ItemIndex-1;
\r
961 //we need to get old caller group datas
\r
962 oldbitma.type2:=bitma.type2;
\r
963 oldbitma.number:=bitma.number;
\r
964 GSM_GetBitmap(@oldbitma);
\r
965 bitma.ringtone:=oldbitma.ringtone;
\r
966 bitma.text:=oldbitma.text;
\r
968 GSM_SetBitmap(@bitma);
\r
974 procedure TMainForm.Button5Click(Sender: TObject);
\r
976 if SaveDialog1.Execute then
\r
978 GSM_SaveBitmapFile(PChar(SaveDialog1.FileName),@bitma);
\r
982 procedure TMainForm.Button8Click(Sender: TObject);
\r
986 if MessageDlg('Restore logo to default ?',
\r
987 mtConfirmation, [mbYes, mbNo], 0) = mrYes then
\r
990 bitma2.netcode[1]:='0';
\r
991 bitma2.netcode[2]:='0';
\r
992 bitma2.netcode[3]:='0';
\r
993 bitma2.netcode[4]:=' ';
\r
994 bitma2.netcode[5]:='0';
\r
995 bitma2.netcode[6]:='0';
\r
996 bitma2.netcode[7]:=chr(0);
\r
997 GSM_ClearBitmap(@bitma2);
\r
998 GSM_SetBitmap(@bitma2);
\r
1002 procedure TMainForm.Button12Click(Sender: TObject);
\r
1004 GSM_ClearBitmap(@bitma);
\r
1008 //MainForm main functions
\r
1009 procedure TMainForm.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
\r
1010 Shift: TShiftState; X, Y: Integer);
\r
1012 MainForm.TreeView1.FullExpand;
\r
1013 case MainForm.TreeView1.Selected.ImageIndex of
\r
1014 0: MainForm.PageControl1.ActivePage:=PhoneTabSheet;
\r
1015 1: MainForm.PageControl1.ActivePage:=CalendarTabSheet;
\r
1016 2: MainForm.PageControl1.ActivePage:=DivertTabSheet;
\r
1017 3: MainForm.PageControl1.ActivePage:=CallerTabSheet;
\r
1018 4: MainForm.PageControl1.ActivePage:=LogosTabSheet;
\r
1019 5: MainForm.PageControl1.ActivePage:=NetmonitorTabSheet;
\r
1020 6: MainForm.PageControl1.ActivePage:=PhonebookTabSheet;
\r
1021 7: MainForm.PageControl1.ActivePage:=ProfileTabSheet;
\r
1022 8: MainForm.PageControl1.ActivePage:=RingtonesTabSheet;
\r
1023 9: MainForm.PageControl1.ActivePage:=SMSTabSheet;
\r
1024 10: MainForm.PageControl1.ActivePage:=SMSCTabSheet;
\r
1025 11: MainForm.PageControl1.ActivePage:=SpeedTabSheet;
\r
1026 12: MainForm.PageControl1.ActivePage:=WAPBookTabSheet;
\r
1027 13: MainForm.PageControl1.ActivePage:=WAPSettTabSheet;
\r
1028 14: MainForm.PageControl1.ActivePage:=PCOfflineTabSheet;
\r
1029 15: MainForm.PageControl1.ActivePage:=PCCalendarTabSheet;
\r
1030 16: MainForm.PageControl1.ActivePage:=PCSMSTabSheet;
\r
1034 procedure TMainForm.Configuration1Click(Sender: TObject);
\r
1036 MainForm.PageControl1.ActivePage:=ConfigTabSheet;
\r
1039 procedure TMainForm.TreeView1KeyUp(Sender: TObject; var Key: Word;
\r
1040 Shift: TShiftState);
\r
1042 MainForm.TreeView1.FullExpand;
\r
1045 procedure TMainForm.FormCreate(Sender: TObject);
\r
1047 MainForm.PhonebookTabSheet.TabVisible:=false;
\r
1048 MainForm.NetmonitorTabSheet.TabVisible:=false;
\r
1049 MainForm.LogosTabSheet.TabVisible:=false;
\r
1050 MainForm.PhoneTabSheet.TabVisible:=false;
\r
1051 MainForm.RingtonesTabSheet.TabVisible:=false;
\r
1052 MainForm.SMSTabSheet.TabVisible:=false;
\r
1053 MainForm.SMSCTabSheet.TabVisible:=false;
\r
1054 MainForm.SpeedTabSheet.TabVisible:=false;
\r
1055 MainForm.CalendarTabSheet.TabVisible:=false;
\r
1056 MainForm.CallerTabSheet.TabVisible:=false;
\r
1057 MainForm.ProfileTabSheet.TabVisible:=false;
\r
1058 MainForm.WAPBookTabSheet.TabVisible:=false;
\r
1059 MainForm.WAPSettTabSheet.TabVisible:=false;
\r
1060 MainForm.DivertTabSheet.TabVisible:=false;
\r
1061 MainForm.ConfigTabSheet.TabVisible:=false;
\r
1062 MainForm.AboutTabSheet.TabVisible:=false;
\r
1063 MainForm.PCSMSTabSheet.TabVisible:=false;
\r
1064 MainForm.PCCalendarTabSheet.TabVisible:=false;
\r
1065 MainForm.PCOfflineTabSheet.TabVisible:=false;
\r
1066 MainForm.PageControl1.ActivePage:=PhoneTabSheet;
\r
1068 PreviewColor:=Image2.Canvas.Pixels[70,170];
\r
1073 bitma.type2:=GSM_OperatorLogo;
\r
1074 GSM_ClearBitmap(@bitma);
\r
1077 MainForm.LogosImage.Width:=96*pointsize+96-1;
\r
1078 MainForm.LogosImage.Height:=65*pointsize+65-1;
\r
1082 MainForm.Width:=660;
\r
1083 MainForm.Height:=470;
\r
1085 callerinit:=false;
\r
1089 smsofflinenumber:=0;
\r
1090 calendarofflinenumber:=0;
\r
1092 readcalendar:=false;
\r
1095 procedure TMainForm.Timer1Timer(Sender: TObject);
\r
1097 NetworkName:array[1..255] of char;
\r
1099 if GSMPhoneConnected then
\r
1101 // Here we should enable interface
\r
1102 GSM_GetNetworkName(@NetworkName,@GSMNetworkInfo.NetworkCode);
\r
1103 MainForm.StatusBar1.Panels[1].Text:=NetworkName;
\r
1104 if PhonebookThread=nil then
\r
1105 ComboBox1.Enabled:=true;
\r
1107 ListView1.Enabled:=true;
\r
1108 NetmonGroupBox.Enabled:=true;
\r
1109 SpinEdit1.Enabled:=true;
\r
1110 Button2.Enabled:=true;
\r
1111 Button3.Enabled:=true;
\r
1112 Button6.Enabled:=true;
\r
1113 Button7.Enabled:=true;
\r
1114 Button9.Enabled:=true;
\r
1115 Button11.Enabled:=true;
\r
1118 Button16.Enabled:=true;
\r
1119 if Edit1.Text<>'' then
\r
1120 Edit1.Enabled:=true;
\r
1121 if Edit2.Text<>'' then
\r
1122 Edit2.Enabled:=true;
\r
1124 If MainForm.PageControl1.ActivePage=MainForm.NetmonitorTabSheet then
\r
1125 NetmonitorTabSheetShow(Sender);
\r
1127 If MainForm.PageControl1.ActivePage=MainForm.PhoneTabSheet then
\r
1129 if not phoneinfo then
\r
1130 PhoneTabSheetShow(Sender);
\r
1133 If MainForm.PageControl1.ActivePage=MainForm.SpeedTabSheet then
\r
1135 if speednum<>10 then
\r
1136 SpeedTabSheetShow(Sender);
\r
1139 if bitma.type2<>GSM_OperatorLogo then
\r
1140 Button8.Enabled:=false
\r
1142 Button8.Enabled:=true;
\r
1144 if Edit2.Text<>'' then
\r
1145 Button14.Enabled:=true
\r
1147 Button14.Enabled:=false;
\r
1149 if Edit1.Text<>'' then
\r
1151 Button2.Enabled:=true;
\r
1152 Button17.Enabled:=true;
\r
1153 if PlayRingtoneThread<>nil then
\r
1155 Button3.Enabled:=false;
\r
1156 Button16.Enabled:=true;
\r
1160 Button3.Enabled:=true;
\r
1161 Button16.Enabled:=false;
\r
1165 Button2.Enabled:=false;
\r
1166 Button17.Enabled:=false;
\r
1167 Button16.Enabled:=false;
\r
1168 Button3.Enabled:=false;
\r
1171 Button18.Enabled:=false;
\r
1172 if bitma.type2=GSM_PictureImage then
\r
1173 Button18.Enabled:=true;
\r
1174 if bitma.type2=GSM_OperatorLogo then
\r
1175 Button18.Enabled:=true;
\r
1176 if bitma.type2=GSM_CallerLogo then
\r
1177 Button18.Enabled:=true;
\r
1180 WAPSettTabSheet.Enabled:=true;
\r
1181 if GSM_GetModelFeature(FN_WAP)=0 then
\r
1183 GroupBox19.Enabled:=false;
\r
1184 groupbox19.Ctl3D:=false;
\r
1185 ComboBox7.enabled:=false;
\r
1186 ComboBox8.enabled:=false;
\r
1187 ComboBox9.enabled:=false;
\r
1188 ComboBox10.enabled:=false;
\r
1189 ComboBox11.enabled:=false;
\r
1190 ComboBox12.enabled:=false;
\r
1191 ComboBox13.enabled:=false;
\r
1192 ComboBox14.enabled:=false;
\r
1193 Edit6.Enabled:=false;
\r
1194 Edit8.Enabled:=false;
\r
1195 Edit9.Enabled:=false;
\r
1196 Edit10.Enabled:=false;
\r
1197 Edit11.Enabled:=false;
\r
1198 Edit12.Enabled:=false;
\r
1199 Edit13.Enabled:=false;
\r
1200 Edit14.Enabled:=false;
\r
1201 Edit15.Enabled:=false;
\r
1204 GroupBox19.Enabled:=true;
\r
1205 groupbox19.Ctl3D:=true;
\r
1206 ComboBox7.enabled:=true;
\r
1207 ComboBox8.enabled:=true;
\r
1208 ComboBox9.enabled:=true;
\r
1209 ComboBox10.enabled:=true;
\r
1210 ComboBox11.enabled:=true;
\r
1211 ComboBox12.enabled:=true;
\r
1212 ComboBox13.enabled:=true;
\r
1213 ComboBox14.enabled:=true;
\r
1214 Edit6.Enabled:=true;
\r
1215 Edit8.Enabled:=true;
\r
1216 Edit9.Enabled:=true;
\r
1217 Edit10.Enabled:=true;
\r
1218 Edit11.Enabled:=true;
\r
1219 Edit12.Enabled:=true;
\r
1220 Edit13.Enabled:=true;
\r
1221 Edit14.Enabled:=true;
\r
1222 Edit15.Enabled:=true;
\r
1225 button19.Enabled:=true;
\r
1226 button20.Enabled:=true;
\r
1229 // Here we should disabled interface
\r
1230 MainForm.StatusBar1.Panels[1].Text:='Not connected';
\r
1232 callerinit:=false;
\r
1234 MainForm.ComboBox1.Enabled:=false;
\r
1235 MainForm.ListView1.Enabled:=false;
\r
1236 MainForm.NetmonGroupBox.Enabled:=false;
\r
1237 MainForm.SpinEdit1.Enabled:=false;
\r
1238 MainForm.Button2.Enabled:=false;
\r
1239 MainForm.Button3.Enabled:=false;
\r
1240 MainForm.Button6.Enabled:=false;
\r
1241 MainForm.Button7.Enabled:=false;
\r
1242 MainForm.Button8.Enabled:=false;
\r
1243 MainForm.Button9.Enabled:=false;
\r
1244 MainForm.Button11.Enabled:=false;
\r
1245 Button18.Enabled:=false;
\r
1248 Button16.Enabled:=false;
\r
1249 Button14.Enabled:=false;
\r
1250 Button17.Enabled:=false;
\r
1251 Edit1.Enabled:=false;
\r
1252 Edit2.Enabled:=false;
\r
1254 MainForm.NetmonitorTabSheetHide(Sender);
\r
1255 MainForm.PhonebookTabSheetHide(Sender);
\r
1256 MainForm.SpeedTabSheetHide(Sender);
\r
1259 ComboBox7.enabled:=false;
\r
1260 ComboBox8.enabled:=false;
\r
1261 ComboBox9.enabled:=false;
\r
1262 ComboBox10.enabled:=false;
\r
1263 ComboBox11.enabled:=false;
\r
1264 ComboBox12.enabled:=false;
\r
1265 ComboBox13.enabled:=false;
\r
1266 ComboBox14.enabled:=false;
\r
1267 Edit6.Enabled:=false;
\r
1268 Edit8.Enabled:=false;
\r
1269 Edit9.Enabled:=false;
\r
1270 Edit10.Enabled:=false;
\r
1271 Edit11.Enabled:=false;
\r
1272 Edit12.Enabled:=false;
\r
1273 Edit13.Enabled:=false;
\r
1274 Edit14.Enabled:=false;
\r
1275 Edit15.Enabled:=false;
\r
1277 button19.Enabled:=false;
\r
1278 button20.Enabled:=false;
\r
1284 procedure TMainForm.Quit1Click(Sender: TObject);
\r
1286 if GSMPhoneConnected then GSM_Terminate();
\r
1290 procedure TMainForm.FormResize(Sender: TObject);
\r
1292 MainForm.StatusBar1.Panels[0].Width:=MainForm.Width-150;
\r
1295 procedure TMainForm.About1Click(Sender: TObject);
\r
1297 AboutTabSheet.Show;
\r
1300 //netmonitor sheet functions
\r
1302 procedure TNetmonThread.Execute;
\r
1304 netmon:array[1..255] of char;
\r
1306 while not Terminated do
\r
1308 GSM_Netmonitor(netmonnum,@netmon);
\r
1309 MainForm.NetmonLabel.Caption:=netmon;
\r
1310 MainForm.NetmonGroupBox.Caption:=' Screen ' + IntToStr(netmonnum) + ' ';
\r
1314 procedure TMainForm.NetmonitorTabSheetShow(Sender: TObject);
\r
1316 if NetmonThread<>nil then
\r
1318 if GSMPhoneConnected then
\r
1320 MainForm.Timer2.Enabled:=false;
\r
1321 NetmonThread:=TNetmonThread.Create(false);
\r
1326 procedure TMainForm.NetmonitorTabSheetHide(Sender: TObject);
\r
1328 if (NetmonThread<>nil) then
\r
1330 NetmonThread.Terminate();
\r
1331 MainForm.Timer2.Enabled:=true;
\r
1332 NetmonThread:=nil;
\r
1336 procedure TMainForm.SpinEdit1Change(Sender: TObject);
\r
1338 netmonnum:=SpinEdit1.Value;
\r
1341 procedure TMainForm.Button11Click(Sender: TObject);
\r
1343 netmon:array[1..255] of char;
\r
1345 NetmonForm.ShowModal;
\r
1346 if NetmonForm.RadioGroup1.ItemIndex<>-1 then
\r
1348 GSM_Netmonitor(241+NetmonForm.RadioGroup1.ItemIndex,@netmon);
\r
1352 //phonebook sheet functions
\r
1354 procedure EndPhonebookThread;
\r
1356 if (PhonebookThread<>nil) then
\r
1358 PhonebookThread.Terminate();
\r
1359 MainForm.Timer2.Enabled:=true;
\r
1360 PhonebookThread:=nil;
\r
1361 MainForm.ComboBox1.Enabled:=true;
\r
1365 procedure TPhonebookThread.Execute;
\r
1367 x:GSM_PhonebookEntry;
\r
1370 while not Terminated do
\r
1372 if (phonebookcur<phonebookstatus.Used+phonebookstatus.Free) then
\r
1374 phonebookcur:=phonebookcur+1;
\r
1375 MainForm.StatusBar1.Panels[0].Text:='Reading '+inttostr(phonebookcur)+'/'+inttostr(phonebookstatus.Free+phonebookstatus.Used);
\r
1376 MainForm.ListView1.Items.Add;
\r
1377 MainForm.ListView1.Items.Item[phonebookcur-1].Caption:=inttostr(phonebookcur);
\r
1378 if (phonebookfound<phonebookstatus.Used) then
\r
1380 x.MemoryType:=phonebookstatus.MemoryType;
\r
1381 x.Location:=phonebookcur;
\r
1382 if (x.MemoryType=GMT_ON) then x.Location:=x.Location-1;
\r
1383 if (x.MemoryType=GMT_DC) then x.Location:=x.Location-1;
\r
1384 if (x.MemoryType=GMT_MC) then x.Location:=x.Location-1;
\r
1385 if (x.MemoryType=GMT_RC) then x.Location:=x.Location-1;
\r
1386 if GSM_GetMemoryLocation(@x)=0 then
\r
1388 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(x.Name);
\r
1390 if (x.Number[1]<>chr(0)) then
\r
1391 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(x.Number)
\r
1393 for j:=1 to x.SubEntriesCount do
\r
1395 if x.SubEntries[j].EntryType=GSM_Number then
\r
1397 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(x.subentries[j].Number);
\r
1404 0:MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(caller[x.Group+1].text);
\r
1405 1:MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(caller[x.Group+1].text);
\r
1406 2:MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(caller[x.Group+1].text);
\r
1407 3:MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(caller[x.Group+1].text);
\r
1408 4:MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(caller[x.Group+1].text);
\r
1410 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add('not set');
\r
1413 for i:=1 to x.SubEntriesCount do
\r
1415 if x.SubEntries[i].EntryType=GSM_Date then
\r
1417 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(DayOfweek2(x.SubEntries[i].Date.Day,x.SubEntries[i].Date.Month,x.SubEntries[i].Date.Year)+' '+inttostr2(x.SubEntries[i].Date.Day,2)+'-'+inttostr2(x.SubEntries[i].Date.Month,2)+'-'+inttostr(x.SubEntries[i].Date.Year));
\r
1418 MainForm.ListView1.Items.Item[phonebookcur-1].Subitems.Add(inttostr2(x.SubEntries[i].Date.Hour,2)+':'+inttostr2(x.SubEntries[i].Date.Minute,2)+':'+inttostr2(x.SubEntries[i].Date.Second,2));
\r
1422 if (x.Name[1]<>chr(0)) then phonebookfound:=phonebookfound+1;
\r
1427 MainForm.StatusBar1.Panels[0].Text:=inttostr(phonebookstatus.Used)+'/'+inttostr(phonebookstatus.Free+phonebookstatus.Used)+' entries';
\r
1428 EndPhonebookThread;
\r
1433 procedure TMainForm.PhonebookTabSheetShow(Sender: TObject);
\r
1435 if GSMPhoneConnected then ComboBox1.Enabled:=true;
\r
1438 procedure TMainForm.Button10Click(Sender: TObject);
\r
1441 FileHandle:integer;
\r
1443 if SaveDialog1.Execute then
\r
1445 FileHandle := FileCreate(SaveDialog1.FileName);
\r
1446 for i:=1 to ListView1.Items.Count do
\r
1448 FileWrite(FileHandle,ListView1.Items.Item[i].Caption, SizeOf(ListView1.Items.Item[i].Caption));
\r
1450 FileClose(FileHandle);
\r
1454 procedure TMainForm.ComboBox1Change(Sender: TObject);
\r
1456 if (ComboBox1.ItemIndex<>0) then
\r
1458 case ComboBox1.ItemIndex of
\r
1459 1:phonebookstatus.MemoryType:=GMT_DC;
\r
1460 2:phonebookstatus.MemoryType:=GMT_MC;
\r
1461 3:phonebookstatus.MemoryType:=GMT_ON;
\r
1462 4:phonebookstatus.MemoryType:=GMT_ME;
\r
1463 5:phonebookstatus.MemoryType:=GMT_SM;
\r
1464 6:phonebookstatus.MemoryType:=GMT_RC;
\r
1466 if GSM_GetMemoryStatus(@phonebookstatus)<>0 then
\r
1468 phonebookstatus.Free:=0;
\r
1469 phonebookstatus.Used:=30;
\r
1472 phonebookfound:=0;
\r
1474 ComboBox1.Enabled:=false;
\r
1476 ReadAllCallerGroups();
\r
1478 MainForm.ListView1.Items.Clear;
\r
1479 MainForm.Timer2.Enabled:=false;
\r
1480 PhonebookThread:=TPhonebookThread.Create(false);
\r
1484 procedure TMainForm.PhonebookTabSheetHide(Sender: TObject);
\r
1486 EndPhonebookThread;
\r
1490 procedure TMainForm.Button1Click(Sender: TObject);
\r
1492 ring:GSM_Ringtone;
\r
1494 if OpenDialog1.Execute then
\r
1496 if GSM_ReadRingtoneFile(PChar(OpenDialog1.FileName),@ring)=0 then
\r
1498 Edit1.Text:=ring.Name;
\r
1504 procedure EndPlayRingtoneThread;
\r
1506 if (PlayRingtoneThread<>nil) then
\r
1508 PlayRingtoneThread.Terminate();
\r
1509 GSM_PlayTone(255*255,0);
\r
1510 MainForm.Timer2.Enabled:=true;
\r
1511 PlayRingtoneThread:=nil;
\r
1515 procedure TPlayRingtoneThread.Execute;
\r
1517 while not Terminated do
\r
1519 GSM_PlayNote(rington.notes[ringindex]);
\r
1520 ringindex:=ringindex+1;
\r
1521 if ringindex>rington.NrNotes then
\r
1522 EndPlayRingtoneThread;
\r
1526 procedure TMainForm.Button16Click(Sender: TObject);
\r
1528 EndPlayRingtoneThread;
\r
1531 procedure TMainForm.Button3Click(Sender: TObject);
\r
1534 MainForm.Timer2.Enabled:=false;
\r
1535 PlayRingtoneThread:=TPlayRingtoneThread.Create(false);
\r
1538 procedure TMainForm.Button2Click(Sender: TObject);
\r
1542 LogosRingForm.Label1.Caption:='Do you want to set ringtone ?';
\r
1543 LogosRingForm.ComboBox3.Items.Clear();
\r
1544 LogosRingForm.ComboBox3.Items.Add('Preview');
\r
1547 LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));
\r
1549 LogosRingForm.ComboBox3.ItemIndex:=1;
\r
1550 LogosRingForm.ShowModal;
\r
1551 if LogosRingForm.ComboBox3.Visible then
\r
1553 if LogosRingForm.ComboBox3.ItemIndex=0 then
\r
1554 rington.location:=255
\r
1556 rington.location:=LogosRingForm.ComboBox3.ItemIndex;
\r
1557 MainForm.Timer2.Enabled:=false;
\r
1558 GSM_SetRingtone(@rington,@i);
\r
1559 MainForm.Timer2.Enabled:=true;
\r
1564 procedure TMainForm.PhoneTabSheetShow(Sender: TObject);
\r
1566 xxxx,xxx:array[1..256] of char;
\r
1567 time:GSM_DateTime;
\r
1568 siml:GSM_AllSimlocks;
\r
1570 code:GSM_SecurityCode;
\r
1572 if GSMPhoneConnected then
\r
1574 GSM_GetRevision(@xxx);
\r
1575 Label9.Caption:=xxx;
\r
1576 GSM_GetImei(@xxx);
\r
1577 Label7.Caption:=xxx;
\r
1578 GSM_GetModel(@xxx);
\r
1579 GSM_GetModelNumber(@xxx,@xxxx);
\r
1580 Label5.Caption:=xxx;
\r
1581 Label5.Caption:=Label5.Caption+' ('+xxxx;
\r
1582 Label5.Caption:=Label5.Caption+')';
\r
1583 GSM_GetAlarm(1,@time);
\r
1584 if time.isSet<>0 then
\r
1585 CheckBox1.Checked:=true
\r
1587 CheckBox1.Checked:=false;
\r
1588 DateTimePicker1.Time:=EncodeTime(time.Hour,time.Minute,0,0);
\r
1589 ListView8.Items.Clear();
\r
1590 GSM_GetSimlock(@siml);
\r
1593 MainForm.ListView8.Items.Add;
\r
1594 MainForm.ListView8.Items.Item[i-1].Caption:=inttostr(i);
\r
1595 MainForm.ListView8.Items.Item[i-1].Subitems.Add(siml.simlocks[i].data);
\r
1596 if siml.simlocks[i].enabled=0 then
\r
1597 MainForm.ListView8.Items.Item[i-1].Subitems.Add('disabled')
\r
1600 if siml.simlocks[i].factory<>0 then
\r
1601 MainForm.ListView8.Items.Item[i-1].Subitems.Add('factory')
\r
1603 MainForm.ListView8.Items.Item[i-1].Subitems.Add('user');
\r
1605 MainForm.ListView8.Items.Item[i-1].Subitems.Add(inttostr(siml.simlocks[i].counter));
\r
1607 code.Type2:=GSCT_SecurityCode;
\r
1608 GSM_GetSecurityCode(@code);
\r
1609 Label18.Caption:=code.Code;
\r
1615 procedure TMainForm.Button9Click(Sender: TObject);
\r
1617 GSM_Reset(GSM_SoftReset);
\r
1621 procedure TMainForm.SpeedTabSheetShow(Sender: TObject);
\r
1623 if SpeedThread<>nil then
\r
1625 if GSMPhoneConnected then
\r
1627 MainForm.ListView3.Items.Clear;
\r
1629 MainForm.Timer2.Enabled:=false;
\r
1630 SpeedThread:=TSpeedThread.Create(false);
\r
1635 procedure EndSpeedThread();
\r
1637 if (SpeedThread<>nil) then
\r
1639 SpeedThread.Terminate();
\r
1640 MainForm.Timer2.Enabled:=true;
\r
1645 procedure TMainForm.SpeedTabSheetHide(Sender: TObject);
\r
1650 procedure TSpeedThread.Execute;
\r
1652 entry1:GSM_SpeedDial;
\r
1653 entry2:GSM_PhonebookEntry;
\r
1656 while not Terminated do
\r
1658 entry1.Number:=speednum;
\r
1659 if GSM_GetSpeedDial(@entry1)=0 then
\r
1661 entry2.Location:=entry1.Location;
\r
1662 entry2.MemoryType:=entry1.MemoryType;
\r
1663 if entry2.Location=0 then
\r
1664 entry2.Location:=speednum;
\r
1665 GSM_GetMemoryLocation(@entry2);
\r
1666 MainForm.ListView3.Items.Add;
\r
1667 MainForm.ListView3.Items.Item[speednum-1].Caption:=inttostr(speednum);
\r
1668 MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.Name);
\r
1669 if entry2.Number[1]<>chr(0) then
\r
1670 MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.Number)
\r
1672 for i:=1 to entry2.SubEntriesCount do
\r
1674 if entry2.SubEntries[i].EntryType=GSM_Number then
\r
1676 MainForm.ListView3.Items.Item[speednum-1].Subitems.Add(entry2.SubEntries[i].Number);
\r
1681 speednum:=speednum+1;
\r
1683 if speednum=10 then
\r
1689 procedure EndCalendarThread();
\r
1691 if (CalendarThread<>nil) then
\r
1693 CalendarThread.Terminate();
\r
1694 MainForm.Timer2.Enabled:=true;
\r
1695 CalendarThread:=nil;
\r
1699 procedure AddCalendarNote(note:GSM_CalendarNote;myview:TListView);
\r
1702 myview.Items.Item[myview.Items.Count-1].Caption:=inttostr(myview.Items.Count);
\r
1703 case note.Type2 of
\r
1704 GCN_Reminder:myview.Items.Item[myview.Items.Count-1].Subitems.Add('Reminder');
\r
1705 GCN_Call :myview.Items.Item[myview.Items.Count-1].Subitems.Add('Call');
\r
1706 GCN_Meeting :myview.Items.Item[myview.Items.Count-1].Subitems.Add('Meeting');
\r
1707 GCN_Birthday:myview.Items.Item[myview.Items.Count-1].Subitems.Add('Birthday');
\r
1709 myview.Items.Item[myview.Items.Count-1].Subitems.Add(note.Text);
\r
1710 myview.Items.Item[myview.Items.Count-1].Subitems.Add(note.Phone);
\r
1711 myview.Items.Item[myview.Items.Count-1].Subitems.Add(DayOfweek2(note.Time.Day,note.Time.Month,note.Time.Year)+' '+inttostr2(note.Time.Day,2)+'-'+inttostr2(note.Time.Month,2)+'-'+inttostr(note.Time.Year)+' '+inttostr2(note.Time.Hour,2)+':'+inttostr2(note.Time.Minute,2)+':'+inttostr2(note.Time.Second,2));
\r
1712 if note.Alarm.Year<>0 then
\r
1713 myview.Items.Item[myview.Items.Count-1].Subitems.Add(DayOfweek2(note.Alarm.Day,note.Alarm.Month,note.Alarm.Year)+' '+inttostr2(note.Alarm.Day,2)+'-'+inttostr2(note.Alarm.Month,2)+'-'+inttostr(note.Alarm.Year)+' '+inttostr2(note.Alarm.Hour,2)+':'+inttostr2(note.Alarm.Minute,2)+':'+inttostr2(note.Alarm.Second,2))
\r
1715 myview.Items.Item[myview.Items.Count-1].Subitems.Add('');
\r
1718 procedure TCalendarThread.Execute;
\r
1720 note:GSM_CalendarNote;
\r
1722 while not Terminated do
\r
1724 note.Location:=calendarnum;
\r
1725 if GSM_GetCalendarNote(@note)=0 then
\r
1727 AddCalendarNote(note,MainForm.ListView4);
\r
1728 calendarnum:=calendarnum+1;
\r
1730 readcalendar:=true;
\r
1731 EndCalendarThread();
\r
1736 procedure TMainForm.CalendarTabSheetShow(Sender: TObject);
\r
1738 if CalendarThread=nil then
\r
1740 if GSMPhoneConnected then
\r
1742 if (GSM_GetModelFeature(FN_Calendar)<>0) then
\r
1744 ListView4.Enabled:=true;
\r
1745 ListView4.Ctl3D:=true;
\r
1746 GroupBox8.Ctl3D:=true;
\r
1748 MainForm.ListView4.Items.Clear;
\r
1750 MainForm.Timer2.Enabled:=false;
\r
1751 readcalendar:=false;
\r
1752 CalendarThread:=TCalendarThread.Create(false);
\r
1755 ListView4.Enabled:=false;
\r
1756 ListView4.Ctl3D:=false;
\r
1757 GroupBox8.Ctl3D:=false;
\r
1763 procedure TMainForm.CalendarTabSheetHide(Sender: TObject);
\r
1765 EndCalendarThread();
\r
1768 procedure TMainForm.New1Click(Sender: TObject);
\r
1770 setcalendarnote.Location:=MainForm.ListView4.Items.Count+1;
\r
1771 CalendarForm.ComboBox1.ItemIndex:=0;
\r
1772 CalendarForm.ComboBox1.OnSelect(nil);
\r
1773 CalendarForm.Edit2.Text:='';
\r
1774 CalendarForm.Edit1.Text:='';
\r
1775 CalendarForm.DateTimePicker1.DateTime:=Date;
\r
1776 CalendarForm.DateTimePicker3.Time:=Time;
\r
1777 CalendarForm.DateTimePicker2.DateTime:=Date;
\r
1778 CalendarForm.DateTimePicker4.Time:=Time;
\r
1779 CalendarForm.ShowModal;
\r
1782 procedure EditCalendarNote;
\r
1787 CalendarForm.DateTimePicker1.Date:=EncodeDate(setcalendarnote.Time.Year,
\r
1788 setcalendarnote.Time.Month,
\r
1789 setcalendarnote.Time.Day);
\r
1790 CalendarForm.DateTimePicker3.Time:=EncodeTime(setcalendarnote.Time.Hour,
\r
1791 setcalendarnote.Time.Minute,
\r
1792 setcalendarnote.Time.Second,i);
\r
1793 case setcalendarnote.Type2 of
\r
1794 GCN_BIRTHDAY: CalendarForm.ComboBox1.ItemIndex:=0;
\r
1795 GCN_CALL: CalendarForm.ComboBox1.ItemIndex:=1;
\r
1796 GCN_MEETING: CalendarForm.ComboBox1.ItemIndex:=2;
\r
1797 GCN_REMINDER: CalendarForm.ComboBox1.ItemIndex:=3;
\r
1800 CalendarForm.Edit2.Text:=setcalendarnote.Text;
\r
1801 CalendarForm.Edit1.Text:=setcalendarnote.Phone;
\r
1803 if setcalendarnote.Alarm.Year<>0 then
\r
1805 CalendarForm.CheckBox1.checked:=true;
\r
1806 CalendarForm.DateTimePicker2.Date:=EncodeDate(setcalendarnote.Alarm.Year,
\r
1807 setcalendarnote.Alarm.Month,
\r
1808 setcalendarnote.Alarm.Day);
\r
1809 CalendarForm.DateTimePicker4.Time:=EncodeTime(setcalendarnote.Alarm.Hour,
\r
1810 setcalendarnote.Alarm.Minute,
\r
1811 setcalendarnote.Alarm.Second,i);
\r
1814 CalendarForm.CheckBox1.checked:=false;
\r
1815 CalendarForm.DateTimePicker2.Date:=CalendarForm.DateTimePicker1.Date;
\r
1816 CalendarForm.DateTimePicker4.Time:=CalendarForm.DateTimePicker3.Time;
\r
1819 if GSM_GetModelFeature(FN_CALENDAR)=F_CAL71 then
\r
1821 if setcalendarnote.Type2<>GCN_BIRTHDAY then
\r
1823 CalendarForm.CheckBox2.Checked:=True;
\r
1824 case setcalendarnote.Recurrance of
\r
1826 CalendarForm.CheckBox2.Checked:=False;
\r
1827 CalendarForm.ComboBox2.Enabled:=False;
\r
1829 1*24 :CalendarForm.ComboBox2.ItemIndex:=0;
\r
1830 7*24 :CalendarForm.ComboBox2.ItemIndex:=1;
\r
1831 14*24 :CalendarForm.ComboBox2.ItemIndex:=2;
\r
1832 365*24:CalendarForm.ComboBox2.ItemIndex:=3;
\r
1834 CalendarForm.RadioButton1.Enabled:=False;
\r
1835 CalendarForm.RadioButton2.Enabled:=False;
\r
1837 CalendarForm.ComboBox2.ItemIndex:=0;
\r
1838 CalendarForm.CheckBox2.Checked:=False;
\r
1839 CalendarForm.ComboBox2.Enabled:=False;
\r
1840 CalendarForm.RadioButton1.Enabled:=True;
\r
1841 CalendarForm.RadioButton2.Enabled:=True;
\r
1842 if setcalendarnote.AlarmType=1 then
\r
1843 CalendarForm.RadioButton1.Checked:=True
\r
1845 CalendarForm.RadioButton2.Checked:=True;
\r
1848 CalendarForm.ComboBox1.OnSelect(nil);
\r
1850 CalendarForm.ShowModal;
\r
1853 procedure TMainForm.Edit3Click(Sender: TObject);
\r
1855 setcalendarnote.Location:=calendarselect;
\r
1857 mainform.Timer2.Enabled:=false;
\r
1858 GSM_GetCalendarNote(@setcalendarnote);
\r
1859 mainform.Timer2.Enabled:=true;
\r
1864 procedure TMainForm.ListView4SelectItem(Sender: TObject; Item: TListItem;
\r
1865 Selected: Boolean);
\r
1869 calendarselect:=Item.Index+1;
\r
1873 procedure TMainForm.Delete1Click(Sender: TObject);
\r
1875 // if listview4.selected<>nil then
\r
1877 if MessageDlg('Do you want to delete this calendar note ?',
\r
1878 mtConfirmation, [mbYes, mbNo], 0) = mrYes then
\r
1880 setcalendarnote.Location:=calendarselect;
\r
1881 GSM_DeleteCalendarNote(@setcalendarnote);
\r
1882 MainForm.CalendarTabSheetShow(nil);
\r
1888 procedure EndCallerThread();
\r
1890 if (CallerThread<>nil) then
\r
1892 CallerThread.Terminate();
\r
1893 CallerThread:=nil;
\r
1897 procedure TCallerThread.Execute;
\r
1899 while not Terminated do
\r
1901 ReadCallerGroup();
\r
1902 if callerinit then EndCallerThread();
\r
1906 procedure TMainForm.CallerTabSheetShow(Sender: TObject);
\r
1908 if CallerThread=nil then
\r
1910 if GSMPhoneConnected then
\r
1912 MainForm.ListView5.Items.Clear;
\r
1913 callerinit:=false;
\r
1915 CallerThread:=TCallerThread.Create(false);
\r
1920 procedure TMainForm.CallerTabSheetHide(Sender: TObject);
\r
1922 EndCallerThread();
\r
1926 procedure TMainForm.SMSCTabSheetShow(Sender: TObject);
\r
1928 if SMSCThread<>nil then
\r
1930 if GSMPhoneConnected then
\r
1932 MainForm.ListView6.Items.Clear;
\r
1935 MainForm.Timer2.Enabled:=false;
\r
1936 SMSCThread:=TSMSCThread.Create(false);
\r
1941 procedure SMSCTabHide();
\r
1943 if (SMSCThread<>nil) then
\r
1945 SMSCThread.Terminate();
\r
1946 MainForm.Timer2.Enabled:=true;
\r
1951 procedure TMainForm.SMSCTabSheetHide(Sender: TObject);
\r
1956 procedure ReadSMSC();
\r
1958 smsc:GSM_MessageCenter;
\r
1961 MainForm.StatusBar1.Panels[0].Text:='Reading SMSC '+inttostr(smscnum);
\r
1962 if GSM_GetSMSCenter(@smsc)=0 then
\r
1964 SMSC2[smscnum]:=smsc;
\r
1965 MainForm.ListView6.Items.Add;
\r
1966 MainForm.ListView6.Items.Item[smscnum-1].Caption:=inttostr(smscnum);
\r
1967 MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.name);
\r
1968 MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.number);
\r
1969 case smsc.Validity of
\r
1970 GSMV_1_Hour : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 hour');
\r
1971 GSMV_6_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('6 hours');
\r
1972 GSMV_24_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 day');
\r
1973 GSMV_72_Hours : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('3 days');
\r
1974 GSMV_1_Week : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('1 week');
\r
1975 GSMV_Max_Time : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('max. time');
\r
1977 MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('unknown');
\r
1979 case smsc.Format of
\r
1980 GSMF_Text : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('text');
\r
1981 GSMF_Fax : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('fax');
\r
1982 GSMF_Voice : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('voice');
\r
1983 GSMF_ERMES : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('ERMES');
\r
1984 GSMF_Paging : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('paging');
\r
1985 GSMF_UCI : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('UCI');
\r
1986 GSMF_Email : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('email');
\r
1987 GSMF_X400 : MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('X400');
\r
1989 MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add('unknown');
\r
1991 MainForm.ListView6.Items.Item[smscnum-1].Subitems.Add(smsc.defaultrecipient);
\r
1992 smscnum:=smscnum+1;
\r
1995 MainForm.StatusBar1.Panels[0].Text:='';
\r
2000 procedure TSMSCThread.Execute;
\r
2002 while not Terminated do
\r
2005 if smscinit then SMSCTabHide();
\r
2010 procedure ProfileTabHide();
\r
2012 if (ProfileThread<>nil) then
\r
2014 ProfileThread.Terminate();
\r
2015 MainForm.Timer2.Enabled:=true;
\r
2016 ProfileThread:=nil;
\r
2020 procedure TProfileThread.Execute;
\r
2022 profile:GSM_Profile;
\r
2024 while not Terminated do
\r
2026 profile.number:=profilenum-1;
\r
2027 GSM_GetProfile(@profile);
\r
2028 MainForm.ListView7.Items.Add;
\r
2029 MainForm.ListView7.Items.Item[profilenum-1].Caption:=inttostr(profilenum);
\r
2030 MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(profile.name);
\r
2031 case profile.CallAlert of
\r
2032 PROFILE_CALLALERT_RINGING :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ringing');
\r
2033 PROFILE_CALLALERT_BEEPONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('beep once');
\r
2034 PROFILE_CALLALERT_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');
\r
2035 PROFILE_CALLALERT_RINGONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ring once');
\r
2036 PROFILE_CALLALERT_ASCENDING:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ascending');
\r
2037 PROFILE_CALLALERT_CALLERGROUPS:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('caller groups');
\r
2039 MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(inttostr(profile.Ringtone));
\r
2040 case profile.Volume of
\r
2041 PROFILE_VOLUME_LEVEL1:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 1');
\r
2042 PROFILE_VOLUME_LEVEL2:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 2');
\r
2043 PROFILE_VOLUME_LEVEL3:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 3');
\r
2044 PROFILE_VOLUME_LEVEL4:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 4');
\r
2045 PROFILE_VOLUME_LEVEL5:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 5');
\r
2047 case profile.Vibration of
\r
2048 PROFILE_VIBRATION_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');
\r
2049 PROFILE_VIBRATION_ON :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('on');
\r
2050 PROFILE_VIBRATION_FIRST:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('vibrate first');
\r
2052 case profile.MessageTone of
\r
2053 PROFILE_MESSAGE_NOTONE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('no tone');
\r
2054 PROFILE_MESSAGE_STANDARD :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('standard');
\r
2055 PROFILE_MESSAGE_SPECIAL :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('special');
\r
2056 PROFILE_MESSAGE_BEEPONCE :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('beep once');
\r
2057 PROFILE_MESSAGE_ASCENDING:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('ascending');
\r
2059 case profile.KeypadTone of
\r
2060 PROFILE_KEYPAD_OFF :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');
\r
2061 PROFILE_KEYPAD_LEVEL1:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 1');
\r
2062 PROFILE_KEYPAD_LEVEL2:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 2');
\r
2063 PROFILE_KEYPAD_LEVEL3:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('volume 3');
\r
2065 case profile.WarningTone of
\r
2066 PROFILE_WARNING_OFF:MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('off');
\r
2067 PROFILE_WARNING_ON :MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add('on');
\r
2069 MainForm.ListView7.Items.Item[profilenum-1].Subitems.Add(inttostr(profile.CallerGroups));
\r
2070 profilenum:=profilenum+1;
\r
2071 case GSM_GetModelFeature(FN_PROFILES) of
\r
2072 F_PROF61:if profilenum=8 then ProfileTabHide();
\r
2073 F_PROF51:if profilenum=3 then ProfileTabHide();
\r
2074 F_PROF33:if profilenum=7 then ProfileTabHide();
\r
2079 procedure TMainForm.ProfileTabSheetShow(Sender: TObject);
\r
2081 if ProfileThread<>nil then
\r
2083 if GSMPhoneConnected then
\r
2085 MainForm.ListView7.Items.Clear;
\r
2087 MainForm.Timer2.Enabled:=false;
\r
2088 ProfileThread:=TProfileThread.Create(false);
\r
2093 procedure TMainForm.ProfileTabSheetHide(Sender: TObject);
\r
2099 procedure AddSMSInfo(myobject:TListView;mysms:GSM_SMSMessage);
\r
2100 var number:integer;
\r
2102 number:=myobject.Items.Count;
\r
2104 myobject.Items.Add;
\r
2105 myobject.Items.Item[number].Caption:=inttostr(number+1);
\r
2106 myobject.Items.Item[number].Subitems.Add(mysms.MessageText);
\r
2107 myobject.Items.Item[number].Subitems.Add(mysms.Sender);
\r
2108 if mysms.SMSData=1 then
\r
2110 myobject.Items.Item[number].Subitems.Add(DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year));
\r
2111 myobject.Items.Item[number].Subitems.Add(inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2));
\r
2115 procedure DisplaySMSfolder();
\r
2119 MainForm.ListView2.Items.Clear();
\r
2121 while i<>SMSstatus.Number do
\r
2124 if (SMSfolders.Folder[SMS[i].folder].Name=
\r
2125 SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then
\r
2127 AddSMSInfo(MainForm.ListView2,SMS[i]);
\r
2132 procedure SendSaveSMS(mysms:GSM_SMSMessage);
\r
2136 SMSEditForm.Memo1.Text:=mysms.MessageText;
\r
2139 SMSEditForm.Edit2.Text:=mysms.sender;
\r
2142 SMSEditForm.ComboBox1.Items.Clear;
\r
2143 for i:=0 to MainForm.ComboBox3.items.count-1 do
\r
2145 SMSEditForm.ComboBox1.Items.Add(MainForm.ComboBox3.Items.Strings[i]);
\r
2147 SMSEditForm.ComboBox1.ItemIndex:=MainForm.ComboBox3.ItemIndex;
\r
2151 SMSEditForm.ComboBox2.Items.Clear;
\r
2152 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2153 for i:=1 to smscnum-1 do
\r
2155 if SMSC2[i].Name[1]<>chr(0) then
\r
2156 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2158 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2160 SMSEditForm.ComboBox2.ItemIndex:=0;
\r
2162 if mysms.ReplyViaSameSMSC<>0 then
\r
2163 SMSEditForm.CheckBox3.Checked:=true
\r
2165 SMSEditForm.CheckBox3.Checked:=false;
\r
2167 if mysms.Class2=1 then
\r
2168 SMSEditForm.CheckBox1.Checked:=true
\r
2170 SMSEditForm.CheckBox1.Checked:=false;
\r
2172 if mysms.status=GSS_SENTREAD then
\r
2173 SMSEditForm.CheckBox4.Checked:=true
\r
2175 SMSEditForm.CheckBox4.Checked:=false;
\r
2177 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2178 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2179 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2180 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2181 SMSEditForm.PbkSMSTabSheet.TabVisible:=false;
\r
2182 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.TextSMSTabSheet;
\r
2184 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2186 SMSEditForm.edit3.Visible:=true;
\r
2187 SMSEditForm.label14.Visible:=true;
\r
2190 SMSEditForm.edit3.Visible:=false;
\r
2191 SMSEditForm.label14.Visible:=false;
\r
2194 SMSEditForm.ShowModal;
\r
2197 procedure TMainForm.Edit4Click(Sender: TObject);
\r
2199 setsmslocation:=SMS[smsnumindex].Location;
\r
2200 SendSaveSMS(SMS[smsnumindex]);
\r
2203 procedure TMainForm.New2Click(Sender: TObject);
\r
2206 setsmslocation:=0;
\r
2209 SMSEditForm.Memo1.Text:='';
\r
2212 SMSEditForm.Edit2.Text:='';
\r
2215 SMSEditForm.ComboBox1.Items.Clear;
\r
2216 for i:=0 to ComboBox3.items.count-1 do
\r
2218 SMSEditForm.ComboBox1.Items.Add(ComboBox3.Items.Strings[i]);
\r
2220 SMSEditForm.ComboBox1.ItemIndex:=ComboBox3.ItemIndex;
\r
2224 SMSEditForm.ComboBox2.Items.Clear;
\r
2225 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2226 for i:=1 to smscnum-1 do
\r
2228 if SMSC2[i].Name[1]<>chr(0) then
\r
2229 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2231 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2233 SMSEditForm.ComboBox2.ItemIndex:=1;
\r
2235 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2236 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2237 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2238 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2239 SMSEditForm.PBKSMSTabSheet.TabVisible:=false;
\r
2240 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.TextSMSTabSheet;
\r
2242 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2244 SMSEditForm.edit3.Visible:=true;
\r
2245 SMSEditForm.label14.Visible:=true;
\r
2248 SMSEditForm.edit3.Visible:=false;
\r
2249 SMSEditForm.label14.Visible:=false;
\r
2252 SMSEditForm.ShowModal;
\r
2255 procedure EndSMSThread;
\r
2257 if (SMSThread<>nil) then
\r
2259 SMSThread.Terminate();
\r
2260 MainForm.Timer2.Enabled:=true;
\r
2265 procedure TSMSThread.Execute;
\r
2269 while not Terminated do
\r
2271 if SMSnum<>SMSstatus.Number then
\r
2273 if GSM_GetModelFeature(FN_SMS)=F_SMS71 then
\r
2274 SMS[SMSnum+1].Location:=0
\r
2276 SMS[SMSnum+1].Location:=smsnum2;
\r
2277 error:=GSM_GetSMSMessage(@SMS[SMSnum+1]);
\r
2280 if SMS[SMSnum+1].Time.year<1900 then
\r
2282 SMS[SMSnum+1].Time.year:=SMS[SMSnum+1].Time.year+2000;
\r
2284 if (SMSfolders.Folder[SMS[SMSnum+1].folder].Name=
\r
2285 SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then
\r
2287 AddSMSInfo(MainForm.ListView2,SMS[SMSnum+1]);
\r
2291 if error=GE_SMSTOOLONG then
\r
2293 SMSstatus.Number:=SMSstatus.Number-1;
\r
2296 smsnum2:=smsnum2+1;
\r
2299 MainForm.ComboBox3.Enabled:=true;
\r
2305 procedure TMainForm.SMSTabSheetShow(Sender: TObject);
\r
2309 MainForm.ComboBox3.Enabled:=false;
\r
2310 if GSMPhoneConnected then
\r
2312 if smscinit=false then
\r
2314 MainForm.ListView6.Items.Clear;
\r
2319 if smscinit then break;
\r
2323 MainForm.Memo1.Lines.Clear;
\r
2324 MainForm.Memo2.Lines.Clear;
\r
2325 GSM_GetSMSFolders(@SMSfolders);
\r
2326 MainForm.ComboBox3.Items.Clear();
\r
2327 for i:=1 to SMSfolders.number do
\r
2329 MainForm.ComboBox3.Items.Add(SMSfolders.folder[i].Name);
\r
2331 MainForm.ComboBox3.ItemIndex:=0;
\r
2334 GSM_GetSMSStatus(@SMSstatus);
\r
2336 MainForm.ListView2.Items.Clear;
\r
2337 MainForm.Timer2.Enabled:=false;
\r
2338 SMSThread:=TSMSThread.Create(false);
\r
2342 procedure TMainForm.ComboBox3Change(Sender: TObject);
\r
2344 DisplaySMSfolder();
\r
2347 procedure AddSMSDescription(mysms:GSM_SMSMessage;firstmemo:TMemo;secondmemo:TMemo);
\r
2352 firstmemo.Lines.Clear;
\r
2353 firstmemo.Lines.Add(pchar('Sender: '+mysms.Sender));
\r
2355 if mysms.SMSData=1 then
\r
2357 ch:=mysms.MessageCenter.Number;
\r
2358 MainForm.Label14.Caption:=mysms.MessageCenter.Number;
\r
2359 if (smscinit) and (GSMPhoneConnected) then
\r
2361 for z:=1 to smscnum-1 do
\r
2363 MainForm.Label16.Caption:=SMSC2[z].Number;
\r
2364 if MainForm.Label14.Caption=MainForm.Label16.caption then
\r
2365 ch:=SMSC2[z].Name;
\r
2368 if mysms.ReplyViaSameSMSC<>0 then
\r
2369 ch:=' (reply via the same SMSC) '+ch;
\r
2370 firstmemo.Lines.Add('SMSC: '+ch);
\r
2372 if mysms.type2=GST_DR then
\r
2374 firstmemo.Lines.Add(pchar('Date & time: '+
\r
2375 DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year)+' '+
\r
2376 inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2))+
\r
2377 ' SMSC desponse date & time: '+
\r
2378 DayOfweek2(mysms.SMSCTime.Day,mysms.SMSCTime.Month,mysms.SMSCTime.Year)+' '+inttostr2(mysms.SMSCTime.Day,2)+'-'+inttostr2(mysms.SMSCTime.Month,2)+'-'+inttostr(mysms.SMSCTime.Year)+' '+
\r
2379 inttostr2(mysms.SMSCTime.Hour,2)+':'+inttostr2(mysms.SMSCTime.Minute,2)+':'+inttostr2(mysms.SMSCTime.Second,2));
\r
2382 firstmemo.Lines.Add(pchar('Date & time: '+
\r
2383 DayOfweek2(mysms.Time.Day,mysms.Time.Month,mysms.Time.Year)+' '+inttostr2(mysms.Time.Day,2)+'-'+inttostr2(mysms.Time.Month,2)+'-'+inttostr(mysms.Time.Year)+' '+
\r
2384 inttostr2(mysms.Time.Hour,2)+':'+inttostr2(mysms.Time.Minute,2)+':'+inttostr2(mysms.Time.Second,2)));
\r
2388 secondmemo.Lines.Clear;
\r
2389 secondmemo.Lines.Add(pchar(''+mysms.MessageText));
\r
2392 procedure TMainForm.ListView2SelectItem(Sender: TObject; Item: TListItem;
\r
2393 Selected: Boolean);
\r
2400 while i<>SMSstatus.Number do
\r
2403 if (SMSfolders.Folder[SMS[i].folder].Name=
\r
2404 SMSfolders.Folder[MainForm.ComboBox3.ItemIndex].Name) then
\r
2406 if (j=MainForm.ListView2.ItemIndex) then
\r
2409 AddSMSDescription(SMS[i],MainForm.Memo1,MainForm.Memo2);
\r
2416 procedure TMainForm.SMSTabSheetHide(Sender: TObject);
\r
2421 procedure TMainForm.SMSPopupMenuPopup(Sender: TObject);
\r
2423 New2.Enabled:=false;
\r
2424 Edit4.Enabled:=false;
\r
2425 CopyToPC1.Enabled:=false;
\r
2426 Delete2.Enabled:=false;
\r
2427 if GSMPhoneConnected then
\r
2429 New2.Enabled:=true;
\r
2430 if listview2.selected<>nil then
\r
2432 Edit4.Enabled:=true;
\r
2433 CopyToPC1.Enabled:=true;
\r
2434 Delete2.Enabled:=true;
\r
2439 procedure TMainForm.CalendarPopupMenuPopup(Sender: TObject);
\r
2441 if GSMPhoneConnected then
\r
2443 New1.Enabled:=true;
\r
2444 if listview4.selected<>nil then
\r
2446 Edit3.Enabled:=true;
\r
2447 Delete1.Enabled:=true;
\r
2448 SMS1.Enabled:=true;
\r
2449 CopyToPC2.Enabled:=true;
\r
2452 Edit3.Enabled:=false;
\r
2453 Delete1.Enabled:=false;
\r
2454 SMS1.Enabled:=false;
\r
2455 CopyToPC2.Enabled:=false;
\r
2459 New1.Enabled:=false;
\r
2460 Delete1.Enabled:=false;
\r
2461 Edit3.Enabled:=false;
\r
2462 SMS1.Enabled:=false;
\r
2463 CopyToPC2.Enabled:=false;
\r
2467 procedure TMainForm.Edit1Change(Sender: TObject);
\r
2472 rington.name[i]:=chr(0);
\r
2473 for i:=1 to strlen(pchar(edit1.text)) do
\r
2474 rington.name[i]:=edit1.text[i];
\r
2477 procedure TMainForm.Delete2Click(Sender: TObject);
\r
2479 mysms:GSM_SMSMessage;
\r
2481 if MessageDlg('Do you want to delete this SMS ?',
\r
2482 mtConfirmation, [mbYes, mbNo], 0) = mrYes then
\r
2484 mysms.Location:=SMS[smsnumindex].Location;
\r
2485 MainForm.Timer2.Enabled:=false;
\r
2486 GSM_DeleteSMSMessage(@mysms);
\r
2487 MainForm.Timer2.Enabled:=true;
\r
2488 MainForm.SMSTabSheetShow(nil);
\r
2492 procedure TMainForm.Edit5Click(Sender: TObject);
\r
2494 // if listview6.selected<>nil then
\r
2496 smsceditform.edit1.Text:=smsc2[smscselectitem].name;
\r
2497 smsceditform.edit2.Text:=smsc2[smscselectitem].number;
\r
2498 smsceditform.edit3.Text:=smsc2[smscselectitem].DefaultRecipient;
\r
2499 case smsc2[smscselectitem].Validity of
\r
2500 GSMV_1_Hour : SMSCEditForm.combobox1.itemindex:=0;
\r
2501 GSMV_6_Hours : SMSCEditForm.combobox1.itemindex:=1;
\r
2502 GSMV_24_Hours : SMSCEditForm.combobox1.itemindex:=2;
\r
2503 GSMV_72_Hours : SMSCEditForm.combobox1.itemindex:=3;
\r
2504 GSMV_1_Week : SMSCEditForm.combobox1.itemindex:=4;
\r
2506 SMSCEditForm.combobox1.itemindex:=5;
\r
2508 case smsc2[smscselectitem].Format of
\r
2509 GSMF_Text : SMSCEditForm.combobox2.itemindex:=0;
\r
2510 GSMF_Fax : SMSCEditForm.combobox2.itemindex:=1;
\r
2511 GSMF_Email : SMSCEditForm.combobox2.itemindex:=2;
\r
2513 SMSCEditForm.combobox2.itemindex:=3;
\r
2515 SMSCEditForm.ShowModal;
\r
2519 procedure TMainForm.SMSCPopupMenuPopup(Sender: TObject);
\r
2521 if GSMPhoneConnected then
\r
2523 if listview6.selected<>nil then
\r
2524 Edit5.Enabled:=true
\r
2526 Edit5.Enabled:=false;
\r
2529 Edit5.Enabled:=false;
\r
2534 procedure TMainForm.ListView6SelectItem(Sender: TObject; Item: TListItem;
\r
2535 Selected: Boolean);
\r
2539 smscselectitem:=Item.Index+1;
\r
2543 procedure TMainForm.ListView1SelectItem(Sender: TObject; Item: TListItem;
\r
2544 Selected: Boolean);
\r
2548 pbknumberentry:=Item.Index+1;
\r
2552 procedure TMainForm.Edit7Click(Sender: TObject);
\r
2557 if listview1.Selected<>nil then
\r
2559 pbk.Location:=pbknumberentry;
\r
2560 case ComboBox1.ItemIndex of
\r
2561 1:begin pbk.MemoryType:=GMT_DC;pbk.Location:=pbk.Location-1;end;
\r
2562 2:begin pbk.MemoryType:=GMT_MC;pbk.Location:=pbk.Location-1;end;
\r
2563 3:begin pbk.MemoryType:=GMT_ON;pbk.Location:=pbk.Location-1;end;
\r
2564 4:pbk.MemoryType:=GMT_ME;
\r
2565 5:pbk.MemoryType:=GMT_SM;
\r
2566 6:begin pbk.MemoryType:=GMT_RC;pbk.Location:=pbk.Location-1;end;
\r
2568 GSM_GetMemoryLocation(@pbk);
\r
2570 pbkform.ListView1.Items.Clear;
\r
2571 pbkform.ListView1.Items.Add;
\r
2572 pbkform.ListView1.Items.Item[0].Caption:='Name';
\r
2573 pbkform.ListView1.Items.Item[0].SubItems.Add(pbk.name);
\r
2574 if (pbk.Number[1]<>chr(0)) then
\r
2576 current:=current+1;
\r
2577 pbkform.ListView1.Items.Add;
\r
2578 pbkform.ListView1.Items.Item[current].Caption:='Number';
\r
2579 pbkform.ListView1.Items.Item[current].SubItems.Add(pbk.number);
\r
2581 for i:=1 to pbk.SubEntriesCount do
\r
2583 current:=current+1;
\r
2584 pbkform.ListView1.Items.Add;
\r
2585 case pbk.SubEntries[i].EntryType of
\r
2586 GSM_Number:case pbk.SubEntries[i].NumberType of
\r
2587 GSM_General :pbkform.ListView1.Items.Item[current].Caption:='General number';
\r
2588 GSM_Mobile :pbkform.ListView1.Items.Item[current].Caption:='Mobile';
\r
2589 GSM_Work :pbkform.ListView1.Items.Item[current].Caption:='Work';
\r
2590 GSM_Fax :pbkform.ListView1.Items.Item[current].Caption:='Fax';
\r
2591 GSM_Home :pbkform.ListView1.Items.Item[current].Caption:='Home';
\r
2593 pbkform.ListView1.Items.Item[current].Caption:=inttostr(pbk.SubEntries[i].NumberType);
\r
2595 GSM_Note :pbkform.ListView1.Items.Item[current].Caption:='Note';
\r
2596 GSM_Postal:pbkform.ListView1.Items.Item[current].Caption:='Address';
\r
2597 GSM_Email :pbkform.ListView1.Items.Item[current].Caption:='Email';
\r
2599 pbkform.ListView1.Items.Item[current].Caption:='Date';
\r
2600 pbkform.ListView1.Items.Item[current].SubItems.Add(DayOfweek2(pbk.SubEntries[i].Date.Day,pbk.SubEntries[i].Date.Month,pbk.SubEntries[i].Date.Year)+' '+inttostr2(pbk.SubEntries[i].Date.Day,2)+'-'+inttostr2(pbk.SubEntries[i].Date.Month,2)+'-'+inttostr(pbk.SubEntries[i].Date.Year)+' '+inttostr2(pbk.SubEntries[i].Date.Hour,2)+':'+inttostr2(pbk.SubEntries[i].Date.Minute,2)+':'+inttostr2(pbk.SubEntries[i].Date.Second,2));
\r
2603 if (pbk.SubEntries[i].EntryType<>GSM_Date) then
\r
2604 pbkform.ListView1.Items.Item[current].SubItems.Add(pbk.SubEntries[i].Number);
\r
2606 if (pbk.Group>=0) and (pbk.Group<=4) then
\r
2608 current:=current+1;
\r
2609 pbkform.ListView1.Items.Add;
\r
2610 pbkform.ListView1.Items.Item[current].Caption:='Caller group';
\r
2611 pbkform.ListView1.Items.Item[current].SubItems.Add(caller[pbk.Group+1].text);
\r
2613 pbkform.showmodal;
\r
2617 procedure TMainForm.Button18Click(Sender: TObject);
\r
2620 Name,Data:array[1..255] of char;
\r
2622 if smscinit=false then
\r
2624 MainForm.ListView6.Items.Clear;
\r
2629 if smscinit then break;
\r
2634 SMSEditForm.Memo1.Text:='';
\r
2637 SMSEditForm.Edit2.Text:='';
\r
2640 GSM_GetSMSFolders(@SMSfolders);
\r
2641 SMSEditForm.ComboBox1.Items.Clear;
\r
2642 for i:=1 to SMSFolders.number do
\r
2644 SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);
\r
2646 SMSEditForm.ComboBox1.ItemIndex:=0;
\r
2650 SMSEditForm.ComboBox2.Items.Clear;
\r
2651 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2652 for i:=1 to smscnum-1 do
\r
2654 if SMSC2[i].Name[1]<>chr(0) then
\r
2655 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2657 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2659 SMSEditForm.ComboBox2.ItemIndex:=1;
\r
2661 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2662 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2663 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2664 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2665 SMSEditForm.PBKSMSTabSheet.TabVisible:=false;
\r
2666 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.BitmapSMSTabSheet;
\r
2668 SMSEditForm.Image1.Picture:=Image1.Picture;
\r
2670 SMSEditForm.Memo2.Text:='';
\r
2671 SMSEditForm.CheckBox5.Checked:=false;
\r
2672 if bitma.type2<>GSM_PictureImage then
\r
2674 SMSEditForm.Memo2.Visible:=false;
\r
2675 SMSEditForm.Label10.Visible:=false;
\r
2676 SMSEditForm.CheckBox5.Visible:=false;
\r
2677 SMSEditForm.CheckBox6.Visible:=false;
\r
2680 SMSEditForm.Memo2.Visible:=true;
\r
2681 SMSEditForm.Label10.Visible:=true;
\r
2682 SMSEditForm.CheckBox5.Visible:=true;
\r
2683 SMSEditForm.CheckBox6.Visible:=true;
\r
2686 SMSEditForm.Label9.Visible:=false;
\r
2687 SMSEditForm.ComboBox7.Visible:=false;
\r
2688 if bitma.type2=GSM_OperatorLogo then
\r
2690 SMSEditForm.Label9.Visible:=true;
\r
2691 SMSEditForm.ComboBox7.Visible:=true;
\r
2692 //preparing network names
\r
2696 GSM_GetNetworkData(i,@Name,@Data);
\r
2698 // conversion problems
\r
2699 Label14.Caption:=Name;
\r
2700 if strcomp(PChar(Label14.Caption),PChar('unknown'))=0 then break;
\r
2702 // conversion problems
\r
2703 Label14.Caption:=' - '+Label14.Caption;
\r
2704 for j:=6 downto 1 do
\r
2706 Label14.Caption:=Data[j]+Label14.Caption;
\r
2709 SMSEditForm.ComboBox7.Items.Add(Pchar(Label14.Caption));
\r
2712 //looking for current network
\r
2713 if GSMPhoneConnected then
\r
2715 // conversion problems
\r
2716 Label14.Caption:=MainForm.StatusBar1.Panels[1].Text;
\r
2717 Label14.Caption:=' - '+Label14.Caption;
\r
2718 for j:=6 downto 1 do
\r
2720 Label14.Caption:=GSMNetworkInfo.NetworkCode[j]+Label14.Caption;
\r
2726 if strcomp(pchar(SMSEditForm.ComboBox7.Items[i]),pchar(Label14.Caption))=0
\r
2730 SMSEditForm.ComboBox7.ItemIndex:=i;
\r
2734 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2736 SMSEditForm.edit3.Visible:=true;
\r
2737 SMSEditForm.label14.Visible:=true;
\r
2740 SMSEditForm.edit3.Visible:=false;
\r
2741 SMSEditForm.label14.Visible:=false;
\r
2744 SMSEditForm.ShowModal;
\r
2747 procedure TMainForm.Button17Click(Sender: TObject);
\r
2751 if smscinit=false then
\r
2753 MainForm.ListView6.Items.Clear;
\r
2758 if smscinit then break;
\r
2763 SMSEditForm.Memo1.Text:='';
\r
2766 SMSEditForm.Edit2.Text:='';
\r
2769 GSM_GetSMSFolders(@SMSfolders);
\r
2770 SMSEditForm.ComboBox1.Items.Clear;
\r
2771 for i:=1 to SMSFolders.number do
\r
2773 SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);
\r
2775 SMSEditForm.ComboBox1.ItemIndex:=0;
\r
2779 SMSEditForm.ComboBox2.Items.Clear;
\r
2780 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2781 for i:=1 to smscnum-1 do
\r
2783 if SMSC2[i].Name[1]<>chr(0) then
\r
2784 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2786 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2788 SMSEditForm.ComboBox2.ItemIndex:=1;
\r
2790 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2791 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2792 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2793 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2794 SMSEditForm.PBKSMSTabSheet.TabVisible:=false;
\r
2795 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.RingtoneSMSTabSheet;
\r
2797 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2799 SMSEditForm.edit3.Visible:=true;
\r
2800 SMSEditForm.label14.Visible:=true;
\r
2803 SMSEditForm.edit3.Visible:=false;
\r
2804 SMSEditForm.label14.Visible:=false;
\r
2807 SMSEditForm.ShowModal;
\r
2810 procedure TMainForm.SMS1Click(Sender: TObject);
\r
2814 if smscinit=false then
\r
2816 MainForm.ListView6.Items.Clear;
\r
2821 if smscinit then break;
\r
2826 SMSEditForm.Memo1.Text:='';
\r
2829 SMSEditForm.Edit2.Text:='';
\r
2832 GSM_GetSMSFolders(@SMSfolders);
\r
2833 SMSEditForm.ComboBox1.Items.Clear;
\r
2834 for i:=1 to SMSFolders.number do
\r
2836 SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);
\r
2838 SMSEditForm.ComboBox1.ItemIndex:=0;
\r
2842 SMSEditForm.ComboBox2.Items.Clear;
\r
2843 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2844 for i:=1 to smscnum-1 do
\r
2846 if SMSC2[i].Name[1]<>chr(0) then
\r
2847 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2849 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2851 SMSEditForm.ComboBox2.ItemIndex:=1;
\r
2853 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2854 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2855 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2856 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2857 SMSEditForm.PBKSMSTabSheet.TabVisible:=false;
\r
2858 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.CalendarSMSTabSheet;
\r
2860 calenda.Location:=calendarselect;
\r
2861 MainForm.Timer2.Enabled:=false;
\r
2862 GSM_GetCalendarNote(@calenda);
\r
2863 MainForm.Timer2.Enabled:=true;
\r
2865 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2867 SMSEditForm.edit3.Visible:=true;
\r
2868 SMSEditForm.label14.Visible:=true;
\r
2871 SMSEditForm.edit3.Visible:=false;
\r
2872 SMSEditForm.label14.Visible:=false;
\r
2875 SMSEditForm.ShowModal;
\r
2878 procedure TMainForm.SMSSendSave1Click(Sender: TObject);
\r
2882 if smscinit=false then
\r
2884 MainForm.ListView6.Items.Clear;
\r
2889 if smscinit then break;
\r
2894 SMSEditForm.Memo1.Text:='';
\r
2897 SMSEditForm.Edit2.Text:='';
\r
2900 GSM_GetSMSFolders(@SMSfolders);
\r
2901 SMSEditForm.ComboBox1.Items.Clear;
\r
2902 for i:=1 to SMSFolders.number do
\r
2904 SMSEditForm.ComboBox1.Items.Add(SMSfolders.folder[i].Name);
\r
2906 SMSEditForm.ComboBox1.ItemIndex:=0;
\r
2910 SMSEditForm.ComboBox2.Items.Clear;
\r
2911 SMSEditForm.ComboBox2.Items.Add('custom');
\r
2912 for i:=1 to smscnum-1 do
\r
2914 if SMSC2[i].Name[1]<>chr(0) then
\r
2915 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i)+' - '+SMSC2[i].Name)
\r
2917 SMSEditForm.ComboBox2.Items.Add('set '+inttostr(i));
\r
2919 SMSEditForm.ComboBox2.ItemIndex:=1;
\r
2921 SMSEditForm.TextSMSTabSheet.TabVisible:=false;
\r
2922 SMSEditForm.BitmapSMSTabSheet.TabVisible:=false;
\r
2923 SMSEditForm.RingtoneSMSTabSheet.TabVisible:=false;
\r
2924 SMSEditForm.CalendarSMSTabSheet.TabVisible:=false;
\r
2925 SMSEditForm.PBKSMSTabSheet.TabVisible:=false;
\r
2926 SMSEditForm.SMSEditPageControl.ActivePage:=Smseditform.PBKSMSTabSheet;
\r
2928 pbk.Location:=pbknumberentry-1;
\r
2929 case ComboBox1.ItemIndex of
\r
2930 1:pbk.MemoryType:=GMT_DC;
\r
2931 2:pbk.MemoryType:=GMT_MC;
\r
2932 3:pbk.MemoryType:=GMT_ON;
\r
2933 4:pbk.MemoryType:=GMT_ME;
\r
2934 5:pbk.MemoryType:=GMT_SM;
\r
2935 6:pbk.MemoryType:=GMT_RC;
\r
2937 MainForm.Timer2.Enabled:=false;
\r
2938 GSM_GetMemoryLocation(@pbk);
\r
2939 MainForm.Timer2.Enabled:=true;
\r
2941 if (GSM_GetModelFeature(FN_SMS)=F_SMS71) then
\r
2943 SMSEditForm.edit3.Visible:=true;
\r
2944 SMSEditForm.label14.Visible:=true;
\r
2947 SMSEditForm.edit3.Visible:=false;
\r
2948 SMSEditForm.label14.Visible:=false;
\r
2951 SMSEditForm.ShowModal;
\r
2954 procedure TMainForm.Button13Click(Sender: TObject);
\r
2956 ring:GSM_BinRingtone;
\r
2958 if OpenDialog1.Execute then
\r
2960 if GSM_ReadBinRingtoneFile(PChar(OpenDialog1.FileName),@ring)=0 then
\r
2962 Edit2.Text:=ring.Name;
\r
2969 procedure TMainForm.Button14Click(Sender: TObject);
\r
2973 LogosRingForm.Label1.Caption:='Do you want to set ringtone ?';
\r
2974 LogosRingForm.ComboBox3.Items.Clear();
\r
2977 LogosRingForm.ComboBox3.Items.Add('Location '+inttostr(i));
\r
2979 LogosRingForm.ComboBox3.ItemIndex:=0;
\r
2980 LogosRingForm.ShowModal;
\r
2981 if LogosRingForm.ComboBox3.Visible then
\r
2983 binring.location:=LogosRingForm.ComboBox3.ItemIndex+1;
\r
2984 MainForm.Timer2.Enabled:=false;
\r
2985 GSM_SetBinRingtone(@binring);
\r
2986 MainForm.Timer2.Enabled:=true;
\r
2990 procedure TMainForm.ConfigTabSheetHide(Sender: TObject);
\r
2992 MyIniFile: TIniFile;
\r
2994 if MessageDlg('Do you want to save config ?',
\r
2995 mtConfirmation, [mbYes, mbNo], 0) = mrYes then
\r
2997 MyIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\gnokiirc');
\r
2998 case MainForm.ComboBox4.ItemIndex of
\r
2999 0:MyIniFile.WriteString('global', 'connection', 'mbus');
\r
3000 1:MyIniFile.WriteString('global', 'connection', 'fbus');
\r
3001 2:MyIniFile.WriteString('global', 'connection', 'dlr3');
\r
3002 3:MyIniFile.WriteString('global', 'connection', 'infrared');
\r
3004 MyIniFile.WriteString('global', 'model', MainForm.ComboBox6.Text);
\r
3005 MyIniFile.WriteString('global', 'port', MainForm.ComboBox5.Text);
\r
3006 if MainForm.CheckBox2.Checked then
\r
3007 MyIniFile.WriteString('global', 'synchronizetime', 'yes')
\r
3009 MyIniFile.WriteString('global', 'synchronizetime', 'no');
\r
3014 procedure TMainForm.ConfigTabSheetShow(Sender: TObject);
\r
3016 MyIniFile: TIniFile;
\r
3020 MyIniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'\gnokiirc');
\r
3022 x:=MyInifile.ReadString('global', 'connection', 'fbus');
\r
3023 MainForm.ComboBox4.ItemIndex:=0;
\r
3024 if x='fbus' then MainForm.ComboBox4.ItemIndex:=1;
\r
3025 if x='dlr3' then MainForm.ComboBox4.ItemIndex:=2;
\r
3026 if x='infrared' then MainForm.ComboBox4.ItemIndex:=3;
\r
3028 x:=MyInifile.ReadString('global', 'port', 'com2:');
\r
3029 MainForm.ComboBox5.ItemIndex:=0;
\r
3030 for i:=1 to MainForm.ComboBox5.Items.Count do
\r
3032 if MainForm.ComboBox5.Items.Strings[i-1]=x then
\r
3033 MainForm.ComboBox5.ItemIndex:=i-1;
\r
3036 x:=MyInifile.ReadString('global', 'model', 'auto');
\r
3037 MainForm.ComboBox6.ItemIndex:=0;
\r
3038 for i:=1 to MainForm.ComboBox6.Items.Count do
\r
3040 if MainForm.ComboBox6.Items.Strings[i-1]=x then
\r
3041 MainForm.ComboBox6.ItemIndex:=i-1;
\r
3044 x:=MyInifile.ReadString('global', 'synchronizetime', 'no');
\r
3046 MainForm.CheckBox2.Checked:=True
\r
3048 MainForm.CheckBox2.Checked:=False;
\r
3052 procedure TMainForm.Timer2Timer(Sender: TObject);
\r
3054 if SparkyThread.Suspended then SparkyThread.Resume;
\r
3055 Timer2.Interval:=4000;
\r
3058 procedure TMainForm.AboutTabSheetShow(Sender: TObject);
\r
3060 xxx:array[1..256] of char;
\r
3062 GSM_GetDLLVersion(@xxx);
\r
3063 Label20.Caption:=xxx;
\r
3066 procedure SaveSMSOffline;
\r
3067 var F:file of GSM_SMSMessage;
\r
3070 AssignFile(F, 'gnokiisms');
\r
3072 for i:=1 to SMSOfflineNumber do
\r
3074 Write(f,SMSOffline[i]);
\r
3079 procedure ReadSMSOffline;
\r
3080 var F:file of GSM_SMSMessage;
\r
3082 MainForm.ListView10.items.Clear;
\r
3083 AssignFile(F, 'gnokiisms');
\r
3085 if (ioresult=0) then
\r
3087 smsofflinenumber:=0;
\r
3088 while not eof(f) do
\r
3090 smsofflinenumber:=smsofflinenumber+1;
\r
3091 read(f,smsoffline[smsofflinenumber]);
\r
3092 AddSMSInfo(MainForm.ListView10,smsoffline[smsofflinenumber]);
\r
3098 procedure TMainForm.PCSMSTabSheetShow(Sender: TObject);
\r
3103 procedure TMainForm.CopytoPC1Click(Sender: TObject);
\r
3105 SMSofflinenumber:=smsofflinenumber+1;
\r
3106 SMSoffline[SMSofflinenumber]:=SMS[smsnumindex];
\r
3110 procedure TMainForm.ListView10SelectItem(Sender: TObject; Item: TListItem;
\r
3111 Selected: Boolean);
\r
3113 AddSMSDescription(SMSOffline[Item.Index+1],MainForm.Memo4,MainForm.Memo5);
\r
3116 procedure TMainForm.PCSMSPopupMenuPopup(Sender: TObject);
\r
3118 SendSave1.Enabled:=False;
\r
3119 if GSMPhoneConnected then SendSave1.Enabled:=True;
\r
3121 Delete3.Enabled:=false;
\r
3122 if listview10.selected<>nil then Delete3.Enabled:=True;
\r
3125 procedure TMainForm.Delete3Click(Sender: TObject);
\r
3129 if Application.MessageBox('Do you want to delete this SMS ?','Question',MB_YESNO)=IDYES then
\r
3131 for i:=MainForm.ListView10.ItemIndex to smsofflinenumber-1 do
\r
3133 SMSOffline[i]:=SMSOffline[i+1];
\r
3135 Smsofflinenumber:=smsofflinenumber-1;
\r
3141 procedure TMainForm.SendSave1Click(Sender: TObject);
\r
3144 GSM_GetSMSFolders(@SMSfolders);
\r
3145 MainForm.ComboBox3.Items.Clear();
\r
3146 for i:=1 to SMSfolders.number do
\r
3148 MainForm.ComboBox3.Items.Add(SMSfolders.folder[i].Name);
\r
3150 MainForm.ComboBox3.ItemIndex:=0;
\r
3151 setsmslocation:=0;
\r
3152 SendSaveSMS(SMSOffline[MainForm.ListView10.ItemIndex+1]);
\r
3156 procedure EndWAPBookmarkThread;
\r
3158 if (WAPBookmarkThread<>nil) then
\r
3160 WAPBookmarkThread.Terminate();
\r
3161 MainForm.Timer2.Enabled:=true;
\r
3162 WAPBookmarkThread:=nil;
\r
3166 procedure TWAPBookmarkThread.Execute;
\r
3168 bookmark:GSM_WAPBookmark;
\r
3171 while not Terminated do
\r
3173 bookmark.location:=bookmarknum;
\r
3174 i:=GSM_GetWAPBookmark(@bookmark);
\r
3175 MainForm.ListView9.Items.Add;
\r
3176 MainForm.ListView9.Items.Item[bookmarknum-1].Caption:=inttostr(bookmarknum);
\r
3179 MainForm.ListView9.Items.Item[bookmarknum-1].Subitems.Add(bookmark.title);
\r
3180 MainForm.ListView9.Items.Item[bookmarknum-1].Subitems.Add(bookmark.adress);
\r
3182 bookmarknum:=bookmarknum+1;
\r
3183 if bookmarknum=15 then EndWAPBookmarkThread;
\r
3187 procedure TMainForm.WapBookTabSheetHide(Sender: TObject);
\r
3189 EndWAPBookmarkThread;
\r
3192 procedure TMainForm.WapBookTabSheetShow(Sender: TObject);
\r
3194 if GSMPhoneConnected then
\r
3196 if GSM_GetModelFeature(FN_WAP)<>0 then
\r
3198 GroupBox17.Ctl3D:=true;
\r
3199 ListView9.Ctl3D:=true;
\r
3200 ListView9.Enabled:=true;
\r
3202 MainForm.ListView9.Items.Clear;
\r
3203 MainForm.Timer2.Enabled:=false;
\r
3204 WAPBookmarkThread:=TWAPBookmarkThread.Create(false);
\r
3207 GroupBox17.Ctl3D:=false;
\r
3208 ListView9.Ctl3D:=false;
\r
3209 ListView9.Enabled:=false;
\r
3214 procedure TMainForm.ComboBox7Change(Sender: TObject);
\r
3216 settings:GSM_WAPSettings;
\r
3218 if combobox7.ItemIndex>0 then
\r
3220 settings.location:=combobox7.ItemIndex;
\r
3221 MainForm.Timer2.Enabled:=false;
\r
3222 GSM_GetWAPSettings(@settings);
\r
3223 MainForm.Timer2.Enabled:=true;
\r
3225 if (settings.title[1]<>chr(0)) then
\r
3226 Edit6.Text:=settings.title
\r
3228 edit6.Text:='set '+inttostr(combobox7.ItemIndex);
\r
3230 edit8.Text:=settings.homepage;
\r
3232 combobox10.itemindex:=1;
\r
3233 if settings.iscontinuous<>0 then combobox10.Itemindex:=0;
\r
3235 combobox9.itemindex:=1;
\r
3236 if settings.issecurity<>0 then combobox9.Itemindex:=0;
\r
3238 if (settings.bearer>=0) and (settings.bearer<3) then
\r
3240 combobox8.ItemIndex:=settings.bearer;
\r
3242 Label27.enabled:=false;
\r
3243 Label28.enabled:=false;
\r
3244 Label29.enabled:=false;
\r
3245 label30.enabled:=false;
\r
3246 label31.enabled:=false;
\r
3247 label32.enabled:=false;
\r
3248 label33.enabled:=false;
\r
3249 label34.enabled:=false;
\r
3250 label35.enabled:=false;
\r
3251 label36.enabled:=false;
\r
3252 label37.enabled:=false;
\r
3253 edit9.enabled:=false;
\r
3254 edit10.enabled:=false;
\r
3255 edit11.enabled:=false;
\r
3256 edit12.enabled:=false;
\r
3257 edit13.enabled:=false;
\r
3258 edit14.enabled:=false;
\r
3259 edit15.enabled:=false;
\r
3260 combobox11.enabled:=false;
\r
3261 combobox12.enabled:=false;
\r
3262 combobox13.enabled:=false;
\r
3263 combobox14.enabled:=false;
\r
3265 case settings.bearer of
\r
3266 WAPSETTINGS_BEARER_SMS:
\r
3268 label27.enabled:=true;
\r
3269 edit9.text:=settings.server;
\r
3270 edit9.enabled:=true;
\r
3272 label28.enabled:=true;
\r
3273 edit10.text:=settings.service;
\r
3274 edit10.enabled:=true;
\r
3276 WAPSETTINGS_BEARER_DATA:
\r
3278 label29.enabled:=true;
\r
3279 edit11.text:=settings.dialup;
\r
3280 edit11.enabled:=true;
\r
3282 label34.enabled:=true;
\r
3283 edit13.text:=settings.user;
\r
3284 edit13.enabled:=true;
\r
3286 label35.enabled:=true;
\r
3287 edit14.text:=settings.password;
\r
3288 edit14.enabled:=true;
\r
3290 label30.enabled:=true;
\r
3291 edit12.text:=settings.ipaddress;
\r
3292 edit12.enabled:=true;
\r
3294 label31.enabled:=true;
\r
3295 combobox11.enabled:=true;
\r
3296 combobox11.ItemIndex:=0;
\r
3297 if settings.isnormalauthentication=0 then
\r
3298 combobox11.ItemIndex:=1;
\r
3300 label32.enabled:=true;
\r
3301 combobox12.enabled:=true;
\r
3302 combobox12.ItemIndex:=0;
\r
3303 if settings.isISDNcall=0 then
\r
3304 combobox12.ItemIndex:=1;
\r
3306 label33.enabled:=true;
\r
3307 combobox13.enabled:=true;
\r
3308 combobox13.ItemIndex:=1;
\r
3309 if settings.isspeed14400=0 then
\r
3310 combobox13.ItemIndex:=0;
\r
3312 WAPSETTINGS_BEARER_USSD:
\r
3314 label36.enabled:=true;
\r
3315 edit15.text:=settings.code;
\r
3316 edit15.enabled:=true;
\r
3318 label37.enabled:=true;
\r
3319 combobox14.Enabled:=true;
\r
3320 combobox14.ItemIndex:=1;
\r
3321 if settings.isIP=0 then
\r
3323 combobox14.ItemIndex:=1;
\r
3325 label28.enabled:=true;
\r
3326 edit10.text:=settings.service;
\r
3327 edit10.enabled:=true;
\r
3330 label30.enabled:=true;
\r
3331 edit12.text:=settings.ipaddress;
\r
3332 edit12.enabled:=true;
\r
3340 procedure TMainForm.Button19Click(Sender: TObject);
\r
3342 Divert:GSM_CallDivert;
\r
3344 MainForm.Timer2.Enabled:=false;
\r
3346 divert.DType:=GSM_CDV_Busy;
\r
3347 divert.ctype:=GSM_CDV_VoiceCalls;
\r
3348 divert.Operation:=GSM_CDV_Query;
\r
3349 if gsm_calldivertoperation(@divert)=0 then
\r
3351 if divert.enabled=0 then
\r
3353 Label38.enabled:=false;
\r
3354 edit16.enabled:=false;
\r
3355 edit16.Text:='Not active';
\r
3358 Label38.enabled:=true;
\r
3359 edit16.enabled:=true;
\r
3360 edit16.Text:=divert.Number;
\r
3364 divert.DType:=GSM_CDV_NoAnswer;
\r
3365 divert.ctype:=GSM_CDV_VoiceCalls;
\r
3366 divert.Operation:=GSM_CDV_Query;
\r
3367 if gsm_calldivertoperation(@divert)=0 then
\r
3369 if divert.enabled=0 then
\r
3371 Label39.enabled:=false;
\r
3372 edit17.enabled:=false;
\r
3373 edit17.Text:='Not active';
\r
3374 label40.Enabled:=false;
\r
3375 combobox15.Enabled:=false;
\r
3378 Label39.enabled:=true;
\r
3379 edit17.enabled:=true;
\r
3380 edit17.Text:=divert.Number;
\r
3381 label40.Enabled:=true;
\r
3382 combobox15.Enabled:=true;
\r
3383 case divert.timeout of
\r
3384 5:combobox15.ItemIndex:=0;
\r
3385 10:combobox15.ItemIndex:=1;
\r
3386 15:combobox15.ItemIndex:=2;
\r
3387 20:combobox15.ItemIndex:=3;
\r
3388 25:combobox15.ItemIndex:=4;
\r
3389 30:combobox15.ItemIndex:=5;
\r
3394 divert.DType:=GSM_CDV_OutOfreach;
\r
3395 divert.ctype:=GSM_CDV_VoiceCalls;
\r
3396 divert.Operation:=GSM_CDV_Query;
\r
3397 if gsm_calldivertoperation(@divert)=0 then
\r
3399 if divert.enabled=0 then
\r
3401 Label41.enabled:=false;
\r
3402 edit18.enabled:=false;
\r
3403 edit18.Text:='Not active';
\r
3406 Label41.enabled:=true;
\r
3407 edit18.enabled:=true;
\r
3408 edit18.Text:=divert.Number;
\r
3412 MainForm.Timer2.Enabled:=true;
\r
3415 procedure TMainForm.Button20Click(Sender: TObject);
\r
3417 Divert:GSM_CallDivert;
\r
3419 MainForm.Timer2.Enabled:=false;
\r
3421 divert.DType:=GSM_CDV_AllTypes;
\r
3422 divert.ctype:=GSM_CDV_AllCalls;
\r
3423 divert.Operation:=GSM_CDV_Erasure;
\r
3424 gsm_calldivertoperation(@divert);
\r
3426 MainForm.Timer2.Enabled:=true;
\r
3430 procedure ReadCalendarOffline;
\r
3431 var F:file of GSM_calendarnote;
\r
3433 MainForm.ListView11.items.Clear;
\r
3434 AssignFile(F, 'gnokiicalendar');
\r
3436 if (ioresult=0) then
\r
3438 calendarofflinenumber:=0;
\r
3439 while not eof(f) do
\r
3441 calendarofflinenumber:=calendarofflinenumber+1;
\r
3442 read(f,calendaroffline[calendarofflinenumber]);
\r
3443 AddCalendarNote(calendaroffline[calendarofflinenumber],mainform.ListView11);
\r
3449 procedure TMainForm.PCOfflineTabSheetShow(Sender: TObject);
\r
3452 Label43.Caption:=inttostr(smsofflinenumber);
\r
3453 ReadCalendarOffline;
\r
3454 Label45.Caption:=inttostr(calendarofflinenumber);
\r
3457 procedure SaveCalendarOffline;
\r
3458 var F:file of GSM_CalendarNote;
\r
3461 AssignFile(F, 'gnokiicalendar');
\r
3463 for i:=1 to CalendarOfflineNumber do
\r
3465 Write(f,CalendarOffline[i]);
\r
3470 procedure TMainForm.PCCalendarTabSheetShow(Sender: TObject);
\r
3472 ReadCalendarOffline;
\r
3475 procedure TMainForm.CopytoPC2Click(Sender: TObject);
\r
3477 setcalendarnote.Location:=calendarselect;
\r
3478 mainform.Timer2.Enabled:=false;
\r
3479 GSM_GetCalendarNote(@setcalendarnote);
\r
3480 mainform.Timer2.Enabled:=true;
\r
3481 Calendarofflinenumber:=calendarofflinenumber+1;
\r
3482 Calendaroffline[Calendarofflinenumber]:=setcalendarnote;
\r
3483 SaveCalendarOffline;
\r
3486 procedure TMainForm.Delete5Click(Sender: TObject);
\r
3490 if Application.MessageBox('Do you want to delete this note ?','Question',MB_YESNO)=IDYES then
\r
3492 for i:=MainForm.ListView11.ItemIndex to calendarofflinenumber-1 do
\r
3494 CalendarOffline[i]:=CalendarOffline[i+1];
\r
3496 Calendarofflinenumber:=calendarofflinenumber-1;
\r
3497 SaveCalendarOffline;
\r
3498 ReadCalendarOffline;
\r
3502 procedure TMainForm.Copytocalendar1Click(Sender: TObject);
\r
3504 if not readcalendar then
\r
3506 application.MessageBox('Please read first calendar notes from phone','info',mb_ok);
\r
3508 setcalendarnote:=calendaroffline[mainform.listview11.itemindex+1];
\r
3509 setcalendarnote.Location:=MainForm.ListView4.Items.Count+1;
\r
3515 procedure TMainForm.PCCalendarPopupMenuPopup(Sender: TObject);
\r
3517 CopyTocalendar1.Enabled:=False;
\r
3518 if (GSMPhoneConnected) and (GSM_GetModelFeature(FN_Calendar)<>0) then copytocalendar1.Enabled:=True;
\r
3520 Delete5.Enabled:=false;
\r
3521 if listview11.selected<>nil then Delete5.Enabled:=True;
\r