Changeset 36 for trunk/dll/mainwnd.c


Ignore:
Timestamp:
Oct 17, 2002, 3:53:23 AM (23 years ago)
Author:
root
Message:

Handle large partitions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/mainwnd.c

    r33 r36  
    1010
    1111  Revisions     11 Jun 02 SHL - Drop obsolete xor code
     12                16 Oct 02 SHL - Handle large partitions
    1213
    1314***********************************************************************/
     
    5758
    5859
    59 MRESULT EXPENTRY MainObjectWndProc (HWND hwnd,ULONG msg,MPARAM mp1,
    60                                                                                                                                                 MPARAM mp2) {
     60MRESULT EXPENTRY MainObjectWndProc (HWND hwnd,ULONG msg,MPARAM mp1, MPARAM mp2) {
    6161
    6262        switch(msg) {
     
    9696
    9797          FSALLOCATE fsa;
    98           CHAR        s[90],tpm[38],*kfree;
    99           ULONG       freebytes,percentfree;
     98          CHAR        s[90],szQty[38],*pszUM;
     99          ULONG       ulPctFree;
     100          float       fltFreeQty;
    100101
    101102          if(!DosQueryFSInfo((d - 'A') + 1,
     
    103104                             &fsa,
    104105                             sizeof(FSALLOCATE))) {
    105             freebytes = fsa.cUnitAvail *
    106                          (fsa.cSectorUnit * fsa.cbSector);
    107             if(freebytes >= (1024 * 1024)) {
    108               freebytes /= (1024 * 1024);
    109               kfree = "mb";
     106            fltFreeQty = (float)fsa.cUnitAvail *
     107                           (fsa.cSectorUnit * fsa.cbSector);
     108            if(fltFreeQty >= (1024 * 1024)) {
     109              fltFreeQty /= (1024 * 1024);
     110              pszUM = "mb";
    110111            }
    111             else if(freebytes >= 1024) {
    112               freebytes /= 1024;
    113               kfree = "kb";
     112            else if(fltFreeQty >= 1024) {
     113              fltFreeQty /= 1024;
     114              pszUM = "kb";
    114115            }
    115116            else
    116               kfree = "b";
    117             percentfree = (fsa.cUnit && fsa.cUnitAvail) ?
    118                            (fsa.cUnitAvail * 100) / fsa.cUnit :
    119                            0;
    120             commafmt(tpm,
    121                      sizeof(tpm),
    122                      freebytes);
     117              pszUM = "b";
     118            ulPctFree = (fsa.cUnit && fsa.cUnitAvail) ?
     119                          (fsa.cUnitAvail * 100) / fsa.cUnit : 0;
     120            commafmt(szQty,
     121                     sizeof(szQty),
     122                     (ULONG)fltFreeQty);
    123123            sprintf(s,
    124124                    "%s%s (%lu%%) free",
    125                     tpm,
    126                     kfree,
    127                     percentfree);
     125                    szQty,
     126                    pszUM,
     127                    ulPctFree);
    128128          }
    129129          if((!hwndBubble ||
     
    210210VOID MakeMainObjWin (VOID *args) {
    211211
    212         HAB                             hab2;
    213         HMQ                             hmq2;
     212        HAB                             hab2;
     213        HMQ                             hmq2;
    214214        QMSG                            qmsg2;
    215215
     
    289289HWND TopWindowName (HWND hwndParent,HWND exclude,CHAR *ret) {
    290290
    291         HENUM           henum;
    292         HWND                    hwndC = (HWND)0,hwndDir,hwndClient;
     291        HENUM           henum;
     292        HWND            hwndC = (HWND)0,hwndDir,hwndClient;
    293293        USHORT          id;
    294294        PCNRITEM        pci = NULL;
     
    378378HWND FindDirCnrByName (CHAR *directory,BOOL restore) {
    379379
    380         HENUM                   henum;
    381         HWND                            hwndF = (HWND)0,hwndC,hwndDir;
    382         CHAR                            retstr[CCHMAXPATH];
     380        HENUM                   henum;
     381        HWND                    hwndF = (HWND)0,hwndC,hwndDir;
     382        CHAR                    retstr[CCHMAXPATH];
    383383
    384384        if(hwndMain) {
     
    456456VOID ResizeTools (HWND hwnd) {
    457457
    458         register ULONG butx = 18L;
    459         INT                                      attrib = SWP_MOVE | SWP_SIZE | SWP_SHOW | SWP_ZORDER | SWP_NOREDRAW,
    460                                                                  noattrib;
    461         register TOOL *tool,*starttool;
    462         SWP                                     *swp;
    463         register ULONG numtools,x;
     458        register ULONG  butx = 18L;
     459        INT             attrib = SWP_MOVE | SWP_SIZE | SWP_SHOW | SWP_ZORDER | SWP_NOREDRAW,
     460                        noattrib;
     461        register TOOL   *tool,*starttool;
     462        SWP             *swp;
     463        register ULONG  numtools,x;
    464464
    465465        if(!fToolbar)
     
    565565MRESULT EXPENTRY DropDownListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    566566
    567         PFNWP                           oldproc = (PFNWP)INSTDATA(hwnd);
    568         static HWND     hwndMenu = (HWND)0;
    569         USHORT                          id;
    570         static BOOL     emphasized = FALSE;
     567        PFNWP           oldproc = (PFNWP)INSTDATA(hwnd);
     568        static HWND     hwndMenu = (HWND)0;
     569        USHORT          id;
     570        static BOOL     emphasized = FALSE;
    571571
    572572        switch(msg) {
     
    815815        if(hwndBubble) {
    816816
    817                 HPS              hps;
    818                 POINTL   aptl[TXTBOX_COUNT],ptl,tptl;
    819                 LONG             lxScreen,sx,sy,extra = 0,lyScreen;
    820                 char            *p,*pp,*wp;
    821                 SWP              swp;
     817                HPS     hps;
     818                POINTL  aptl[TXTBOX_COUNT],ptl,tptl;
     819                LONG    lxScreen,sx,sy,extra = 0,lyScreen;
     820                char    *p,*pp,*wp;
     821                SWP     swp;
    822822
    823823                WinQueryWindowPos(hwnd,&swp);
     
    921921                case WM_PAINT:
    922922                        {
    923                                 HPS             hps;
    924                                 SWP             swp;
     923                                HPS     hps;
     924                                SWP     swp;
    925925                                POINTL  ptl,aptl[TXTBOX_COUNT];
    926                                 CHAR     *s,*p,*pp,*wp;
    927                                 ULONG   extra,tlen,y;
     926                                CHAR    *s,*p,*pp,*wp;
     927                                ULONG   extra,tlen,y;
    928928
    929929        hps = WinBeginPaint(hwnd,(HPS)0,NULL);
     
    11481148MRESULT EXPENTRY ChildButtonProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    11491149
    1150         USHORT                           id;
    1151         register TOOL *tool;
    1152         static HWND      hwndMenu = (HWND)0;
     1150        USHORT          id;
     1151        register TOOL   *tool;
     1152        static HWND     hwndMenu = (HWND)0;
    11531153
    11541154        switch(msg) {
     
    11881188                                        break;
    11891189
    1190                                 case IDM_HIDEANYTOOL:            /* hide any tool */
    1191                                 case IDM_HIDETOOL:                               /* hide tool */
     1190                                case IDM_HIDEANYTOOL:           /* hide any tool */
     1191                                case IDM_HIDETOOL:              /* hide tool */
    11921192                                        if(SHORT1FROMMP(mp1) == IDM_HIDETOOL)
    11931193                                                id = WinQueryWindowUShort(hwnd,QWS_ID);
     
    12061206                                        break;
    12071207
    1208                                 case IDM_SHOWTOOLS:     /* show all tools */
     1208                                case IDM_SHOWTOOLS:     /* show all tools */
    12091209                                        tool = toolhead;
    12101210                                        while(tool) {
     
    12151215                                        break;
    12161216
    1217                                 case IDM_DELETEANYTOOL:         /* delete any button */
    1218                                 case IDM_DELETETOOL:                    /* delete button */
     1217                                case IDM_DELETEANYTOOL:         /* delete any button */
     1218                                case IDM_DELETETOOL:            /* delete button */
    12191219                                        if(SHORT1FROMMP(mp1) == IDM_DELETETOOL)
    12201220                                                id = WinQueryWindowUShort(hwnd,QWS_ID);
     
    12281228                                        return 0;
    12291229
    1230                                 case IDM_EDITANYTOOL:    /* edit any button */
    1231                                 case IDM_EDITTOOL:                       /* edit button */
     1230                                case IDM_EDITANYTOOL:           /* edit any button */
     1231                                case IDM_EDITTOOL:              /* edit button */
    12321232                                        if(SHORT1FROMMP(mp1) == IDM_EDITTOOL)
    12331233                                                id = WinQueryWindowUShort(hwnd,QWS_ID);
     
    12491249                                        break;
    12501250
    1251                                 case IDM_ADDTOOL:                       /* add tool */
     1251                                case IDM_ADDTOOL:               /* add tool */
    12521252                                        id = (USHORT)WinDlgBox(HWND_DESKTOP,hwnd,AddToolProc,FM3ModHandle,
    12531253                                                                                                                                 ADDBTN_FRAME,MPVOID);
     
    13061306                case DM_DRAGOVER:
    13071307                        {
    1308                                 PDRAGINFO pDInfo;                                                                                        /* Pointer to DRAGINFO         */
    1309 
    1310                                 pDInfo = (PDRAGINFO)mp1;                                                                 /* Get DRAGINFO pointer        */
    1311                                 DrgAccessDraginfo(pDInfo);                                                       /* Access DRAGINFO                     */
     1308                                PDRAGINFO pDInfo;               /* Pointer to DRAGINFO */
     1309
     1310                                pDInfo = (PDRAGINFO)mp1;        /* Get DRAGINFO pointer */
     1311                                DrgAccessDraginfo(pDInfo);      /* Access DRAGINFO */
    13121312                                id = WinQueryWindowUShort(hwnd,QWS_ID);
    13131313                                tool = find_tool(id);
    13141314                                if(!tool) {
    13151315                                        DrgFreeDraginfo(pDInfo);
    1316                                         return(MRFROM2SHORT(DOR_NEVERDROP,0));           /* Drop not valid                              */
     1316                                        return(MRFROM2SHORT(DOR_NEVERDROP,0));           /* Drop not valid  */
    13171317                                }
    13181318                                if(!(tool->flags & T_DROPABLE)) {
    13191319                                        DrgFreeDraginfo(pDInfo);
    1320                                         return(MRFROM2SHORT(DOR_NEVERDROP,0));           /* Drop not valid                              */
     1320                                        return(MRFROM2SHORT(DOR_NEVERDROP,0));           /* Drop not valid  */
    13211321                                }
    13221322                                {
    1323                                         PDRAGITEM pDItem;                                                                                        /* Pointer to DRAGITEM         */
    1324 
    1325                                         pDItem = DrgQueryDragitemPtr(pDInfo,             /* Access DRAGITEM                     */
    1326                                                                                                                                                          0);                             /* Index to DRAGITEM           */
    1327                                         if(DrgVerifyRMF(pDItem,                                                                  /* Check valid rendering */
    1328                           DRM_OS2FILE,             /* mechanisms and data   */
    1329                                                                                                         NULL)) {                                                                 /* formats                                                     */
     1323                                        PDRAGITEM pDItem;                                /* Pointer to DRAGITEM */
     1324
     1325                                        pDItem = DrgQueryDragitemPtr(pDInfo,            /* Access DRAGITEM */
     1326                                                                     0);                /* Index to DRAGITEM */
     1327                                        if(DrgVerifyRMF(pDItem,                         /* Check valid rendering */
     1328                                                        DRM_OS2FILE,                    /* mechanisms and data   */
     1329                                                        NULL)) {                        /* formats */
    13301330                                                if(!(tool->flags & T_EMPHASIZED)) {
    13311331                                                        tool->flags |= T_EMPHASIZED;
     
    13331333                                                        DrgFreeDraginfo(pDInfo);
    13341334                                                }
    1335                                                 return(MRFROM2SHORT(DOR_DROP,                            /* Return okay to drop         */
    1336                                                                                                                                 DO_MOVE));                               /* Move operation valid        */
     1335                                                return(MRFROM2SHORT(DOR_DROP,           /* Return okay to drop  */
     1336                                                       DO_MOVE));                       /* Move operation valid */
    13371337                                        }
    13381338                                        DrgFreeDraginfo(pDInfo);
     
    14091409VOID BuildTools (HWND hwndT,BOOL resize) {
    14101410
    1411         register TOOL    *tool;
    1412   register ULONG    ctrlxpos = 18L;
    1413         CHAR                                                    s[33];
    1414         HENUM                                           henum;
    1415         HWND                                                    hwndTool;
     1411        register TOOL   *tool;
     1412        register ULONG  ctrlxpos = 18L;
     1413        CHAR            s[33];
     1414        HENUM           henum;
     1415        HWND            hwndTool;
    14161416
    14171417        henum = WinBeginEnumWindows(hwndT);
     
    14481448                        if(!hwndTool) {
    14491449
    1450                                 HBITMAP         hbm;
     1450                                HBITMAP hbm;
    14511451
    14521452                                hbm = LoadBitmapFromFileNum(tool->id);
     
    15611561MRESULT EXPENTRY CommandLineProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2) {
    15621562
    1563         PFNWP                   oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0);
    1564         static BOOL lbup = FALSE;
     1563        PFNWP           oldproc = (PFNWP)WinQueryWindowPtr(hwnd,0);
     1564        static BOOL     lbup = FALSE;
    15651565
    15661566        switch(msg) {
     
    16361636                        {
    16371637                                static char directory[CCHMAXPATH],cl[1000];
    1638         char      **list = NULL;
    1639                                 ULONG                   len;
    1640                                 HWND                            hwndCnr;
     1638                                char    **list = NULL;
     1639                                ULONG   len;
     1640                                HWND    hwndCnr;
    16411641
    16421642                                *directory = *cl = 0;
    1643         strcpy(cl,GetCmdSpec(FALSE));
     1643                                strcpy(cl,GetCmdSpec(FALSE));
    16441644                                strcat(cl," /C ");
    16451645                                len = strlen(cl);
     
    20382038                                CNRDRAGINFO cnd;
    20392039                                LISTINFO         *li;
    2040                                 ULONG                   action = UM_ACTION;
     2040                                ULONG           action = UM_ACTION;
    20412041
    20422042
Note: See TracChangeset for help on using the changeset viewer.