Volume name and font fixes

More volume name MOR conversions.  I think I got them all.

This also switches the "archive info", "add files", and "extract
files" dialogs to use the System Font.  We were using "MS Sans
Serif" before, which looks a bit ratty on Windows 7 because it
doesn't take advantage of ClearType.  (Apparently the ClearType
version is "Microsoft Sans Serif", though when you set the "use
system font" boolean to true it changes the font name to "MS Shell
Dlg".)  The old font also seems to be missing certain glyphs, e.g.
my HFS volume name had 'TM' in it, but that just showed up as a box
(which is why, in case you were wondering, these changes ended up
together).

The new font seems to work equally well on WinXP, so I may enable
it for all dialogs in a follow-up change.  As far as I can tell it
has the same font metrics -- I haven't seen anything weird looking
in the dialogs I've updated so far.

Also, bumped the version to 4.0.0-b3.
This commit is contained in:
Andy McFadden 2015-01-15 11:25:26 -08:00
parent 87a7411dda
commit 8c34eb1213
9 changed files with 41 additions and 31 deletions

View File

@ -4,8 +4,8 @@ faddenSoft
http://www.faddensoft.com/ http://www.faddensoft.com/
CiderPress CiderPress
http://a2ciderpress.com/ http://a2ciderpress.com/
4.0.0b2 4.0.0-b3
42018 42019
C:\DATA\faddenSoft\fs.ico C:\DATA\faddenSoft\fs.ico
Copyright © 2015 CiderPress project authors. All rights reserved. Copyright © 2015 CiderPress project authors. All rights reserved.
C:\Src\CiderPress\DIST\ReadMe.txt C:\Src\CiderPress\DIST\ReadMe.txt
@ -355,7 +355,7 @@ FALSE
4095 4095
Setup400b2.exe Setup400b3.exe
FALSE FALSE

View File

@ -9,6 +9,7 @@
#include "StdAfx.h" #include "StdAfx.h"
#include "ArchiveInfoDialog.h" #include "ArchiveInfoDialog.h"
#include "../nufxlib/NufxLib.h" #include "../nufxlib/NufxLib.h"
#include "../reformat/Charset.h"
/* /*
* =========================================================================== * ===========================================================================
@ -178,13 +179,13 @@ void DiskArchiveInfoDialog::AddSubVolumes(const DiskFS* pDiskFS,
const WCHAR* prefix, int* pIdx) const WCHAR* prefix, int* pIdx)
{ {
CComboBox* pCombo = (CComboBox*) GetDlgItem(IDC_AIDISK_SUBVOLSEL); CComboBox* pCombo = (CComboBox*) GetDlgItem(IDC_AIDISK_SUBVOLSEL);
CString tmpStr;
/* /*
* Add the current DiskFS. * Add the current DiskFS.
*/ */
tmpStr = prefix; CStringA volumeIdA(pDiskFS->GetVolumeID());
tmpStr += pDiskFS->GetVolumeID(); CString tmpStr(prefix);
tmpStr += Charset::ConvertMORToUNI(volumeIdA);
pCombo->AddString(tmpStr); pCombo->AddString(tmpStr);
pCombo->SetItemData(*pIdx, (unsigned long) pDiskFS); pCombo->SetItemData(*pIdx, (unsigned long) pDiskFS);
(*pIdx)++; (*pIdx)++;

View File

