[haiku-commits] r41181 - in haiku/trunk/src/apps/icon-o-matic: . gui

  • From: superstippi@xxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 4 Apr 2011 11:39:25 +0200 (CEST)

Author: stippi
Date: 2011-04-04 11:39:25 +0200 (Mon, 04 Apr 2011)
New Revision: 41181
Changeset: https://dev.haiku-os.org/changeset/41181

Modified:
   haiku/trunk/src/apps/icon-o-matic/IconEditorApp.cpp
   haiku/trunk/src/apps/icon-o-matic/IconEditorApp.h
   haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.cpp
   haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.h
Log:
 * 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.


Modified: haiku/trunk/src/apps/icon-o-matic/IconEditorApp.cpp
===================================================================
--- haiku/trunk/src/apps/icon-o-matic/IconEditorApp.cpp 2011-04-04 09:37:33 UTC 
(rev 41180)
+++ haiku/trunk/src/apps/icon-o-matic/IconEditorApp.cpp 2011-04-04 09:39:25 UTC 
(rev 41181)
@@ -136,7 +136,7 @@
                                saver = fDocument->NativeSaver();
                        else
                                saver = fDocument->ExportSaver();
-                       if (saver) {
+                       if (saver != NULL) {
                                saver->Save(fDocument);
                                _PickUpActionBeforeSave();
                                break;
@@ -171,24 +171,26 @@
                                }
                                _SyncPanels(fSavePanel, fOpenPanel);
                        } else {
+                               printf("configure file panel\n");
                                // configure the file panel
                                const char* saveText = NULL;
                                FileSaver* saver = dynamic_cast<FileSaver*>(
                                        fDocument->NativeSaver());
+                               if (saver != NULL)
+                                       saveText = saver->Ref()->name;
 
-                               bool exportMode = message->what == MSG_EXPORT_AS
-                                                                       || 
message->what == MSG_EXPORT;
-                               if (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;
                                }
 
-                               if (saver)
-                                       saveText = saver->Ref()->name;
-
-                               fSavePanel->SetExportMode(exportMode);
+                               fSavePanel->SetExportMode(isExportMode);
 //                             fSavePanel->Refresh();
-                               if (saveText)
+                               if (saveText != NULL)
                                        fSavePanel->SetSaveText(saveText);
                                fSavePanel->Show();
                        }
@@ -469,8 +471,7 @@
                // 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 @@
                        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;
 

Modified: haiku/trunk/src/apps/icon-o-matic/IconEditorApp.h
===================================================================
--- haiku/trunk/src/apps/icon-o-matic/IconEditorApp.h   2011-04-04 09:37:33 UTC 
(rev 41180)
+++ haiku/trunk/src/apps/icon-o-matic/IconEditorApp.h   2011-04-04 09:39:25 UTC 
(rev 41181)
@@ -35,7 +35,9 @@
        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,

Modified: haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.cpp
===================================================================
--- haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.cpp 2011-04-04 09:37:33 UTC 
(rev 41180)
+++ haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.cpp 2011-04-04 09:39:25 UTC 
(rev 41181)
@@ -239,9 +239,15 @@
                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);
                        break;
@@ -413,10 +419,18 @@
 
        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);
        fFormatM->AddItem(fBitmapSetMI);

Modified: haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.h
===================================================================
--- haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.h   2011-04-04 09:37:33 UTC 
(rev 41180)
+++ haiku/trunk/src/apps/icon-o-matic/gui/SavePanel.h   2011-04-04 09:39:25 UTC 
(rev 41181)
@@ -77,7 +77,9 @@
                                SaveItem*               fRDefMI;
                                SaveItem*               fSourceMI;
                                SaveItem*               fSVGMI;
-                               SaveItem*               fBitmapMI;
+                               SaveItem*               fBitmap16MI;
+                               SaveItem*               fBitmap32MI;
+                               SaveItem*               fBitmap64MI;
                                SaveItem*               fBitmapSetMI;
                                SaveItem*               fIconAttrMI;
                                SaveItem*               fIconMimeAttrMI;


Other related posts:

  • » [haiku-commits] r41181 - in haiku/trunk/src/apps/icon-o-matic: . gui - superstippi