Changeset 27


Ignore:
Timestamp:
Mar 13, 2018, 6:34:46 PM (7 years ago)
Author:
Gregg Young
Message:

Remove mmio code; Ticet #5 Get gotcha "quiet" version working Tickets #1 #7 #9 Dialog changes related to both "quiet" and regular modes ( dialogs still need to be split in order to build both; only "quite can be bult from this) See Ticket #9 for a more complete list of changes.

Location:
trunk
Files:
2 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/bitmap.cpp

    r11 r27  
    1919
    2020// ** CaptureWindow ******************************************************* /*FOLD00*/
    21 
     21#include <ctype.h>
    2222#define MAX_WAIT   15
    2323
     
    3636
    3737    // wait for the selected window to rise to the surface
    38     if ((hwndParent != HWND_DESKTOP) &&  f)
     38    if (f)
    3939    {
    4040        WinSetWindowPos (hwndParent, HWND_TOP, 0,0, 0,0, SWP_ZORDER);
     
    149149               sizeof (aptl) / sizeof (POINTL), /* Number of points in aptl */
    150150               aptl, ROP_SRCCOPY, BBO_IGNORE);
    151     SaveBitmap (hbm, hpsMem, sWidth, sHeight, bmp.cBitCount);
     151
     152    SWCNTRL  swctl;
     153    PID      pid;
     154    TID      tid;
     155    BOOL screen = FALSE, region = FALSE;
     156    CHAR title[11];
     157
     158    if (!f) {
     159        //hwndParent = WinQueryFocus(HWND_DESKTOP);
     160        if (hwndParent == hwndFrame) {
     161            DebugHereIAm();
     162            hwndParent = WinQueryWindow(hwndFrame, QW_NEXTTOP );
     163        }
     164        screen = TRUE;
     165        if (prcl)
     166            region = TRUE;
     167    }
     168
     169    int rc = WinQueryWindowProcess(hwndParent, &pid, &tid);
     170    if (WinQuerySwitchEntry(WinQuerySwitchHandle(hwndParent, pid),
     171                            &swctl))
     172        WinQuerySwitchEntry(WinQuerySwitchHandle(NULLHANDLE, pid),
     173                            &swctl);
     174
     175    char buffer[MAXNAMEL+4];
     176    int length = strlen( swctl.szSwtitle );
     177    strcpy(buffer, swctl.szSwtitle);
     178    char *p;
     179    p = buffer;
     180    for (int i = 0; i < (length < 11 ? length : 11); i++) {
     181        if ( ispunct( *p ) || *p == '\\' || isblank( *p )) {
     182            *p = '_';
     183        }
     184        p++;
     185    }
     186
     187    if (region)
     188        snprintf( title, length < 8 ? length + 3 : 11, "SR%s", buffer);
     189    else if (screen)
     190        snprintf( title, length < 8 ? length + 3 : 11, "SC%s", buffer);
     191    else
     192        snprintf( title, length < 8 ? length + 3 : 11, "WD%s", buffer);
     193
     194    SaveBitmap (hbm, hpsMem, sWidth, sHeight, bmp.cBitCount, title);
    152195
    153196    // re-associate the previous bit map and the memory presentation space
  • trunk/config.h

    r2 r27  
    3636
    3737// Default language for resources and help.
    38 #define PSZ_DEFAULTLANGUAGE  "english"
    39 #define PSZ_DEFAULTLANGUAGEHELP  PSZ_DEFAULTLANGUAGE
     38#define PSZ_DEFAULTLANGUAGEMOD  "gotresen"
     39#define PSZ_DEFAULTLANGUAGEHELP  "gotcha_en"
    4040
  • trunk/dll/gotchdll.c

    r2 r27  
    2323#include "../id.h"
    2424
     25//#define  __PMPRINTF__
     26//#include "PMPRINTF.H"
     27
     28/* pre-accelerator input hook, undocumented, */
     29#define HK_PREACCEL 17
     30
    2531HAB     habDLL;
    2632HWND    hwndFrame;
    2733HMODULE hMod;
    28 PFN     pfnInput;
    2934
    3035void EXPENTRY InitDLL (HAB hab, HWND hwnd)
     
    3237    habDLL = hab;
    3338    hwndFrame = hwnd;
    34     DosLoadModule (NULL, 0, "GOTCHA", &hMod);
    35     DosQueryProcAddr (hMod, 0, "InputProc", &pfnInput);
     39    DosLoadModule (NULL, 0, "GOTCHDLL", &hMod);
     40}
     41
     42BOOL EXPENTRY InputProc (HAB hab, PQMSG pqmsg, ULONG ul)
     43{
     44    USHORT usFlags;
     45    USHORT usScan;
     46   
     47    if (pqmsg->msg != WM_CHAR
     48        || (usFlags = SHORT1FROMMP(pqmsg->mp1), usScan =
     49            SHORT2FROMMP (pqmsg->mp2), (usFlags & KC_SCANCODE)) == 0){
     50        return FALSE;
     51    }
     52   
     53    if (CHAR4FROMMP(pqmsg->mp1) == 0x54 ) {
     54        if (usFlags & KC_KEYUP) {
     55            WinPostMsg (hwndFrame, WM_COMMAND,
     56                        MPFROM2SHORT (WID_PB_SETTINGS,0), 0);
     57            /*DosBeep( 1000, 10 );
     58            DosBeep( 2000, 20 );
     59            DosBeep( 3000, 30 ); */
     60            return TRUE;
     61        } else {
     62           /* DosBeep( 3000, 30 );
     63            DosBeep( 2000, 20 );
     64            DosBeep( 1000, 10 );*/
     65            return TRUE;
     66        }
     67    }
     68    else if (usScan == VK_PRINTSCRN || CHAR4FROMMP(pqmsg->mp1) == 93 ) {
     69        if (usFlags & KC_KEYUP) {
     70            WinPostMsg (hwndFrame, WM_COMMAND,
     71                        MPFROM2SHORT (WID_PB_SETCAPTURETYPE,0), 0);
     72            return TRUE;
     73        }
     74
     75    }
     76    return FALSE;
    3677}
    3778
    3879void EXPENTRY StartInputHook (void)
    3980{
    40     WinSetHook (habDLL, NULLHANDLE, HK_INPUT, pfnInput, hMod);
     81    WinSetHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod);
    4182}
    4283
    4384void EXPENTRY StopInputHook (void)
    4485{
    45     WinReleaseHook (habDLL, NULLHANDLE, HK_INPUT, pfnInput, hMod);
     86    WinReleaseHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod);
    4687    DosFreeModule (hMod);
    47 }
    48 
    49 BOOL EXPENTRY InputProc (HAB hab, PQMSG pqmsg, ULONG ul)
    50 {
    51     if (pqmsg->msg == WM_CHAR) {
    52         if ((SHORT1FROMMP (pqmsg->mp1) & KC_VIRTUALKEY) &&
    53             (SHORT2FROMMP (pqmsg->mp2) == VK_PRINTSCRN)) {
    54             if (SHORT1FROMMP (pqmsg->mp1) & KC_KEYUP) {
    55                 WinPostMsg (hwndFrame, WM_COMMAND,
    56                             MPFROM2SHORT (WID_PB_SCREENREGION,0), 0);
    57                 /*DosBeep( 1000, 10 );
    58                 DosBeep( 2000, 20 );
    59                 DosBeep( 3000, 30 ); */
    60                 return TRUE;
    61             } else {
    62                 /*DosBeep( 3000, 30 );
    63                 DosBeep( 2000, 20 );
    64                 DosBeep( 1000, 10 ); */
    65                 return TRUE;
    66             }
    67         }
    68     }
    69     return FALSE;
    7088}
    7189
  • trunk/english/gotresen.rc

    r21 r27  
    9696            AUTOCHECKBOX    "Hide ~Gotcha!", WID_CB_HIDEWINDOW, 10, 31, 48, 10
    9797            AUTOCHECKBOX    "~Delayed capture", WID_CB_DELAYEDCAPTURE, 10, 21, 58, 10
    98             PUSHBUTTON      "~Help", HM_GENERAL_HELP, 104, 4, 88, 12             
    99             PUSHBUTTON      "S~ettings", WID_PB_SETTINGS, 4, 4, 88, 12
     98            PUSHBUTTON      "~Help", HM_GENERAL_HELP, 151, 4, 45, 12           
     99            PUSHBUTTON      "~About", WID_PB_ABOUT, 4, 4, 45, 12           
     100            PUSHBUTTON      "C~lose",  WID_PB_EXIT, 53, 4, 45, 12               
     101            PUSHBUTTON      "S~ettings", WID_PB_SETTINGS, 102, 4, 45, 12
    100102        END
    101103    END
     
    104106DLGTEMPLATE ID_DLG_ABOUT LOADONCALL MOVEABLE DISCARDABLE
    105107BEGIN
    106     DIALOG  "About ""Gotcha!""", ID_DLG_ABOUT, 90, 56, 280, 80,
     108    DIALOG  "About Gotcha!", ID_DLG_ABOUT, 90, 56, 200, 80,
    107109            WS_VISIBLE, FCF_SYSMENU | FCF_TITLEBAR
    108110    BEGIN
    109111        ICON            1, 1000, 8, 58, 21, 16, WS_GROUP
    110         LTEXT           PSZ_NAMEVERSION, WID_NIL, 42, 64, 202, 9
     112        LTEXT           PSZ_NAMEVERSION, WID_NIL, 42, 64, 150, 9
    111113                        PRESPARAMS PP_FOREGROUNDCOLOR, 0x00C80A0AL
    112         LTEXT           "Screen/window capture utility", WID_NIL, 42, 53, 202, 8
    113         LTEXT           "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL, 42, 44,
    114                         202, 8
     114        LTEXT           "Screen/window capture utility", WID_NIL, 42, 56, 150, 8
     115        LTEXT           "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL,
     116                        42, 48, 150, 8
    115117        LTEXT           "Copyright (c) 2018 The Netlabs Gotcha Group", WID_NIL,
    116                         42, 32, 202, 8 
    117         LTEXT           "WWW: http://trac.netlabs.org/gotcha", WID_NIL, 42, 13, 232, 17, DT_WORDBREAK
     118                        42, 40, 150, 8
     119        LTEXT           "All rights Reserved", WID_NIL, 42, 32, 50, 8
     120        LTEXT           "WWW: http://trac.netlabs.org/gotcha", WID_NIL,
     121                         42, 24, 150, 8, DT_WORDBREAK
    118122        LTEXT           "English translation: Thorsten Thielen", WID_NIL,
    119                         42, 4, 202, 8
    120         DEFPUSHBUTTON   "Ok", WID_NIL, 8, 6, 22, 26
     123                        42, 16, 150, 8
     124        DEFPUSHBUTTON   "Ok", WID_NIL, 79, 4, 42, 10
    121125    END
    122126END
     
    131135        LTEXT           "~Type", DID_FILTER_TXT, 4, 140, 46, 0, DT_VCENTER | DT_MNEMONIC
    132136        CONTROL         "", DID_FILTER_CB, 56, 106, 240, 45, WC_COMBOBOX,
    133                         CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP /*|
    134                         WS_VISIBLE*/
     137                        CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP
    135138        LTEXT           "~Drives", DID_DRIVE_TXT, 4, 128, 34, 8, DT_MNEMONIC
    136139        CONTROL         "", DID_DRIVE_CB, 4, 46, 34, 80, WC_COMBOBOX,
    137140                        CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP |
    138141                        WS_VISIBLE
    139 //        LISTBOX         DID_DRIVE_CB, 4, 46, 34, 80, LS_NOADJUSTPOS
    140142        LTEXT           "~Directories", DID_DIRECTORY_TXT, 44, 128, 122, 8, DT_MNEMONIC
    141143        LISTBOX         DID_DIRECTORY_LB, 44, 46, 122, 80, LS_NOADJUSTPOS | LS_OWNERDRAW | LS_HORZSCROLL
     
    154156DLGTEMPLATE ID_DLG_SETTINGS LOADONCALL MOVEABLE DISCARDABLE
    155157BEGIN
    156     DIALOG  "Gotcha! settings", ID_DLG_SETTINGS, 104, 26, 280, 196, 0L,
     158    DIALOG  "Gotcha! settings", ID_DLG_SETTINGS, 104, 26, 225, 156, 0L,
    157159            FCF_SYSMENU | FCF_TITLEBAR
    158160    BEGIN
    159         NOTEBOOK        WID_NB_SETTINGS, 5, 21, 270, 170, BKS_BACKPAGESTR |
     161        NOTEBOOK        WID_NB_SETTINGS, 5, 21, 220, 130, BKS_BACKPAGESTR |
    160162                        BKS_MAJORTABTOP | BKS_ROUNDEDTABS |
    161163                        BKS_TABTEXTCENTER | BKS_SPIRALBIND | WS_GROUP |
    162164                        BKS_TABBEDDIALOG
    163         DEFPUSHBUTTON   "~Ok", WID_PB_OK, 5, 4, 60, 14
    164         PUSHBUTTON      "~Undo", WID_PB_UNDO, 70, 4, 60, 14
    165         PUSHBUTTON      "~Help", WID_PB_HELP, 215, 4, 60, 14, BS_HELP |
     165        DEFPUSHBUTTON   "~Ok", WID_PB_OK, 6, 4, 50, 14
     166        PUSHBUTTON      "~Undo", WID_PB_UNDO, 61, 4, 50, 14
     167        PUSHBUTTON      "Defa~ult", WID_PB_UNDO, 116, 4, 50, 14
     168        PUSHBUTTON      "~Help", WID_PB_HELP, 171, 4, 50, 14, BS_HELP |
    166169                        BS_NOPOINTERFOCUS
    167170    END
    168171END
    169172
     173DLGTEMPLATE ID_DLG_SETTINGSPAGE0 LOADONCALL MOVEABLE DISCARDABLE
     174BEGIN
     175        WINDOW          "", FID_CLIENT, 0, 0, 200, 85, "thth.wc.gotcha.main",
     176                        FS_NOBYTEALIGN | NOT WS_VISIBLE
     177        BEGIN
     178            GROUPBOX        "Save image to ...", WID_TEST, 4, 51, 90, 30,
     179                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     180            AUTORADIOBUTTON "~Clipboard", WID_RB_CLIPBOARD, 10, 63, 78, 10, WS_TABSTOP
     181                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     182            AUTORADIOBUTTON "~File", WID_RB_FILE, 10, 53, 78, 10,
     183                            WS_TABSTOP PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     184            GROUPBOX        "Capture ...", WID_NIL, 100, 19, 96, 62,
     185                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     186            PUSHBUTTON      "~Screen", WID_PB_SCREEN, 104, 59, 88, 12
     187            PUSHBUTTON      "Screen ~region", WID_PB_SCREENREGION, 104, 47, 88, 12
     188            PUSHBUTTON      "~Window", WID_PB_WINDOW, 104, 35, 88, 12
     189            PUSHBUTTON      "Window ~interior", WID_PB_WINDOWINTERIOR, 104, 23, 88, 12
     190            GROUPBOX        "Options", WID_NIL, 4, 19, 90, 30,
     191                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     192            AUTOCHECKBOX    "Don'~t reshow", WID_CB_HIDEWINDOW, 10, 31, 78, 10
     193                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     194            AUTOCHECKBOX    "~Delayed capture", WID_CB_DELAYEDCAPTURE, 10, 22, 78, 10,
     195                            PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL
     196            /*PUSHBUTTON      "~Help", HM_GENERAL_HELP, 151, 4, 45, 12            */
     197            PUSHBUTTON      "~About", WID_PB_ABOUT, 24, 4, 45, 12           
     198            PUSHBUTTON      "C~lose",  WID_PB_EXIT, 126, 4, 45, 12               
     199            /*PUSHBUTTON      "S~ettings", WID_PB_SETTINGS, 102, 4, 45, 12 */
     200        END
     201END
     202
    170203DLGTEMPLATE ID_DLG_SETTINGSPAGE1 LOADONCALL MOVEABLE DISCARDABLE
    171204BEGIN
    172     DIALOG  "", ID_DLG_SETTINGSPAGE1, 15, 15, 240, 120, NOT FS_DLGBORDER |
     205    DIALOG  "", ID_DLG_SETTINGSPAGE1, 15, 15, 200, 120, NOT FS_DLGBORDER |
    173206            WS_VISIBLE
    174207    BEGIN
    175         GROUPBOX        "Save type", WID_NIL, 5, 53, 240, 72
    176         AUTORADIOBUTTON "~Prompt for filename", WID_RB_FSSPROMPT, 11, 105, 228, 10,
     208        GROUPBOX        "Save type", WID_NIL, 5, 55, 195, 45
     209        AUTORADIOBUTTON "~Prompt for filename", WID_RB_FSSPROMPT, 11, 81, 180, 10,
    177210                        WS_TABSTOP | WS_GROUP
    178211        AUTORADIOBUTTON "~Autosave to numbered files in directory ...", WID_RB_FSSNUMFILES,
    179                         11, 95, 228, 10, WS_TABSTOP
    180         AUTORADIOBUTTON "~Force saving to file ...", WID_RB_FSSFORCEFILE, 11, 71, 228, 10,
    181                         WS_TABSTOP
    182         ENTRYFIELD      "", WID_E_NUMSAVEDIR, 27, 85, 210, 8, ES_MARGIN
    183         ENTRYFIELD      "", WID_E_FORCESAVEFILE, 27, 61, 210, 8, ES_MARGIN
    184         GROUPBOX        "Image file ~format", WID_NIL, 5, 5, 240, 44, DT_MNEMONIC
    185         LISTBOX         WID_LB_FILEFORMAT, 11, 9, 228, 30, LS_NOADJUSTPOS
    186 
     212                        11, 71, 180, 10, WS_TABSTOP
     213        /*AUTORADIOBUTTON "~Force saving to file ...", WID_RB_FSSFORCEFILE, 11, 80, 228, 10,
     214                        WS_TABSTOP*/
     215        ENTRYFIELD      "", WID_E_NUMSAVEDIR, 10, 61, 180, 8, ES_MARGIN
     216        /*ENTRYFIELD      "", WID_E_FORCESAVEFILE, 27, 72, 210, 8, ES_MARGIN*/
     217        CONTROL         "", WID_LB_FILEFORMAT, 10, 10, 180, 30, WC_COMBOBOX,
     218                        CBS_DROPDOWNLIST | WS_VISIBLE | WS_TABSTOP
     219        GROUPBOX        "Image file format", WID_NIL, 5, 18, 195, 38, DT_MNEMONIC
     220        GROUPBOX        "Other options", WID_NIL, 5, 1, 195, 17
     221        AUTOCHECKBOX    "Use s~ound when capture finished", WID_CB_DOSOUND,
     222                         11, 4, 180, 8
    187223    END
    188224END
     
    193229            WS_VISIBLE
    194230    BEGIN
    195         AUTOCHECKBOX    "~Enable snapshot window", WID_CB_SSWENABLE, 13, 115, 204, 10
    196         GROUPBOX        "Capture type", WID_NIL, 5, 59, 220, 54
    197         AUTORADIOBUTTON "~Screen", WID_SSWSCREEN, 13, 93, 204, 10, WS_TABSTOP
    198         AUTORADIOBUTTON "Screen ~region", WID_SSWSCREENREGION, 13, 83, 204, 10, WS_TABSTOP
    199         AUTORADIOBUTTON "~Window", WID_SSWWINDOW, 13, 73, 204, 10, WS_TABSTOP
    200         AUTORADIOBUTTON "Window ~interior", WID_SSWWINDOWINT, 13, 63, 204, 10, WS_TABSTOP
    201         GROUPBOX        "Options", WID_NIL, 5, 5, 220, 50
    202         AUTOCHECKBOX    "Always on ~top of all windows", WID_CB_SSWALWAYSONTOP, 13, 35, 204, 10
    203         AUTOCHECKBOX    "Hide ~Gotcha during capture", WID_CB_SSWHIDE, 13, 25, 204, 10
     231        /*AUTOCHECKBOX    "~Enable snapshot window", WID_CB_SSWENABLE,
     232                          13, 115, 204, 10*/
     233        GROUPBOX        "Capture type", WID_NIL, 5, 69, 195, 30
     234        AUTORADIOBUTTON "~Screen", WID_SSWSCREEN, 13, 83, 80, 10, WS_TABSTOP
     235        AUTORADIOBUTTON "Screen ~region", WID_SSWSCREENREGION,
     236                        96, 83, 94, 10, WS_TABSTOP
     237        AUTORADIOBUTTON "~Window", WID_SSWWINDOW, 13, 73, 80, 10, WS_TABSTOP
     238        AUTORADIOBUTTON "Window ~interior", WID_SSWWINDOWINT,
     239                        96, 73, 94, 10, WS_TABSTOP
     240        GROUPBOX        "Delayed capture", WID_NIL, 5, 35, 195, 31
     241        AUTOCHECKBOX    "Countdown timer with ~beeps", WID_CB_DELAYCOUNTDOWN, 11, 50, 180, 10
     242        RTEXT           "Capture ~delay:", WID_NIL, 11, 41, 66, 8, DT_MNEMONIC
     243        SPINBUTTON      WID_SB_DELAYTIME, 81, 41, 44, 12, SPBS_MASTER | WS_GROUP
     244        LTEXT           "second(s)", WID_NIL, 129, 41, 52, 8
     245        GROUPBOX        "Serial capture", WID_NIL, 5, 4, 195, 30
     246        AUTOCHECKBOX    "Use seria~l capture", WID_CB_SERIALCAPTURE, 11, 15, 180, 10
     247        RTEXT           "Do a capture ~every", WID_NIL, 11, 6, 66, 8
     248        SPINBUTTON      WID_SB_SERIALTIME, 81, 6, 44, 12, SPBS_MASTER | WS_GROUP
     249        LTEXT           "second(s)/20", WID_NIL, 129, 6, 52, 8
     250        /*GROUPBOX        "Options", WID_NIL, 5, 5, 220, 50
     251        AUTOCHECKBOX    "Always on ~top of all windows", WID_CB_SSWALWAYSONTOP,
     252                        13, 35, 204, 10
     253        AUTOCHECKBOX    "Hide ~Gotcha during capture", WID_CB_SSWHIDE,
     254                        13, 25, 204, 10*/
    204255    END
    205256END
     
    217268        GROUPBOX        "Serial capture", WID_NIL, 5, 51, 220, 36
    218269        AUTOCHECKBOX    "Use ~serial capture", WID_CB_SERIALCAPTURE, 11, 67, 208, 10
    219         RTEXT           "Do a capture every", WID_NIL, 11, 57, 106, 8
     270        RTEXT           "Do a capture ~every", WID_NIL, 11, 57, 106, 8
    220271        SPINBUTTON      WID_SB_SERIALTIME, 121, 57, 44, 12, SPBS_MASTER | WS_GROUP
    221272        LTEXT           "second(s)/20", WID_NIL, 169, 57, 52, 8
     
    223274        AUTOCHECKBOX    "Use s~ound when capture finished", WID_CB_DOSOUND, 11, 27, 208,
    224275                        10
    225         AUTOCHECKBOX    "Run Gotcha! at idle ~priority", WID_CB_IDLEPRIORITY, 11, 17, 208,
    226                         10
     276        /*AUTOCHECKBOX    "Run Gotcha! at idle ~priority", WID_CB_IDLEPRIORITY,
     277                        11, 17, 208, 10 */
    227278    END
    228279END
     
    233284            WS_VISIBLE
    234285    BEGIN
    235         GROUPBOX        "Program", WID_NIL, 5, 62, 119, 54
    236         LISTBOX         WID_LB_LANGUAGES, 11, 66, 106, 40, LS_NOADJUSTPOS
    237         GROUPBOX        "Online help", WID_NIL, 5, 5, 119, 54
    238         LISTBOX         WID_LB_LANGUAGESHELP, 11, 9, 106, 40, LS_NOADJUSTPOS
    239         CONTROL         4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP |
    240                         WS_GROUP | WS_VISIBLE
    241         LTEXT           "Note: This settings will take effect for the first "
    242                         "time at the next start of the program.",
    243                         WID_ST_LANGNOTE, 130, 45, 114, 70,
    244                         DT_WORDBREAK
     286        GROUPBOX        "Program", WID_NIL, 5, 5, 95, 54
     287        LISTBOX         WID_LB_LANGUAGES, 9, 11, 90, 40, LS_NOADJUSTPOS
     288        GROUPBOX        "Online help", WID_NIL, 103, 5, 95, 54
     289        LISTBOX         WID_LB_LANGUAGESHELP, 106, 11, 90, 40, LS_NOADJUSTPOS
     290        /*CONTROL         4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP |
     291                        WS_GROUP | WS_VISIBLE */
     292        LTEXT           "Note: A restart is required for these settings to take effect",
     293                        WID_ST_LANGNOTE, 5, 58, 184, 8, DT_WORDBREAK
    245294    END
    246295END
     
    266315    IDS_ERROR_COULDNOTINITHELPFILE          "Could not initialize online help. Does helpfile '%s' exist in Minta's directory?"
    267316
     317    IDS_MAINWIN                        "Gotcha Main"
    268318    IDS_PAGESAVE                       "Saving"
    269319    IDS_PAGESNAPSHOT                   "Snapshot"
  • trunk/gotcha.cpp

    r13 r27  
    3434PFNWP       OldFrameWP, wpOldButton;
    3535PSETTINGS   pset;
    36 BOOL        g_fQuiet = FALSE;
     36BOOL        g_fQuiet = FALSE, g_fIdle = FALSE, g_fSetPathName = FALSE;
    3737HWND        g_hwndMenuSSW;
    3838HMODULE     g_hmod = NULLHANDLE;
     
    4444#include "savebmp.cpp"
    4545
    46 // ** CheckCmdlineArgs **************************************************** /*fold00*/
     46// ** CheckCmdlineArgs **************************************************** /*FOLD00*/
    4747
    4848BOOL CheckCmdlineArgs (int argc, char *argv[])
     
    7272                    pset->SetFileSaveStyle (FSS_NUMFILES);
    7373                    pset->SetNumSaveDir (argv[i]);
     74                    g_fSetPathName = TRUE;
    7475                }
    7576        }
     
    8283                pset->SetFileSaveStyle (FSS_FORCEFILE);
    8384                pset->SetForceSaveFile (argv[i]);
     85                g_fSetPathName = TRUE;
    8486            }
    8587        }
     
    8789        else if (stricmp (argv[i], "-i") == 0)
    8890        {
     91            g_fIdle = TRUE;
    8992            pset->SetFlag (SEI_IDLEPRIORITY, TRUE);
    9093        }
     
    111114
    112115    //DisplayError("DEBUG", "%d", Version());
    113 #ifdef _USEDLL_
    114     if (g_fQuiet && (Version() < 1))
     116//#ifdef _USEDLL_ //_QUIET_
     117    if ((Version() < 1))
    115118    {
    116119        DisplayError("GOTCHA.DLL TO OLD",
     
    123126        exit (0);
    124127    }
    125 #endif
     128    bool fPrtScr = FALSE;
     129    ULONG ulDataSize;
     130    int rc;
     131
     132    rc = PrfQueryProfileSize( HINI_PROFILE, "PM_ControlPanel", "PrintScreen",
     133                             &ulDataSize );
     134    rc = PrfQueryProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     135                             &fPrtScr, &ulDataSize);
     136    if (fPrtScr || !rc) {
     137        fPrtScr = TRUE;
     138        bool temp = FALSE;
     139        rc = PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     140                                 &temp, sizeof(bool));
     141    }
     142//#endif
    126143
    127144    // register our window classes
     
    134151    pset = new SETTINGS;
    135152
     153    pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY);
     154    pset->saveStyle = pset->QuerySaveStyle ();
     155    pset->pNumSaveDir = pset->QueryNumSaveDir ();
     156    pset->pForceSaveFile = pset->QueryForceSaveFile();
     157    pset->bSerialCapture = pset->SerialCapture ();
    136158    // check cmd line args and if "-a" found take screenshot and exit
    137159    if (CheckCmdlineArgs (argc, argv))
    138160    {
    139161        CaptureWindow (HWND_DESKTOP, HWND_DESKTOP, NULL, TRUE);
     162        pset->SetFileSaveStyle(pset->saveStyle);
    140163        delete pset;
    141164        WinDestroyMsgQueue (hmq);
     
    159182
    160183    // init the quiet mode
    161     if (g_fQuiet)
    162     {
    163 #ifdef _USEDLL_
     184    //if (g_fQuiet)
     185    //{
     186#ifdef _USEDLL_   //_QUIET_
    164187        InitDLL (hab, hwndFrame);
    165188        StartInputHook ();
    166189#endif
    167190
    168         CHAR ach[61];
    169         WinQueryWindowText (hwndFrame, sizeof (ach), ach);
    170         strcat (ach, RSTR (IDS_QUIETMODE));
    171         WinSetWindowText (hwndFrame, ach);
    172         WinSetWindowPos (hwndFrame, NULLHANDLE, 0,0, 0,0, SWP_MINIMIZE);
    173     }
     191        //CHAR ach[61];
     192        //WinQueryWindowText (hwndFrame, sizeof (ach), ach);
     193        //strcat (ach, RSTR (IDS_QUIETMODE));
     194        //WinSetWindowText (hwndFrame, ach);
     195        //WinSetWindowPos (hwndFrame, NULLHANDLE, 0,0, 0,0, SWP_MINIMIZE);
     196        //HSWITCH hswitch = WinQuerySwitchHandle(hwndFrame, 0);
     197        //WinRemoveSwitchEntry(hswitch);
     198    //}
    174199
    175200    // position snapshot window
     
    196221        WinDispatchMsg (hab, &qmsg);
    197222
     223
     224    // Set priorty to unless user set regular since running -q sets it to idle in the ini
     225    if (g_fIdle || g_fQuiet) {
     226        pset->SetFlag (SEI_IDLEPRIORITY, pset->idleSetInIni);
     227        if (g_fQuiet) {
     228            pset->SetFileSaveStyle (pset->saveStyle); // changed with -q
     229            pset->SerialCapture (pset->bSerialCapture); // changed with -q
     230        }
     231    }
     232    // Don't change the ini stored paths if the paths were set from the command line
     233    if (g_fSetPathName) {
     234        pset->SetFileSaveStyle(pset->saveStyle);
     235        pset->SetForceSaveFile (pset->pForceSaveFile);
     236        pset->SetNumSaveDir (pset->pNumSaveDir);
     237    }
    198238    // save size, etc. of snapshot window
    199239    WinQueryWindowPos (hwndSnapshot, &swp);
     
    208248    WinDestroyWindow (hwndFrame);
    209249
    210 #ifdef _USEDLL_
    211     if (g_fQuiet)
     250#ifdef _USEDLL_ //_QUIET_
     251    if (fPrtScr || !rc) {
     252        PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     253                            &fPrtScr, sizeof(bool));
     254    }
     255    //if (g_fQuiet)
    212256        StopInputHook ();
    213257#endif
     
    242286}
    243287
    244 // ** AddSysMenuItem ****************************************************** /*fold00*/
     288APIRET saymsg2(int DefaultButton, HWND hwnd,  PCSZ pszTitle, PCSZ pszFmt, ...)
     289{
     290  ULONG i;
     291  APIRET rc;
     292  CHAR szMsg[4096];
     293  va_list va;
     294  MB2INFO *pmbInfo;
     295  MB2D mb2dBut[3];
     296  ULONG ulInfoSize = (sizeof(MB2INFO) + (sizeof(MB2D) * 2));
     297
     298  va_start(va, pszFmt);
     299  szMsg[sizeof(szMsg) - 1] = 0;
     300  vsprintf(szMsg, pszFmt, va);
     301  va_end(va);
     302
     303  if (szMsg[sizeof(szMsg) - 1]) {
     304    fprintf(stderr, "Buffer overflow in saymsg2 - need %u bytes\n", strlen(szMsg) + 1);
     305    fflush(stderr);
     306  }
     307
     308  memset(mb2dBut, 0, sizeof(MB2D) * 3);
     309  strcpy(mb2dBut[0].achText,"Ok");
     310  strcpy(mb2dBut[1].achText,"Cancel");
     311  strcpy(mb2dBut[2].achText,"Settings");
     312  mb2dBut[0].idButton = 1;
     313  mb2dBut[1].idButton = 2;
     314  mb2dBut[2].idButton = 3;
     315  if (DefaultButton)
     316    mb2dBut[DefaultButton - 1].flStyle = BS_DEFAULT;
     317  pmbInfo = (MB2INFO *) malloc(ulInfoSize);
     318  memset(pmbInfo, 0, ulInfoSize);
     319  if (pmbInfo) {
     320    pmbInfo->cb         = ulInfoSize;
     321    pmbInfo->hIcon      = 0;
     322    pmbInfo->cButtons   = 3;
     323    pmbInfo->flStyle    = MB_MOVEABLE | MB_ICONQUESTION ;
     324    pmbInfo->hwndNotify = NULLHANDLE;
     325    for (i = 0; i < 3; i++) {
     326      memcpy( pmbInfo->mb2d+i , mb2dBut+i , sizeof(MB2D));
     327    }
     328    rc = WinMessageBox2(HWND_DESKTOP, hwnd,
     329                        szMsg, pszTitle, SM2_DIALOG,
     330                        pmbInfo);
     331    WinSetFocus(HWND_DESKTOP, SM2_DIALOG);
     332    free(pmbInfo);
     333    return rc;
     334  }
     335  return MBID_ERROR;
     336}
     337// ** AddSysMenuItem ****************************************************** /*FOLD00*/
    245338
    246339VOID AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text)
     
    273366VOID SetIdlePriority (BOOL f)
    274367{
     368#if 0 //#ifndef _QUEIT_
    275369    if (f)
    276370        DosSetPriority(PRTYS_PROCESS, PRTYC_IDLETIME, 0, 0);
    277371    else
    278372        DosSetPriority(PRTYS_PROCESS, PRTYC_REGULAR, 0, 0);
     373#else
     374    DosSetPriority(PRTYS_PROCESS, PRTYC_FOREGROUNDSERVER, 0, 0);
     375#endif
    279376}
    280377
  • trunk/gotcha.h

    r10 r27  
    3939#include <stdarg.h>
    4040
    41 #include "mmioos2.h"
    42 
    4341#include "config.h"
    4442
     
    4846#include "helper.h"
    4947#include "settings.h"
     48
     49#define  _PMPRINTF_
     50#include "PMPRINTF.H"
    5051
    5152#define PSZ_EXTENSION    ".bmp"
     
    6970
    7071extern PSETTINGS pset;
    71 extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW;
     72extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW, g_hwndSettingsDialog, g_hwndPage0;
    7273
    7374extern HMODULE g_hmod;
     
    8485
    8586HBITMAP  CaptureWindow (HWND hwnd, HWND hwndParent, PRECTL prcl, BOOL f);
    86 VOID     SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount);
     87VOID     SaveBitmap (HBITMAP hbm, HPS hps, int width, int height,
     88                     int bitCount, char *title);
    8789VOID     SaveBitmapToClipboard (HBITMAP hbm);
    88 VOID     SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps);
     90//VOID     SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps);
    8991VOID     StartSelection (HWND hwnd);
    90 BOOL     SelectSaveFile (VOID);
     92BOOL     SelectSaveFile (char *title);
    9193BOOL     DoTracking (RECTL *prclTrack);
    9294VOID     AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text);
     
    109111
    110112VOID     DisplayError (PSZ pszTitle, PSZ psz, ...);
     113APIRET   saymsg2(int DefaultButton, HWND hwnd,
     114                 PCSZ pszTitle, PCSZ pszFmt, ...);
    111115VOID     DoCountdown (ULONG ul);
    112116VOID     AdjustSaveTypeButtons (BOOL f);
    113117
    114 BOOL SetEAs (PSZ psz);
     118//BOOL SetEAs (PSZ psz);
    115119VOID SetIdlePriority (BOOL f);
    116120
  • trunk/id.h

    r21 r27  
    2828#define ID_DLG_SETTINGSPAGE3      6
    2929#define ID_DLG_SETTINGSPAGE4      7
     30#define SM2_DIALOG                8
     31#define ID_DLG_SETTINGSPAGE0      9
    3032
    3133#define WID_NIL                   0
     
    7476#define WID_LB_FILEFORMAT         43
    7577#define WID_PB_EXIT               44
     78#define WID_PB_SETCAPTURETYPE     45
    7679
    7780#define IDM_SSWPOPUP              1
     
    160163#define IDS_SNAPLABEL                       34
    161164#define IDS_GENERALHELP                     35
     165#define IDS_MAINWIN                         36
    162166
    163167#define MAIN_HELP_TABLE                     1
  • trunk/mainwin.cpp

    r10 r27  
    2222HWND CreateMainWindow (VOID)
    2323{
     24//#ifdef _QUIET_
     25#if 1
     26    hwndFrame = WinLoadDlg (HWND_OBJECT, NULLHANDLE, NULL, GETMODULE,
     27                            ID_DLG_MAIN, NULL);
     28#else
    2429    hwndFrame = WinLoadDlg (HWND_DESKTOP, NULLHANDLE, NULL, GETMODULE,
    2530                            ID_DLG_MAIN, NULL);
     31#endif
    2632    OldFrameWP = WinSubclassWindow (hwndFrame, FrameProcedure);
    2733
     
    7076}
    7177
    72 // ** Drag **************************************************************** /*fold00*/
     78// ** Drag **************************************************************** /*FOLD00*/
    7379
    7480VOID Drag (HWND hwnd)
     
    110116}
    111117
    112 // ** FrameProcedure ****************************************************** /*fold00*/
     118// ** FrameProcedure ****************************************************** /*FOLD00*/
    113119
    114120MRESULT EXPENTRY FrameProcedure (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
     
    270276
    271277        case WID_PB_SETTINGS:
     278            _DebugHereIAm();
    272279            pset->Dialog ();
     280            break;
     281
     282        case WID_PB_SETCAPTURETYPE:
     283            //int capType;
     284
     285            switch (pset->QuerySSWCaptureType ())
     286            {
     287            case CAP_WINDOWINT:
     288                WinSendMsg (hwndFrame, WM_COMMAND,
     289                            MPFROM2SHORT (WID_PB_WINDOWINTERIOR,0), 0);
     290            case CAP_SCREENREGION:
     291                WinSendMsg (hwndFrame, WM_COMMAND,
     292                            MPFROM2SHORT (WID_PB_SCREENREGION,0), 0);
     293            case CAP_WINDOW:
     294                WinSendMsg (hwndFrame, WM_COMMAND,
     295                            MPFROM2SHORT (WID_PB_WINDOW,0), 0);
     296            default:
     297               WinSendMsg (hwndFrame, WM_COMMAND,
     298                            MPFROM2SHORT (WID_PB_SCREEN,0), 0);
     299            }
    273300            break;
    274301
    275302        case WID_PB_SCREEN:
    276303            usCap = CAP_SCREEN;
     304//#ifdef _Quiet_
     305#if 1
     306            WinShowWindow (g_hwndSettingsDialog, FALSE);
     307            // WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0); //Needs to go to the setting dialog
     308            // Replace current global with pset->GetSettingDialogHwnd () or such
     309            // Need for all 4 cases;
     310#endif
    277311            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    278312            break;
     
    280314        case WID_PB_SCREENREGION:
    281315            usCap = CAP_SCREENREGION;
     316//#ifdef _Quiet_
     317#if 1
     318            WinShowWindow (g_hwndSettingsDialog, FALSE);
     319#endif
    282320            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    283321            break;
     
    285323        case WID_PB_WINDOWINTERIOR:
    286324            usCap = CAP_WINDOWINT;
     325//#ifdef _Quiet_
     326#if 1
     327            WinShowWindow (g_hwndSettingsDialog, FALSE);
     328#endif
    287329            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    288330            break;
     
    290332        case WID_PB_WINDOW:
    291333            usCap = CAP_WINDOW;
     334//#ifdef _Quiet_
     335#if 1
     336            WinShowWindow (g_hwndSettingsDialog, FALSE);
     337#endif
    292338            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    293339            break;
     
    314360
    315361        usState = STATE_WAITFORHIDE;
     362
     363        if (usCap == CAP_SCREENREGION || usCap == CAP_SCREEN)
     364            hwndParent = WinQueryFocus(HWND_DESKTOP);
     365//#ifndef _QUIET_
     366#if 0
    316367        if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW))
    317368            WinShowWindow (WinQueryWindow (hwnd, QW_PARENT), FALSE);
    318369        else
     370#endif
    319371            WinSendMsg (hwnd, UM_WINDOWHIDDEN, 0,0);
    320372        return MRESULT (FALSE);
     
    346398            {
    347399                usState = STATE_WINDOWSELECTED;
    348                 WinPostMsg (hwnd, UM_WINDOWSELECTED,
    349                             MPFROMHWND (HWND_DESKTOP),
    350                             MPFROMHWND (HWND_DESKTOP));
     400                int rc = saymsg2(1, hwnd,  "Capture", "Do you wish to continue?");
     401                _DebugHereIAm();
     402                if (rc == 1)
     403                    WinPostMsg (hwnd, UM_WINDOWSELECTED,
     404                                MPFROMHWND (HWND_DESKTOP),
     405                                MPFROMHWND (HWND_DESKTOP));
     406                if (rc == 2)
     407                    WinSendMsg (hwnd, UM_ABORT, 0,0);
     408                if (rc == 3) {
     409                    pset->Dialog ();
     410                    WinPostMsg (hwnd, UM_WINDOWSELECTED,
     411                                MPFROMHWND (HWND_DESKTOP),
     412                                MPFROMHWND (HWND_DESKTOP));
     413                }
    351414            }
    352415            else
     
    417480                                                             FALSE));
    418481            hwndCap = HWND (mp1);
    419             hwndParent = HWND (mp2);
     482            if (usCap != CAP_SCREENREGION && usCap != CAP_SCREEN)
     483                hwndParent = HWND (mp2);
    420484            if (pset->SerialCapture ())
    421485            {
     
    478542            // capture the window to a bitmap and save this
    479543            if (usCap == CAP_SCREENREGION)
    480                 hbm = CaptureWindow (hwndCap, hwndParent, &rcl, TRUE);
     544                hbm = CaptureWindow (hwndCap, hwndParent, &rcl, FALSE);
     545            else if (usCap == CAP_SCREEN)
     546                hbm = CaptureWindow (hwndCap, hwndParent, NULL, FALSE);
    481547            else
    482548                hbm = CaptureWindow (hwndCap, hwndParent, NULL, TRUE);
     
    512578            WinSetCapture (HWND_DESKTOP, NULLHANDLE);
    513579
     580        pset->Load ();
     581
    514582        WinSendMsg (hwndSnapshot, UM_STOPCAPTURE, 0,0);
    515583        WinStopTimer (hab, hwnd, ulTimer);
    516 
     584//#ifdef _QUIET_
     585#if 1
     586        // ? FIXME to give option to reshow window.
     587        if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW))
     588            WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0);
     589        else if (WinIsWindow ( hab, g_hwndSettingsDialog) &&
     590            ! WinIsWindowVisible (g_hwndSettingsDialog))
     591            WinShowWindow (g_hwndSettingsDialog, TRUE);
     592        pset->HideWindow (TRUE);
     593#else
    517594        // re-show the windows if they are hidden
    518595        // FIXME using global hwndFrame is pretty yukki
     
    521598        if (! WinIsWindowVisible (hwndSnapshot) && pset->SnapshotWindow ())
    522599            WinShowWindow (hwndSnapshot, TRUE);
    523 
     600#endif
    524601        WinEnableWindow (hwnd, TRUE);
    525602        WinSetActiveWindow (HWND_DESKTOP, hwnd);
  • trunk/savebmp.cpp

    r11 r27  
    2424#include "model.h"
    2525
    26 #define  __PMPRINTF__
    27 #include "PMPRINTF.H"
    28 
    2926/* ------------------------------ */
    3027static int StrideOf(const MOD *mod)
    3128{
    32     DebugHereIAm();
    3329        return ( ( mod->gbm.w * mod->gbm.bpp + 31 ) / 32 ) * 4;
    3430        }
     
    4137        if ( (mod->pbData = (UCHAR*) gbmmem_malloc(stride * mod->gbm.h)) == NULL )
    4238            return FALSE;
    43         DebugHereIAm();
    4439        return TRUE;
    4540        }
     
    5954        if ( !AllocateData(modNew) )
    6055            return MOD_ERR_MEM;
    61         DebugHereIAm();
    6256        return MOD_ERR_OK;
    6357        }
     
    8579
    8680        if ( (mrc = ModCreate(w, h, bpp, NULL, modNew)) != MOD_ERR_OK )
    87                 return mrc;
    88         DebugHereIAm();
     81            return mrc;
     82
    8983        memset(&(bm.bmp2), 0, sizeof(bm.bmp2));
    9084        bm.bmp2.cbFix     = sizeof(BITMAPINFOHEADER2);
     
    10599                        }
    106100                }
    107         DebugHereIAm();
    108101        return MOD_ERR_OK;
    109102        }
     
    127120            return grc;
    128121        }
    129         PmpfF(( "file type %i", ft ));
    130         DebugHereIAm();
    131122        gbm_query_filetype(ft, &gbmft);
    132         PmpfF(( "file type %i name %s flags %i bpp %i", ft, gbmft.short_name,
    133                gbmft.flags, mod->gbm.bpp));
     123       
    134124        switch ( mod->gbm.bpp )
    135125                {
     
    143133        if ( (gbmft.flags & flag) == 0 )
    144134            return MOD_ERR_SUPPORT;
    145         DebugHereIAm();
     135       
    146136        if ( (fd = gbm_io_create(szFn, GBM_O_WRONLY)) == -1 )
    147137                return MOD_ERR_CREATE;
    148         DebugHereIAm();
    149         if ( (grc = gbm_write(szFn, fd, ft, &(mod->gbm), mod->gbmrgb, mod->pbData, szOpt)) != GBM_ERR_OK )
     138       
     139        if ( (grc = gbm_write(szFn, fd, ft, &(mod->gbm), mod->gbmrgb,
     140                              mod->pbData, szOpt)) != GBM_ERR_OK )
    150141                {
    151142                gbm_io_close(fd);
     
    153144                return MOD_ERR_GBM(grc);
    154145                }
    155         DebugHereIAm();
     146       
    156147        gbm_io_close(fd);
    157         DebugHereIAm();
    158148        return MOD_ERR_OK;
    159149        }
     
    161151// ** SaveBitmap ********************************************************** /*FOLD00*/
    162152
    163 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount)
     153VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height,
     154                 int bitCount, char *title)
    164155{
    165156#ifdef _DOLOGMEM_
     
    172163        PSZ psz = pset->QueryForceSaveFile();
    173164        psz = AddExtensionToFilename( psz );
    174         //
    175         /*if( ( pset->QueryFileFormat() == BMF_12 ) ||
    176            ( pset->QueryFileFormat() == BMF_16 ) ||
    177            ( pset->QueryFileFormat() == BMF_20 ) ) {
    178             SaveBitmapToFile( hbm, psz, hps );
    179             DebugHereIAm();
    180         }
    181         else { */
     165        ModCreateFromHPS( hps, width, height,
     166                         (bitCount > 8 ) ? 24 : bitCount,
     167                         &newmod );
     168        ModWriteToFile(&newmod, psz, "" );
     169       
     170#ifdef _DOLOGMEM_
     171        LogMem( "SaveBitmap-1", FALSE );
     172#endif
     173        return;
     174    }
     175
     176    if (pset->DoSound ())
     177    {
     178        DosBeep ( 500, 100);
     179        DosBeep (1000, 100);
     180        DosBeep (1500, 100);
     181    }
     182
     183    switch (pset->QuerySaveStyle ())
     184    {
     185    case SAVESTYLE_CLIPBOARD:
     186        SaveBitmapToClipboard (hbm);
     187        break;
     188
     189    default:
     190#ifdef _DOLOGDEBUG_
     191        LogDebug( "SaveBitmap()" );
     192#endif
     193        if (SelectSaveFile (title)) {
     194#ifdef _DOLOGDEBUG_
     195            LogDebug( "Before call to SaveBitmapToFile()" );
     196#endif
    182197            ModCreateFromHPS( hps, width, height,
    183198                             (bitCount > 8 ) ? 24 : bitCount,
    184199                             &newmod );
    185             ModWriteToFile(&newmod, psz, "" );
    186         //}
    187 #ifdef _DOLOGMEM_
    188         LogMem( "SaveBitmap-1", FALSE );
    189 #endif
    190         return;
    191     }
    192 
    193     if (pset->DoSound ())
    194     {
    195         DosBeep ( 500, 100);
    196         DosBeep (1000, 100);
    197         DosBeep (1500, 100);
    198     }
    199 
    200     switch (pset->QuerySaveStyle ())
    201     {
    202     case SAVESTYLE_CLIPBOARD:
    203         SaveBitmapToClipboard (hbm);
    204         break;
    205 
    206     default:
    207 #ifdef _DOLOGDEBUG_
    208         LogDebug( "SaveBitmap()" );
    209 #endif
    210         if (SelectSaveFile ()) {
    211 #ifdef _DOLOGDEBUG_
    212             LogDebug( "Before call to SaveBitmapToFile()" );
    213 #endif
    214             //DebugHereIAm();
    215             /*if( ( pset->QueryFileFormat() == BMF_12 ) ||
    216                ( pset->QueryFileFormat() == BMF_16 ) ||
    217                ( pset->QueryFileFormat() == BMF_20 ) ) {
    218                 DebugHereIAm();
    219                 SaveBitmapToFile( hbm, pset->QuerySaveFile (), hps );
    220                 DebugHereIAm();
    221             }
    222             else {*/
    223                 ModCreateFromHPS( hps, width, height,
    224                                  (bitCount > 8 ) ? 24 : bitCount,
    225                                  &newmod );
    226                 ModWriteToFile(&newmod, pset->QuerySaveFile (), "" );
    227             //}
     200            ModWriteToFile(&newmod, pset->QuerySaveFile (), "" );
     201
    228202#ifdef _DOLOGDEBUG_
    229203            LogDebug( "After call to SaveBitmapToFile()" );
     
    256230
    257231// ** SaveBitmapToFile **************************************************** /*FOLD00*/
    258 
     232#if 0
    259233#define CB_12HEADER       sizeof (BITMAPINFOHEADER) // == 12
    260234#define CB_16HEADER       (sizeof (BITMAPINFOHEADER2)-24)
    261235#define CB_20HEADER       sizeof (BITMAPINFOHEADER2) // == 64
    262236
    263 #if 0
     237
    264238VOID SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps)
    265239{
     
    442416    }
    443417
    444     /*else {
    445 #ifdef _DOLOGDEBUG_
    446         LogDebug( "SaveBitmapToFile(): Starting 'else' path." );
    447 #endif
    448         PFN xmmioClose = pset->GetMMIO()->pfmmioClose;
    449 //        PFN xmmioOpen = pset->GetMMIO()->pfmmioOpen;
    450         PFN xmmioWrite = pset->GetMMIO()->pfmmioWrite;
    451         PFN xmmioQueryHeaderLength = pset->GetMMIO()->pfmmioQueryHeaderLength;
    452         PFN xmmioSetHeader = pset->GetMMIO()->pfmmioSetHeader;
    453 
    454 #ifdef _DOLOGDEBUG_
    455     LogDebug( "SaveBitmapToFile(): Before GetFOURCC." );
    456 #endif
    457         // ********* WRITE TARGET
    458         FOURCC fccTargetIOProc = pset->GetFOURCC();
    459 
    460         // Initialize our info MMIOINFO structure.
    461         MMIOINFO mmioinfoTarget;
    462 #ifdef _DOLOGDEBUG_
    463     LogDebug( "SaveBitmapToFile(): Before memset." );
    464 #endif
    465         memset( &mmioinfoTarget, 0L, sizeof( MMIOINFO ) );
    466         mmioinfoTarget.fccIOProc   = fccTargetIOProc;
    467         mmioinfoTarget.ulTranslate = MMIO_TRANSLATEHEADER | MMIO_TRANSLATEDATA;
    468 
    469 #ifdef _DOLOGDEBUG_
    470         LogDebug( "SaveBitmapToFile(): Trying to open file." );
    471 #endif
    472         // Open target file.
    473         HMMIO hmmioTarget;
    474         if( ! ( hmmioTarget = mmioOpen( psz,
    475                                         &mmioinfoTarget,
    476                                         MMIO_CREATE | MMIO_WRITE |
    477                                         MMIO_DENYWRITE | MMIO_NOIDENTIFY ))) {
    478             DisplayError ("mmioOpen()-Error",
    479                           "mmioOpen()-Error %ld", mmioinfoTarget.ulErrorRet );
    480             return;
    481         }
    482 #ifdef _DOLOGDEBUG_
    483         LogDebug( "SaveBitmapToFile(): Open file ok." );
    484 #endif
    485 
    486         // Set the target header.
    487         ULONG ulImageHeaderLength;
    488 
    489         mmioQueryHeaderLength( hmmioTarget, (PLONG)&ulImageHeaderLength, 0L, 0L );
    490         if( ulImageHeaderLength != sizeof( MMIMAGEHEADER ) )
    491         {
    492             // We have a problem.....possibly incompatible versions.
    493             mmioClose( hmmioTarget, 0L );
    494             DisplayError ("mmioQueryHeaderLength()-Error",
    495                           "mmioQueryHeaderLength()-Error",
    496                           WinGetLastError (hab));
    497             return;
    498         }
    499 #ifdef _DOLOGDEBUG_
    500         LogDebug( "SaveBitmapToFile(): xmmioQueryHeaderLength ok." );
    501 #endif
    502 
    503         MMIMAGEHEADER mmImgHdr;
    504         mmImgHdr.ulHeaderLength = ulImageHeaderLength;
    505         mmImgHdr.ulContentType  = MMIO_IMAGE_UNKNOWN;
    506         mmImgHdr.ulMediaType    = MMIO_MEDIATYPE_IMAGE;
    507 
    508 #ifdef _DOLOGDEBUG_
    509     LogDebug( "SaveBitmapToFile(): Before memcpy (colors)." );
    510 #endif
    511         memcpy( mmImgHdr.bmiColors,
    512                 PBYTE( &( pbfh2->bmp2 ) ) + sizeof( BITMAPINFOHEADER2 ),
    513                 cbColtab );
    514 
    515         mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulMemSize = cbBits; // FIXME;
    516         mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulPelFormat = 0; // FIXME;
    517         mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.usTransType = 0; // FIXME
    518         mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulTransVal = 0;  // FIXME
    519         memcpy( &(mmImgHdr.mmXDIBHeader.BMPInfoHeader2), &bih2, sizeof (BITMAPINFOHEADER2));
    520 
    521 #ifdef _DOLOGDEBUG_
    522     LogDebug( "SaveBitmapToFile(): Before xmmioSetHeader." );
    523 #endif
    524         ULONG ulBytesRead;
    525         if( ( rc = (LONG)mmioSetHeader( hmmioTarget, (MMIMAGEHEADER*)&mmImgHdr,
    526                                          (LONG)sizeof( MMIMAGEHEADER ), (PLONG)&ulBytesRead,
    527                                          0L, 0L ) ) != MMIO_SUCCESS )
    528         {
    529             // Header unavailable.
    530             mmioClose( hmmioTarget, 0L );
    531             DisplayError ("mmioSetHeader()-Error",
    532                           "mmioSetHeader()-Error %ld", rc );
    533             return;
    534         }
    535 #ifdef _DOLOGDEBUG_
    536         LogDebug( "SaveBitmapToFile(): xmmioSetHeader ok." );
    537 #endif
    538 
    539         // write the actual bitmap data bits
    540         if( ( rc = mmioWrite( hmmioTarget, (CHAR *) pb, cbBits ) ) == MMIO_ERROR )
    541             DisplayError ("mmioWrite()-Error",
    542                           "mmioWrite()-Error %ld", rc );
    543 #ifdef _DOLOGDEBUG_
    544         LogDebug( "SaveBitmapToFile(): xmmioWrite ok." );
    545 #endif
    546 
    547         if( ( rc = mmioClose( hmmioTarget, 0 ) ) != MMIO_SUCCESS )
    548             DisplayError ("mmioClose()-Error",
    549                           "mmioClose()-Error %ld", rc );
    550 #ifdef _DOLOGDEBUG_
    551         LogDebug( "SaveBitmapToFile(): xmmioClose ok." );
    552 #endif
    553     } */
    554 
    555418#ifdef _DOLOGDEBUG_
    556419    LogDebug( "SaveBitmapToFile(): Everything done, closed file" );
     
    569432#endif
    570433// ** SetEAs ************************************************************** /*FOLD00*/
    571 
     434#if 0
    572435BOOL SetEAs (PSZ psz)
    573436{
     
    621484    return TRUE;
    622485}
    623 
     486#endif
    624487// ** SelectSaveFile ****************************************************** /*FOLD00*/
    625488
    626 BOOL SelectSaveFile (VOID)
     489BOOL SelectSaveFile (char *title)
    627490{
    628491#ifdef _DOLOGMEM_
     
    632495    if (pset->QueryFileSaveStyle () == FSS_NUMFILES)
    633496    {
     497        PmpfF(( " title %s", title));
    634498        CHAR   ach[_MAX_PATH];
    635         for (USHORT i = 0; i < 10000; i++)
     499        for (USHORT i = 0; i < 100; i++)
    636500        {
    637             sprintf( ach, "%s\\got%05d.%s", pset->QueryNumSaveDir(), i,
    638                     pset->GetFileExtension() );
     501            sprintf( ach, "%s\\%s%02d.%s", pset->QueryNumSaveDir(),
     502                    title, i, pset->GetFileExtension() );
    639503            if (access (ach, 0) != 0)
    640504            {
  • trunk/setgot.cmd

    r15 r27  
    11
    2 SET GOTMAJOR=1
    3 SET GOTMINOR=80
     2SET GOTMAJOR=2
     3SET GOTMINOR=0
    44SET GOTREVISION=0
    5 SET GOTFIXLEVEL=0
     5SET GOTFIXLEVEL=beta2
    66time > CLIP: < timetemp
    77input %%GOTBUILDDATE < CLIP:
  • trunk/settings.cpp

    r11 r27  
    2727    // FIXME nls*/
    2828
     29bool saveum = FALSE;
    2930SWP swpDef = { 0,0,0, 98,66, 0,0,0,0 };
    3031SWP swpDefSSW = { 0,0,0, 10,10, 0,0,0,0 };
     
    3233USHORT ausDefSSW[7] = { 0 };
    3334
    34 #if 0
    3535ImageFormatInfo Settings::ifi[BMF_INVALID] =
    3636{
    37     { TRUE,  BMF_12,   0L, "Bitmap 1.2 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" },
    38     { TRUE,  BMF_16,   0L, "Bitmap 1.6 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" },
    39     { TRUE,  BMF_20,   0L, "Bitmap 2.0 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" },
    40     { FALSE, BMF_OS13, mmioFOURCC( 'O','S','1','3' ), "Bitmap 1.3 (Saved using OS/2 Multimedia)", "bmp", "Bitmap" },
    41     { FALSE, BMF_OS20, mmioFOURCC( 'O','S','2','0' ), "Bitmap 2.0 (Saved using OS/2 Multimedia)", "bmp", "Bitmap" },
    42     { FALSE, BMF_TIF,  mmioFOURCC( 'T','F','M','C' ), "TIFF compressed", "tif", "TIFF" },
    43     { FALSE, BMF_TIFU, mmioFOURCC( 'T','F','M','U' ), "TIFF uncompressed", "tif", "TIFF" },
    44     { FALSE, BMF_TGA,  mmioFOURCC( 'T','G','A','C' ), "TGA", "tga", "Targa" },
    45     { FALSE, BMF_PCX,  mmioFOURCC( 'P','C','X','C' ), "PCX", "pcx", "PCX" },
    46     { FALSE, BMF_GIF,  mmioFOURCC( 'G','I','F','C' ), "GIF", "gif", "GIF" },
    47     { FALSE, BMF_JPG,  mmioFOURCC( 'J','P','E','G' ), "Jpeg (Probably won't work, reason unknown)", "jpg", "JPG" },
    48     { FALSE, BMF_DIB,  mmioFOURCC( 'R','D','I','B' ), "DIB (Device Independent Bitmap)", "dib", "DIB" }
     37    { TRUE, BMF_JPG,   "JPEG Interchange File Format (jpg)", "jpg", "JPG" },
     38    { TRUE, BMF_PNG,   "Portable Network Graphics (png)", "png", "PNG" },
     39    { TRUE, BMF_OS20,  "OS/2 Bitmap 2.0 (bmp)", "bmp", "Bitmap" },
     40    { TRUE, BMF_TIF,   "Microsoft/Aldus Tagged Image File Format (tif)", "tif", "TIFF" },
     41    { TRUE, BMF_TGA,   "Truevision Targa/Vista (tga)", "tga", "Targa" },
     42    { TRUE, BMF_PCX,   "ZSoft PC Paintbrush Image Format (pcx)", "pcx", "PCX" },
     43    { TRUE, BMF_GIF,   "Portable Anymap (pnm)", "pnm", "PNM" },
     44    { TRUE, BMF_PBM,   "Portable Pixel-map (ppm)", "ppm", "PPM" },
     45    { TRUE, BMF_JP2,   "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)", "jp2", "JP2" },
     46    { TRUE, BMF_DIB,   "Device Independent Bitmap (dib)", "dib", "DIB" }
    4947};
    5048
    51 #else
    52 // pbm and gif don't save anything
    53 ImageFormatInfo Settings::ifi[BMF_INVALID] =
    54 {
    55     { TRUE, BMF_JPG,  0L, "JPEG Interchange File Format (jpg)", "jpg", "JPG" },
    56     { TRUE, BMF_PNG,  0L, "Portable Network Graphics (png)", "png", "PNG" },
    57     { TRUE, BMF_OS20, 0L, "OS/2 Bitmap 2.0 (bmp)", "bmp", "Bitmap" },
    58     { TRUE, BMF_TIF,  0L, "Microsoft/Aldus Tagged Image File Format (tif)", "tif", "TIFF" },
    59     { TRUE, BMF_TGA,  0L, "Truevision Targa/Vista (tga)", "tga", "Targa" },
    60     { TRUE, BMF_PCX,  0L, "ZSoft PC Paintbrush Image Format (pcx)", "pcx", "PCX" },
    61     { TRUE, BMF_GIF,  0L, "Portable Anymap (pnm)", "pnm", "PNM" },
    62     { TRUE, BMF_PBM,  0L, "Portable Pixel-map (ppm)", "ppm", "PPM" },
    63     { TRUE, BMF_JP2,  0L, "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)", "jp2", "JP2" },
    64     { TRUE, BMF_JBG,  0L, "JBIG Joint Bi-level Image experts Group (jbg)", "jbg", "JBG" },
    65     { TRUE, BMF_RAW,  0L, "Camera RAW Image Format (raw)", "raw", "RAW" },
    66     { TRUE, BMF_DIB,  0L, "Device Independent Bitmap (dib)", "dib", "DIB" }
    67 };
    68 #endif
    6949
    7050PTHTH_SE apse[] =
     
    10181    new THTH_SEB (SEI_USSSW, "Snapshot", "US", &ausDefSSW, sizeof (ausDefSSW)),
    10282
    103     new THTH_SES (SEI_LANGUAGE,     "Language", "Program", PSZ_DEFAULTLANGUAGE),
     83    new THTH_SES (SEI_LANGUAGE,     "Language", "Program", PSZ_DEFAULTLANGUAGEMOD),
    10484    new THTH_SES (SEI_LANGUAGEHELP, "Language", "Help", PSZ_DEFAULTLANGUAGEHELP),
    10585
     
    135115        ReloadResources (QueryString(SEI_LANGUAGE));
    136116    }
    137 
    138     // See if we can use OS/2 Multimedia:
    139     mmio = new thth_MMIO();
    140     if( ! mmio->IsValid() ) {
    141         delete mmio;
    142         mmio = NULL;
    143         if( mmio->step > 0 )
    144             DisplayError( "MMIO-Error",
    145                           "Could not load Multimedia IO extension. (rc=%d, step=%d)", mmio->rc, mmio->step );
    146     } else {
    147         MMFORMATINFO  mmfi;
    148         ULONG lNumFormats = 30;
    149         LONG lReturned;
    150         PMMFORMATINFO pv = PMMFORMATINFO( malloc( sizeof( MMFORMATINFO ) * lNumFormats ) );
    151         memset( &mmfi, 0, sizeof( MMFORMATINFO ) );
    152         mmfi.ulMediaType = MMIO_MEDIATYPE_IMAGE;
    153 
    154         if( pv ) {
    155             if( mmioGetFormats( &mmfi, lNumFormats, pv, &lReturned, 0, 0 )
    156                 != MMIO_SUCCESS ) {
    157                 DisplayError( "MMIO-Error",
    158                               "Could not get Multimedia-IO-Format information." );
    159             } else {
    160                 /*            DisplayError( "MMIO-Error",
    161                  "'%d' formats returned", lReturned ); */
    162                 for( int i = 0; i < lReturned; i++ ) {
    163                     for( int j = 0; j < BMF_INVALID; j++ ) {
    164                         if( ifi[j].fourcc == pv[i].fccIOProc )
    165                         {
    166                             ifi[j].available = TRUE;
    167                             break;
    168                         }
    169                     }
    170                 }
    171             }
    172         } else {
    173             DisplayError( "MMIO-Error",
    174                           "Could not get Multimedia-IO-Format information (no memory)." );
    175         }
    176     }
    177117}
    178118
     
    201141// FIXME YUKKI! YUKKI!! YUKKI!!! But I'm too lazy to do it better now :-)
    202142HWND g_hwndSettingsDialog = NULL;
     143HWND g_hwndPage0 = NULL;
    203144
    204145BOOL SETTINGS :: Dialog (BOOL fOnlyLanguage)
     
    272213                        MPFROMLONG (idPage[i]), MPFROMP (pszPageTab[i]));
    273214        }
    274 
     215//#ifndef _QUIET_
     216#if 0
    275217        // open and assign dialogs to pages
    276218        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
    277219                                  GETMODULE, ID_DLG_SETTINGSPAGE1, this);
    278         hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure,
     220        hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure, //Page2Procedure,
    279221                                  GETMODULE, ID_DLG_SETTINGSPAGE2, this);
    280222        hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page3Procedure,
     
    282224        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
    283225                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     226#else
     227        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure,
     228                                  GETMODULE, ID_DLG_SETTINGSPAGE0, this);
     229        hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
     230                                  GETMODULE, ID_DLG_SETTINGSPAGE1, this);
     231        hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure,
     232                                  GETMODULE, ID_DLG_SETTINGSPAGE2, this);
     233        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
     234                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     235        _PmpfF(( "hwndpage 0 %i FID_CLIENT %i", hwndPage[0],
     236               WinWindowFromID( hwndPage[0], WID_RB_CLIPBOARD)));
     237        g_hwndPage0 = hwndPage[0];
     238       
     239#endif
    284240    }
    285241#ifdef _DOLOGDEBUG_
     
    302258    LogDebug( "Dialog: checkpoint 6" );
    303259#endif
    304 
     260    WinSendDlgItemMsg (g_hwndPage0, WID_RB_FILE, BM_CLICK,
     261                       MPFROMSHORT (TRUE), 0);
     262    WinSendDlgItemMsg (g_hwndPage0, WID_CB_HIDEWINDOW, BM_SETCHECK,
     263                       MPFROMLONG (TRUE), MPFROMLONG (0));
    305264    //WinSetFocus (WinWindowFromID (hwndDlg, WID_PB_OK), TRUE);
    306265    //WinSetFocus( hwndPage[0], TRUE );
     
    362321            LogDebug( "DialogProcedure: start WID_PB_OK" );
    363322#endif
     323            saveum = TRUE;
    364324            WinSendMsg (hwnd, WM_CLOSE, 0,0);
    365325#ifdef _DOLOGDEBUG_
     
    380340                                           BKM_QUERYPAGEWINDOWHWND,
    381341                                           MPFROMLONG (id), 0);
     342                // Make mp1 1 for default use it to select setting on pages
    382343                    WinSendMsg (hwndPage, UM_SETTINGS2DIALOG, 0,0);
    383344                }
     
    533494            WinSendDlgItemMsg( hwnd, WID_LB_FILEFORMAT, LM_SELECTITEM,
    534495                               MPFROMSHORT(0), MPFROMSHORT(TRUE) );
    535 
     496//#ifdef _QUIET_
     497#if 1
     498        // set play sound button
     499        pset->AdjustButton (hwnd, WID_CB_DOSOUND,
     500                            pset->DoSound ());
     501#endif
    536502        // Select appropriate radiobutton for save style.
    537503        switch (pset->QueryFileSaveStyle ())
     
    575541            else
    576542                pset->SetFileSaveStyle (FSS_PROMPT);
     543//#ifdef _QUIET_
     544#if 1
     545            pset->DoSound(WinQueryButtonCheckstate
     546                          (hwnd, WID_CB_DOSOUND));
     547#endif
    577548#ifdef _DOLOGDEBUG_
    578549            LogDebug( "Page1Procedure: checkpoint 1" );
     
    606577            AdjustSaveTypeButtons
    607578                (BOOL (pset->QueryFileSaveStyle () == FSS_FORCEFILE));
     579            pset->saveStyle = pset->QuerySaveStyle ();
     580            pset->pNumSaveDir = pset->QueryNumSaveDir ();
     581            pset->pForceSaveFile = pset->QueryForceSaveFile();
     582
     583            if (saveum)
     584                pset->Save ();
    608585#ifdef _DOLOGDEBUG_
    609586            LogDebug( "Page1Procedure: end UM_ADJUST" );
     
    630607}
    631608
    632 // ** Page2Procedure ****************************************************** /*fold00*/
     609// ** Page2Procedure ****************************************************** /*FOLD00*/
    633610
    634611MRESULT EXPENTRY
     
    665642        pset->AdjustButton (hwnd, WID_CB_SSWALWAYSONTOP,
    666643                            pset->SSWAlwaysOnTop ());
    667 
     644//#ifdef _QUIET_
     645#if 1
     646        pset->AdjustButton (hwnd, WID_CB_SERIALCAPTURE,
     647                            pset->SerialCapture ());
     648        pset->AdjustButton (hwnd, WID_CB_DELAYCOUNTDOWN,
     649                            pset->DelayCountdown ());
     650
     651        // init delay time sb
     652        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETLIMITS,
     653                           MPFROMLONG (65536), MPFROMLONG (1));
     654        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETCURRENTVALUE,
     655                           MPFROMLONG (pset->QueryDelayTime ()), 0);
     656
     657        // init serial time sb
     658        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETLIMITS,
     659                           MPFROMLONG (65536), MPFROMLONG (1));
     660        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETCURRENTVALUE,
     661                           MPFROMLONG (pset->QuerySerialTime ()), 0);
     662#endif
    668663        switch (pset->QuerySSWCaptureType ())
    669664        {
     
    702697            LogDebug( "Page2Procedure: start UM_ADJUST" );
    703698#endif
     699//#ifndef _QUIET_
     700#if 0
    704701        // query state of checkbuttons and set flags
    705702        pset->SSWHide(WinQueryButtonCheckstate(hwnd, WID_CB_SSWHIDE));
     
    713710            LogDebug( "Page2Procedure: checkpoint 2" );
    714711#endif
    715 
     712#else
     713            // query state of checkbuttons and set flags
     714            pset->SerialCapture(WinQueryButtonCheckstate
     715                                (hwnd, WID_CB_SERIALCAPTURE));
     716#ifdef _DOLOGDEBUG_
     717            LogDebug( "Page3Procedure: checkpoint 1" );
     718#endif
     719            pset->DelayCountdown(WinQueryButtonCheckstate
     720                                 (hwnd, WID_CB_DELAYCOUNTDOWN));
     721#endif
    716722        // get ssw capture type
    717723        if (WinSendMsg (WinWindowFromID (hwnd, WID_SSWSCREENREGION),
     
    726732        else
    727733            pset->SetSSWCaptureType (CAP_SCREEN);
     734//#ifdef _QUITE_
     735#if 1
     736        // delay time
     737        ULONG   ul;
     738        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME,
     739                                       SPBM_QUERYVALUE,
     740                                       MPFROMP (&ul),
     741                                       MPFROM2SHORT (0, 0))))
     742            ul = 5L;
     743        pset->SetDelayTime (ul);
     744#ifdef _DOLOGDEBUG_
     745        LogDebug( "Page3Procedure: checkpoint 3" );
     746#endif
     747
     748        // serial time
     749        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME,
     750                                       SPBM_QUERYVALUE,
     751                                       MPFROMP (&ul),
     752                                       MPFROM2SHORT (0, 0))))
     753            ul = 10L;
     754        pset->SetSerialTime (ul);
     755        pset->bSerialCapture = pset->SerialCapture ();
     756#endif
     757        if (saveum)
     758            pset->Save ();
    728759#ifdef _DOLOGDEBUG_
    729760        LogDebug( "Page2Procedure: end UM_ADJUST" );
     
    842873                ul = 10L;
    843874            pset->SetSerialTime (ul);
     875            pset->bSerialCapture = pset->SerialCapture ();
     876            pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY);
     877
     878            if (saveum)
     879                pset->Save ();
    844880#ifdef _DOLOGDEBUG_
    845881            LogDebug( "Page3Procedure: end UM_ADJUST" );
     
    10191055                               MPFROM2SHORT (ul, sizeof (ach)), MPFROMP (ach));
    10201056            pset->SetString (SEI_LANGUAGEHELP, ach);
     1057
     1058            if (saveum)
     1059                pset->Save ();
    10211060        }
    10221061        return MRESULT (FALSE);
     
    10261065}
    10271066
    1028 // ** AdjustSaveTypeButtons *********************************************** /*fold00*/
     1067// ** AdjustSaveTypeButtons *********************************************** /*FOLD00*/
    10291068
    10301069VOID AdjustSaveTypeButtons (BOOL f)
     
    10791118    APIRET  rc;
    10801119
    1081     if ((rc = DosLoadModule(PSZ(NULL), 0, "gotresen.dll", &g_hmod)))
     1120    if ((rc = DosLoadModule(PSZ(NULL), 0, psz, &g_hmod)))
    10821121    {
    10831122        DisplayError("ERROR", "Could not (re)load Gotcha! resource module "
     
    10891128
    10901129    ResourceString::Module(g_hmod);
    1091 
     1130//#ifdef _QUIET_
     1131#if 1
     1132    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1133    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1134    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1135    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1136#else
    10921137    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    10931138    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    10941139    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    10951140    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1096 
     1141#endif
    10971142    for( int i = 0; i < BMF_INVALID; i++ ) {
    10981143        ifi[ i ].label = RSTR ( IDS_BMF_JPG+i ); }
     
    11011146}
    11021147
    1103 // ** SelectLanguage ****************************************************** /*fold00*/
     1148// ** SelectLanguage ****************************************************** /*FOLD00*/
    11041149
    11051150VOID Settings :: SelectLanguage (VOID)
     
    11071152    // set this to some default, as we must open the settings dialog for
    11081153    // selecting a language
     1154//#ifdef _QUIET_
     1155#if 1
     1156    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1157    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1158    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1159    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1160#else
    11091161    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    11101162    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    11111163    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    11121164    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1113 
     1165#endif
    11141166    // bring up the "select language" settings page
    11151167    Dialog (TRUE);
     
    11711223}
    11721224
     1225#if 0
    11731226// ** GetFOURCC *********************************************************** /*FOLD00*/
    11741227
     
    11811234    return 0L;
    11821235}
    1183 
     1236#endif
    11841237// ** GetFileEAType ******************************************************* /*FOLD00*/
    11851238
  • trunk/settings.h

    r11 r27  
    2424
    2525#include "gotcha.h"
    26 #include "mmio.h"
    2726#include "./settings/thth_settings.h"
    2827
     
    3534
    3635enum { SAVESTYLE_CLIPBOARD, SAVESTYLE_FILE, };
    37 #if 0
     36
    3837enum {
    39     BMF_12, BMF_16, BMF_20, BMF_OS13, BMF_OS20, BMF_TIF, BMF_TIFU,
    40     BMF_TGA, BMF_PCX, BMF_GIF, BMF_JPG, BMF_DIB,
     38    BMF_JPG, BMF_PNG, BMF_OS20, BMF_TIF, BMF_TGA, BMF_PCX, BMF_GIF,
     39    BMF_PBM, BMF_JP2, BMF_DIB,
    4140    BMF_INVALID
    4241};
    43 #else
    44 enum {
    45     BMF_JPG, BMF_PNG, BMF_OS20, BMF_TIF, BMF_TGA, BMF_PCX, BMF_GIF,
    46     BMF_PBM, BMF_JP2, BMF_JBG, BMF_RAW, BMF_DIB,
    47     BMF_INVALID
    48 };
    49 #endif
     42
    5043enum { FSS_PROMPT, FSS_NUMFILES, FSS_FORCEFILE, };
    5144
     
    5548    BOOL     available;
    5649    USHORT   type;
    57     FOURCC   fourcc;
     50//    FOURCC   fourcc;
    5851    PSZ      label;
    5952    PSZ      extension;
     
    138131
    139132    PSZ    GetFileExtension( SHORT type = BMF_INVALID );
    140     FOURCC GetFOURCC( SHORT type = BMF_INVALID );
     133//    FOURCC GetFOURCC( SHORT type = BMF_INVALID );
    141134    PSZ    GetFileEAType( SHORT type = BMF_INVALID );
    142135
    143     BOOL           IsMMIOAvailable( VOID );
    144     class thth_MMIO      *GetMMIO( VOID );
     136    bool idleSetInIni;
     137    int saveStyle;
     138    PSZ pNumSaveDir;
     139    PSZ pForceSaveFile;
     140    bool bSerialCapture;
     141//    BOOL           IsMMIOAvailable( VOID );
     142//    class thth_MMIO      *GetMMIO( VOID );
    145143
    146144protected:
     
    178176    static PSZ   pszPageTab[COUNT_PAGES];
    179177    BOOL   fAutoLanguage;
    180 
    181     thth_MMIO    *mmio;
    182 
    183178    HWND   hwndDlg;
    184179
     
    198193}
    199194
    200 inline BOOL Settings :: IsMMIOAvailable( VOID )
    201 {
    202     if( mmio ) return TRUE;
    203     return FALSE;
    204 }
    205 
    206 thth_MMIO *Settings :: GetMMIO( VOID ) { return mmio; }
    207 
    208195// ************************************************************************
    209196#endif
Note: See TracChangeset for help on using the changeset viewer.