source: branches/1.0/src/uni.c@ 28

Last change on this file since 28 was 26, checked in by diver, 15 years ago

major rework

File size: 5.6 KB
Line 
1#define LINT_ARGS /* argument checking enabled */
2
3
4int acrtused=1; /* Define variable to say this is a DLL */
5
6#include "uni.h"
7
8#include <stdlib.h>
9#include <string.h>
10#include <ctype.h>
11#include <stdarg.h>
12#include <stdio.h>
13#include <stdlib.h>
14#include "utils.h"
15
16MRESULT EXPENTRY CommDlg( HWND hDlg, USHORT msg, MPARAM mp1, MPARAM mp2 )
17{
18 PUNIDATA pUniData;
19 ULONG ulTimeOut = 0 ;
20 CHAR szDesc[ STR_LEN_PORTDESC ];
21 CHAR szShareName[ STR_LEN_PORTDESC ];
22 CHAR szTitle[ STR_LEN_TITLE + 1];
23 CHAR szTemp[ STR_LEN_PORTDESC ];
24 CHAR pwBuffer[256];
25 USHORT i;
26 ULONG rc = 0;
27 PUCHAR token;
28
29 switch (msg)
30 {
31 case WM_INITDLG:
32// WinSendDlgItemMsg(hDlg,ID_BINARY,BM_SETCHECK,MPFROM2SHORT(1,0),NULL);
33 pUniData = (PUNIDATA)mp2;
34 WinSetWindowULong (hDlg, QWL_USER, (ULONG)pUniData);
35 if (PrfQueryProfileString (HINI_SYSTEMPROFILE,
36 pUniData->pszAppName,
37 KEY_DESCRIPTION,
38 NULL,
39 (PSZ)szDesc,
40 STR_LEN_PORTDESC))
41 {
42 WinSetWindowText (WinWindowFromID (hDlg, (USHORT)IDD_UNI),szDesc);
43 rc = WinLoadString(pUniData->hAB,
44 pUniData->hModule,
45 PDR_ID_PROPERTIES,
46 STR_LEN_PORTDESC, szTemp);
47 if (rc) {
48 strcpy ( szTitle, pUniData->pszPortName );
49 strcat ( szTitle, " - " );
50 strcat ( szTitle, szTemp );
51 WinSetWindowText (hDlg, szTitle);
52 }
53 }
54 if (PrfQueryProfileString (HINI_SYSTEMPROFILE,
55 pUniData->pszAppName,
56 KEY_INITIALIZATION,
57 NULL,
58 szTemp,
59 sizeof(szTemp)))
60 {
61 i = 0;
62 token = lprtok(szTemp,"#");
63 while (token != NULL)
64 {
65 switch(i)
66 {
67 case 0:
68 WinSetDlgItemText(hDlg,ID_PROGRAM,token);
69 case 1:
70 if (token[ strlen(token) - 1 ] == ';')
71 token[ strlen(token)-1 ] = '\0';
72 WinSetDlgItemText(hDlg,ID_PARAMETERS,token);
73 break;
74 case 2:
75 if (token[ strlen(token) - 1 ] == ';')
76 token[ strlen(token)-1 ] = '\0';
77 WinSetDlgItemText(hDlg,ID_DIRECTORY,token);
78 break;
79 }
80 i++;
81 token = lprtok(NULL,"#");
82 }
83 }
84 break;
85
86 case WM_COMMAND:
87 pUniData = (PUNIDATA)WinQueryWindowULong (hDlg, QWL_USER);
88 switch (SHORT1FROMMP(mp1))
89 {
90 case DID_OK:
91 sprintf(szDesc," ");
92 /* Program */
93 WinQueryDlgItemText (hDlg, ID_PROGRAM, sizeof(szTemp), szTemp );
94 strcat(pUniData->szSaveLprSetting,szTemp);
95 strcat(pUniData->szSaveLprSetting,"#");
96
97 if (strlen(szTemp) > 0) {
98 strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
99 strncat(szDesc, szTemp, STR_LEN_PORTDESC - 1);
100 }
101 /* strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
102 strncat(szDesc, szShareName, STR_LEN_PORTDESC - 1); */
103
104 /* Parameters */
105 WinQueryDlgItemText (hDlg, ID_PARAMETERS, sizeof(szTemp), szTemp );
106 strcat(pUniData->szSaveLprSetting,szTemp);
107 strcat(pUniData->szSaveLprSetting,"#");
108
109 if (strlen(szTemp) > 0) {
110 strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
111 strncat(szDesc, szTemp, STR_LEN_PORTDESC - 1);
112 }
113 /* strncat(szDesc, " ", STR_LEN_PORTDESC - 1);
114 strncat(szDesc, szShareName, STR_LEN_PORTDESC - 1); */
115
116 /* Working directory */
117 WinQueryDlgItemText (hDlg, ID_DIRECTORY, sizeof(szTemp), szTemp );
118 strcat(pUniData->szSaveLprSetting,szTemp);
119 /* strcat(pUniData->szSaveLprSetting,"#"); */
120
121 /* if (strlen(szTemp) > 0) {
122 strncat(szShareName, "\\", STR_LEN_PORTDESC - 1);
123 strncat(szShareName, szTemp, STR_LEN_PORTDESC - 1);
124 } */
125 /* Username */
126/* WinQueryDlgItemText (hDlg, ID_USER, sizeof(szTemp), szTemp );
127 strcat(pUniData->szSaveLprSetting,"#");
128 strcat(pUniData->szSaveLprSetting,szTemp); */
129 /* Number of copies */
130/* WinQueryDlgItemText (hDlg, ID_COPIES, sizeof(szTemp), szTemp );
131 strcat(pUniData->szSaveLprSetting,"#");
132 strcat(pUniData->szSaveLprSetting,szTemp); */
133 /* Password - must be the last item! */
134/* WinQueryDlgItemText (hDlg, ID_PASSWORD, sizeof(szTemp), szTemp );
135 strcat(pUniData->szSaveLprSetting,"#");
136 strcpy(pwBuffer,szTemp);
137 encryptPassword(pwBuffer,szTemp);
138 strcat(pUniData->szSaveLprSetting,szTemp);
139 */
140 if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
141 pUniData->pszAppName,
142 KEY_INITIALIZATION,
143 pUniData->szSaveLprSetting))
144 WinDismissDlg(hDlg, MBID_CANCEL);
145
146 if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
147 APPNAME_PM_SPOOLER_PORT,
148 pUniData->pszPortName,
149 pUniData->szSaveLprSetting))
150 WinDismissDlg(hDlg, MBID_CANCEL);
151
152 if (!PrfWriteProfileString (HINI_SYSTEMPROFILE,
153 pUniData->pszAppName,
154 KEY_DESCRIPTION,
155 szDesc ))
156 WinDismissDlg(hDlg, MBID_CANCEL);
157
158 WinDismissDlg(hDlg, TRUE);
159 break;
160 case DID_CANCEL:
161 WinDismissDlg(hDlg, MBID_CANCEL);
162 break;
163 }
164 break;
165 default:
166 return WinDefDlgProc(hDlg, msg, mp1, mp2) ;
167 break;
168 }
169return FALSE;
170}
171
172ULONG OpenUniPortDlg ( HAB hab,
173 HMODULE hModule,
174 PSZ pszPortName,
175 PSZ pszAppName )
176{
177 UNIDATA UniData;
178
179 memset (&UniData, 0, sizeof (UNIDATA));
180 UniData.hAB = hab;
181 UniData.hModule = hModule;
182 UniData.pszPortName = pszPortName;
183 UniData.pszAppName = pszAppName;
184
185 WinDlgBox (HWND_DESKTOP,
186 HWND_DESKTOP,
187 (PFNWP)CommDlg,
188 (HMODULE)hModule,
189 IDD_UNI,
190 &UniData);
191
192 return UniData.lfModified;
193}
194
Note: See TracBrowser for help on using the repository browser.