home *** CD-ROM | disk | FTP | other *** search
- // Gadgets.c - Copyright © 1994 Mike Austin
-
- #include <dos/dos.h>
- #include <proto/gadtools.h>
- #include <proto/multiuser.h>
- #include "MFileMode.h"
- #include "GUI.h"
-
- VOID SetGadgets(struct FileInfoBlock *FileInfo)
- {
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_UID],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & muFIBF_SET_UID),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_SCRIPT],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_SCRIPT),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_PURE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_PURE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_ARCHIVE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_ARCHIVE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_READ],
- MainWnd, NULL,
- GTCB_Checked, !(FileInfo->fib_Protection & FIBF_READ),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_WRITE],
- MainWnd, NULL,
- GTCB_Checked, !(FileInfo->fib_Protection & FIBF_WRITE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_EXECUTE],
- MainWnd, NULL,
- GTCB_Checked, !(FileInfo->fib_Protection & FIBF_EXECUTE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_USER_DELETE],
- MainWnd, NULL,
- GTCB_Checked, !(FileInfo->fib_Protection & FIBF_DELETE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_READ],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_READ),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_WRITE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_WRITE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_EXECUTE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_EXECUTE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP_DELETE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_GRP_DELETE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_READ],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_READ),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_WRITE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_WRITE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_EXECUTE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_EXECUTE),
- TAG_END);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_OTHER_DELETE],
- MainWnd, NULL,
- GTCB_Checked, (FileInfo->fib_Protection & FIBF_OTR_DELETE),
- TAG_END);
-
- UserInfo->uid = FileInfo->fib_OwnerUID;
- muGetUserInfo(UserInfo, muKeyType_uid);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_OWNER],
- MainWnd, NULL,
- GTST_String, FileInfo->fib_OwnerUID ? UserInfo->UserID : NULL,
- TAG_END);
-
- GroupInfo->gid = FileInfo->fib_OwnerGID;
- muGetGroupInfo(GroupInfo, muKeyType_gid);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_GROUP],
- MainWnd, NULL,
- GTST_String, FileInfo->fib_OwnerGID ? GroupInfo->GroupID : NULL,
- TAG_END);
- }
-
- VOID ReadGadgets(struct FileInfoBlock *FileInfo)
- {
- if(MainGadgets[GD_GAD_UID]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= muFIBF_SET_UID;
- else
- FileInfo->fib_Protection &= ~muFIBF_SET_UID;
-
- if(MainGadgets[GD_GAD_SCRIPT]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_SCRIPT;
- else
- FileInfo->fib_Protection &= ~FIBF_SCRIPT;
-
- if(MainGadgets[GD_GAD_PURE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_PURE;
- else
- FileInfo->fib_Protection &= ~FIBF_PURE;
-
- if(MainGadgets[GD_GAD_ARCHIVE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_ARCHIVE;
- else
- FileInfo->fib_Protection &= ~FIBF_ARCHIVE;
-
- if(MainGadgets[GD_GAD_USER_READ]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection &= ~FIBF_READ;
- else
- FileInfo->fib_Protection |= FIBF_READ;
-
- if(MainGadgets[GD_GAD_USER_WRITE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection &= ~FIBF_WRITE;
- else
- FileInfo->fib_Protection |= FIBF_WRITE;
-
- if(MainGadgets[GD_GAD_USER_EXECUTE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection &= ~FIBF_EXECUTE;
- else
- FileInfo->fib_Protection |= FIBF_EXECUTE;
-
- if(MainGadgets[GD_GAD_USER_DELETE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection &= ~FIBF_DELETE;
- else
- FileInfo->fib_Protection |= FIBF_DELETE;
-
- if(MainGadgets[GD_GAD_GROUP_READ]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_GRP_READ;
- else
- FileInfo->fib_Protection &= ~FIBF_GRP_READ;
-
- if(MainGadgets[GD_GAD_GROUP_WRITE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_GRP_WRITE;
- else
- FileInfo->fib_Protection &= ~FIBF_GRP_WRITE;
-
- if(MainGadgets[GD_GAD_GROUP_EXECUTE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_GRP_EXECUTE;
- else
- FileInfo->fib_Protection &= ~FIBF_GRP_EXECUTE;
-
- if(MainGadgets[GD_GAD_GROUP_DELETE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_GRP_DELETE;
- else
- FileInfo->fib_Protection &= ~FIBF_GRP_DELETE;
-
- if(MainGadgets[GD_GAD_OTHER_READ]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_OTR_READ;
- else
- FileInfo->fib_Protection &= ~FIBF_OTR_READ;
-
- if(MainGadgets[GD_GAD_OTHER_WRITE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_OTR_WRITE;
- else
- FileInfo->fib_Protection &= ~FIBF_OTR_WRITE;
-
- if(MainGadgets[GD_GAD_OTHER_EXECUTE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_OTR_EXECUTE;
- else
- FileInfo->fib_Protection &= ~FIBF_OTR_EXECUTE;
-
- if(MainGadgets[GD_GAD_OTHER_DELETE]->Flags & GFLG_SELECTED)
- FileInfo->fib_Protection |= FIBF_OTR_DELETE;
- else
- FileInfo->fib_Protection &= ~FIBF_OTR_DELETE;
- }
-