@ -483,10 +483,10 @@ BEGIN
PUSHBUTTON "Expand Tree",IDC_CHOOSEDIR_EXPAND_TREE,198,208,50,14 PUSHBUTTON "Expand Tree",IDC_CHOOSEDIR_EXPAND_TREE,198,208,50,14
END END
IDD_EXTRACT_FILES DIALOG 0, 0, 299, 242 IDD_EXTRACT_FILES DIALOGEX 0, 0, 299, 242
STYLE DS_SETFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Extract Files" CAPTION "Extract Files"
FONT 8, "MS Sans Serif" FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Extract",IDOK,68,220,50,14 DEFPUSHBUTTON "Extract",IDOK,68,220,50,14
PUSHBUTTON "Cancel",IDCANCEL,124,220,50,14 PUSHBUTTON "Cancel",IDCANCEL,124,220,50,14
@ -573,8 +573,8 @@ BEGIN
END END
IDD_ADD_FILES DIALOGEX 0, 0, 292, 231 IDD_ADD_FILES DIALOGEX 0, 0, 292, 231
STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | DS_CONTEXTHELP | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | DS_CONTROL | DS_CONTEXTHELP | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
LTEXT "",1119,0,0,291,105,NOT WS_GROUP LTEXT "",1119,0,0,291,105,NOT WS_GROUP
GROUPBOX "File attribute preservation",IDC_ADDFILES_STATIC1,4,112,169,47 GROUPBOX "File attribute preservation",IDC_ADDFILES_STATIC1,4,112,169,47
@ -942,9 +942,9 @@ BEGIN
END END
IDD_ARCHIVEINFO_NUFX DIALOGEX 0, 0, 320, 127 IDD_ARCHIVEINFO_NUFX DIALOGEX 0, 0, 320, 127
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "NuFX (ShrinkIt) Archive" CAPTION "NuFX (ShrinkIt) Archive"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Done",IDOK,164,106,50,14 DEFPUSHBUTTON "Done",IDOK,164,106,50,14
LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT
@ -966,9 +966,9 @@ BEGIN
END END
IDD_ARCHIVEINFO_DISK DIALOGEX 0, 0, 320, 250 IDD_ARCHIVEINFO_DISK DIALOGEX 0, 0, 320, 250
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Disk Image Info" CAPTION "Disk Image Info"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Done",IDOK,164,229,50,14 DEFPUSHBUTTON "Done",IDOK,164,229,50,14
LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT
@ -1003,9 +1003,9 @@ BEGIN
END END
IDD_ARCHIVEINFO_BNY DIALOGEX 0, 0, 320, 74 IDD_ARCHIVEINFO_BNY DIALOGEX 0, 0, 320, 74
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Binary II Archive" CAPTION "Binary II Archive"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Done",IDOK,164,53,50,14 DEFPUSHBUTTON "Done",IDOK,164,53,50,14
LTEXT "Filename:",IDC_STATIC,7,18,67,8,0,WS_EX_RIGHT LTEXT "Filename:",IDC_STATIC,7,18,67,8,0,WS_EX_RIGHT
@ -1164,9 +1164,9 @@ BEGIN
END END
IDD_ARCHIVEINFO_ACU DIALOGEX 0, 0, 320, 74 IDD_ARCHIVEINFO_ACU DIALOGEX 0, 0, 320, 74
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "AppleLink ACU Archive" CAPTION "AppleLink ACU Archive"
FONT 8, "MS Sans Serif", 0, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Done",IDOK,164,53,50,14 DEFPUSHBUTTON "Done",IDOK,164,53,50,14
LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT
@ -1216,7 +1216,7 @@ END
IDD_ARCHIVEINFO_APPLESINGLE DIALOGEX 0, 0, 320, 74 IDD_ARCHIVEINFO_APPLESINGLE DIALOGEX 0, 0, 320, 74
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "AppleSingle File" CAPTION "AppleSingle File"
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x0
BEGIN BEGIN
DEFPUSHBUTTON "Done",IDOK,158,53,50,14 DEFPUSHBUTTON "Done",IDOK,158,53,50,14
LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT

View File

@ -892,7 +892,9 @@ CString DiskArchive::GetDescription() const
CString str = L"Disk Image"; CString str = L"Disk Image";
if (fpPrimaryDiskFS != NULL && fpPrimaryDiskFS->GetVolumeID() != NULL) { if (fpPrimaryDiskFS != NULL && fpPrimaryDiskFS->GetVolumeID() != NULL) {
str.Format(L"Disk Image - %hs", fpPrimaryDiskFS->GetVolumeID()); CStringA volumeIdA(fpPrimaryDiskFS->GetVolumeID());
CString volumeId(Charset::ConvertMORToUNI(volumeIdA));
str.Format(L"Disk Image - %ls", (LPCWSTR) volumeId);
} }
return str; return str;
} }

View File

