Archive-Unzip-Burst
view release on metacpan or search on metacpan
unzip-6.0/macos/source/macunzip.c view on Meta::CPAN
/*****************************************************************************/
/* Macros, typedefs */
/*****************************************************************************/
#define aboutAlert 128
#define selectDialog 129
#define okItem 1
#define cancelItem 2
#define editItem 3
#define staticItem 4
#define unzipMenuBar 128
#define appleMenu 128
#define aboutItem 1
#define fileMenu 129
#define extractItem 1
#define infoItem 2
#define listItem 3
#define testItem 4
#define commentItem 6
#define freshenItem 8
#define updateItem 9
#define quitItem 11
#define editMenu 130
#define cutItem 1
#define copyItem 2
#define pasteItem 3
#define modifierMenu 131
#define excludeItem 1
#define selectItem 2
#define quietItem 9
#define verboseItem 10
#define screenMenu 132
#define pauseItem 1
#define scrollItem 2
#define extractMenu 133
#define screenItem 3
#define junkItem 5
#define caseMenu 134
#define insensitiveItem 1
#define lowercaseItem 2
#define convertMenu 135
#define autoItem 1
#define binaryItem 2
#define textItem 3
#define overwriteMenu 136
#define alwaysItem 1
#define neverItem 2
#define promptItem 3
#define infoMenu 137
#define prtCommentItem 2
#define prtHeaderItem 3
#define prtTotalsItem 4
#define formatMenu 138
#define filenameItem 1
#define longItem 2
#define mediumItem 3
#define shortItem 4
#define allFlags 0x000FFFFF
#define quietFlag 0x00000001
#define verboseFlag 0x00000002
#define pauseFlag 0x00080000
#define scrollFlag 0x00040000
#define screenFlag 0x00000004
#define junkFlag 0x00000008
#define insensitiveFlag 0x00000010
#define lowercaseFlag 0x00000020
#define autoFlag 0x00000040
#define textFlag 0x00000080
#define neverFlag 0x00000100
#define overwriteFlag 0x00000200
#define prtCommentFlag 0x00000400
#define prtHeaderFlag 0x00000800
#define prtTotalsFlag 0x00001000
#define filenameFlag 0x00002000
#define longFlag 0x00004000
#define mediumFlag 0x00008000
#define shortFlag 0x00010000
#define extractMask 0x000003FD
#define infoMask 0x0001FE02
#define listMask 0x00000001
#define testMask 0x00000001
#define commentMask 0x00000000
#define freshenMask 0x000003FD
#define updateMask 0x000003FD
/*****************************************************************************/
/* Global Vars */
/*****************************************************************************/
char UnzipVersion[32], ZipinfoVersion[32];
long modifiers, modifierMask;
EventRecord myevent;
MenuHandle appleHandle, modifierHandle, screenHandle, extractHandle;
unzip-6.0/macos/source/macunzip.c view on Meta::CPAN
check = (modifiers ^= junkFlag) & junkFlag;
break;
default:
break;
}
if (check == 0)
CheckItem(extractHandle, theitem, false);
else if (check > 0)
CheckItem(extractHandle, theitem, true);
break;
case caseMenu:
switch (theitem) {
case insensitiveItem:
check = (modifiers ^= insensitiveFlag) & insensitiveFlag;
break;
case lowercaseItem:
check = (modifiers ^= lowercaseFlag) & lowercaseFlag;
break;
default:
break;
}
if (check == 0)
CheckItem(caseHandle, theitem, false);
else if (check > 0)
CheckItem(caseHandle, theitem, true);
break;
case convertMenu:
switch (theitem) {
case autoItem:
CheckItem(convertHandle, autoItem, true);
CheckItem(convertHandle, binaryItem, false);
CheckItem(convertHandle, textItem, false);
modifiers &= (allFlags ^ textFlag);
modifiers |= autoFlag;
break;
case binaryItem:
CheckItem(convertHandle, autoItem, false);
CheckItem(convertHandle, binaryItem, true);
CheckItem(convertHandle, textItem, false);
modifiers &= (allFlags ^ (autoFlag | textFlag));
break;
case textItem:
CheckItem(convertHandle, autoItem, false);
CheckItem(convertHandle, binaryItem, false);
CheckItem(convertHandle, textItem, true);
modifiers &= (allFlags ^ autoFlag);
modifiers |= textFlag;
break;
default:
break;
}
break;
case overwriteMenu:
switch (theitem) {
case alwaysItem:
CheckItem(overwriteHandle, alwaysItem, true);
CheckItem(overwriteHandle, neverItem, false);
CheckItem(overwriteHandle, promptItem, false);
modifiers &= (allFlags ^ neverFlag);
modifiers |= overwriteFlag;
break;
case neverItem:
CheckItem(overwriteHandle, alwaysItem, false);
CheckItem(overwriteHandle, neverItem, true);
CheckItem(overwriteHandle, promptItem, false);
modifiers &= (allFlags ^ overwriteFlag);
modifiers |= neverFlag;
break;
case promptItem:
CheckItem(overwriteHandle, alwaysItem, false);
CheckItem(overwriteHandle, neverItem, false);
CheckItem(overwriteHandle, promptItem, true);
modifiers &= (allFlags ^ (neverFlag | overwriteFlag));
break;
default:
break;
}
break;
case infoMenu:
switch (theitem) {
case prtCommentItem:
check = (modifiers ^= prtCommentFlag) & prtCommentFlag;
break;
case prtHeaderItem:
check = (modifiers ^= prtHeaderFlag) & prtHeaderFlag;
break;
case prtTotalsItem:
check = (modifiers ^= prtTotalsFlag) & prtTotalsFlag;
break;
default:
break;
}
if (check == 0)
CheckItem(infoHandle, theitem, false);
else if (check > 0)
CheckItem(infoHandle, theitem, true);
break;
case formatMenu:
switch (theitem) {
case filenameItem:
CheckItem(formatHandle, filenameItem, true);
CheckItem(formatHandle, longItem, false);
CheckItem(formatHandle, mediumItem, false);
CheckItem(formatHandle, shortItem, false);
modifiers &= (allFlags ^ (longFlag | mediumFlag | shortFlag));
modifiers |= filenameFlag;
break;
case longItem:
CheckItem(formatHandle, filenameItem, false);
CheckItem(formatHandle, longItem, true);
CheckItem(formatHandle, mediumItem, false);
CheckItem(formatHandle, shortItem, false);
modifiers &= (allFlags ^ (filenameFlag | mediumFlag | shortFlag));
modifiers |= longFlag;
break;
case mediumItem:
CheckItem(formatHandle, filenameItem, false);
CheckItem(formatHandle, longItem, false);
CheckItem(formatHandle, mediumItem, true);
CheckItem(formatHandle, shortItem, false);
modifiers &= (allFlags ^ (filenameFlag | longFlag | shortFlag));
modifiers |= mediumFlag;
break;
case shortItem:
CheckItem(formatHandle, filenameItem, false);
CheckItem(formatHandle, longItem, false);
CheckItem(formatHandle, mediumItem, false);
CheckItem(formatHandle, shortItem, true);
modifiers &= (allFlags ^ (filenameFlag | longFlag | mediumFlag));
modifiers |= shortFlag;
unzip-6.0/macos/source/macunzip.c view on Meta::CPAN
InsertMenu(GetMenu(infoMenu), -1);
InsertMenu(GetMenu(formatMenu), -1);
AppendResMenu(appleHandle = GetMenuHandle(appleMenu), 'DRVR');
modifierHandle = GetMenuHandle(modifierMenu);
screenHandle = GetMenuHandle(screenMenu);
extractHandle = GetMenuHandle(extractMenu);
caseHandle = GetMenuHandle(caseMenu);
convertHandle = GetMenuHandle(convertMenu);
overwriteHandle = GetMenuHandle(overwriteMenu);
infoHandle = GetMenuHandle(infoMenu);
formatHandle = GetMenuHandle(formatMenu);
DrawMenuBar();
screenOpen("Unzip");
modifiers = 0;
GetItemMark(modifierHandle, quietItem, &markChar);
if (markChar) modifiers ^= quietFlag;
GetItemMark(modifierHandle, verboseItem, &markChar);
if (markChar) modifiers ^= verboseFlag;
GetItemMark(screenHandle, pauseItem, &markChar);
if (markChar) modifiers ^= pauseFlag;
screenControl("p", markChar);
GetItemMark(screenHandle, scrollItem, &markChar);
if (markChar) modifiers ^= scrollFlag;
screenControl("s", markChar);
GetItemMark(extractHandle, screenItem, &markChar);
if (markChar) modifiers ^= screenFlag;
GetItemMark(extractHandle, junkItem, &markChar);
if (markChar) modifiers ^= junkFlag;
GetItemMark(caseHandle, insensitiveItem, &markChar);
if (markChar) modifiers ^= insensitiveFlag;
GetItemMark(caseHandle, lowercaseItem, &markChar);
if (markChar) modifiers ^= lowercaseFlag;
GetItemMark(convertHandle, autoItem, &markChar);
if (markChar) modifiers ^= autoFlag;
GetItemMark(convertHandle, textItem, &markChar);
if (markChar) modifiers ^= textFlag;
if ((modifiers & (autoFlag | textFlag)) == (autoFlag | textFlag)) {
CheckItem(convertHandle, textItem, false);
modifiers &= (allFlags ^ textFlag);
} else if (modifiers & (autoFlag | textFlag))
CheckItem(convertHandle, binaryItem, false);
else
CheckItem(convertHandle, binaryItem, true);
GetItemMark(overwriteHandle, alwaysItem, &markChar);
if (markChar) modifiers ^= overwriteFlag;
GetItemMark(overwriteHandle, neverItem, &markChar);
if (markChar) modifiers ^= neverFlag;
if ((modifiers & (neverFlag | overwriteFlag)) == (neverFlag | overwriteFlag)) {
CheckItem(overwriteHandle, alwaysItem, false);
CheckItem(overwriteHandle, neverItem, false);
CheckItem(overwriteHandle, promptItem, true);
modifiers &= (allFlags ^ (neverFlag | overwriteFlag));
} else if (modifiers & (neverFlag | overwriteFlag))
CheckItem(overwriteHandle, promptItem, false);
else
CheckItem(overwriteHandle, promptItem, true);
GetItemMark(infoHandle, prtCommentItem, &markChar);
if (markChar) modifiers ^= prtCommentFlag;
GetItemMark(infoHandle, prtHeaderItem, &markChar);
if (markChar) modifiers ^= prtHeaderFlag;
GetItemMark(infoHandle, prtTotalsItem, &markChar);
if (markChar) modifiers ^= prtTotalsFlag;
GetItemMark(formatHandle, filenameItem, &markChar);
if (markChar) modifiers ^= filenameFlag;
GetItemMark(formatHandle, longItem, &markChar);
if (markChar) modifiers ^= longFlag;
GetItemMark(formatHandle, mediumItem, &markChar);
if (markChar) modifiers ^= mediumFlag;
GetItemMark(formatHandle, shortItem, &markChar);
if (markChar) modifiers ^= shortFlag;
if (modifiers & longFlag) {
CheckItem(formatHandle, filenameItem, false);
CheckItem(formatHandle, mediumItem, false);
CheckItem(formatHandle, shortItem, false);
modifiers &= (allFlags ^ (filenameFlag | mediumFlag | shortFlag));
} else if (modifiers & mediumFlag) {
CheckItem(formatHandle, filenameItem, false);
CheckItem(formatHandle, shortItem, false);
modifiers &= (allFlags ^ (filenameFlag | shortFlag));
} else if (modifiers & shortFlag) {
CheckItem(formatHandle, filenameItem, false);
modifiers &= (allFlags ^ filenameFlag);
}
command = ' ';
stop = false;
while (!stop) {
SetCursor(&qd.arrow);
if (useWNE) {
haveEvent = WaitNextEvent(everyEvent, &myevent, LONG_MAX, NULL);
} else {
SystemTask();
haveEvent = GetNextEvent(everyEvent, &myevent);
}
if (haveEvent) {
switch (myevent.what) {
case activateEvt:
break;
case keyDown:
case autoKey:
dokey(&myevent);
break;
case mouseDown:
domousedown(&myevent);
break;
case updateEvt:
( run in 0.699 second using v1.01-cache-2.11-cpan-0b5f733616e )