Add a textbox to setup dialog to change the directory for logging.
authorHiroshi Inoue <inoue@tpf.co.jp>
Tue, 24 Mar 2009 21:38:45 +0000 (21:38 +0000)
committerHiroshi Inoue <inoue@tpf.co.jp>
Tue, 24 Mar 2009 21:38:45 +0000 (21:38 +0000)
dlg_specific.c
dlg_specific.h
dlg_wingui.c
mylog.c
psqlodbc.rc
resource.h
version.h

index 5103577b89c22172d8fee4b83a284311a5bec6be..d5280090e93b9ef46c0a5d7122f67c5853acd0a9 100644 (file)
@@ -697,6 +697,18 @@ getDriverNameFromDSN(const char *dsn, char *driver_name, int namelen)
    return SQLGetPrivateProfileString(ODBC_DATASOURCES, dsn, "", driver_name, namelen, ODBC_INI);
 }
 
+int
+getLogDir(char *dir, int dirmax)
+{
+   return SQLGetPrivateProfileString(DBMS_NAME, INI_LOGDIR, "", dir, dirmax, ODBCINST_INI);
+}
+
+int
+setLogDir(const char *dir)
+{
+   return SQLWritePrivateProfileString(DBMS_NAME, INI_LOGDIR, dir, ODBCINST_INI);
+}
+
 void
 getDSNinfo(ConnInfo *ci, char overwrite)
 {
index 578e6b25688f411657748f579692b59f753b0e92..37f1064d0825cafd294f79cfe7ec5ea6fe6598a9 100644 (file)
@@ -278,6 +278,8 @@ void        makeConnectString(char *connect_string, const ConnInfo *ci, UWORD);
 BOOL       copyAttributes(ConnInfo *ci, const char *attribute, const char *value);
 BOOL       copyCommonAttributes(ConnInfo *ci, const char *attribute, const char *value);
 int    getDriverNameFromDSN(const char *dsn, char *driver_name, int namelen);
+int    getLogDir(char *dir, int dirmax);
+int    setLogDir(const char *dir);
 int     changeDriverNameOfaDSN(const char *dsn, const char *driver_name, DWORD *errcode);
 UInt4  getExtraOptions(const ConnInfo *);
 BOOL   setExtraOptions(ConnInfo *, const char *str, const char *format);
index 178af08fc80cd328199ec2c6f36b7f75e5a6ea8e..5114987af61c23c1fe5ab8963a39085c72b3d8e0 100644 (file)
@@ -336,6 +336,7 @@ global_optionsProc(HWND hdlg,
    HMODULE hmodule;
    FARPROC proc;
 #endif /* _HANDLE_ENLIST_IN_DTC_ */
+   char logdir[PATH_MAX];
 
    switch (wMsg)
    {
@@ -348,6 +349,8 @@ global_optionsProc(HWND hdlg,
 #ifndef MY_LOG
            EnableWindow(GetDlgItem(hdlg, DRV_DEBUG), FALSE);
 #endif /* MY_LOG */
+           getLogDir(logdir, sizeof(logdir));
+           SetDlgItemText(hdlg, DS_LOGDIR, logdir);
 #ifdef _HANDLE_ENLIST_IN_DTC_
            hmodule = DtcProc("GetMsdtclog", &proc);
            if (proc)
@@ -372,6 +375,8 @@ global_optionsProc(HWND hdlg,
                    globals.debug = IsDlgButtonChecked(hdlg, DRV_DEBUG);
                    if (writeDriverCommoninfo(ODBCINST_INI, NULL, &globals) < 0)
                        MessageBox(hdlg, "Sorry, impossible to update the values\nWrite permission seems to be needed", "Update Error", MB_ICONEXCLAMATION | MB_OK);
+                   GetDlgItemText(hdlg, DS_LOGDIR, logdir, sizeof(logdir));
+                   setLogDir(logdir[0] ? logdir : NULL);
 #ifdef _HANDLE_ENLIST_IN_DTC_
                    hmodule = DtcProc("SetMsdtclog", &proc);
                    if (proc)
diff --git a/mylog.c b/mylog.c
index f8ab7b8dbe983d53ef53cbe9515fb9bedf04dfc9..67b58edd23a50b4d5a18fc5823197786a6a33770 100644 (file)
--- a/mylog.c
+++ b/mylog.c
@@ -359,7 +359,7 @@ void InitializeLogging()
 {
    char dir[PATH_MAX];
 
-   SQLGetPrivateProfileString(DBMS_NAME, INI_LOGDIR, "", dir, sizeof(dir), ODBCINST_INI);
+   getLogDir(dir, sizeof(dir));
    if (dir[0])
        logdir = strdup(dir);
    mylog_initialize();
index 41fcaaa7b316a1c81d9e2c7d6287f4722497f1ed..49fa5b86918f8fc3edee02044d0a7cfe351ad8cb 100644 (file)
@@ -201,7 +201,7 @@ BEGIN
                     BS_AUTOCHECKBOX | WS_TABSTOP,15,85,87,10
 END
 
-DLG_OPTIONS_GLOBAL DIALOG DISCARDABLE  0, 0, 306, 105
+DLG_OPTIONS_GLOBAL DIALOG DISCARDABLE  0, 0, 306, 115
 STYLE DS_MODALFRAME | DS_3DLOOK | DS_CENTER | WS_POPUP | WS_CAPTION | 
     WS_SYSMENU
 CAPTION "\8d\82\93x\82È\90Ý\92è(\91S\91Ì)"
@@ -216,10 +216,13 @@ BEGIN
     CONTROL         "MSDTC\83\8d\83O (C:\\pgdtclog\\mylog_xxxx.log - MSDTC\83f\83o\83b\83O\8fo\97Í\83\8d\83O)",
                     DRV_DTCLOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,60,
                     260,10
-    DEFPUSHBUTTON   "OK",IDOK,5,86,50,14,WS_GROUP
-    PUSHBUTTON      "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,65,85,50,15
+    RTEXT           "\83\8d\83M\83\93\83O\97p\83t\83H\83\8b\83_",IDC_STATIC,14,77,79,12
+    EDITTEXT        DS_LOGDIR,98,75,188,13,ES_AUTOHSCROLL | WS_GROUP,
+                    WS_EX_TRANSPARENT
+    DEFPUSHBUTTON   "OK",IDOK,5,96,50,14,WS_GROUP
+    PUSHBUTTON      "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,65,95,50,15
     GROUPBOX        "\83R\83l\83N\83V\83\87\83\93\91O\82Ì\83f\83t\83H\83\8b\83g\83\8d\83M\83\93\83O\83I\83v\83V\83\87\83\93",
-                    IDC_STATIC,5,5,296,76
+                    IDC_STATIC,5,5,296,88
 END
 
 DLG_DRIVER_CHANGE DIALOG DISCARDABLE  0, 0, 306, 87
@@ -586,7 +589,7 @@ BEGIN
                     BS_AUTORADIOBUTTON | WS_TABSTOP,247,138,47,9
 END
 
-DLG_OPTIONS_GLOBAL DIALOG DISCARDABLE  0, 0, 306, 105
+DLG_OPTIONS_GLOBAL DIALOG DISCARDABLE  0, 0, 306, 110
 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
 CAPTION "Global settings"
 FONT 8, "MS Sans Serif"
@@ -600,10 +603,13 @@ BEGIN
     CONTROL         "MSDTC log (C:\\pgdtclog\\mylog_xxxx.log - MSDTC debug output)",
                     DRV_DTCLOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,22,60,
                     264,10
-    DEFPUSHBUTTON   "OK",IDOK,82,86,50,14,WS_GROUP
-    PUSHBUTTON      "Cancel",IDCANCEL,172,85,50,15
+    RTEXT           "Folder for logging",IDC_STATIC,14,77,69,12
+    EDITTEXT        DS_LOGDIR,98,75,188,13,ES_AUTOHSCROLL | WS_GROUP,
+                    WS_EX_TRANSPARENT
+    DEFPUSHBUTTON   "OK",IDOK,82,92,50,14,WS_GROUP
+    PUSHBUTTON      "Cancel",IDCANCEL,172,91,50,15
     GROUPBOX        "Pre-connection/default logging options",IDC_STATIC,5,5,
-                    296,76
+                    296,85
 END
 
 DLG_DRIVER_CHANGE DIALOG DISCARDABLE  0, 0, 306, 87
index 51f62a3226ad98683cf64aad722b11794ed72a6f..aa5743416fc8b83684c080dd31a5a8ff187f0a00 100644 (file)
@@ -94,6 +94,7 @@
 #define DRV_DTCLOG         1083
 #define DS_EXTRA_OPTIONS       1084
 #define IDC_TEST           1085
+#define DS_LOGDIR          1086
 
 // Next default values for new objects
 // 
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        105
 #define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1086
+#define _APS_NEXT_CONTROL_VALUE         1087
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif
index 6b01c33aced25ead831398f3160d236444863f5a..20369680828b68d4ce6b0904e84f1c0dbf659c41 100644 (file)
--- a/version.h
+++ b/version.h
@@ -12,6 +12,6 @@
 #define POSTGRESDRIVERVERSION      "08.03.0402"
 #define POSTGRES_RESOURCE_VERSION  "08.03.0402\0"
 #define PG_DRVFILE_VERSION     8,3,04,02
-#define PG_BUILD_VERSION       "200903230002"
+#define PG_BUILD_VERSION       "200903240002"
 
 #endif