ciderpress/app/ChooseAddTargetDialog.h
Andy McFadden d23a3b1ad8 Replace place-holder strings
The NufxLib and diskimg libraries want narrow strings for certain
things, notably for the "storage name", i.e. how the name will appear
on the disk image or in the file archive.  We need to convert from
Windows UTF-16 to an Apple II filesystem-specific 8-bit character
representation.

We used to just pass narrow strings all the way through, so we didn't
need any intermediate storage to hold the conversion.  Now we do.  In
some cases there's nowhere good to put it.  The initial UTF-16
conversion changes just dropped in some place-holder strings.

This corrects the behavior, though in a couple of cases we're adding
kluges on top of code that was already badly bent from its original
intent (as initially conceived, CiderPress wasn't going to handle disk
images, just ShrinkIt archives).  It's not pretty, but it should work
for now.
2014-12-04 17:05:48 -08:00

54 lines
1.4 KiB
C++

/*
* CiderPress
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
* See the file LICENSE for distribution terms.
*/
/*
* Choose the sub-volume and directory where added files will be put.
*/
#ifndef APP_CHOOSEADDTARGETDIALOG_H
#define APP_CHOOSEADDTARGETDIALOG_H
#include "resource.h"
#include "DiskFSTree.h"
#include "../diskimg/DiskImg.h"
/*
* The dialog has a tree structure representing the sub-volumes and the
* directory structure within each sub-volume.
*/
class ChooseAddTargetDialog : public CDialog {
public:
ChooseAddTargetDialog(CWnd* pParentWnd = NULL) :
CDialog(IDD_CHOOSE_ADD_TARGET, pParentWnd)
{
fpDiskFS = fpChosenDiskFS = NULL;
fpChosenSubdir = NULL;
}
virtual ~ChooseAddTargetDialog(void) {}
/* set this before calling DoModal */
DiskImgLib::DiskFS* fpDiskFS;
/* results; fpChosenSubdir will be NULL if root vol selected */
DiskImgLib::DiskFS* fpChosenDiskFS;
DiskImgLib::A2File* fpChosenSubdir;
private:
/*
* Initialize the dialog box. This requires scanning the provided disk
* archive.
*/
virtual BOOL OnInitDialog(void) override;
virtual void DoDataExchange(CDataExchange* pDX) override;
afx_msg void OnHelp(void);
DiskFSTree fDiskFSTree;
DECLARE_MESSAGE_MAP()
};
#endif /*APP_CHOOSEADDTARGETDIALOG_H*/