From 8c34eb1213c2826163b6794291609067b1964089 Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Thu, 15 Jan 2015 11:25:26 -0800 Subject: [PATCH] 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. --- DIST/with-mdc.deploy | 6 +++--- app/ArchiveInfoDialog.cpp | 7 ++++--- app/CiderPress.rc | 28 ++++++++++++++-------------- app/DiskArchive.cpp | 4 +++- app/DiskEditDialog.cpp | 9 ++++++--- app/DiskFSTree.cpp | 6 ++++-- app/MyApp.h | 2 +- app/SubVolumeDialog.cpp | 6 ++++-- app/Tools.cpp | 4 ++-- 9 files changed, 41 insertions(+), 31 deletions(-) diff --git a/DIST/with-mdc.deploy b/DIST/with-mdc.deploy index 1df2550..b36b31b 100644 --- a/DIST/with-mdc.deploy +++ b/DIST/with-mdc.deploy @@ -4,8 +4,8 @@ faddenSoft http://www.faddensoft.com/ CiderPress http://a2ciderpress.com/ -4.0.0b2 -42018 +4.0.0-b3 +42019 C:\DATA\faddenSoft\fs.ico Copyright © 2015 CiderPress project authors. All rights reserved. C:\Src\CiderPress\DIST\ReadMe.txt @@ -355,7 +355,7 @@ FALSE 4095 -Setup400b2.exe +Setup400b3.exe FALSE diff --git a/app/ArchiveInfoDialog.cpp b/app/ArchiveInfoDialog.cpp index d437c0f..f608162 100644 --- a/app/ArchiveInfoDialog.cpp +++ b/app/ArchiveInfoDialog.cpp @@ -9,6 +9,7 @@ #include "StdAfx.h" #include "ArchiveInfoDialog.h" #include "../nufxlib/NufxLib.h" +#include "../reformat/Charset.h" /* * =========================================================================== @@ -178,13 +179,13 @@ void DiskArchiveInfoDialog::AddSubVolumes(const DiskFS* pDiskFS, const WCHAR* prefix, int* pIdx) { CComboBox* pCombo = (CComboBox*) GetDlgItem(IDC_AIDISK_SUBVOLSEL); - CString tmpStr; /* * Add the current DiskFS. */ - tmpStr = prefix; - tmpStr += pDiskFS->GetVolumeID(); + CStringA volumeIdA(pDiskFS->GetVolumeID()); + CString tmpStr(prefix); + tmpStr += Charset::ConvertMORToUNI(volumeIdA); pCombo->AddString(tmpStr); pCombo->SetItemData(*pIdx, (unsigned long) pDiskFS); (*pIdx)++; diff --git a/app/CiderPress.rc b/app/CiderPress.rc index 7759002..9601735 100644 --- a/app/CiderPress.rc +++ b/app/CiderPress.rc @@ -483,10 +483,10 @@ BEGIN PUSHBUTTON "Expand Tree",IDC_CHOOSEDIR_EXPAND_TREE,198,208,50,14 END -IDD_EXTRACT_FILES DIALOG 0, 0, 299, 242 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +IDD_EXTRACT_FILES DIALOGEX 0, 0, 299, 242 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Extract Files" -FONT 8, "MS Sans Serif" +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Extract",IDOK,68,220,50,14 PUSHBUTTON "Cancel",IDCANCEL,124,220,50,14 @@ -573,8 +573,8 @@ BEGIN END IDD_ADD_FILES DIALOGEX 0, 0, 292, 231 -STYLE DS_SETFONT | DS_3DLOOK | DS_CONTROL | DS_CONTEXTHELP | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS -FONT 8, "MS Sans Serif", 0, 0, 0x1 +STYLE DS_SETFONT | DS_3DLOOK | DS_FIXEDSYS | DS_CONTROL | DS_CONTEXTHELP | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN LTEXT "",1119,0,0,291,105,NOT WS_GROUP GROUPBOX "File attribute preservation",IDC_ADDFILES_STATIC1,4,112,169,47 @@ -942,9 +942,9 @@ BEGIN END 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" -FONT 8, "MS Sans Serif", 0, 0, 0x1 +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Done",IDOK,164,106,50,14 LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT @@ -966,9 +966,9 @@ BEGIN END 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" -FONT 8, "MS Sans Serif", 0, 0, 0x1 +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Done",IDOK,164,229,50,14 LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT @@ -1003,9 +1003,9 @@ BEGIN END 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" -FONT 8, "MS Sans Serif", 0, 0, 0x1 +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Done",IDOK,164,53,50,14 LTEXT "Filename:",IDC_STATIC,7,18,67,8,0,WS_EX_RIGHT @@ -1164,9 +1164,9 @@ BEGIN END 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" -FONT 8, "MS Sans Serif", 0, 0, 0x1 +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Done",IDOK,164,53,50,14 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 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "AppleSingle File" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 +FONT 8, "MS Shell Dlg", 400, 0, 0x0 BEGIN DEFPUSHBUTTON "Done",IDOK,158,53,50,14 LTEXT "Filename:",IDC_STATIC,7,18,68,8,0,WS_EX_RIGHT diff --git a/app/DiskArchive.cpp b/app/DiskArchive.cpp index 2ebeb7d..8acce85 100644 --- a/app/DiskArchive.cpp +++ b/app/DiskArchive.cpp @@ -892,7 +892,9 @@ CString DiskArchive::GetDescription() const CString str = L"Disk Image"; 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; } diff --git a/app/DiskEditDialog.cpp b/app/DiskEditDialog.cpp index 2bdbb58..feaa6d5 100644 --- a/app/DiskEditDialog.cpp +++ b/app/DiskEditDialog.cpp @@ -22,6 +22,7 @@ #include "SubVolumeDialog.h" #include "DEFileDialog.h" #include "DiskEditDialog.h" +#include "../reformat/Charset.h" /* @@ -131,7 +132,8 @@ BOOL DiskEditDialog::OnInitDialog(void) title += fFileName; if (fpDiskFS->GetVolumeID() != NULL) { title += " ("; - title += fpDiskFS->GetVolumeID(); + CStringA volumeIdA(fpDiskFS->GetVolumeID()); + title += Charset::ConvertMORToUNI(volumeIdA); title += ")"; } SetWindowText(title); @@ -278,8 +280,9 @@ void DiskEditDialog::OnSubVolume(void) pEditDialog = &blockEdit; else pEditDialog = §orEdit; - CString volumeID(fpDiskFS->GetVolumeID()); - pEditDialog->Setup(pSubVol->GetDiskFS(), volumeID); + CStringA volumeIdA(fpDiskFS->GetVolumeID()); + CString volumeId(Charset::ConvertMORToUNI(volumeIdA)); + pEditDialog->Setup(pSubVol->GetDiskFS(), volumeId); pEditDialog->SetPositionShift(8); (void) pEditDialog->DoModal(); } diff --git a/app/DiskFSTree.cpp b/app/DiskFSTree.cpp index 70835c2..395e3d3 100644 --- a/app/DiskFSTree.cpp +++ b/app/DiskFSTree.cpp @@ -6,6 +6,7 @@ #include "StdAfx.h" #include "DiskFSTree.h" #include "ChooseAddTargetDialog.h" +#include "../reformat/Charset.h" using namespace DiskImgLib; @@ -42,8 +43,9 @@ bool DiskFSTree::AddDiskFS(CTreeCtrl* pTree, HTREEITEM parent, pTarget->pDiskFS = pDiskFS; pTarget->pFile = NULL; // could also use volume dir for ProDOS tvi.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_PARAM; - CString volumeIdW(pDiskFS->GetVolumeID()); // convert to wide string - int index = fStringHolder.Add(volumeIdW); + CStringA volumeIdA(pDiskFS->GetVolumeID()); + CString volumeId(Charset::ConvertMORToUNI(volumeIdA)); + int index = fStringHolder.Add(volumeId); tvi.pszText = (LPWSTR)(LPCWSTR) fStringHolder.GetAt(index); tvi.cchTextMax = 0; // not needed for insertitem // tvi.iImage = kTreeImageFolderClosed; diff --git a/app/MyApp.h b/app/MyApp.h index e0499bf..f2baa5c 100644 --- a/app/MyApp.h +++ b/app/MyApp.h @@ -15,7 +15,7 @@ #define kAppMajorVersion 4 #define kAppMinorVersion 0 #define kAppBugVersion 0 -#define kAppDevString L"b2" +#define kAppDevString L"b3" /* * Windows application object. diff --git a/app/SubVolumeDialog.cpp b/app/SubVolumeDialog.cpp index 736b589..9a222e7 100644 --- a/app/SubVolumeDialog.cpp +++ b/app/SubVolumeDialog.cpp @@ -12,6 +12,7 @@ #include "stdafx.h" #include "SubVolumeDialog.h" #include "resource.h" +#include "../reformat/Charset.h" BEGIN_MESSAGE_MAP(SubVolumeDialog, CDialog) @@ -33,8 +34,9 @@ BOOL SubVolumeDialog::OnInitDialog(void) DiskFS::SubVolume* pSubVol = fpDiskFS->GetNextSubVolume(NULL); ASSERT(pSubVol != NULL); // shouldn't be here otherwise while (pSubVol != NULL) { - CString volumeIdW(pSubVol->GetDiskFS()->GetVolumeID()); - pListBox->AddString(volumeIdW); // makes a copy of the string + CStringA volumeIdA(pSubVol->GetDiskFS()->GetVolumeID()); + CString volumeId(Charset::ConvertMORToUNI(volumeIdA)); + pListBox->AddString(volumeId); // makes a copy of the string pSubVol = fpDiskFS->GetNextSubVolume(pSubVol); } diff --git a/app/Tools.cpp b/app/Tools.cpp index babd118..2e6aaef 100644 --- a/app/Tools.cpp +++ b/app/Tools.cpp @@ -417,7 +417,7 @@ void MainWindow::OnToolsDiskConv(void) // use "headerOnly", which gets the volume name dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly); if (dierr == kDIErrNone) { - storageName = pDiskFS->GetVolumeName(); + storageName = pDiskFS->GetVolumeName(); // note: ASCII only } delete pDiskFS; } else { @@ -1351,7 +1351,7 @@ void MainWindow::BulkConvertImage(const WCHAR* pathName, const WCHAR* targetDir, // set "headerOnly" since we only need the volume name dierr = pDiskFS->Initialize(&srcImg, DiskFS::kInitHeaderOnly); if (dierr == kDIErrNone) { - storageName = pDiskFS->GetVolumeName(); + storageName = pDiskFS->GetVolumeName(); // note: ASCII only } delete pDiskFS; } else {