Ignore:
Timestamp:
Nov 29, 2023, 5:59:34 PM (23 months ago)
Author:
gyoung
Message:

Merge Lar's 2.9 branch into the trunk

Location:
trunk/mediafolder/c/mediafldr
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/mediafolder/c/mediafldr/mediafolder.cpp

    r57 r133  
    11/*
    22 * This file is (C) Chris Wohlgemuth 2002
    3  * 
     3 *
    44 * It's part of the Media-Folder distribution
    55 */
     
    6969  switch(ulAction)
    7070    {
    71     case PLAY_FIRST: 
     71    case PLAY_FIRST:
    7272      /* Send a message to the object window created by the folder play thread */
    7373      WinPostMsg(thisPtr->mfData->hwndPlayObject,WM_APPTERMINATENOTIFY, 0,MPFROMLONG(PLAY_FIRST));
     
    146146              thisPtr->cwSeekAudioFile(LONGFROMMP(mp1));
    147147              /* restart timer */
    148               //    WinStartTimer(WinQueryAnchorBlock(hwnd), WinWindowFromID(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 
     148              //    WinStartTimer(WinQueryAnchorBlock(hwnd), WinWindowFromID(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY);
    149149              thisPtr->ulPos=LONGFROMMP(mp1)/1000;
    150150            }
     
    192192      if(hwnd) {
    193193        thisPtr->mfData->hwndPlayObject=hwnd;
     194        WinSetWindowULong(hwnd, QWL_USER,(ULONG)tPt);
    194195        WinSubclassWindow(hwnd,&playObjectProc);
    195         WinSetWindowULong(hwnd, QWL_USER,(ULONG)tPt);
    196196        /* Window created. */
    197197        while(WinGetMsg(hab,&qmsg,(HWND)NULL,0,0))
     
    225225    return;
    226226
    227   thisPtr=(CWMediaFolder*)threadParms->thisPtr;   
     227  thisPtr=(CWMediaFolder*)threadParms->thisPtr;
    228228
    229229  if(!somIsObj(thisPtr))
     
    247247  if(!((WPFileSystem*)thisPtr->wpObjM3UFile)->wpQueryRealName(chrFileName, &ulSize, TRUE))
    248248    return;
    249  
     249
    250250  /* Get name of folder */
    251251  ulSize=CCHMAXPATH;
     
    256256  if(hab) {
    257257    hmq=WinCreateMsgQueue(hab,0);
    258     if(hmq) {     
     258    if(hmq) {
    259259      RXSTRING arg[2];                    /* argument string for REXX  */
    260260      RXSTRING rexxretval;                /* return value from REXX    */
     
    266266      /* We could provide a buffer for the interpreter to use instead. */
    267267      rexxretval.strlength = 0L;          /* initialize return to empty*/
    268      
     268
    269269      MAKERXSTRING(arg[0], chrFileName, strlen(chrFileName));/* create input argument     */
    270       MAKERXSTRING(arg[1], chrFolderName, strlen(chrFolderName));/* create input argument     */             
    271      
     270      MAKERXSTRING(arg[1], chrFolderName, strlen(chrFolderName));/* create input argument     */
     271
    272272      TRY_LOUD(RX_START) {
    273273        /* Here we call the interpreter.  We don't really need to use    */
     
    285285                     (PSHORT)     &rexxrc,       /* Rexx program output   */
    286286                     (PRXSTRING)  &rexxretval ); /* Rexx program output   */
    287        
     287
    288288        if(rc) {
    289           sprintf(chrFileName,"Error in the Rexx skript %s\n\n Get more information with 'help REX%04d'.\n", 
     289          sprintf(chrFileName,"Error in the Rexx skript %s\n\n Get more information with 'help REX%04d'.\n",
    290290                  "", rc*-1);
    291291          WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrFileName, "", 1234, MB_OK|MB_MOVEABLE|MB_ERROR);
    292292        }
    293         DosFreeMem(rexxretval.strptr);          /* Release storage given to us by REXX.  */     
     293        DosFreeMem(rexxretval.strptr);          /* Release storage given to us by REXX.  */
    294294      }
    295295      CATCH(RX_START)
    296296        {}END_CATCH;
    297                
     297
    298298        WinDestroyMsgQueue(hmq);
    299299    }
     
    301301  }
    302302  //  thisPtr->fContentsChanged=FALSE;
    303   thisPtr->wpFreeMem((PBYTE)chrFileName); 
     303  thisPtr->wpFreeMem((PBYTE)chrFileName);
    304304  thisPtr->wpFreeMem((PBYTE)threadParms);
    305305}
     
    372372
    373373        WinSetWindowPos(hwndFrame, NULLHANDLE, swp2.x, swp2.y, swp2.cx,swp2.cy,SWP_SIZE|SWP_MOVE);
    374         /* 
     374        /*
    375375           By changing the to contents view we trick the WPS to show the 'Details view' menu item in
    376376           the view menu of the folders system menu. In that sub menu the WPS always inserts all known
     
    379379           The system knows nothing about the 'compact view' and all the handling is done by us.
    380380           As a side effect the folder position information for the details
    381            view isn't changed when the folder is closed in 'Compact view'. 
     381           view isn't changed when the folder is closed in 'Compact view'.
    382382           */
    383383        wpMenuItemSelected(hwndFrame, 0x2cc);
     
    419419                            ",", chrBuf, sizeof(chrBuf));
    420420      chrBuf[sizeof(chrBuf)-1]=0;
    421      
     421
    422422      if(mfData->ulTotalTime<=3600) {
    423423        getMessage( text, IDSTR_STATUSTIME1, sizeof(text), queryResModuleHandle(), HWND_DESKTOP);
     
    432432        sprintf(time, text, mfData->ulTotalTime/(3600*24),
    433433                (mfData->ulTotalTime%(3600*24))/3600,  (mfData->ulTotalTime%3600)/60, mfData->ulTotalTime%60);
    434       }     
     434      }
    435435      if(mfData->ulSize<=0xffffffff) {
    436436        getMessage( text2, IDSTR_STATUSTIME4, sizeof(text2), queryResModuleHandle(),HWND_DESKTOP);
    437         sprintf(text, text2, 
     437        sprintf(text, text2,
    438438                mfData->ulNumTracks, mfData->ulSize/1000000 ,chrBuf, (mfData->ulSize%1000000)/1000,
    439439                chrBuf,  mfData->ulSize%1000,
     
    488488  getMessage(pageName, IDSTRSETTING_TOOLBAR, sizeof(pageName), queryResModuleHandle(), hwndNotebook);
    489489  pageinfo.pszName = pageName;
    490  
     490
    491491  //Insert the page into the settings notebook
    492492  return wpInsertSettingsPage(hwndNotebook,&pageinfo);
     
    497497  PMINIRECORDCORE mrc;
    498498  WPObject * contentObject;
    499  
     499
    500500  /* See if we have an audio file played with doubleclick */
    501501  mrc=(PMINIRECORDCORE)WinSendMsg(hwndContainer,CM_QUERYRECORDEMPHASIS,MPFROMLONG(CMA_FIRST),
     
    551551  /* Get new ID for wave device */
    552552  if(cwRequestMutex(hmtxFileName, 100000)==ERROR_TIMEOUT)
    553     return FALSE; 
     553    return FALSE;
    554554
    555555  iWaveDev++;
     
    565565      WPObject *wpObject;
    566566      PMINIRECORDCORE pmrc;
    567      
     567
    568568#if 0
    569569      /* There's already a file playing using doubleclick */
    570       if(mmGetOtherPlayingAudioFile( this, hwndContainer, &wpObject, &pmrc)) 
     570      if(mmGetOtherPlayingAudioFile( this, hwndContainer, &wpObject, &pmrc))
    571571        return 0;
    572572#endif
     
    605605        else
    606606          return 0;/* Error */
    607        
    608         if( contentObject->somIsA(cwAudioClass) || 
     607
     608        if( contentObject->somIsA(cwAudioClass) ||
    609609           /*contentObject->somIsA(mmAudioClass) ||*/
    610610           contentObject->somIsA(mmMIDIClass)) {
     
    643643                                    MPFROM2SHORT(CMA_NEXT,CMA_ITEMORDER));
    644644
    645     if((int)mrc==-1) { 
     645    if((int)mrc==-1) {
    646646      /* Wrong parameter -> user deleted the shadow. */
    647647      /* Stop wave, remove in use emphasis. */
     
    650650    }
    651651    //  HlpWriteToTrapLog("Next mrc is %x\n", mrc);
    652  
     652
    653653    notFound=TRUE;
    654     while(notFound && mrc && (int)mrc!=-1){ 
     654    while(notFound && mrc && (int)mrc!=-1){
    655655      contentObject=(WPObject*)OBJECT_FROM_PREC(mrc);//Get object
    656656      if(somIsObj(contentObject)) {
     
    664664      else
    665665        return 0;/* Error */
    666      
     666
    667667      if(contentObject->somIsA(cwAudioClass) ||
    668668         /* contentObject->somIsA(mmAudioClass) || */
     
    701701        /* Select the object */
    702702        WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(pmrc),
    703                    MPFROM2SHORT(TRUE, CRA_SELECTED)); 
     703                   MPFROM2SHORT(TRUE, CRA_SELECTED));
    704704
    705705        return cwPlayAudioFile(hwndFrame, PLAY_FIRST);/* Not yet playing, so start the first one. */
     
    709709        return cwPlayAudioFile(hwndFrame, PLAY_FIRST);/* Not yet playing, so start the first one. */
    710710    }
    711  
     711
    712712    /* Check the current time. If we are at the very beginning of the track skip to the previous track
    713713       otherwise skip to the beginning of the current track. */
     
    727727    /* Find an audio file */
    728728    notFound=TRUE;
    729     while(notFound && mrc && (int)mrc!=-1){ 
     729    while(notFound && mrc && (int)mrc!=-1){
    730730      contentObject=(WPObject*)OBJECT_FROM_PREC(mrc);//Get object
    731731      if(somIsObj(contentObject)) {
     
    741741
    742742      /* Check if it's an audio file thus playable */
    743       if(contentObject->somIsA(cwAudioClass) || 
     743      if(contentObject->somIsA(cwAudioClass) ||
    744744         /*   contentObject->somIsA(mmAudioClass) || */
    745745         contentObject->somIsA(mmMIDIClass)) {
     
    755755    if(!mrc)
    756756      return 0;
    757    
     757
    758758    break;
    759759  default:
     
    771771  else /*if(contentObject->somIsA(cwAudioClass) || contentObject->somIsA(mmAudioClass))*/
    772772    strncpy(chrDevice,"WAVEAUDIO", sizeof(chrDevice));
    773  
     773
    774774  chrDevice[sizeof(chrDevice)-1]=0;
    775775
    776776  hwndNotify=playControlDialogFromFrameHWND(hwndFrame);//WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE);
    777777
    778   /* Start audio file */ 
     778  /* Start audio file */
    779779  sprintf(chrCommand,"open \"%s\"  type %s alias wave%d SHAREABLE wait",name, chrDevice, iWavePriv);
    780780  rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwndNotify, 0);
     
    789789    rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
    790790    return 0;
    791   }     
     791  }
    792792
    793793  sprintf(chrCommand,"SETPOSITIONADVISE wave%d ON EVERY 1000 notify", iWavePriv);
     
    829829  }
    830830
    831   /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 
     831  /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave.
    832832     Don't know why. */
    833833
    834   //WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 
     834  //WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY);
    835835  WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY);
    836836
     
    849849  /* Select the object */
    850850  WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc),
    851              MPFROM2SHORT(TRUE, CRA_SELECTED)); 
     851             MPFROM2SHORT(TRUE, CRA_SELECTED));
    852852
    853853  iWave=iWavePriv;
     
    872872  BOOL bFound=FALSE;
    873873
    874   /** Get a random number in the appropriate range                    */ 
     874  /** Get a random number in the appropriate range                    */
    875875  DosGetDateTime((PDATETIME)&DT);      /* Get the time               */
    876876  seed = DT.hours*60 + DT.minutes;     /* convert to hundreths       */
     
    885885
    886886#ifdef RANDOM_DEBUG
    887     HlpWriteToTrapLog("\n     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]); 
     887    HlpWriteToTrapLog("\n     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]);
    888888#endif
    889889    /* Get a random number in the appropriate range */
     
    891891      mfData->pRandomArray[zufall]=1;
    892892#ifdef RANDOM_DEBUG
    893       HlpWriteToTrapLog("2     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]); 
     893      HlpWriteToTrapLog("2     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]);
    894894#endif
    895895      return zufall;
     
    900900    if (zufall == start && !bFound) {
    901901#ifdef RANDOM_DEBUG
    902       HlpWriteToTrapLog("Error     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]); 
     902      HlpWriteToTrapLog("Error     Zufall: %d       %d\n", zufall, mfData->pRandomArray[zufall]);
    903903#endif
    904904      return -1;
     
    944944  /* Check if we currently play the last track. */
    945945  if((mfData->iNumPlayed>=mfData->iNumToPlay) && mfData->pRandomArray) {
    946     cwStopAudioFile(hwndFrame);/* Reset playing vars and remove in use emphasis */       
     946    cwStopAudioFile(hwndFrame);/* Reset playing vars and remove in use emphasis */
    947947    if(!(ulFlags&FLAG_REPEAT))
    948948      return 0;
     
    959959  /* Get new ID for wave device */
    960960  if(cwRequestMutex(hmtxFileName, 100000)==ERROR_TIMEOUT)
    961     return FALSE; 
     961    return FALSE;
    962962  iWaveDev++;
    963963  if(iWaveDev==1000)
     
    10091009  /* Find an audio file */
    10101010  notFound=TRUE;
    1011   while(notFound){ 
     1011  while(notFound){
    10121012    /* Find track to play */
    10131013    if((iTrack=_getRandomTrack(mfData))==-1) {
     
    10221022  HlpWriteToTrapLog("%s: _getRandomTrack returned: %d.\n", __FUNCTION__, iTrack);
    10231023#endif
    1024    
     1024
    10251025    for(a=0,mrc=(PMINIRECORDCORE)WinSendMsg(hwndContainer,CM_QUERYRECORD,NULL,
    10261026                                            MPFROM2SHORT(CMA_FIRST,CMA_ITEMORDER));
     
    10391039#endif
    10401040
    1041     if(!mrc) 
     1041    if(!mrc)
    10421042      {
    10431043#ifdef RANDOM_DEBUG
     
    10531053
    10541054    /* Check if it's an audio file thus playable */
    1055     if(contentObject->somIsA(cwAudioClass) || 
     1055    if(contentObject->somIsA(cwAudioClass) ||
    10561056       /*       contentObject->somIsA(mmAudioClass) ||*/
    10571057       contentObject->somIsA(mmMIDIClass)) {
     
    10831083  else /*if(contentObject->somIsA(cwAudioClass) || contentObject->somIsA(mmAudioClass))*/
    10841084    strncpy(chrDevice,"WAVEAUDIO", sizeof(chrDevice));
    1085  
     1085
    10861086  chrDevice[sizeof(chrDevice)-1]=0;
    10871087
    10881088  hwndNotify=playControlDialogFromFrameHWND(hwndFrame);//WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE);
    10891089
    1090   /* Start audio file */ 
     1090  /* Start audio file */
    10911091  sprintf(chrCommand,"open \"%s\"  type %s alias wave%d SHAREABLE wait",name, chrDevice, iWavePriv);
    10921092  rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwndNotify, 0);
     
    11001100    rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
    11011101    return 0;
    1102   }     
     1102  }
    11031103
    11041104  sprintf(chrCommand,"SETPOSITIONADVISE wave%d ON EVERY 1000 notify", iWavePriv);
     
    11401140    return 0;
    11411141  }
    1142   /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 
     1142  /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave.
    11431143     Don't know why. */
    1144   //  WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 
    1145   WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 
     1144  //  WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY);
     1145  WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY);
    11461146
    11471147  /* Set emphasis by adding the object to the inuse list */
     
    11581158  /* Select the object */
    11591159  WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc),
    1160              MPFROM2SHORT(TRUE, CRA_SELECTED)); 
     1160             MPFROM2SHORT(TRUE, CRA_SELECTED));
    11611161
    11621162  iWave=iWavePriv;
     
    11871187        mfData->iNumPlayed=0;
    11881188      }
    1189      
     1189
    11901190      sprintf(chrCommand,"stop wave%d wait", iWave);
    11911191      rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
    1192      
     1192
    11931193      sprintf(chrCommand,"close wave%d wait", iWave);
    11941194      rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
    1195      
     1195
    11961196      _resetDisplay(this);
    11971197        //_resetDisplay(topControlFromFrameHWND(hwndFrame));
     
    12071207              myViewItem.bIsInUseList=FALSE;
    12081208        };
    1209      
     1209
    12101210      //HlpWriteToTrapLog("\n1 line %d.\n");
    1211      
     1211
    12121212      /* Deselect the object */
    12131213      if(WinIsWindow(WinQueryAnchorBlock(hwndFrame), hwndContainer))
    12141214        WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrcPlaying),
    1215                    MPFROM2SHORT(FALSE, CRA_SELECTED)); 
    1216      
     1215                   MPFROM2SHORT(FALSE, CRA_SELECTED));
     1216
    12171217      iWave=0;
    12181218      currentObject=NULLHANDLE;
     
    12341234#endif
    12351235          WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc),
    1236                      MPFROM2SHORT(FALSE, CRA_SELECTED));       
     1236                     MPFROM2SHORT(FALSE, CRA_SELECTED));
    12371237        }
    12381238#if 0
     
    12581258                  ulPos=0;
    12591259                  WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc),
    1260                              MPFROM2SHORT(FALSE, CRA_SELECTED)); 
     1260                             MPFROM2SHORT(FALSE, CRA_SELECTED));
    12611261
    12621262                };
     
    12731273                        __FUNCTION__, __FILE__, __LINE__);
    12741274    } END_CATCH;
    1275    
     1275
    12761276    return TRUE;
    12771277}
     
    13231323  if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
    13241324    /* Problem with MCI. Clean up. The Timer will be stopped in the method */
    1325     cwStopAudioFile(hwndFrame); 
     1325    cwStopAudioFile(hwndFrame);
    13261326  }
    13271327  else {
    13281328    if(!stricmp(retMsg, "stopped")) {
    13291329      /* Audio file played. Start next */
    1330       cwPlayAudioFile(hwndFrame, PLAY_NEXT); 
     1330      cwPlayAudioFile(hwndFrame, PLAY_NEXT);
    13311331    }
    13321332    showPlayTimeDisplay(this, TRUE);/* Ensure display is visible */
  • trunk/mediafolder/c/mediafldr/mediafolderoverridenwpclsmethods.cpp

    r47 r133  
    11/*
    22 * This file is (C) Chris Wohlgemuth 1999-2003
    3  * 
     3 *
    44 * It's part of the Audio/Data-CD-Creator distribution
    55 */
     
    132132
    133133  hps=WinGetPS(HWND_DESKTOP);
    134  
     134
    135135  /* The main BMP */
    136136  allBMPs[MAIN_BMP_IDX].hbm=GpiLoadBitmap(hps, hResource, IDBMP_TOPMIDDLE, 0, 0);
     
    352352          if(DosQueryModuleHandle(pathname,&hmod)) {
    353353            pathname=((WPClassManager*)SOMClassMgrObject)  //Query Pathname of class file
    354               ->wpModuleForClass("CWAudioShadow");           
     354              ->wpModuleForClass("CWAudioShadow");
    355355            if(DosQueryModuleHandle(pathname,&hmod)) {
    356356              pathname=((WPClassManager*)SOMClassMgrObject)  //Query Pathname of class file
    357                 ->wpModuleForClass("M_CWCDFolder");           
     357                ->wpModuleForClass("M_CWCDFolder");
    358358              if(DosQueryModuleHandle(pathname,&hmod)) {
    359359                pathname=((WPClassManager*)SOMClassMgrObject)  //Query Pathname of class file
    360                   ->wpModuleForClass("CWCDFolder");           
     360                  ->wpModuleForClass("CWCDFolder");
    361361                if(DosQueryModuleHandle(pathname,&hmod)) {
    362362                  hmod=0;
     
    378378        if((found=strrchr(chrInstallDir,'\\'))!=NULLHANDLE)
    379379          *found=0;
    380        
     380
    381381        /* Save the dir for config files. */
    382382        //strcpy( chrConfigDir, chrInstallDir);
     
    393393
    394394  if(!hmod) {
    395     char path[CCHMAXPATH]; 
     395    char path[CCHMAXPATH];
    396396    char buf[CCHMAXPATH];
    397397    char* found;
    398398    APIRET rc;
    399    
    400     /* Get the language code of our system and load the 
     399
     400    /* Get the language code of our system and load the
    401401       resource DLL with the right language */
    402402    do {
     
    404404      PCSZ pszLang=chrLang;
    405405      char *chrPtr;
    406      
     406
    407407      /* Get Language var */
    408408      if(NO_ERROR!=DosScanEnv("LANG", &pszLang))
     
    419419      while(*chrPtr==' ')
    420420        chrPtr++;
    421      
     421
    422422      /* Check if value seems to be valid. The var must be something like xx_XX thus length is 5 */
    423423      if(strlen(chrPtr)<5)
    424424        break;
    425      
     425
    426426      if(DosQueryModuleName(queryModuleHandle("M_CWMediaFolder"),sizeof(path),path)!=NO_ERROR)
    427427        break;
    428      
     428
    429429      found=strrchr(path,'\\');
    430430      if(!found)
    431431        break;
    432432      *found=0;
    433      
    434       /* Extract the first two chars */               
     433
     434      /* Extract the first two chars */
    435435      sprintf(buf, RESDLLNAME, chrPtr[0], chrPtr[1]);
    436436      strcat(path,buf);
     
    438438      if(DosLoadModule(buf,sizeof(buf),path, &hmod)==NO_ERROR)
    439439        break;
    440      
     440
    441441      /* NLS DLL not found. Try to load default */
    442442      found=strrchr(path,'\\');
    443443      if(!found)
    444444        break;
    445      
     445
    446446      *found=0;
    447447      sprintf(buf, DEFRESDLLNAME);
     
    534534  ULONG ulInfoLen=0;
    535535  APIRET rc;
    536   char path[CCHMAXPATH]; 
     536  char path[CCHMAXPATH];
    537537  char* found;
    538538  char buf[CCHMAXPATH];
     
    574574  /* We don't want an automatic template because we create it during
    575575     installation because we need one with an ID so we can create a shadow
    576      without problems. So we return CLSSTYLE_DONTTEMPLATE. 
     576     without problems. So we return CLSSTYLE_DONTTEMPLATE.
    577577     Another way would be an override of wpclsCreateDefaultTemplate()
    578578     but this works, too, and we have to override this method anyway. We must
     
    591591  if(PrfQueryProfileInt(HINI_USERPROFILE, APPKEY_CWMM, MFLDR_NO_TEMPLATE_SHADOW, 0))
    592592    return;
    593  
     593
    594594  if(!WinQueryObject(ID_MEDIALDRTMPL_SHADOW))
    595595    {
     
    778778
    779779    return rc;
    780 #endif   
    781 
    782 }
    783 
    784 
    785 
    786 
    787 
    788 
    789 
    790 
    791 
    792 
     780#endif
     781
     782}
     783
     784
     785
     786
     787
     788
     789
     790
     791
     792
  • trunk/mediafolder/c/mediafldr/mediafolderoverridenwpmethods.cpp

    r4 r133  
    11/*
    22 * This file is (C) Chris Wohlgemuth 2002
    3  * 
     3 *
    44 * It's part of the Media-Folder distribution
    55 */
     
    3636/* For calling the method in the CWAudio class. Linking to the DLL would require the
    3737   new audio classes. By dynamically querying the method the media folder works without
    38    installing the audio classes. */ 
     38   installing the audio classes. */
    3939#include "cwmmquerytrackinfo.h"
    4040
     
    144144        while(!(thisPtr->wpQueryFldrFlags() & FOI_POPULATEDWITHALL))
    145145          DosSleep(300);
    146        
     146
    147147        hwndContainer=WinWindowFromID(tPt->hwndFrame, FID_CLIENT);
    148148        WinSendMsg(hwndContainer,CM_QUERYCNRINFO, MPFROMP(&cnrInfo),
    149149                   MPFROMLONG(sizeof(cnrInfo)));
    150        
     150
    151151        /* Get class object of MMAudio. We need it so we can check if a file is an audio file. */
    152152        if(somIsObj(cwAudioClass)) {
     
    234234  char time[200];
    235235  ULONG ulSecs;
    236  
     236
    237237  if(!methodPtr)
    238238    somhlpQueryCWAudioMethodPtr(this);
    239  
     239
    240240  if(methodPtr){
    241241    if((fsObject=(WPFileSystem*)cwGetFileSystemObject(Object))!=NULLHANDLE){/* Filesystem object or NULL */
     
    248248      }
    249249    }
    250   } 
     250  }
    251251  return CWProgFolder::wpDeleteFromContent(Object);
    252252}
     
    265265
    266266  /* Reregister wpFolder window class on first opening */
    267   /* We need this private code to have some private 
     267  /* We need this private code to have some private
    268268     window words */
    269269  if(!g_fRegisteredWindowClass)
    270270    {
    271271      CLASSINFO ci;
    272      
     272
    273273      if(WinQueryClassInfo(WinQueryAnchorBlock(HWND_DESKTOP),
    274274                           (PSZ)"wpFolder window",
     
    299299    return NULLHANDLE;
    300300
    301 #if 0   
     301#if 0
    302302  for(pViewItem=wpFindViewItem(VIEW_ANY, NULLHANDLE); pViewItem; pViewItem=wpFindViewItem(VIEW_ANY, pViewItem))
    303303    iItemCount+=1;
     
    318318    }
    319319
    320     /* Save this ptr */ 
     320    /* Save this ptr */
    321321    WinSetWindowULong( hwnd, ulQWP_THISPTR, (ULONG)this); /* Moved from outside the if clause */
    322322
     
    338338        ulFlags|=FLAG_ALREADYSIZED;
    339339      }
    340      
     340
    341341      /* Build new menu entries. */
    342342      myFrameCtrlHWND=WinWindowFromID(hwnd,FID_MENU);//Get menu hwnd
     
    388388            iItemCount=(int)WinSendMsg(myFrameCtrlHWND,MM_QUERYITEMCOUNT,(MPARAM)0,
    389389                                       (MPARAM)0);
    390            
     390
    391391            /* Fill the MENUITEM structure */
    392392            mi.iPosition=iItemCount-1;
    393393            mi.afStyle=MIS_TEXT|MIS_SUBMENU;
    394394            mi.id=ID_MBMENUSKRIPTS;
    395             mi.afAttribute=NULL;               
     395            mi.afAttribute=NULL;
    396396            mi.hwndSubMenu=hwndMenu;
    397397            mi.hItem=NULL;
     
    400400            getMessage(text, IDSTR_MENUSKRIPTS,sizeof(text), hResource, hwnd);
    401401            WinSendMsg(myFrameCtrlHWND,MM_INSERTITEM,MPFROMP(&mi),
    402                        (MPARAM)text); 
     402                       (MPARAM)text);
    403403          }/* end of if(hwndMenu) */
    404404        }
     
    422422         the procedure saves this pointer for later use. */
    423423      myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,topCtrlDialogProc,hResource,IDDLG_TOPFRAME ,this);
    424       /* Save the HWND in the Window words */   
     424      /* Save the HWND in the Window words */
    425425      WinSetWindowULong( hwnd, ulQWL_TOPCTRLHWND, myFrameCtrlHWND);
    426426
     
    431431           is always the width of the folder. */
    432432        sizel.cy=allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy;
    433         /* Call a method of CWProgFolder to add the dialog as a framecontrol. 
     433        /* Call a method of CWProgFolder to add the dialog as a framecontrol.
    434434           FCTL_TOP means put it at the top of the folder.
    435435           After calling cwUpdateFrame(hwnd) it will be visible */
     
    442442         the procedure saves this pointer for later use. */
    443443      myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,leftCtrlDialogProc,hResource,IDDLG_LEFTFRAME ,this);
    444       /* Save the HWND in the Window words */   
     444      /* Save the HWND in the Window words */
    445445      WinSetWindowULong( hwnd, ulQWL_LEFTCTRLHWND, myFrameCtrlHWND);
    446            
     446
    447447      if(myFrameCtrlHWND){
    448448        /* Query the size of the dialog */
     
    450450        /* It's the right dialog so we need the width but not the height. */
    451451        sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;//rectl.xRight-rectl.xLeft;
    452         /* Call a method of CWProgFolder to add the dialog as a framecontrol. 
     452        /* Call a method of CWProgFolder to add the dialog as a framecontrol.
    453453           FCTL_RIGHT means put it at the RIGHT of the folder.
    454454           After calling cwUpdateFrame(hwnd) it will be visible */
     
    460460         the procedure saves this pointer for later use. */
    461461      myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,rightCtrlDialogProc,hResource,IDDLG_FRAMERIGHT ,this);
    462       /* Save the HWND in the Window words */   
     462      /* Save the HWND in the Window words */
    463463      WinSetWindowULong( hwnd, ulQWL_RIGHTCTRLHWND, myFrameCtrlHWND);
    464464
    465465      if(myFrameCtrlHWND){
    466466        CNRINFO cnrInfo;
    467         HWND hwndContainer; 
     467        HWND hwndContainer;
    468468        PVIEWITEM pView;
    469469
     
    472472        /* It's the right dialog so we need the width but not the height. */
    473473        sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;// rectl.xRight-rectl.xLeft;
    474         /* Call a method of CWProgFolder to add the dialog as a framecontrol. 
     474        /* Call a method of CWProgFolder to add the dialog as a framecontrol.
    475475           FCTL_RIGHT means put it at the RIGHT of the folder.
    476476           After calling cwUpdateFrame(hwnd) it will be visible */
    477477        cwAddFrameCtl(hwnd, myFrameCtrlHWND, sizel, FCTL_RIGHT, FCTL_POSABOVE|FCTL_POSBELOW);
    478        
     478
    479479        hwndContainer=WinWindowFromID(myFrameCtrlHWND, IDCNR_PLAYLIST);
    480480        WinSendMsg(hwndContainer,CM_QUERYCNRINFO, MPFROMP(&cnrInfo),
     
    489489      /* Save the HWND in the instance data */
    490490      hwndBottom=myFrameCtrlHWND;
    491       /* Save the HWND in the Window words */   
     491      /* Save the HWND in the Window words */
    492492      WinSetWindowULong( hwnd, ulQWL_BOTTOMCTRLHWND, myFrameCtrlHWND);
    493    
     493
    494494      if(hwndBottom){
    495495        /* Query the size of the dialog */
     
    498498        sizel.cy=rectl.yTop-rectl.yBottom-2;
    499499        //    sizel.cy=allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy;
    500         /* Call a method of CWProgFolder to add the dialog as a framecontrol. 
     500        /* Call a method of CWProgFolder to add the dialog as a framecontrol.
    501501           FCTL_TOP means put it at the top of the folder.
    502502           After calling cwUpdateFrame(hwnd) it will be visible */
     
    526526        SysWriteToTrapLog("\nTrap occured in %s, file: %s above line %d.\n",
    527527                          __FUNCTION__, __FILE__, __LINE__);
    528        
     528
    529529      } END_CATCH;
    530530  }
     
    543543  QMSG qmsg;
    544544  CWMediaFolder *thisPtr;
    545  
     545
    546546  thisPtr=(CWMediaFolder*)arg;    //Pointer auf CWMediaFolder-Object
    547547  hab=WinInitialize(0);
     
    575575  bufferSize=sizeof(buffer);
    576576  if(!wpScanSetupString(pSetupString, MEDIAFLDR_VOLUME, buffer,&bufferSize))
    577     { 
     577    {
    578578      ulVolume=70;
    579579      /* Set position of slider bar */
     
    593593  if(!wpScanSetupString(pSetupString,"ICONVIEWPOS",buffer,&bufferSize))
    594594    wpSetup( "ICONVIEWPOS=20,10,60,75");/* Fill in defaults */
    595  
     595
    596596  /* Set folder details- and sortclass to CWAudioShadow so track infos are shown */
    597597  bufferSize=sizeof(buffer);
    598598  if(!wpScanSetupString(pSetupString,"DETAILSCLASS",buffer,&bufferSize))
    599599    wpSetup("DETAILSCLASS=CWAudioShadow");/* Fill in defaults */
    600  
     600
    601601  bufferSize=sizeof(buffer);
    602602  if(!wpScanSetupString(pSetupString,"SORTCLASS",buffer,&bufferSize))
    603603    wpSetup("SORTCLASS=CWAudioShadow");/* Fill in defaults */
    604  
     604
    605605  /* This works only on Warp 4 and above */
    606606  bufferSize=sizeof(buffer);
     
    608608    /* This works only on Warp 4 and above */
    609609    wpSetup("DETAILSTODISPLAY=0,1,4,12,13,14,15,16,17,18,19,20,21");/* Fill in defaults */
    610  
     610
    611611  /* This works only on Warp 4 and above */
    612612  bufferSize=sizeof(buffer);
     
    614614    /* This works only on Warp 4 and above */
    615615    wpSetup("SORTBYATTR=6,24,25,26,27,28,29,30,31,32,33");/* Fill in defaults */
    616  
     616
    617617  return rcParent;
    618618}
     
    621621{
    622622  PVIEWITEM pViewItem;
    623  
     623
    624624  /* Check if we close a settings view or a folder view. */
    625625  pViewItem=thisPtr->wpFindViewItem(VIEW_DETAILS|VIEW_CONTENTS, NULLHANDLE);
     
    664664  bufferSize=sizeof(buffer);
    665665  if(wpScanSetupString(pSetupString, MEDIAFLDR_STOP, buffer,&bufferSize))
    666     { 
     666    {
    667667      HWND hwndFrame=_findOpenMediaFldrViewHWND(this);
    668668      if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame))
     
    671671  bufferSize=sizeof(buffer);
    672672  if(wpScanSetupString(pSetupString, MEDIAFLDR_NEXT, buffer,&bufferSize))
    673     { 
     673    {
    674674      HWND hwndFrame=_findOpenMediaFldrViewHWND(this);
    675675      if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame))
     
    678678  bufferSize=sizeof(buffer);
    679679  if(wpScanSetupString(pSetupString, MEDIAFLDR_PREV, buffer,&bufferSize))
    680     { 
     680    {
    681681      HWND hwndFrame=_findOpenMediaFldrViewHWND(this);
    682682      if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame))
     
    687687  bufferSize=sizeof(buffer);
    688688  if(wpScanSetupString(pSetupString, MEDIAFLDR_VOLUME, buffer,&bufferSize))
    689     { 
     689    {
    690690      ulVolume=atol(buffer);
    691691      if(ulVolume<0)
     
    699699  bufferSize=sizeof(buffer);
    700700  if(wpScanSetupString(pSetupString, MEDIAFLDR_REPEAT, buffer,&bufferSize))
    701     { 
     701    {
    702702      switch(atol(buffer))
    703703        {
     
    779779ULONG CWMediaFolder::wpAddFolderView1Page(HWND hwndNotebook)
    780780{
    781   /* 
     781  /*
    782782     Removing this page also means removing the XWorkplace
    783783     view page. It would be possible to call the XWP method
     
    836836    }
    837837  /*
    838    
     838
    839839    Climb up the list of parents to make sure we call the right
    840840    method if the parent was replaced. Otherwise we may skip a replacement class
     
    848848                            1,
    849849                            __ClassObject->
    850                             somGetMethodToken(mySomId))                   
    851         )(this, hwndNotebook, ppageinfo); 
     850                            somGetMethodToken(mySomId))
     851        )(this, hwndNotebook, ppageinfo);
    852852    SOMFree(mySomId);
    853853    return rc;
    854854  }
    855   else 
     855  else
    856856    return CWProgFolder::wpInsertSettingsPage(hwndNotebook, ppageinfo);
    857857}
     
    886886      ulPrivFlags&= ~MFLDR_VIEW_COMPACT;
    887887      return rcParent;
    888     case ID_MENUVIEWCOMPACT: /* Compact view */ 
     888    case ID_MENUVIEWCOMPACT: /* Compact view */
    889889      if(cwShrinkFolderToCompact(hwndFrame)) {
    890890        /* Mark that we are in compact view. May be removed later when 'Compact'
     
    950950                            1,
    951951                            __ClassObject->
    952                             somGetMethodToken(mySomId))                   
    953         )(this, ulFlags, hwndCnr, fMultiSelect); 
     952                            somGetMethodToken(mySomId))
     953        )(this, ulFlags, hwndCnr, fMultiSelect);
    954954    SOMFree(mySomId);
    955955    return rc & ~( CTXT_TREE | CTXT_ICON);
    956956  }
    957   else 
     957  else
    958958    return CWProgFolder::wpFilterPopupMenu( ulFlags, hwndCnr, fMultiSelect) & ~( CTXT_TREE | CTXT_ICON);
    959959}
     
    970970                              1,
    971971                              __ClassObject->
    972                               somGetMethodToken(mySomId))                 
    973           )(this, ulView,pReserved); 
     972                              somGetMethodToken(mySomId))
     973          )(this, ulView,pReserved);
    974974      SOMFree(mySomId);
    975975    }
    976     else 
     976    else
    977977      rc=CWProgFolder::wpRefresh(ulView, pReserved);
    978978
     
    993993                              1,
    994994                              __ClassObject->
    995                               somGetMethodToken(mySomId))                   
    996           )(this,hwndNotebook); 
     995                              somGetMethodToken(mySomId))
     996          )(this,hwndNotebook);
    997997      SOMFree(mySomId);
    998998    }
    999     else 
     999    else
    10001000      rc=CWProgFolder::wpAddSettingsPages(hwndNotebook);
    1001    
     1001
    10021002    if(!queryResModuleHandle()) {
    10031003      errorResource();
     
    10111011{
    10121012  WPObject *wpObject;
    1013   WPFileSystem *wpFSObject;
    1014   ULONG ulNum;
    1015   ULONG a;
    1016   MRESULT mr;
    1017   SOMClass *mmAudioClass=somhlpQueryMMAudioClass();
    1018   SOMClass *mmMIDIClass=somhlpGetSomClass("MMMIDI");
    1019   SOMClass *cwAudioClass=somhlpGetSomClass("CWAudioShadow");
    1020 
    1021 
    1022   mr=MRFROM2SHORT( DOR_DROP, DO_LINK);
    1023   ulNum=DrgQueryDragitemCount(pDragInfo);/* Num items */
    1024 
    1025   if(pDragInfo->usOperation!=DO_DEFAULT && pDragInfo->usOperation!=DO_LINK)
    1026     //    return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */
    1027     {
    1028       /* Only CWAudioShadows may be copied or moved */
    1029       for(a=0;a<ulNum && SHORT1FROMMR(mr)!=DOR_NEVERDROP; a++)
    1030         {
    1031           /* Check every object dragged */
    1032           wpObject=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, a)->ulItemID);
    1033           if(!wpObject->somIsA(cwAudioClass))
    1034             {
    1035               return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */
    1036             }
    1037         }
    1038       return MRFROM2SHORT( DOR_DROP, DO_MOVE);/*  */
    1039       return MRFROM2SHORT( DOR_DROP, pDragInfo->usOperation);/*  */
    1040     }
    1041 
    1042 
    1043   for(a=0;a<ulNum && SHORT1FROMMR(mr)!=DOR_NEVERDROP; a++)
    1044     {
    1045       /* Check every object dragged */
    1046       wpObject=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, a)->ulItemID);
    1047       /* Get the filesystem object in case it's a shadow */
    1048       wpFSObject=(WPFileSystem*)cwGetFileSystemObject(wpObject);
    1049       if(!somIsObj(wpFSObject))
    1050         return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an object */
    1051       if(!wpFSObject->somIsA(cwAudioClass) && !wpFSObject->somIsA(mmAudioClass) && !wpFSObject->somIsA(mmMIDIClass))
    1052         return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */
    1053     }
    1054   /* The following is necessary because for some reason hwndCnr and pDragInfo->hwndSource
    1055      are equal when the dragged object resides in the same folder as the target and the target
    1056      isn't opened yet. Without this check the dragged object would be moved not linked. */
    1057   if(this->wpQueryFolder()==wpObject->wpQueryFolder())
    1058       return MRFROM2SHORT(DOR_DROP,DO_LINK);
    1059   /* Do not create shadows if the source is the current container */
    1060   if(hwndCnr==pDragInfo->hwndSource)
    1061     return MRFROM2SHORT( DOR_DROP, DO_MOVE);
    1062 
    1063   return mr;
     1013  USHORT usIndicator=DOR_DROP,usOp=DO_LINK;
     1014  SOMClass *mmAudioClass = somhlpGetSomClass("MMAudio");
     1015  SOMClass *cdTrackClass = somhlpGetSomClass("MMCDTrack");
     1016
     1017  if (DrgAccessDraginfo(pDragInfo)) {
     1018     ULONG ulNum=DrgQueryDragitemCount(pDragInfo);/* Num items */
     1019     ULONG a=0;
     1020
     1021     for(a=0;a<ulNum; a++)
     1022       {
     1023         PDRAGITEM pDragItem = DrgQueryDragitemPtr(pDragInfo,a);
     1024         if (!DrgVerifyRMF(pDragItem,"DRM_OBJECT","DRF_OBJECT")) {
     1025            usIndicator = DOR_NEVERDROP;
     1026            usOp = 0;
     1027            goto quit;
     1028         } /* endif */
     1029         /* Check every object dragged */
     1030         wpObject=(WPObject*)OBJECT_FROM_PREC(pDragItem->ulItemID);
     1031         if (!somIsObj(wpObject) || !wpObject->somIsA(mmAudioClass) || wpObject->somIsA(cdTrackClass)) {
     1032            usIndicator = DOR_NEVERDROP;
     1033            usOp = 0;
     1034            goto quit;
     1035         } /* endif */
     1036#if 0
     1037         if (somIsObj(wpObject) && this->wpQueryFolder() == wpObject->wpQueryFolder()) {
     1038            usIndicator = DOR_DROP;
     1039            usOp = DO_LINK;
     1040         } /* endif */
     1041#endif
     1042       }
     1043     /* Do not create shadows if the source is the current container */
     1044     if(hwndCnr==pDragInfo->hwndSource) {
     1045        usIndicator = DOR_DROP;
     1046        usOp = DO_MOVE;
     1047     }
     1048
     1049quit:
     1050     DrgFreeDraginfo(pDragInfo);
     1051  } /* endif */
     1052
     1053  return MRFROM2SHORT(usIndicator,usOp);
    10641054}
    10651055
     
    10781068    return;
    10791069  thisPtr=(CWMediaFolder*)threadParams->thisPtr;    //Pointer auf CWMediaFolder-Object
    1080  
     1070
    10811071  if(!somIsObj(thisPtr))
    10821072    return;
    1083  
     1073
    10841074  if(thisPtr->mfData)
    10851075    thisPtr->mfData->bProcessing=TRUE;
    1086  
     1076
    10871077  hab=WinInitialize(0);
    10881078  if(hab) {
     
    10971087      /* Needed for specifying the drop point */
    10981088      POINTL ptl;
    1099       PMINIRECORDCORE pmrc; 
     1089      PMINIRECORDCORE pmrc;
    11001090      CNRINFO cnrInfo;
    11011091      int ID;
     
    11091099        hwndSource=threadParams->hwndSource;
    11101100        ulNumObjects=threadParams->ulNumObjects;
    1111        
     1101
    11121102        if((mySomId=somIdFromString(SHADOW_CLASS_NAME))!=NULLHANDLE) {
    11131103          WPFileSystem *wpFSObject;
     
    11211111              ptl.x=threadParams->ptl.x;
    11221112              ptl.y=threadParams->ptl.y;
    1123              
     1113
    11241114              /* Map to CNR */
    11251115              WinMapWindowPoints(HWND_DESKTOP, hwndCnr,&ptl, 1);
    1126               ptl.y+=10;         
     1116              ptl.y+=10;
    11271117              /* Window below the mouse ptr. We need it to check if we are over the column title area. */
    11281118              ID=WinQueryWindowUShort(WinWindowFromPoint(hwndCnr,&ptl, TRUE),QWS_ID);
    11291119              ptl.y-=10;
    1130              
     1120
    11311121              /* Find the record near the drop point */
    11321122              qRecRcl.cb=sizeof(qRecRcl);
     
    11381128              pmrc=(PMINIRECORDCORE)WinSendMsg(hwndCnr, CM_QUERYRECORDFROMRECT,MPFROMLONG(CMA_FIRST),
    11391129                                               MPFROMP(&qRecRcl));
    1140               WinSendMsg(hwndCnr, CM_QUERYCNRINFO, MPFROMP(&cnrInfo), MPFROMSHORT(sizeof(cnrInfo)));       
     1130              WinSendMsg(hwndCnr, CM_QUERYCNRINFO, MPFROMP(&cnrInfo), MPFROMSHORT(sizeof(cnrInfo)));
    11411131            }/*if(hwndSource!=hwndCnr)*/
    1142            
    1143             /* For all dropped objects */ 
     1132
     1133            /* For all dropped objects */
    11441134            for(ulCount=0; ulCount<ulNumObjects; ulCount++) {
    11451135              if(ulCount%10)/* Redraw window every 10 objects */
     
    11471137              else
    11481138                WinEnableWindowUpdate(hwndCnr, TRUE);
    1149              
     1139
    11501140              wpObject=(WPObject*) threadParams->wpObject[ulCount];
    11511141              /* Get the filesystem object in case it's a shadow */
     
    11611151                      /* Detailsview */
    11621152                      RECORDINSERT recInsert;
    1163                      
     1153
    11641154                      recInsert.cb=sizeof(recInsert);
    11651155                      recInsert.pRecordParent=NULL;
     
    11671157                      recInsert.zOrder=CMA_TOP;
    11681158                      recInsert.cRecordsInsert=1;
    1169                      
     1159
    11701160                      //     WinEnableWindowUpdate(hwndCnr, FALSE);
    11711161                      /* Create the shadow */
     
    12121202                            __FUNCTION__, __FILE__, __LINE__);
    12131203        } END_CATCH;
    1214        
     1204
    12151205        WinDestroyMsgQueue(hmq);
    12161206    }
     
    12191209  if(thisPtr->mfData)
    12201210    thisPtr->mfData->bProcessing=FALSE;
    1221  
     1211
    12221212  thisPtr->wpFreeMem((PBYTE)threadParams);
    12231213}
     
    12271217MRESULT CWMediaFolder::wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem)
    12281218{
    1229   WPObject *wpObject;
    1230   somId mySomId;
    1231   M_WPObject *mAudioObject;
    1232   SOMClass*  scCWShadowClass;
    1233   ULONG ulCount;
    1234   ULONG ulNumObjects=DrgQueryDragitemCount(pDragInfo);
    1235 
    1236   /* Needed for specifying the drop point */
    1237   POINTL ptl;
    1238   PMINIRECORDCORE pmrc;
    1239   CNRINFO cnrInfo;
    1240   int ID;
    1241  
    1242   /* The objects are already checked by the wpDragOver() method. */
    1243   TRY_LOUD(MEDIAFLDR_DROP) {
    1244     PDROPTHREADPARAMS pThreadParams;
    1245     ULONG ulErr;
    1246     WPObject* wpObj;
    1247    
    1248     /* DROPTHREADPARAMS already contains one WPObject var so only memory for ulNumObjects-1 must be added to the end */
    1249     pThreadParams=(PDROPTHREADPARAMS)wpAllocMem(sizeof(DROPTHREADPARAMS)+(ulNumObjects-1)*sizeof(WPObject*), &ulErr);
    1250     pThreadParams->hwndCnr=hwndCnr;
    1251     pThreadParams->hwndSource=pDragInfo->hwndSource;
    1252     pThreadParams->ulNumObjects=DrgQueryDragitemCount(pDragInfo);
    1253     pThreadParams->thisPtr=this;
    1254     pThreadParams->ptl.x=pDragInfo->xDrop;
    1255     pThreadParams->ptl.y=pDragInfo->yDrop;
    1256              
    1257     /* For all dropped objects */
    1258     for(ulCount=0;ulCount<ulNumObjects ; ulCount++) {
    1259       pThreadParams->wpObject[ulCount]=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, ulCount)->ulItemID);
    1260     }
    1261     _beginthread(dropThreadFunc,NULL,8192*16,(void*)pThreadParams); //Fehlerbehandlung fehlt
     1219  if (DrgAccessDraginfo(pDragInfo)) {
     1220    /* The objects are already checked by the wpDragOver() method. */
     1221    TRY_LOUD(MEDIAFLDR_DROP) {
     1222       PDROPTHREADPARAMS pThreadParams;
     1223       ULONG ulErr;
     1224       ULONG ulCount;
     1225       ULONG ulNumObjects=DrgQueryDragitemCount(pDragInfo);
     1226
     1227       /* DROPTHREADPARAMS already contains one WPObject var so only memory for ulNumObjects-1 must be added to the end */
     1228       pThreadParams=(PDROPTHREADPARAMS)wpAllocMem(sizeof(DROPTHREADPARAMS)+(ulNumObjects-1)*sizeof(WPObject*), &ulErr);
     1229       pThreadParams->hwndCnr=hwndCnr;
     1230       pThreadParams->hwndSource=pDragInfo->hwndSource;
     1231       pThreadParams->ulNumObjects=ulNumObjects;
     1232       pThreadParams->thisPtr=this;
     1233       pThreadParams->ptl.x=pDragInfo->xDrop;
     1234       pThreadParams->ptl.y=pDragInfo->yDrop;
     1235
     1236       /* For all dropped objects */
     1237       for(ulCount=0;ulCount<ulNumObjects ; ulCount++) {
     1238         pThreadParams->wpObject[ulCount]=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, ulCount)->ulItemID);
     1239       }
     1240       _beginthread(dropThreadFunc,NULL,8192*16,(void*)pThreadParams); //Fehlerbehandlung fehlt
     1241    }
     1242    CATCH(MEDIAFLDR_DROP)
     1243    {
     1244       SysWriteToTrapLog("\nTrap occured in %s, file: %s, around line %d.\n",
     1245                         __FUNCTION__, __FILE__, __LINE__);
     1246    } END_CATCH;
     1247    DrgFreeDraginfo(pDragInfo);
    12621248  }
    1263   CATCH(MEDIAFLDR_DROP)
    1264     {
    1265       SysWriteToTrapLog("\nTrap occured in %s, file: %s, around line %d.\n",
    1266                         __FUNCTION__, __FILE__, __LINE__);
    1267     } END_CATCH;
    1268    
    1269   DrgFreeDraginfo(pDragInfo);
    1270   return (MRESULT)RC_DROP_DROPCOMPLETE;
     1249  return MRFROMLONG(RC_DROP_DROPCOMPLETE);
    12711250}
    12721251
     
    13681347    /* Start a timer which will cause the folder to close automatically after some time even
    13691348       if the user doesn't click any button. Get the timeout from the INI file if available. */
    1370     if((lDelay=PrfQueryProfileInt(HINI_USERPROFILE, "CWMM", MFLDR_TIMER_DELAY_KEY, MFLDR_MBOX_TIMER_DELAY)) 
     1349    if((lDelay=PrfQueryProfileInt(HINI_USERPROFILE, "CWMM", MFLDR_TIMER_DELAY_KEY, MFLDR_MBOX_TIMER_DELAY))
    13711350       < MFLDR_MBOX_MIN_TIMER_DELAY)
    13721351      lDelay=MFLDR_MBOX_MIN_TIMER_DELAY;
     
    13831362    }
    13841363  }
    1385   cwStopAudioFile(hwndFrame); 
     1364  cwStopAudioFile(hwndFrame);
    13861365  /* Stop the playing thread */
    13871366  WinPostMsg(mfData->hwndPlayObject, WM_QUIT, 0, 0);
Note: See TracChangeset for help on using the changeset viewer.