Changeset 27 for trunk/settings.cpp


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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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
Note: See TracChangeset for help on using the changeset viewer.