Changeset 215


Ignore:
Timestamp:
May 3, 2025, 8:24:11 PM (3 months ago)
Author:
gyoung
Message:

Conditionally remove move, copy and create shadow when object is in a folder type where they don't function properly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/classes/c/c_mm/cwmmdataf.c

    r210 r215  
    4141#define INCL_MCIOS2
    4242#define INCL_REXXSAA
     43#define INCL_WINWORKPLACE
    4344
    4445#include <os2.h>
    4546#include <stdio.h>
     47#include <string.h>
    4648#include <rexxsaa.h>                   /* needed for Rexx */
    4749#include "os2me.h"
     
    377379                                                        BOOL fMultiSelect)
    378380{
     381    WPObject *wpFolder=NULLHANDLE;
     382    WPObject    *pLinkObj=NULLHANDLE;
     383    BOOL fOpenView=FALSE;
     384    wpFolder =  _wpQueryFolder(somSelf);
    379385  /*    CWMMDataFileData *somThis = CWMMDataFileGetData(somSelf);*/
    380386    CWMMDataFileMethodDebug("CWMMDataFile","cwmmdatafile_wpFilterPopupMenu");
    381 
    382     /*fixme? This where you would remove copy create shadow and move for Alfredo's issue GKY 2-5-25
    383     /* Remove the print menu item. */
    384     return (CWMMDataFile_parent_WPDataFile_wpFilterPopupMenu(somSelf,
    385                                                              ulFlags,
    386                                                              hwndCnr,
    387                                                              fMultiSelect)& ~CTXT_PRINT);
     387    //SysWriteToTrapLog(" %s ", _wpQueryTitle(pFolder));
     388    /*fixme? This where you would remove copy create shadow and move for Alfredo's issue GKY 2-5-25*/
     389    if(somIsObj(wpFolder)) {
     390        if(!_wpFindViewItem(wpFolder , VIEW_ANY, NULLHANDLE)) {
     391            PUSEITEM pUseItem;
     392            /* Ok, our object isn't in an open folder, but we may have a shadow somewhere in an
     393               open folder. */
     394            for(pUseItem=_wpFindUseItem(somSelf, USAGE_LINK, NULL);pUseItem;
     395                pUseItem=_wpFindUseItem(somSelf, USAGE_LINK, pUseItem))
     396              {
     397                PLINKITEM pLI=(PLINKITEM)++pUseItem;
     398                pLinkObj=pLI->LinkObj; /* The awake shadow */
     399
     400                if(somIsObj(pLinkObj)) {
     401                  wpFolder=_wpQueryFolder(pLinkObj);
     402                  if(somIsObj(wpFolder)) {
     403                    if(_wpFindViewItem(wpFolder , VIEW_ANY, NULLHANDLE)) {
     404                      fOpenView=TRUE;
     405                      break;
     406                    }
     407                  }/* somIsObj(wpFolder) */
     408                }
     409              }/* for() */
     410        }
     411    }
     412    if (fOpenView)
     413        return (CWMMDataFile_parent_WPDataFile_wpFilterPopupMenu(somSelf,
     414                                                                 ulFlags,
     415                                                                 hwndCnr,
     416                                                                 fMultiSelect)& ~(CTXT_PRINT | CTXT_MOVE |
     417                                                                                  CTXT_COPY | CTXT_LINK ));
     418    else    /* Remove the print menu item. */
     419        return (CWMMDataFile_parent_WPDataFile_wpFilterPopupMenu(somSelf,
     420                                                                 ulFlags,
     421                                                                 hwndCnr,
     422                                                                 fMultiSelect)& ~CTXT_PRINT);
    388423}
    389424
Note: See TracChangeset for help on using the changeset viewer.