File: PROTOCOL\TProtocolParameterDlg.cpp
1 //******************************************************************************
2 //Datei : TProtocolParameterDlg.cpp
3 //Projekt : XCTL
4 //Subsystem : Protokollbuch
5 //Autor : Jens Klier <klier@informatik.hu-berlin.de>
6 // Institut fuer Informatik,
7 // Humboldt-Universitaet Berlin
8 //Inhalt : Implementation der Klasse TProtocolParameterDlg
9 //******************************************************************************
10 //!neu klier Protokollbuch
11 #include "internls\evrythng.h"
12 #include "winresrc\rc_prtow.h" // Ressourcen-IDs
13 #include <commdlg.h>
14
15 #include "protocol\TProtocolLanguage.h"
16 #include "protocol\TProtocol.h"
17 #include "protocol\TProtocolDlg.h"
18 #include "protocol\TProtocolManagePrintDlg.h"
19 #include "protocol\TProtocolParameterDlg.h"
20
21 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
22
23 extern TProtocolLanguage *ProtocolLanguage;
24 extern HINSTANCE hModuleInstance;
25
26 TProtocolParameterDlg::TProtocolParameterDlg(LPSTR Dlg, TProtocol *Proto, TProtocolDlg *ProtoDlg, TProtocolManagePrintDlg *ProtoPrintDlg) :
27 TModalDlg(Dlg,hModuleInstance), Protocol(Proto), ProtocolDlg(ProtoDlg), ProtocolManagePrintDlg(ProtoPrintDlg)
28 {}
29 ;
30
31
32 BOOL TProtocolParameterDlg::Dlg_OnInit(HWND hwnd, HWND, LPARAM)
33 {
34 if ( GetPrivateProfileInt("Protocol", "Debug", 0, GetCFile()) == 1)
35 bDebug= TRUE;
36 else
37 bDebug= FALSE;
38
39 bSortDate= Protocol->IsProtocolSortDate();
40 bNoSortNew= Protocol->IsProtocolNoSortNew();
41 strcpy(szProtocolFile, Protocol->GetPFile());
42 strcpy(szProtocolBackupDirectory, Protocol->GetPBackupDirectory());
43
44 SetDlgItemText(hwnd, id_ProtoFile, szProtocolFile);
45 SetDlgItemText(hwnd, id_ProtoBackupPath, szProtocolBackupDirectory);
46
47 if (bSortDate)
48 CheckDlgButton(hwnd, id_SortDate, 1);
49 else
50 CheckDlgButton(hwnd, id_SortLfdNr, 1);
51 if (bNoSortNew)
52 CheckDlgButton(hwnd, id_NoSortNew, 1);
53
54 ProtocolLanguage->SetParameterDlgLanguage(hwnd);
55 return TRUE;
56 };
57
58 void TProtocolParameterDlg::Dlg_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
59 {
60 OPENFILENAME ofn;
61 char buf[_MAX_PATH], lLfdNr[MaxLfdNr];
62 BOOL bViewNew= FALSE;
63
64 switch (id)
65 {
66 case id_SortLfdNr:
67 bSortDate= FALSE;
68 break;
69
70 case id_SortDate:
71 bSortDate= TRUE;
72 break;
73
74 case id_NoSortNew:
75 if (IsDlgButtonChecked(hwnd, id_NoSortNew))
76 bNoSortNew= TRUE;
77 else
78 bNoSortNew= FALSE;
79 break;
80
81 case id_Durchsuchen:
82 sprintf(buf, "%s%s", Protocol->GetPName(), ".CSV");
83 // Initialize the structure
84 memset( &ofn, '\0', sizeof( OPENFILENAME ) );
85 ofn.lpstrTitle= ProtocolLanguage->GetMessage(17);
86 ofn.lStructSize= sizeof( OPENFILENAME );
87 ofn.hwndOwner= GetFocus();
88 ofn.lpstrFilter= "csv-Dateien (*.CSV)\0*.CSV\0\0";
89 ofn.nFilterIndex= 1;
90 ofn.lpstrFile= buf;
91 ofn.nMaxFile= _MAX_PATH;
92 ofn.lpstrInitialDir= Protocol->GetPDirectory();
93 ofn.Flags= OFN_HIDEREADONLY;
94 if ( !GetOpenFileName( &ofn ) )
95 break;
96 strcpy(szProtocolFile, buf);
97 SetDlgItemText(hwnd, id_ProtoFile, szProtocolFile);
98 break;
99
100 case IDOK:
101 if (ProtocolDlg->TestChangeDlg())
102 break;
103 Protocol->GetLfdNr(lLfdNr);
104 Protocol->SetProtocolNoSortNew(bNoSortNew);
105 GetDlgItemText(hwnd, id_ProtoBackupPath, szProtocolBackupDirectory, _MAX_PATH);
106 if (strcmp(szProtocolBackupDirectory, Protocol->GetPBackupDirectory()) != 0)
107 {
108 strcpy( buf, Protocol->GetPDirectory());
109 if (!Protocol->SetPBackupDirectory(szProtocolBackupDirectory))
110 Protocol->SetPBackupDirectory(buf);
111 if ( bDebug )
112 MessageBox("Backupdirectory geändert!", "Debug Info", MBINFO);
113 }
114 GetDlgItemText(hwnd, id_ProtoFile, szProtocolFile, _MAX_PATH);
115 if (strcmp(szProtocolFile, Protocol->GetPFile()) != 0)
116 {
117 strcpy( buf, Protocol->GetPFile());
118 if (!Protocol->SetPFile(szProtocolFile))
119 {
120 Protocol->SetPFile(buf);
121 }
122 else
123 {
124 if (!Protocol->ReloadProtocol())
125 {
126 Protocol->SetPFile(buf);
127 while (!Protocol->ReloadProtocol())
128 /* wait for loading the protocol*/;
129 }
130 bViewNew= TRUE;
131 }
132 if ( bDebug )
133 MessageBox("Protokolldatei neu geladen!", "Debug Info", MBINFO);
134 }
135 if (Protocol->IsProtocolSortDate() != bSortDate)
136 {
137 Protocol->SetProtocolSortDate(bSortDate);
138 bViewNew= TRUE;
139 }
140 if (bViewNew)
141 {
142 ProtocolDlg->ShowLfdNr(lLfdNr);
143 ProtocolManagePrintDlg->SearchNew();
144 }
145 // Kullmann+Reinecker: Hier muss kein break hin, weiter bei TModalDlg::Dlg_OnCommand!
146
147 default:
148 TModalDlg::Dlg_OnCommand(hwnd, id, hwndCtl, codeNotify);
149 }
150 };
151
152 // LastLine
153
154
155