Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/settings.cpp

    r11 r30  
    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
     
    11292
    11393Settings :: Settings (VOID) :
    114 ththSettings(apse, "gotcha.ini", L_PROFILEVERSION)
     94#ifdef _QUIET_
     95//#if 1
     96    ththSettings(apse, "gotchaq.ini", L_PROFILEVERSION)
     97#else
     98    ththSettings(apse, "gotcha.ini", L_PROFILEVERSION)
     99#endif
    115100{
    116101    if( ! QueryFlag( SEI_UPDATE178DONE ) ) {
     
    135120        ReloadResources (QueryString(SEI_LANGUAGE));
    136121    }
    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     }
    177122}
    178123
     
    201146// FIXME YUKKI! YUKKI!! YUKKI!!! But I'm too lazy to do it better now :-)
    202147HWND g_hwndSettingsDialog = NULL;
     148HWND g_hwndPage0 = NULL;
    203149
    204150BOOL SETTINGS :: Dialog (BOOL fOnlyLanguage)
     
    272218                        MPFROMLONG (idPage[i]), MPFROMP (pszPageTab[i]));
    273219        }
    274 
     220#ifndef _QUIET_
     221//#if 0
    275222        // open and assign dialogs to pages
    276223        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
     
    282229        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
    283230                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     231#else
     232        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure,
     233                                  GETMODULE, ID_DLG_SETTINGSPAGE0, this);
     234        hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
     235                                  GETMODULE, ID_DLG_SETTINGSPAGE1, this);
     236        hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure,
     237                                  GETMODULE, ID_DLG_SETTINGSPAGE2, this);
     238        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
     239                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     240        g_hwndPage0 = hwndPage[0];
     241       
     242#endif
    284243    }
    285244#ifdef _DOLOGDEBUG_
     
    302261    LogDebug( "Dialog: checkpoint 6" );
    303262#endif
    304 
     263    WinSendDlgItemMsg (g_hwndPage0, WID_RB_FILE, BM_CLICK,
     264                       MPFROMSHORT (TRUE), 0);
     265    WinSendDlgItemMsg (g_hwndPage0, WID_CB_HIDEWINDOW, BM_SETCHECK,
     266                       MPFROMLONG (TRUE), MPFROMLONG (0));
    305267    //WinSetFocus (WinWindowFromID (hwndDlg, WID_PB_OK), TRUE);
    306268    //WinSetFocus( hwndPage[0], TRUE );
     
    362324            LogDebug( "DialogProcedure: start WID_PB_OK" );
    363325#endif
     326            saveum = TRUE;
    364327            WinSendMsg (hwnd, WM_CLOSE, 0,0);
    365328#ifdef _DOLOGDEBUG_
     
    380343                                           BKM_QUERYPAGEWINDOWHWND,
    381344                                           MPFROMLONG (id), 0);
     345                // Make mp1 1 for default use it to select setting on pages
    382346                    WinSendMsg (hwndPage, UM_SETTINGS2DIALOG, 0,0);
    383347                }
     
    533497            WinSendDlgItemMsg( hwnd, WID_LB_FILEFORMAT, LM_SELECTITEM,
    534498                               MPFROMSHORT(0), MPFROMSHORT(TRUE) );
    535 
     499#ifdef _QUIET_
     500//#if 1
     501        // set play sound button
     502        pset->AdjustButton (hwnd, WID_CB_DOSOUND,
     503                            pset->DoSound ());
     504#endif
    536505        // Select appropriate radiobutton for save style.
    537506        switch (pset->QueryFileSaveStyle ())
     
    575544            else
    576545                pset->SetFileSaveStyle (FSS_PROMPT);
     546#ifdef _QUIET_
     547//#if 1
     548            pset->DoSound(WinQueryButtonCheckstate
     549                          (hwnd, WID_CB_DOSOUND));
     550#endif
    577551#ifdef _DOLOGDEBUG_
    578552            LogDebug( "Page1Procedure: checkpoint 1" );
     
    606580            AdjustSaveTypeButtons
    607581                (BOOL (pset->QueryFileSaveStyle () == FSS_FORCEFILE));
     582            pset->saveStyle = pset->QuerySaveStyle ();
     583            pset->pNumSaveDir = pset->QueryNumSaveDir ();
     584            pset->pForceSaveFile = pset->QueryForceSaveFile();
     585
     586            if (saveum)
     587                pset->Save ();
    608588#ifdef _DOLOGDEBUG_
    609589            LogDebug( "Page1Procedure: end UM_ADJUST" );
     
    630610}
    631611
    632 // ** Page2Procedure ****************************************************** /*fold00*/
     612// ** Page2Procedure ****************************************************** /*FOLD00*/
    633613
    634614MRESULT EXPENTRY
     
    665645        pset->AdjustButton (hwnd, WID_CB_SSWALWAYSONTOP,
    666646                            pset->SSWAlwaysOnTop ());
    667 
     647#ifdef _QUIET_
     648//#if 1
     649        pset->AdjustButton (hwnd, WID_CB_SERIALCAPTURE,
     650                            pset->SerialCapture ());
     651        pset->AdjustButton (hwnd, WID_CB_DELAYCOUNTDOWN,
     652                            pset->DelayCountdown ());
     653
     654        // init delay time sb
     655        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETLIMITS,
     656                           MPFROMLONG (65536), MPFROMLONG (1));
     657        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETCURRENTVALUE,
     658                           MPFROMLONG (pset->QueryDelayTime ()), 0);
     659
     660        // init serial time sb
     661        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETLIMITS,
     662                           MPFROMLONG (65536), MPFROMLONG (1));
     663        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETCURRENTVALUE,
     664                           MPFROMLONG (pset->QuerySerialTime ()), 0);
     665#endif
    668666        switch (pset->QuerySSWCaptureType ())
    669667        {
     
    702700            LogDebug( "Page2Procedure: start UM_ADJUST" );
    703701#endif
     702#ifndef _QUIET_
     703//#if 0
    704704        // query state of checkbuttons and set flags
    705705        pset->SSWHide(WinQueryButtonCheckstate(hwnd, WID_CB_SSWHIDE));
     
    713713            LogDebug( "Page2Procedure: checkpoint 2" );
    714714#endif
    715 
     715#else
     716            // query state of checkbuttons and set flags
     717            pset->SerialCapture(WinQueryButtonCheckstate
     718                                (hwnd, WID_CB_SERIALCAPTURE));
     719#ifdef _DOLOGDEBUG_
     720            LogDebug( "Page3Procedure: checkpoint 1" );
     721#endif
     722            pset->DelayCountdown(WinQueryButtonCheckstate
     723                                 (hwnd, WID_CB_DELAYCOUNTDOWN));
     724#endif
    716725        // get ssw capture type
    717726        if (WinSendMsg (WinWindowFromID (hwnd, WID_SSWSCREENREGION),
     
    726735        else
    727736            pset->SetSSWCaptureType (CAP_SCREEN);
     737#ifdef _QUIET_
     738//#if 1
     739        // delay time
     740        ULONG   ul;
     741        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME,
     742                                       SPBM_QUERYVALUE,
     743                                       MPFROMP (&ul),
     744                                       MPFROM2SHORT (0, 0))))
     745            ul = 5L;
     746        pset->SetDelayTime (ul);
     747#ifdef _DOLOGDEBUG_
     748        LogDebug( "Page3Procedure: checkpoint 3" );
     749#endif
     750
     751        // serial time
     752        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME,
     753                                       SPBM_QUERYVALUE,
     754                                       MPFROMP (&ul),
     755                                       MPFROM2SHORT (0, 0))))
     756            ul = 10L;
     757        pset->SetSerialTime (ul);
     758        pset->bSerialCapture = pset->SerialCapture ();
     759#endif
     760        if (saveum)
     761            pset->Save ();
    728762#ifdef _DOLOGDEBUG_
    729763        LogDebug( "Page2Procedure: end UM_ADJUST" );
     
    842876                ul = 10L;
    843877            pset->SetSerialTime (ul);
     878            pset->bSerialCapture = pset->SerialCapture ();
     879            pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY);
     880
     881            if (saveum)
     882                pset->Save ();
    844883#ifdef _DOLOGDEBUG_
    845884            LogDebug( "Page3Procedure: end UM_ADJUST" );
     
    10191058                               MPFROM2SHORT (ul, sizeof (ach)), MPFROMP (ach));
    10201059            pset->SetString (SEI_LANGUAGEHELP, ach);
     1060
     1061            if (saveum)
     1062                pset->Save ();
    10211063        }
    10221064        return MRESULT (FALSE);
     
    10261068}
    10271069
    1028 // ** AdjustSaveTypeButtons *********************************************** /*fold00*/
     1070// ** AdjustSaveTypeButtons *********************************************** /*FOLD00*/
    10291071
    10301072VOID AdjustSaveTypeButtons (BOOL f)
     
    10791121    APIRET  rc;
    10801122
    1081     if ((rc = DosLoadModule(PSZ(NULL), 0, "gotresen.dll", &g_hmod)))
     1123    if ((rc = DosLoadModule(PSZ(NULL), 0, psz, &g_hmod)))
    10821124    {
    10831125        DisplayError("ERROR", "Could not (re)load Gotcha! resource module "
     
    10891131
    10901132    ResourceString::Module(g_hmod);
    1091 
     1133#ifdef _QUIET_
     1134//#if 1
     1135    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1136    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1137    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1138    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1139#else
    10921140    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    10931141    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    10941142    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    10951143    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1096 
     1144#endif
    10971145    for( int i = 0; i < BMF_INVALID; i++ ) {
    10981146        ifi[ i ].label = RSTR ( IDS_BMF_JPG+i ); }
     
    11011149}
    11021150
    1103 // ** SelectLanguage ****************************************************** /*fold00*/
     1151// ** SelectLanguage ****************************************************** /*FOLD00*/
    11041152
    11051153VOID Settings :: SelectLanguage (VOID)
     
    11071155    // set this to some default, as we must open the settings dialog for
    11081156    // selecting a language
     1157#ifdef _QUIET_
     1158//#if 1
     1159    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1160    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1161    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1162    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1163#else
    11091164    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    11101165    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    11111166    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    11121167    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1113 
     1168#endif
    11141169    // bring up the "select language" settings page
    11151170    Dialog (TRUE);
     
    11311186    hdir = HDIR_CREATE;
    11321187    c    = 1;
    1133     rc   = DosFindFirst ("*.dll", &hdir, fl, &findbuf,
     1188#ifdef _QUIET_
     1189    rc   = DosFindFirst ("goqre*.dll", &hdir, fl, &findbuf,
    11341190                         sizeof (findbuf), &c, FIL_STANDARD);
     1191#else
     1192    rc   = DosFindFirst ("gotre*.dll", &hdir, fl, &findbuf,
     1193                         sizeof (findbuf), &c, FIL_STANDARD);
     1194#endif
    11351195    while (!rc)
    11361196    {
     
    11711231}
    11721232
     1233#if 0
    11731234// ** GetFOURCC *********************************************************** /*FOLD00*/
    11741235
     
    11811242    return 0L;
    11821243}
    1183 
     1244#endif
    11841245// ** GetFileEAType ******************************************************* /*FOLD00*/
    11851246
Note: See TracChangeset for help on using the changeset viewer.