home *** CD-ROM | disk | FTP | other *** search
- // Gadgets.c
-
- #include <string.h>
- #include <proto/dos.h>
- #include <proto/intuition.h>
- #include <proto/gadtools.h>
- #include <proto/multiuser.h>
- #include "MFileMode.h"
- #include "GUI.h"
-
- int GAD_FILEClicked(VOID)
- {
- static ULONG StartSecs = 0, StartMicros = 0;
- UBYTE TempPath[81];
- BPTR File;
-
- WriteData();
-
- strncpy(TempPath, Path, 80);
- AddPart(TempPath, FileNames[MainMsg.Code], 80);
-
- if(File = Lock(TempPath, ACCESS_READ))
- {
- Examine(File, &FileInfo);
-
- if((DoubleClick(StartSecs, StartMicros, MainMsg.Seconds,
- MainMsg.Micros)) && (MainMsg.Code == EntryNum) &&
- (FileInfo.fib_DirEntryType >= 0))
- {
- AddPart(Path, FileNames[MainMsg.Code], 80);
-
- LoadDirectory(File, &FileList);
-
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
- GTTX_Text, Path,
- TAG_END);
-
- Selected = FALSE;
- }
- else
- {
- SetGadgets(&FileInfo);
-
- Selected = TRUE;
- Changed = FALSE;
- }
-
- UnLock(File);
- }
- else
- AlertUser(MainWnd, "Can't lock file", TempPath);
-
- StartSecs = MainMsg.Seconds;
- StartMicros = MainMsg.Micros;
- EntryNum = MainMsg.Code;
-
- return TRUE;
- }
-
- int GAD_VOLUMESClicked(VOID)
- {
- WriteData();
-
- LoadVolumes(&FileList);
-
- Selected = FALSE;
-
- return TRUE;
- }
-
- int GAD_PARENTClicked(VOID)
- {
- BPTR File, Parent;
-
- WriteData();
-
- if(File = Lock(Path, ACCESS_READ))
- {
- if(Parent = ParentDir(File))
- {
- LoadDirectory(Parent, &FileList);
-
- if(NameFromLock(Parent, Path, 80))
- {
- GT_SetGadgetAttrs(MainGadgets[GD_GAD_PATH], MainWnd, NULL,
- GTTX_Text, Path,
- TAG_END);
- }
- else
- AlertUser(MainWnd, "Path too large", "");
-
- UnLock(Parent);
- }
- else
- {
- LoadVolumes(&FileList);
- }
-
- UnLock(File);
- }
- else
- AlertUser(MainWnd, "Can't lock file ", Path);
-
- Selected = FALSE;
-
- return TRUE;
- }
-
- int GAD_OWNERClicked(VOID)
- {
- strncpy(UserInfo->UserID, GetString(MainGadgets[GD_GAD_OWNER]),
- muUSERIDSIZE);
-
- if(muGetUserInfo(UserInfo, muKeyType_UserID))
- Changed = TRUE;
- else
- AlertUser(MainWnd, "No such user", UserInfo->UserID);
-
- return TRUE;
- }
-
- int GAD_GROUPClicked(VOID)
- {
- strncpy(GroupInfo->GroupID, GetString(MainGadgets[GD_GAD_GROUP]),
- muGROUPIDSIZE);
-
- if(muGetGroupInfo(GroupInfo, muKeyType_GroupID))
- Changed = TRUE;
- else
- AlertUser(MainWnd, "No such group", GroupInfo->GroupID);
-
- return TRUE;
- }
-
- int GAD_CHECKBOXClicked(VOID)
- {
- Changed = TRUE;
-
- return TRUE;
- }
-
- int GAD_UIDClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_SCRIPTClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_PUREClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_ARCHIVEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_USER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_USER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_USER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_USER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_GROUP_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_GROUP_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_GROUP_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_GROUP_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_OTHER_READClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_OTHER_WRITEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_OTHER_EXECUTEClicked(VOID) { return GAD_CHECKBOXClicked(); }
- int GAD_OTHER_DELETEClicked(VOID) { return GAD_CHECKBOXClicked(); }
-