Add UI for AFP over TCP options (not yet operational).
This commit is contained in:
parent
a610156e9a
commit
df9a9f8821
52
afpcdev.c
52
afpcdev.c
|
@ -17,6 +17,7 @@
|
||||||
#include <lineedit.h>
|
#include <lineedit.h>
|
||||||
#include <memory.h>
|
#include <memory.h>
|
||||||
#include <desk.h>
|
#include <desk.h>
|
||||||
|
#include <menu.h>
|
||||||
#include <finder.h>
|
#include <finder.h>
|
||||||
#include "afpurlparser.h"
|
#include "afpurlparser.h"
|
||||||
#include "cdevutil.h"
|
#include "cdevutil.h"
|
||||||
|
@ -37,9 +38,16 @@
|
||||||
#define urlLine 3
|
#define urlLine 3
|
||||||
#define saveAliasBtn 4
|
#define saveAliasBtn 4
|
||||||
#define connectBtn 1
|
#define connectBtn 1
|
||||||
|
#define optionsPopUp 6
|
||||||
|
#define trianglePic 7
|
||||||
|
|
||||||
#define saveFilePrompt 100
|
#define saveFilePrompt 100
|
||||||
|
|
||||||
|
#define optionsMenu 300
|
||||||
|
#define afpOverTCPOptionsItem 301
|
||||||
|
#define useLargeReadsItem 302
|
||||||
|
#define forceAFP22Item 303
|
||||||
|
|
||||||
#define fstMissingError 3000
|
#define fstMissingError 3000
|
||||||
#define noEasyMountError 3001
|
#define noEasyMountError 3001
|
||||||
#define tempFileError 3002
|
#define tempFileError 3002
|
||||||
|
@ -97,6 +105,11 @@ SFReplyRec2 sfReplyRec;
|
||||||
|
|
||||||
Word modifiers = 0;
|
Word modifiers = 0;
|
||||||
|
|
||||||
|
#define fLargeReads 0x0001
|
||||||
|
#define fForceAFP22 0x0002
|
||||||
|
|
||||||
|
Word flags = fLargeReads; /* for AFP over TCP connections */
|
||||||
|
|
||||||
void fillEasyMountRec(char *server, char *zone, char *volume, char *user,
|
void fillEasyMountRec(char *server, char *zone, char *volume, char *user,
|
||||||
char *password, char *volpass)
|
char *password, char *volpass)
|
||||||
{
|
{
|
||||||
|
@ -420,8 +433,11 @@ err:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoHit(long ctlID)
|
void DoHit(long ctlID, CtlRecHndl ctlHandle)
|
||||||
{
|
{
|
||||||
|
CtlRecHndl oldMenuBar;
|
||||||
|
Word menuItem;
|
||||||
|
|
||||||
if (!wPtr) /* shouldn't happen */
|
if (!wPtr) /* shouldn't happen */
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -429,6 +445,21 @@ void DoHit(long ctlID)
|
||||||
DoConnect();
|
DoConnect();
|
||||||
} else if (ctlID == saveAliasBtn) {
|
} else if (ctlID == saveAliasBtn) {
|
||||||
DoSave();
|
DoSave();
|
||||||
|
} else if (ctlID == optionsPopUp) {
|
||||||
|
oldMenuBar = GetMenuBar();
|
||||||
|
SetMenuBar(ctlHandle);
|
||||||
|
menuItem = GetCtlValue(ctlHandle);
|
||||||
|
|
||||||
|
if (menuItem == useLargeReadsItem) {
|
||||||
|
flags ^= fLargeReads;
|
||||||
|
CheckMItem((flags & fLargeReads) ? TRUE : FALSE, useLargeReadsItem);
|
||||||
|
} else if (menuItem == forceAFP22Item) {
|
||||||
|
flags ^= fForceAFP22;
|
||||||
|
CheckMItem((flags & fForceAFP22) ? TRUE : FALSE, forceAFP22Item);
|
||||||
|
}
|
||||||
|
|
||||||
|
SetCtlValue(afpOverTCPOptionsItem, ctlHandle);
|
||||||
|
SetMenuBar(oldMenuBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -488,16 +519,25 @@ ret:
|
||||||
SetPort(port);
|
SetPort(port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DoCreate(WindowPtr windPtr)
|
||||||
|
{
|
||||||
|
int mode;
|
||||||
|
|
||||||
|
wPtr = windPtr;
|
||||||
|
mode = (GetMasterSCB() & scbColorMode) ? 640 : 320;
|
||||||
|
NewControl2(wPtr, resourceToResource, mode);
|
||||||
|
}
|
||||||
|
|
||||||
LongWord cdevMain (LongWord data2, LongWord data1, Word message)
|
LongWord cdevMain (LongWord data2, LongWord data1, Word message)
|
||||||
{
|
{
|
||||||
long result = 0;
|
long result = 0;
|
||||||
|
|
||||||
switch(message) {
|
switch(message) {
|
||||||
case MachineCDEV: result = DoMachine(); break;
|
case MachineCDEV: result = DoMachine(); break;
|
||||||
case HitCDEV: DoHit(data2); break;
|
case HitCDEV: DoHit(data2, (CtlRecHndl)data1); break;
|
||||||
case EditCDEV: DoEdit(data1 & 0xFFFF); break;
|
case EditCDEV: DoEdit(data1 & 0xFFFF); break;
|
||||||
case InitCDEV: wPtr = (WindowPtr)data1; break;
|
case CreateCDEV: DoCreate((WindowPtr)data1); break;
|
||||||
case CloseCDEV: wPtr = NULL; break;
|
case CloseCDEV: wPtr = NULL; break;
|
||||||
case EventsCDEV: /* Now done in assembly for speed. Equivalent to: */
|
case EventsCDEV: /* Now done in assembly for speed. Equivalent to: */
|
||||||
/* modifiers = ((EventRecordPtr)data1)->modifiers; */
|
/* modifiers = ((EventRecordPtr)data1)->modifiers; */
|
||||||
break;
|
break;
|
||||||
|
|
126
afpcdev.rez
126
afpcdev.rez
|
@ -1,7 +1,7 @@
|
||||||
#include "types.rez"
|
#include "types.rez"
|
||||||
|
|
||||||
resource rCDEVFlags (1) {
|
resource rCDEVFlags (1) {
|
||||||
wantMachine+wantHit+wantInit+wantClose+wantEvents+wantEdit,
|
wantMachine+wantHit+wantClose+wantEvents+wantEdit+wantCreate,
|
||||||
1, /* enabled */
|
1, /* enabled */
|
||||||
1, /* version */
|
1, /* version */
|
||||||
1, /* min ROM version */
|
1, /* min ROM version */
|
||||||
|
@ -68,28 +68,48 @@ resource rIcon (1) {
|
||||||
#define urlLine 3
|
#define urlLine 3
|
||||||
#define saveAliasBtn 4
|
#define saveAliasBtn 4
|
||||||
#define connectBtn 1
|
#define connectBtn 1
|
||||||
|
#define optionsPopUp 6
|
||||||
|
#define trianglePic 7
|
||||||
|
|
||||||
#define helpTxt 5
|
#define helpTxt 5
|
||||||
|
|
||||||
#define saveFilePrompt 100
|
#define saveFilePrompt 100
|
||||||
|
|
||||||
|
#define optionsMenu 300
|
||||||
|
#define afpOverTCPOptionsItem 301
|
||||||
|
#define useLargeReadsItem 302
|
||||||
|
#define forceAFP22Item 303
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Controls in the control panel window
|
* Controls in the control panel window (for 640 mode or 320 mode)
|
||||||
*/
|
*/
|
||||||
resource rControlList (1) {
|
resource rControlList (640) {
|
||||||
{
|
{
|
||||||
cdevWindow+serverAddressTxt,
|
cdevWindow+serverAddressTxt,
|
||||||
cdevWindow+urlLine,
|
cdevWindow+urlLine,
|
||||||
cdevWindow+saveAliasBtn,
|
cdevWindow+saveAliasBtn,
|
||||||
cdevWindow+connectBtn
|
cdevWindow+connectBtn,
|
||||||
|
cdevWindow+trianglePic,
|
||||||
|
cdevWindow+optionsPopUp
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
resource rControlList (320) {
|
||||||
|
{
|
||||||
|
cdevWindow+serverAddressTxt,
|
||||||
|
cdevWindow+urlLine,
|
||||||
|
cdevWindow+saveAliasBtn,
|
||||||
|
cdevWindow+connectBtn,
|
||||||
|
cdevWindow+trianglePic+320,
|
||||||
|
cdevWindow+optionsPopUp+320
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
resource rControlTemplate (cdevWindow+serverAddressTxt) {
|
resource rControlTemplate (cdevWindow+serverAddressTxt) {
|
||||||
serverAddressTxt, /* control ID */
|
serverAddressTxt, /* control ID */
|
||||||
{4, 10, 15, 310}, /* control rect */
|
{4, 10, 15, 270}, /* control rect */
|
||||||
statTextControl {{
|
statTextControl {{
|
||||||
0, /* flags */
|
fBlastText, /* flags */
|
||||||
$1000+RefIsResource, /* moreFlags */
|
$1000+RefIsResource, /* moreFlags */
|
||||||
0, /* refCon */
|
0, /* refCon */
|
||||||
cdevWindow+serverAddressTxt /* title ref */
|
cdevWindow+serverAddressTxt /* title ref */
|
||||||
|
@ -142,6 +162,100 @@ resource rControlTemplate (cdevWindow+connectBtn) {
|
||||||
|
|
||||||
resource rPString(cdevWindow+connectBtn) { "Connect" };
|
resource rPString(cdevWindow+connectBtn) { "Connect" };
|
||||||
|
|
||||||
|
/* Options menu pop-up -- separate versions for 640 mode and 320 mode */
|
||||||
|
resource rControlTemplate (cdevWindow+optionsPopUp) {
|
||||||
|
optionsPopUp,
|
||||||
|
{5, 282, 13, 310 },
|
||||||
|
PopUpControl {{
|
||||||
|
fDontDrawTitle+fDontDrawResult,
|
||||||
|
fCtlProcNotPtr+RefIsResource/*+fDrawPopDownIcon*/,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
optionsMenu, /* menu ref */
|
||||||
|
afpOverTCPOptionsItem, /* initial value */
|
||||||
|
0
|
||||||
|
}};
|
||||||
|
};
|
||||||
|
|
||||||
|
resource rControlTemplate (cdevWindow+optionsPopUp+ 320) {
|
||||||
|
optionsPopUp,
|
||||||
|
{5, 296, 13, 310 },
|
||||||
|
PopUpControl {{
|
||||||
|
fDontDrawTitle+fDontDrawResult,
|
||||||
|
fCtlProcNotPtr+RefIsResource/*+fDrawPopDownIcon*/,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
optionsMenu, /* menu ref */
|
||||||
|
afpOverTCPOptionsItem, /* initial value */
|
||||||
|
0
|
||||||
|
}};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Triangle to draw on options pop-up */
|
||||||
|
resource rControlTemplate (cdevWindow+trianglePic) {
|
||||||
|
trianglePic,
|
||||||
|
{7, 286, 11, 302},
|
||||||
|
PictureControl {{
|
||||||
|
CtlInactive,
|
||||||
|
fCtlProcNotPtr+RefIsResource,
|
||||||
|
0,
|
||||||
|
trianglePic /* picture reference */
|
||||||
|
}};
|
||||||
|
};
|
||||||
|
|
||||||
|
resource rControlTemplate (cdevWindow+trianglePic+320) {
|
||||||
|
trianglePic,
|
||||||
|
{7, 298, 0, 0},
|
||||||
|
PictureControl {{
|
||||||
|
CtlInactive,
|
||||||
|
fCtlProcNotPtr+RefIsResource,
|
||||||
|
0,
|
||||||
|
trianglePic /* picture reference */
|
||||||
|
}};
|
||||||
|
};
|
||||||
|
|
||||||
|
data rPicture (trianglePic) {
|
||||||
|
$"8000 0000 0000 0400 1000 1182 0100 0A00"
|
||||||
|
$"01C0 01C0 FF3F FF3F 9000 8000 0000 0400"
|
||||||
|
$"0000 0000 0400 1000 0000 0000 0400 1000"
|
||||||
|
$"0000 0000 0400 1000 0000 0000 0000 F000"
|
||||||
|
$"000F FF00 00FF FFF0 0FFF"
|
||||||
|
};
|
||||||
|
|
||||||
|
resource rMenu (optionsMenu) {
|
||||||
|
optionsMenu, /* menu ID */
|
||||||
|
refIsResource*menuTitleRefShift + refIsResource*itemRefShift,
|
||||||
|
optionsMenu, /* menu title ref (not drawn) */
|
||||||
|
{afpOverTCPOptionsItem, useLargeReadsItem, forceAFP22Item};
|
||||||
|
};
|
||||||
|
resource rPString(optionsMenu,noCrossBank) { "" };
|
||||||
|
|
||||||
|
resource rMenuItem (afpOverTCPOptionsItem) {
|
||||||
|
afpOverTCPOptionsItem, /* menu item ID */
|
||||||
|
"","",
|
||||||
|
0,
|
||||||
|
fDisabled+refIsResource*itemTitleRefShift,
|
||||||
|
afpOverTCPOptionsItem /* menu item title ref */
|
||||||
|
};
|
||||||
|
resource rPString(afpOverTCPOptionsItem,noCrossBank) { "AFP Over TCP Options:" };
|
||||||
|
|
||||||
|
resource rMenuItem (useLargeReadsItem) {
|
||||||
|
useLargeReadsItem, /* menu item ID */
|
||||||
|
"","",
|
||||||
|
$12,
|
||||||
|
refIsResource*itemTitleRefShift,
|
||||||
|
useLargeReadsItem /* menu item title ref */
|
||||||
|
};
|
||||||
|
resource rPString(useLargeReadsItem,noCrossBank) { "Use Large Reads" };
|
||||||
|
|
||||||
|
resource rMenuItem (forceAFP22Item) {
|
||||||
|
forceAFP22Item, /* menu item ID */
|
||||||
|
"","",
|
||||||
|
0,
|
||||||
|
refIsResource*itemTitleRefShift,
|
||||||
|
forceAFP22Item /* menu item title ref */
|
||||||
|
};
|
||||||
|
resource rPString(forceAFP22Item,noCrossBank) { "Force AFP Version 2.2" };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Controls in the help window
|
* Controls in the help window
|
||||||
|
|
Loading…
Reference in New Issue