@ -22,6 +22,7 @@
#include "SubVolumeDialog.h" #include "SubVolumeDialog.h"
#include "DEFileDialog.h" #include "DEFileDialog.h"
#include "DiskEditDialog.h" #include "DiskEditDialog.h"
#include "../reformat/Charset.h"
/* /*
@ -131,7 +132,8 @@ BOOL DiskEditDialog::OnInitDialog(void)
title += fFileName; title += fFileName;
if (fpDiskFS->GetVolumeID() != NULL) { if (fpDiskFS->GetVolumeID() != NULL) {
title += " ("; title += " (";
title += fpDiskFS->GetVolumeID(); CStringA volumeIdA(fpDiskFS->GetVolumeID());
title += Charset::ConvertMORToUNI(volumeIdA);
title += ")"; title += ")";
} }
SetWindowText(title); SetWindowText(title);
@ -278,8 +280,9 @@ void DiskEditDialog::OnSubVolume(void)
pEditDialog = &blockEdit; pEditDialog = &blockEdit;
else else
pEditDialog = &sectorEdit; pEditDialog = &sectorEdit;
CString volumeID(fpDiskFS->GetVolumeID()); CStringA volumeIdA(fpDiskFS->GetVolumeID());
pEditDialog->Setup(pSubVol->GetDiskFS(), volumeID); CString volumeId(Charset::ConvertMORToUNI(volumeIdA));
pEditDialog->Setup(pSubVol->GetDiskFS(), volumeId);
pEditDialog->SetPositionShift(8); pEditDialog->SetPositionShift(8);
(void) pEditDialog->DoModal(); (void) pEditDialog->DoModal();
} }

View File

@ -6,6 +6,7 @@
#include "StdAfx.h" #include "StdAfx.h"
#include "DiskFSTree.h" #include "DiskFSTree.h"
#include "ChooseAddTargetDialog.h" #include "ChooseAddTargetDialog.h"
#include "../reformat/Charset.h"
using namespace DiskImgLib; using namespace DiskImgLib;
@ -42,8 +43,9 @@ bool DiskFSTree::AddDiskFS(CTreeCtrl* pTree, HTREEITEM parent,
pTarget->pDiskFS = pDiskFS; pTarget->pDiskFS = pDiskFS;
pTarget->pFile = NULL; // could also use volume dir for ProDOS pTarget->pFile = NULL; // could also use volume dir for ProDOS
tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM; tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM;
CString volumeIdW(pDiskFS->GetVolumeID()); // convert to wide string CStringA volumeIdA(pDiskFS->GetVolumeID());
int index = fStringHolder.Add(volumeIdW); CString volumeId(Charset::ConvertMORToUNI(volumeIdA));
int index = fStringHolder.Add(volumeId);
tvi.pszText = (LPWSTR)(LPCWSTR) fStringHolder.GetAt(index); tvi.pszText = (LPWSTR)(LPCWSTR) fStringHolder.GetAt(index);
tvi.cchTextMax = 0; // not needed for insertitem tvi.cchTextMax = 0; // not needed for insertitem
// tvi.iImage = kTreeImageFolderClosed; // tvi.iImage = kTreeImageFolderClosed;

View File

@ -15,7 +15,7 @@
#define kAppMajorVersion 4 #define kAppMajorVersion 4
#define kAppMinorVersion 0 #define kAppMinorVersion 0
#define kAppBugVersion 0 #define kAppBugVersion 0
#define kAppDevString L"b2" #define kAppDevString L"b3"
/* /*
* Windows application object. * Windows application object.

View File

@ -12,6 +12,7 @@
#include "stdafx.h" #include "stdafx.h"
#include "SubVolumeDialog.h" #include "SubVolumeDialog.h"
#include "resource.h" #include "resource.h"
#include "../reformat/Charset.h"
BEGIN_MESSAGE_MAP(SubVolumeDialog, CDialog) BEGIN_MESSAGE_MAP(SubVolumeDialog, CDialog)
@ -33,8 +34,9 @@ BOOL SubVolumeDialog::OnInitDialog(void)
DiskFS::SubVolume* pSubVol = fpDiskFS->GetNextSubVolume(NULL); DiskFS::SubVolume* pSubVol = fpDiskFS->GetNextSubVolume(NULL);
ASSERT(pSubVol != NULL); // shouldn't be here otherwise ASSERT(pSubVol != NULL); // shouldn't be here otherwise
while (pSubVol != NULL) { while (pSubVol != NULL) {
CString volumeIdW(pSubVol->GetDiskFS()->GetVolumeID()); CStringA volumeIdA(pSubVol->GetDiskFS()->GetVolumeID());
pListBox->AddString(volumeIdW); // makes a copy of the string CString volumeId(Charset::ConvertMORToUNI(volumeIdA));
pListBox->AddString(volumeId); // makes a copy of the string
pSubVol = fpDiskFS->GetNextSubVolume(pSubVol); pSubVol = fpDiskFS->GetNextSubVolume(pSubVol);
} }

View File

@ -417,7 +417,7 @@ void MainWindow::OnToolsDiskConv(void)
// use "headerOnly", which gets the volume name // use "headerOnly", which gets the volume name
dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly); dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly);
if (dierr == kDIErrNone) { if (dierr == kDIErrNone) {
storageName = pDiskFS->GetVolumeName(); storageName = pDiskFS->GetVolumeName(); // note: ASCII only
} }
delete pDiskFS; delete pDiskFS;
} else { } else {
@ -1351,7 +1351,7 @@ void MainWindow::BulkConvertImage(const WCHAR* pathName, const WCHAR* targetDir,
// set "headerOnly" since we only need the volume name // set "headerOnly" since we only need the volume name
dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly); dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly);
if (dierr == kDIErrNone) { if (dierr == kDIErrNone) {
storageName = pDiskFS->GetVolumeName(); storageName = pDiskFS->GetVolumeName(); // note: ASCII only
} }
delete pDiskFS; delete pDiskFS;
} else { } else {