* Created separate PNG exporters for 16x16, 32x32 and 64x64 sizes.
* When exporting for the first time, use the native saver's file name to initialize the file panel save text. * Don't shadow exportMode variable. * Small cleanups. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41181 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -136,7 +136,7 @@ IconEditorApp::MessageReceived(BMessage* message)
|
||||
saver = fDocument->NativeSaver();
|
||||
else
|
||||
saver = fDocument->ExportSaver();
|
||||
if (saver) {
|
||||
if (saver != NULL) {
|
||||
saver->Save(fDocument);
|
||||
_PickUpActionBeforeSave();
|
||||
break;
|
||||
@@ -171,24 +171,26 @@ IconEditorApp::MessageReceived(BMessage* message)
|
||||
}
|
||||
_SyncPanels(fSavePanel, fOpenPanel);
|
||||
} else {
|
||||
printf("configure file panel\n");
|
||||
// configure the file panel
|
||||
const char* saveText = NULL;
|
||||
FileSaver* saver = dynamic_cast<FileSaver*>(
|
||||
fDocument->NativeSaver());
|
||||
|
||||
bool exportMode = message->what == MSG_EXPORT_AS
|
||||
|| message->what == MSG_EXPORT;
|
||||
if (exportMode) {
|
||||
saver = dynamic_cast<FileSaver*>(
|
||||
fDocument->ExportSaver());
|
||||
}
|
||||
|
||||
if (saver)
|
||||
if (saver != NULL)
|
||||
saveText = saver->Ref()->name;
|
||||
|
||||
fSavePanel->SetExportMode(exportMode);
|
||||
bool isExportMode = message->what == MSG_EXPORT_AS
|
||||
|| message->what == MSG_EXPORT;
|
||||
if (isExportMode) {
|
||||
saver = dynamic_cast<FileSaver*>(
|
||||
fDocument->ExportSaver());
|
||||
if (saver != NULL && saver->Ref()->name != NULL)
|
||||
saveText = saver->Ref()->name;
|
||||
}
|
||||
|
||||
fSavePanel->SetExportMode(isExportMode);
|
||||
// fSavePanel->Refresh();
|
||||
if (saveText)
|
||||
if (saveText != NULL)
|
||||
fSavePanel->SetSaveText(saveText);
|
||||
fSavePanel->Show();
|
||||
}
|
||||
@@ -469,8 +471,7 @@ IconEditorApp::_Open(const entry_ref& ref, bool append)
|
||||
// least one ref already
|
||||
switch (refMode) {
|
||||
case REF_MESSAGE:
|
||||
fDocument->SetNativeSaver(
|
||||
new NativeSaver(ref));
|
||||
fDocument->SetNativeSaver(new NativeSaver(ref));
|
||||
break;
|
||||
case REF_FLAT:
|
||||
fDocument->SetExportSaver(
|
||||
@@ -592,7 +593,13 @@ IconEditorApp::_CreateSaver(const entry_ref& ref, uint32 exportMode)
|
||||
saver = new SimpleFileSaver(new SourceExporter(), ref);
|
||||
break;
|
||||
|
||||
case EXPORT_MODE_BITMAP:
|
||||
case EXPORT_MODE_BITMAP_16:
|
||||
saver = new SimpleFileSaver(new BitmapExporter(16), ref);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP_32:
|
||||
saver = new SimpleFileSaver(new BitmapExporter(32), ref);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP_64:
|
||||
saver = new SimpleFileSaver(new BitmapExporter(64), ref);
|
||||
break;
|
||||
|
||||
|
||||
@@ -35,7 +35,9 @@ enum {
|
||||
EXPORT_MODE_MESSAGE = 0,
|
||||
EXPORT_MODE_FLAT_ICON,
|
||||
EXPORT_MODE_SVG,
|
||||
EXPORT_MODE_BITMAP,
|
||||
EXPORT_MODE_BITMAP_16,
|
||||
EXPORT_MODE_BITMAP_32,
|
||||
EXPORT_MODE_BITMAP_64,
|
||||
EXPORT_MODE_BITMAP_SET,
|
||||
EXPORT_MODE_ICON_ATTR,
|
||||
EXPORT_MODE_ICON_MIME_ATTR,
|
||||
|
||||
@@ -239,8 +239,14 @@ SavePanel::SetExportMode(int32 mode)
|
||||
case EXPORT_MODE_SVG:
|
||||
fSVGMI->SetMarked(true);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP:
|
||||
fBitmapMI->SetMarked(true);
|
||||
case EXPORT_MODE_BITMAP_16:
|
||||
fBitmap16MI->SetMarked(true);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP_32:
|
||||
fBitmap32MI->SetMarked(true);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP_64:
|
||||
fBitmap64MI->SetMarked(true);
|
||||
break;
|
||||
case EXPORT_MODE_BITMAP_SET:
|
||||
fBitmapSetMI->SetMarked(true);
|
||||
@@ -413,9 +419,17 @@ SavePanel::_BuildMenu()
|
||||
|
||||
fFormatM->AddSeparatorItem();
|
||||
|
||||
fBitmapMI = new SaveItem("PNG",
|
||||
new BMessage(MSG_FORMAT), EXPORT_MODE_BITMAP);
|
||||
fFormatM->AddItem(fBitmapMI);
|
||||
fBitmap16MI = new SaveItem("PNG 16x16",
|
||||
new BMessage(MSG_FORMAT), EXPORT_MODE_BITMAP_16);
|
||||
fFormatM->AddItem(fBitmap16MI);
|
||||
|
||||
fBitmap32MI = new SaveItem("PNG 32x32",
|
||||
new BMessage(MSG_FORMAT), EXPORT_MODE_BITMAP_32);
|
||||
fFormatM->AddItem(fBitmap32MI);
|
||||
|
||||
fBitmap64MI = new SaveItem("PNG 64x64",
|
||||
new BMessage(MSG_FORMAT), EXPORT_MODE_BITMAP_64);
|
||||
fFormatM->AddItem(fBitmap64MI);
|
||||
|
||||
fBitmapSetMI = new SaveItem(B_TRANSLATE("PNG Set"),
|
||||
new BMessage(MSG_FORMAT), EXPORT_MODE_BITMAP_SET);
|
||||
|
||||
@@ -77,7 +77,9 @@ class SavePanel : public BFilePanel,
|
||||
SaveItem* fRDefMI;
|
||||
SaveItem* fSourceMI;
|
||||
SaveItem* fSVGMI;
|
||||
SaveItem* fBitmapMI;
|
||||
SaveItem* fBitmap16MI;
|
||||
SaveItem* fBitmap32MI;
|
||||
SaveItem* fBitmap64MI;
|
||||
SaveItem* fBitmapSetMI;
|
||||
SaveItem* fIconAttrMI;
|
||||
SaveItem* fIconMimeAttrMI;
|
||||
|
||||
Reference in New Issue
Block a user