Changeset 551 for trunk/dll/shadow.c


Ignore:
Timestamp:
Feb 28, 2007, 2:33:51 AM (19 years ago)
Author:
Gregg Young
Message:

Indentation cleanup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/shadow.c

    r334 r551  
    3131#pragma alloc_text(SHADOW,CreateProgramObject,CreateDataObject,CreateFolderObject,CreateShadowObject)
    3232
    33 HOBJECT CreateProgramObject (CHAR *objtitle,CHAR *location,CHAR *path,
    34                              CHAR *cnr)
    35 {
    36   HOBJECT obj = (HOBJECT)0;
    37   CHAR    *s;
    38 
    39   if(!cnr)
     33HOBJECT CreateProgramObject(CHAR * objtitle, CHAR * location, CHAR * path,
     34                            CHAR * cnr)
     35{
     36  HOBJECT obj = (HOBJECT) 0;
     37  CHAR *s;
     38
     39  if (!cnr)
    4040    return obj;
    4141  obj = WinCreateObject(WPProgram,
    42                         objtitle,
    43                         "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
    44                          (location) ? location : cnr,
    45                          CO_FAILIFEXISTS);
    46   if(obj) {
    47     s = xmalloc(5192,pszSrcFile,__LINE__);
     42                        objtitle,
     43                        "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
     44                        (location) ? location : cnr, CO_FAILIFEXISTS);
     45  if (obj) {
     46    s = xmalloc(5192, pszSrcFile, __LINE__);
    4847    if (s) {
    4948      sprintf(s,
    50               "EXENAME=%s%s%s%s%s;PARAMETERS=%%*;OBJECTID=<FM2_%s>",
    51               (path) ? path : "",
    52               (path) ? "\\" : "",
    53               objtitle,
    54               (path) ? ";STARTUPDIR=" : "",
    55               (path) ? path : "",objtitle);
    56       WinSetObjectData(obj,
    57                        s);
     49              "EXENAME=%s%s%s%s%s;PARAMETERS=%%*;OBJECTID=<FM2_%s>",
     50              (path) ? path : "",
     51              (path) ? "\\" : "",
     52              objtitle,
     53              (path) ? ";STARTUPDIR=" : "", (path) ? path : "", objtitle);
     54      WinSetObjectData(obj, s);
    5855      free(s);
    5956    }
     
    6259}
    6360
    64 
    65 HOBJECT CreateDataObject (CHAR *objtitle,CHAR *location,CHAR *path,
    66                           CHAR *cnr) {
    67 
    68   HOBJECT obj = (HOBJECT)0;
    69   CHAR    s[1050],s2[1050],*p,
    70           *type[] = {"WPDataFile","WPIcon","WPBitmap"};
    71 
    72   if(!cnr)
    73     return obj;
    74   sprintf(s,
    75           "%s%s%s",
    76           (path) ? path : "",
    77           (path) ? "\\" : "",
    78           objtitle);
    79   p = strrchr(objtitle,'.');
    80   if(p) {
    81     if(!stricmp(p,".ICO"))
     61HOBJECT CreateDataObject(CHAR * objtitle, CHAR * location, CHAR * path,
     62                         CHAR * cnr)
     63{
     64
     65  HOBJECT obj = (HOBJECT) 0;
     66  CHAR s[1050], s2[1050], *p,
     67    *type[] = { "WPDataFile", "WPIcon", "WPBitmap" };
     68
     69  if (!cnr)
     70    return obj;
     71  sprintf(s, "%s%s%s", (path) ? path : "", (path) ? "\\" : "", objtitle);
     72  p = strrchr(objtitle, '.');
     73  if (p) {
     74    if (!stricmp(p, ".ICO"))
    8275      p = type[1];
    83     else if(!stricmp(p,".BMP"))
     76    else if (!stricmp(p, ".BMP"))
    8477      p = type[2];
    8578    else
     
    8982    p = type[0];
    9083  obj = WinCreateObject(p,
    91                         s,
    92                         "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
    93                          (location) ? location : cnr,
    94                          CO_FAILIFEXISTS);
    95   if(obj) {
     84                        s,
     85                        "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
     86                        (location) ? location : cnr, CO_FAILIFEXISTS);
     87  if (obj) {
    9688    sprintf(s2,
    97             "%s%s%sOBJECTID=<FM2_%s>",
    98             objtitle,
    99             (p == type[1]) ? "ICONFILE=" : "",
    100             (p == type[1]) ? s : "",
    101             (p == type[1]) ? ";" : "",
    102             objtitle);
    103     WinSetObjectData(obj,
    104                      s2);
    105   }
    106   return obj;
    107 }
    108 
    109 
    110 HOBJECT CreateFolderObject (CHAR *objtitle,CHAR *cnr)
    111 {
    112   HOBJECT obj = (HOBJECT)0;
    113   CHAR    s[1050];
    114 
    115   if(!cnr)
     89            "%s%s%sOBJECTID=<FM2_%s>",
     90            objtitle,
     91            (p == type[1]) ? "ICONFILE=" : "",
     92            (p == type[1]) ? s : "", (p == type[1]) ? ";" : "", objtitle);
     93    WinSetObjectData(obj, s2);
     94  }
     95  return obj;
     96}
     97
     98HOBJECT CreateFolderObject(CHAR * objtitle, CHAR * cnr)
     99{
     100  HOBJECT obj = (HOBJECT) 0;
     101  CHAR s[1050];
     102
     103  if (!cnr)
    116104    return obj;
    117105  obj = WinCreateObject("WPFolder",
    118                         objtitle,
    119                         "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
    120                          cnr,
    121                          CO_FAILIFEXISTS);
    122   if(obj) {
    123     sprintf(s,
    124             "OBJECTID=<FM2_%s>",
    125             objtitle);
    126     WinSetObjectData(obj,
    127                      s);
    128   }
    129   return obj;
    130 }
    131 
    132 
    133 HOBJECT CreateShadowObject (CHAR *objtitle,CHAR *location,CHAR *path,
    134                             BOOL executable,CHAR *cnr) {
    135 
    136   HOBJECT obj = (HOBJECT)0;
    137   CHAR    *s;
    138 
    139   if(!cnr)
    140     return obj;
    141   s = xmalloc(5192,pszSrcFile,__LINE__);
     106                        objtitle,
     107                        "NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO",
     108                        cnr, CO_FAILIFEXISTS);
     109  if (obj) {
     110    sprintf(s, "OBJECTID=<FM2_%s>", objtitle);
     111    WinSetObjectData(obj, s);
     112  }
     113  return obj;
     114}
     115
     116HOBJECT CreateShadowObject(CHAR * objtitle, CHAR * location, CHAR * path,
     117                           BOOL executable, CHAR * cnr)
     118{
     119
     120  HOBJECT obj = (HOBJECT) 0;
     121  CHAR *s;
     122
     123  if (!cnr)
     124    return obj;
     125  s = xmalloc(5192, pszSrcFile, __LINE__);
    142126  if (s) {
    143127    sprintf(s,
    144             "SHADOWID=%s%s%s",
    145             (path) ? path : "",
    146             (path) ? "\\" : "",
    147             objtitle);
    148     {  /* find an icon for it if possible */
    149       CHAR *p,temp[CCHMAXPATH + 1];
     128            "SHADOWID=%s%s%s",
     129            (path) ? path : "", (path) ? "\\" : "", objtitle);
     130    {                                   /* find an icon for it if possible */
     131      CHAR *p, temp[CCHMAXPATH + 1];
    150132
    151133      sprintf(temp,
    152               "%s%s%s",
    153               (path) ? path : "",
    154               (path) ? "\\" : "",
    155               objtitle);
    156       p = strrchr(temp,'.');
    157       if(p) {
    158         *p = 0;
    159         strcat(p,".ICO");
    160         if(IsFile(temp) == 1)
    161           sprintf(&s[strlen(s)],
    162                   ";ICONFILE=%s",
    163                   temp);
    164       }
    165     }
    166     if(executable)
     134              "%s%s%s", (path) ? path : "", (path) ? "\\" : "", objtitle);
     135      p = strrchr(temp, '.');
     136      if (p) {
     137        *p = 0;
     138        strcat(p, ".ICO");
     139        if (IsFile(temp) == 1)
     140          sprintf(&s[strlen(s)], ";ICONFILE=%s", temp);
     141      }
     142    }
     143    if (executable)
    167144      sprintf(&s[strlen(s)],
    168               ";EXENAME=%s%s%s%s%s;PARAMETERS=%%*",
    169               (path) ? path : "",
    170               (path) ? "\\" : "",
    171               objtitle,
    172               (path) ? ";STARTUPDIR=" : "",
    173               (path) ? path : "");
    174     strcat(s,
    175            ";NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO");
    176     sprintf(&s[strlen(s)],
    177             ";OBJECTID=<FM2_%s>",
    178             objtitle);
     145              ";EXENAME=%s%s%s%s%s;PARAMETERS=%%*",
     146              (path) ? path : "",
     147              (path) ? "\\" : "",
     148              objtitle, (path) ? ";STARTUPDIR=" : "", (path) ? path : "");
     149    strcat(s, ";NODELETE=NO;TEMPLATE=NO;NOCOPY=NO;NOMOVE=NO");
     150    sprintf(&s[strlen(s)], ";OBJECTID=<FM2_%s>", objtitle);
    179151    obj = WinCreateObject("WPShadow",
    180                           objtitle,
    181                           s,
    182                           (location) ? location : cnr,
    183                           CO_FAILIFEXISTS);
     152                          objtitle,
     153                          s, (location) ? location : cnr, CO_FAILIFEXISTS);
    184154    free(s);
    185155  }
     
    189159#pragma alloc_text(SHADOW2,MakeShadows,OpenObject)
    190160
    191 VOID MakeShadows (HWND hwnd,CHAR **list,ULONG Shadows,CHAR *cnr, CHAR *foldername)
    192 {
    193   INT           x = 0;
    194   CHAR          szBuff[CCHMAXPATH + 8];
    195   HOBJECT       obj = (HOBJECT)0;
    196   FILESTATUS3   fsa;
     161VOID MakeShadows(HWND hwnd, CHAR ** list, ULONG Shadows, CHAR * cnr,
     162                 CHAR * foldername)
     163{
     164  INT x = 0;
     165  CHAR szBuff[CCHMAXPATH + 8];
     166  HOBJECT obj = (HOBJECT) 0;
     167  FILESTATUS3 fsa;
    197168
    198169  *szBuff = 0;
    199   if(foldername)
    200     strcpy(szBuff,foldername);
    201   if(list) {
    202     if((list[0] && list[1]) || Shadows > 1) {
     170  if (foldername)
     171    strcpy(szBuff, foldername);
     172  if (list) {
     173    if ((list[0] && list[1]) || Shadows > 1) {
    203174
    204175      STRINGINPARMS sip;
     
    209180      sip.inputlen = CCHMAXPATHCOMP;
    210181      sip.title = GetPString(IDS_MAKESHADOWTITLETEXT);
    211       if(WinDlgBox(HWND_DESKTOP,
    212                    hwnd,
    213                    InputDlgProc,
    214                    FM3ModHandle,
    215                    STR_FRAME,
    216                    &sip)) {
    217         if(*szBuff) {
    218           obj = CreateFolderObject(szBuff,cnr);
    219           if(!obj) {
    220             saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
    221                    hwnd,
    222                    GetPString(IDS_ERRORTEXT),
    223                    GetPString(IDS_MAKESHADOWCREATEFAILEDTEXT),
    224                    szBuff);
    225             return;
    226           }
    227         }
     182      if (WinDlgBox(HWND_DESKTOP,
     183                    hwnd, InputDlgProc, FM3ModHandle, STR_FRAME, &sip)) {
     184        if (*szBuff) {
     185          obj = CreateFolderObject(szBuff, cnr);
     186          if (!obj) {
     187            saymsg(MB_CANCEL | MB_ICONEXCLAMATION,
     188                   hwnd,
     189                   GetPString(IDS_ERRORTEXT),
     190                   GetPString(IDS_MAKESHADOWCREATEFAILEDTEXT), szBuff);
     191            return;
     192          }
     193        }
    228194      }
    229195      else
    230         return;
    231     }
    232     while(list[x]) {
    233       if(!DosQueryPathInfo(list[x],
    234                            FIL_STANDARD,&fsa,
    235                            (ULONG)sizeof(FILESTATUS3))) {
    236 
    237         ULONG apt;
    238         CHAR  *p,*pp,szDir[CCHMAXPATH + 1],szBuffer[CCHMAXPATH + 1];
    239 
    240         if(DosQAppType(list[x],
    241                        &apt))
    242           apt = 0;
    243         p = strrchr(list[x],'.');
    244         if(p) {
    245           if(!stricmp(p,".BAT") ||
    246              !stricmp(p,".CMD"))
    247             apt |= FAPPTYP_BOUND;
    248         }
    249         *szBuffer = 0;
    250         p = strrchr(list[x],'\\');
    251         if(!p)
    252           p = strrchr(list[x],':');
    253         if(p)
    254           p++;
    255         else
    256           p = list[x];
    257         strcpy(szDir,
    258                list[x]);
    259         pp = strrchr(szDir,'\\');
    260         if(!pp) {
    261           pp = strrchr(szDir,':');
    262           if(pp) {
    263             pp++;
    264             *pp = '\\';
    265             pp++;
    266           }
    267         }
    268         if(pp)
    269           *pp = 0;
    270         else
    271           *szDir = 0;
    272         if(obj && *szBuff)
    273           sprintf(szBuffer,
    274                   "<FM2_%s>",
    275                   szBuff);
    276         else
    277           *szBuffer = 0;
    278         if((fsa.attrFile & FILE_DIRECTORY) ||
    279            Shadows)
    280           CreateShadowObject(p,
    281                              (obj) ? szBuffer : NULL,
    282                              szDir,
    283                              0,
    284                              cnr);
    285         else if(!(apt & (FAPPTYP_NOTWINDOWCOMPAT |
    286                          FAPPTYP_WINDOWCOMPAT |
    287                          FAPPTYP_WINDOWAPI |
    288                          FAPPTYP_BOUND | FAPPTYP_DOS |
    289                          FAPPTYP_WINDOWSREAL |
    290                          FAPPTYP_WINDOWSPROT |
    291                          0x1000)))  /* not an executable app? */
    292           CreateDataObject(p,
    293                            (obj) ? szBuffer : NULL,
    294                            szDir,
    295                            cnr);
    296         else
    297           CreateProgramObject(p,
    298                               (obj) ? szBuffer : NULL,
    299                               szDir,
    300                               cnr);
     196        return;
     197    }
     198    while (list[x]) {
     199      if (!DosQueryPathInfo(list[x],
     200                            FIL_STANDARD, &fsa,
     201                            (ULONG) sizeof(FILESTATUS3))) {
     202
     203        ULONG apt;
     204        CHAR *p, *pp, szDir[CCHMAXPATH + 1], szBuffer[CCHMAXPATH + 1];
     205
     206        if (DosQAppType(list[x], &apt))
     207          apt = 0;
     208        p = strrchr(list[x], '.');
     209        if (p) {
     210          if (!stricmp(p, ".BAT") || !stricmp(p, ".CMD"))
     211            apt |= FAPPTYP_BOUND;
     212        }
     213        *szBuffer = 0;
     214        p = strrchr(list[x], '\\');
     215        if (!p)
     216          p = strrchr(list[x], ':');
     217        if (p)
     218          p++;
     219        else
     220          p = list[x];
     221        strcpy(szDir, list[x]);
     222        pp = strrchr(szDir, '\\');
     223        if (!pp) {
     224          pp = strrchr(szDir, ':');
     225          if (pp) {
     226            pp++;
     227            *pp = '\\';
     228            pp++;
     229          }
     230        }
     231        if (pp)
     232          *pp = 0;
     233        else
     234          *szDir = 0;
     235        if (obj && *szBuff)
     236          sprintf(szBuffer, "<FM2_%s>", szBuff);
     237        else
     238          *szBuffer = 0;
     239        if ((fsa.attrFile & FILE_DIRECTORY) || Shadows)
     240          CreateShadowObject(p, (obj) ? szBuffer : NULL, szDir, 0, cnr);
     241        else if (!(apt & (FAPPTYP_NOTWINDOWCOMPAT | FAPPTYP_WINDOWCOMPAT | FAPPTYP_WINDOWAPI | FAPPTYP_BOUND | FAPPTYP_DOS | FAPPTYP_WINDOWSREAL | FAPPTYP_WINDOWSPROT | 0x1000)))      /* not an executable app? */
     242          CreateDataObject(p, (obj) ? szBuffer : NULL, szDir, cnr);
     243        else
     244          CreateProgramObject(p, (obj) ? szBuffer : NULL, szDir, cnr);
    301245      }
    302246      x++;
     
    306250}
    307251
    308 
    309 VOID OpenObject (CHAR *filename,CHAR *type,HWND hwnd)
     252VOID OpenObject(CHAR * filename, CHAR * type, HWND hwnd)
    310253{
    311254  HOBJECT hWPSObject;
    312255
    313   if(!type)
     256  if (!type)
    314257    type = Default;
    315   if((*filename == '<' &&
    316      filename[strlen(filename) - 1] == '>') ||
    317      IsFile(filename) != -1) {
     258  if ((*filename == '<' &&
     259       filename[strlen(filename) - 1] == '>') || IsFile(filename) != -1) {
    318260    hWPSObject = WinQueryObject(filename);
    319     if(hWPSObject != NULLHANDLE) { /* got something; try to to open it */
     261    if (hWPSObject != NULLHANDLE) {     /* got something; try to to open it */
    320262
    321263      CHAR s[CCHMAXPATH];
    322264      HWND hwndDesktop;
    323265
    324       if(hwnd) {
    325         hwndDesktop = WinQueryDesktopWindow((HAB)0,
    326                                             NULLHANDLE);
    327         WinSetFocus(HWND_DESKTOP,
    328                     hwndDesktop);
    329       }
    330       sprintf(s,
    331               "OPEN=%s",
    332               type);
    333       if(!WinSetObjectData(hWPSObject,
    334                            s) &&
    335          hwnd)
    336         WinSetFocus(HWND_DESKTOP,
    337                     hwnd);
    338     }
    339   }
    340 }
    341 
    342 
    343 BOOL RunSeamless (CHAR *exename,CHAR *args,HWND hwnd)
     266      if (hwnd) {
     267        hwndDesktop = WinQueryDesktopWindow((HAB) 0, NULLHANDLE);
     268        WinSetFocus(HWND_DESKTOP, hwndDesktop);
     269      }
     270      sprintf(s, "OPEN=%s", type);
     271      if (!WinSetObjectData(hWPSObject, s) && hwnd)
     272        WinSetFocus(HWND_DESKTOP, hwnd);
     273    }
     274  }
     275}
     276
     277BOOL RunSeamless(CHAR * exename, CHAR * args, HWND hwnd)
    344278{
    345279  CHAR settings[1024 + CCHMAXPATH + 80];
     
    347281
    348282  sprintf(settings,
    349           "EXENAME=%s;PROGTYPE=SEAMLESS;PARAMETERS=%s;OPEN=DEFAULT",
    350           exename,
    351           args);
    352   if(hwnd)
    353     WinSetFocus(HWND_DESKTOP,
    354                 HWND_DESKTOP);
     283          "EXENAME=%s;PROGTYPE=SEAMLESS;PARAMETERS=%s;OPEN=DEFAULT",
     284          exename, args);
     285  if (hwnd)
     286    WinSetFocus(HWND_DESKTOP, HWND_DESKTOP);
    355287  ret = WinCreateObject(WPProgram,
    356                         exename,
    357                         settings,
    358                         "<WP_NOWHERE>",
    359                         CO_REPLACEIFEXISTS);
    360   if(!ret && hwnd)
    361     WinSetWindowPos(hwnd,
    362                     HWND_TOP,
    363                     0,
    364                     0,
    365                     0,
    366                     0,
    367                     SWP_ZORDER | SWP_ACTIVATE);
     288                        exename,
     289                        settings, "<WP_NOWHERE>", CO_REPLACEIFEXISTS);
     290  if (!ret && hwnd)
     291    WinSetWindowPos(hwnd, HWND_TOP, 0, 0, 0, 0, SWP_ZORDER | SWP_ACTIVATE);
    368292  return ret;
    369293}
Note: See TracChangeset for help on using the changeset viewer.