--- np2/macosx/toolwin.cpp 2003/11/11 16:33:50 1.9
+++ np2/macosx/toolwin.cpp 2003/11/12 19:06:33 1.10
@@ -107,24 +107,27 @@ static const OSType subcommand[11] ={ '-
'exit',
};
+#define BASENUMBER 4
static const ControlID popup[2] = { {'pop1', 1}, {'pop2', 2} };
static DragReceiveHandlerUPP dr;
static bool isPUMA;
static void openpopup(HIPoint location);
-static void skinchange(void);
+static void skinchange(bool remake);
// ----
static void checkOSVersion(void) {
- long res;
- Gestalt(gestaltSystemVersion, &res);
- if (res<0x1020) {
- isPUMA = true;
- }
- else {
- isPUMA = false;
+ static long res = 0;
+ if (!res) {
+ Gestalt(gestaltSystemVersion, &res);
+ if (res<0x1020) {
+ isPUMA = true;
+ }
+ else {
+ isPUMA = false;
+ }
}
}
@@ -565,7 +568,7 @@ OSErr setDropFile(FSSpec spec, int drv)
case FTYPE_TEXT:
strcpy(np2tool.skin, fname);
- skinchange();
+ skinchange(true);
break;
case FTYPE_THD:
@@ -672,9 +675,6 @@ static void createskinmenu(MenuRef ret)
const char *base;
char *p;
UINT i;
- UINT j;
- UINT id[SKINMRU_MAX];
-const char *file[SKINMRU_MAX];
char longname[256];
AppendMenuItemTextWithCFString(ret, CFCopyLocalizedString(CFSTR("Select Skin..."),"Slect Skin"), kMenuItemAttrIconDisabled, NULL,NULL);
@@ -683,50 +683,40 @@ const char *file[SKINMRU_MAX];
base = np2tool.skin;
AppendMenuItemTextWithCFString(ret, CFCopyLocalizedString(CFSTR(""),"Base Skin"), kMenuItemAttrIconDisabled, NULL,NULL);
if (base[0] == '\0') {
- DisableMenuItem(ret, 3);
+ CheckMenuItem(ret, BASENUMBER-1, true);
}
for (cnt=0; cnti; j--) {
- id[j] = id[j-1];
- }
- id[i] = cnt;
- file[cnt] = p;
+ UInt32 attr = kMenuItemAttrIconDisabled;
+ if (file_attr(p) != FILEATTR_ARCHIVE) {
+ attr |= kMenuItemAttrDisabled;
+ }
+ ZeroMemory(longname, sizeof(longname));
+ if (!getLongFileName(longname, p)) {
+ strcpy(longname, file_getname(p));
+ }
+ AppendMenuItemTextWithCFString(ret, CFStringCreateWithCString(NULL, longname, kCFStringEncodingUTF8), attr, NULL, NULL);
}
for (i=0; i