Revision: 201017
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 14 May 2010 16:24:48 +0300
changeset 14 fb7380a082a0
parent 12 9b222d6b819d
child 17 6f2509db2f56
child 20 ea46263362ca
Revision: 201017 Kit: 201019
gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt
gfxconversion/mifconv/inc/mifconv.h
gfxconversion/mifconv/makefile_templates/mifconv_global_options.make
gfxconversion/mifconv/makefile_templates/mifconv_step3.make
gfxconversion/mifconv/src/mifconv_argumentmanager.cpp
--- a/gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt	Fri Apr 16 15:32:00 2010 +0300
+++ b/gfxconversion/mifconv/group/ReleaseNotes_Mifconv.txt	Fri May 14 16:24:48 2010 +0300
@@ -1,7 +1,7 @@
 ===============================================================================
 
-RELEASE NOTES - MIFCONV v3.2.0
-RELEASED 24th February 2010 
+RELEASE NOTES - MIFCONV v3.2.1
+RELEASED 20th April 2010 
 
 SUPPORTS S60 3.2+
 
@@ -26,11 +26,9 @@
 
 ===============================================================================
 
-What's New in v3.2.0
+What's New in v3.2.1
 ====================
-- Change: Removed dependencies to BMCONV tool by adding the BMCONV encoding 
-  functionality as a part of MifConv functionality. External BMCONV tool can still 
-  be used by giving -B parameter.
+- Change: Added new default search directories for icon files.
 
 ===============================================================================
 
@@ -68,6 +66,12 @@
 Version History:
 ================
 
+Version 3.2.0 - 24th February 2010
+====================
+- Change: Removed dependencies to BMCONV tool by adding the BMCONV encoding 
+  functionality as a part of MifConv functionality. External BMCONV tool can still 
+  be used by giving -B parameter.
+
 Version 3.1.7 - 10th July 2009
 ====================
 - Fix: MIF-file is created also when no input files are given.
--- a/gfxconversion/mifconv/inc/mifconv.h	Fri Apr 16 15:32:00 2010 +0300
+++ b/gfxconversion/mifconv/inc/mifconv.h	Fri May 14 16:24:48 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -38,8 +38,8 @@
 using namespace MifConvDefs;
 
 // Mifconv version
-static const MifConvString MifConvVersion("3.2.0");
-static const MifConvString MifConvDate("24th February 2010");
+static const MifConvString MifConvVersion("3.2.1");
+static const MifConvString MifConvDate("12th March 2010");
 static const MifConvString MifConvYears("2010");
 
 // Mifconv return values:
--- a/gfxconversion/mifconv/makefile_templates/mifconv_global_options.make	Fri Apr 16 15:32:00 2010 +0300
+++ b/gfxconversion/mifconv/makefile_templates/mifconv_global_options.make	Fri May 14 16:24:48 2010 +0300
@@ -42,6 +42,11 @@
 VECTORSOURCEDIR:=$(EPOCROOT)epoc32$/s60$/icons
 BITMAPSOURCEDIR:=$(EPOCROOT)epoc32$/s60$/bitmaps
 
+# Optional SVG icon searching subdirectories:
+VECTORSOURCESUBDIR_NSS:=$(VECTORSOURCEDIR)$/nss
+VECTORSOURCESUBDIR_NOKIA:=$(VECTORSOURCEDIR)$/nokia
+VECTORSOURCESUBDIR_OEM:=$(VECTORSOURCEDIR)$/oem
+
 # Default target directories:
 WINS_TARGETDIR:=$(EPOCROOT)epoc32$/release$/wins$/$(CFG)$/z$/resource$/apps
 WINSCW_TARGETDIR:=$(EPOCROOT)epoc32$/release$/winscw$/$(CFG)$/z$/resource$/apps
--- a/gfxconversion/mifconv/makefile_templates/mifconv_step3.make	Fri Apr 16 15:32:00 2010 +0300
+++ b/gfxconversion/mifconv/makefile_templates/mifconv_step3.make	Fri May 14 16:24:48 2010 +0300
@@ -19,20 +19,46 @@
 # Get list of files
 #
 
-# First get SVG files from SOURCEDIR, then .bmp files from SOURCEDIR, then .svg from VECTORSOURCEDIR and finally .bmp from BITMAPSOURCEDIR
+# First get SVG files from SOURCEDIR, then .bmp files from SOURCEDIR, then .svg from VECTORSOURCEDIR, 
+# then .bmp from BITMAPSOURCEDIR and finally .svg from all VECTORSOURCESUBDIR's
 SOURCEPATHS:=$(foreach FILE, \
 					$(basename $(FILES)), \
-					$(firstword $(wildcard $(SOURCEDIR)$/$(FILE).svg $(SOURCEDIR)$/$(FILE).bmp $(VECTORSOURCEDIR)$/$(FILE).svg) $(BITMAPSOURCEDIR)$/$(FILE).bmp))
-
-# Get a full list of SVG files
+					$(firstword \
+					$(wildcard $(SOURCEDIR)$/$(FILE).svg $(SOURCEDIR)$/$(FILE).bmp $(VECTORSOURCEDIR)$/$(FILE).svg) \
+					$(wildcard $(VECTORSOURCESUBDIR_NSS)$/$(FILE).svg $(VECTORSOURCESUBDIR_NOKIA)$/$(FILE).svg $(VECTORSOURCESUBDIR_OEM)$/$(FILE).svg) \
+					$(BITMAPSOURCEDIR)$/$(FILE).bmp) \
+					)
+					
+# Get a list of SVG files including VECTORSOURCESUBDIRs
 SVGFILES:=$(filter %.svg,$(SOURCEPATHS))
 
-# Paths of SVGB files will be under the intermediate directory
-SVGBFILES:=$(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES))))
-
 # BMP files are all the other files
 BMPFILES:=$(filter-out $(SVGFILES),$(SOURCEPATHS))
 
+# Filter VECTORSOURCESUBDIRs content out from SVGFILES
+SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_NSS)%,$(SVGFILES))
+SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_NOKIA)%,$(SVGFILES))
+SVGFILES:=$(filter-out $(VECTORSOURCESUBDIR_OEM)%,$(SVGFILES))
+
+# Get SVG files from VECTORSOURCESUBDIRs
+SVGFILES_NSS:=$(foreach FILE, \
+					$(basename $(FILES)), \
+					$(wildcard $(VECTORSOURCESUBDIR_NSS)$/$(FILE).svg))
+
+SVGFILES_NOKIA:=$(foreach FILE, \
+					$(basename $(FILES)), \
+					$(wildcard $(VECTORSOURCESUBDIR_NOKIA)$/$(FILE).svg))
+
+SVGFILES_OEM:=$(foreach FILE, \
+					$(basename $(FILES)), \
+					$(wildcard $(VECTORSOURCESUBDIR_OEM)$/$(FILE).svg))
+
+# Paths of SVGB files will be under the intermediate directory
+SVGBFILES:=$(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES)))) \
+		   $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_NSS)))) \
+		   $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_NOKIA)))) \
+		   $(addprefix $(VECTORINTERMEDIATEDIR)$/,$(notdir $(addsuffix b,$(SVGFILES_OEM))))
+
 # Resolve mask files. Mask files are assumed to locate in the same folder than the actual bmp-file.
 MASKFILES:=$(foreach FILE, \
                           $(BMPFILES), \
@@ -51,12 +77,12 @@
 # If SOURCEDIR is defined, we need to create a rule for copying the vector files into the intermediate directory
 ifneq ($(strip $(SOURCEDIR)),)
 
-	# Create list of files
-	USERSVGFILES:=$(filter $(SOURCEDIR)%,$(SVGFILES))
-	USERBMPFILES:=$(filter $(SOURCEDIR)%,$(BMPFILES))
-	USERINTERMEDIATESVGFILES := $(subst $(SOURCEDIR), \
-										$(VECTORINTERMEDIATEDIR), \
-										$(USERSVGFILES) \
+# Create list of files
+USERSVGFILES:=$(filter $(SOURCEDIR)%,$(SVGFILES))
+USERBMPFILES:=$(filter $(SOURCEDIR)%,$(BMPFILES))
+USERINTERMEDIATESVGFILES := $(subst $(SOURCEDIR), \
+									$(VECTORINTERMEDIATEDIR), \
+									$(USERSVGFILES) \
 								)
 
 	# Now define the copy rule
@@ -72,13 +98,52 @@
 
 # The same copy rule is needed for system files as well, first generate the lists
 SYSTEMSVGFILES:=$(filter $(VECTORSOURCEDIR)%,$(SVGFILES))
-SYSTEMBMPFILES:=$(filter $(BITMAPSOURCEDIR)%,$(BMPFILES))
 SYSTEMINTERMEDIATESVGFILES := $(subst $(VECTORSOURCEDIR), \
 									$(VECTORINTERMEDIATEDIR), \
 									$(SYSTEMSVGFILES) \
 								)
+SYSTEMINTERMEDIATESVGFILES_NSS:=$(subst $(VECTORSOURCESUBDIR_NSS), \
+									$(VECTORINTERMEDIATEDIR), \
+									$(SVGFILES_NSS) \
+								)
+SYSTEMINTERMEDIATESVGFILES_NOKIA:=$(subst $(VECTORSOURCESUBDIR_NOKIA), \
+									$(VECTORINTERMEDIATEDIR), \
+									$(SVGFILES_NOKIA) \
+								)
+SYSTEMINTERMEDIATESVGFILES_OEM:=$(subst $(VECTORSOURCESUBDIR_OEM), \
+									$(VECTORINTERMEDIATEDIR), \
+									$(SVGFILES_OEM) \
+								)
+SYSTEMBMPFILES:=$(filter $(BITMAPSOURCEDIR)%,$(BMPFILES))
 
-# And finally define the copy rule
+# Copy SVG files in reverse order of priority to enabele overriding SVG files with lesser priority
+
+# Define the copy rules for VECTORSOURCESUBDIRs
+ifeq ($(INIT_CFG),$(PLATFORM)$(CFG))
+$(SYSTEMINTERMEDIATESVGFILES_OEM) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_OEM)% 
+	$(TOOLCOPY) $< $@	
+ifeq ($(OSTYPE),cygwin)
+	$(GNUCHMOD) a+rw "$@"
+endif
+endif
+
+ifeq ($(INIT_CFG),$(PLATFORM)$(CFG))
+$(SYSTEMINTERMEDIATESVGFILES_NOKIA) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_NOKIA)% 
+	$(TOOLCOPY) $< $@	
+ifeq ($(OSTYPE),cygwin)
+	$(GNUCHMOD) a+rw "$@"
+endif
+endif
+
+ifeq ($(INIT_CFG),$(PLATFORM)$(CFG))
+$(SYSTEMINTERMEDIATESVGFILES_NSS) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCESUBDIR_NSS)% 
+	$(TOOLCOPY) $< $@	
+ifeq ($(OSTYPE),cygwin)
+	$(GNUCHMOD) a+rw "$@"
+endif
+endif
+
+# Define the copy rule for VECTORSOURCEDIR
 ifeq ($(INIT_CFG),$(PLATFORM)$(CFG))
 $(SYSTEMINTERMEDIATESVGFILES) : $(VECTORINTERMEDIATEDIR)% : $(VECTORSOURCEDIR)% 
 	$(TOOLCOPY) $< $@	
@@ -87,14 +152,18 @@
 endif
 endif
 
+
 # Get full list of intermediate files
-VECTORINTERMEDIATESOURCES := $(SYSTEMINTERMEDIATESVGFILES) $(USERINTERMEDIATESVGFILES)
+VECTORINTERMEDIATESOURCES := $(SYSTEMINTERMEDIATESVGFILES) $(SYSTEMINTERMEDIATESVGFILES_NSS) $(SYSTEMINTERMEDIATESVGFILES_NOKIA) $(SYSTEMINTERMEDIATESVGFILES_OEM) $(USERINTERMEDIATESVGFILES)
 
 
 
 # Debug prints for debugging purposes
 #$(warning SOURCEPATHS $(SOURCEPATHS))
 #$(warning SVGFILES $(SVGFILES))
+#$(warning SVGFILES_NSS $(SVGFILES_NSS))
+#$(warning SVGFILES_NOKIA $(SVGFILES_NOKIA))
+#$(warning SVGFILES_OEM $(SVGFILES_OEM))
 #$(warning SVGBFILES $(SVGBFILES))
 #$(warning BMPFILES $(BMPFILES))
 #$(warning USERSVGFILES $(USERSVGFILES))
@@ -103,6 +172,9 @@
 #$(warning SYSTEMSVGFILES $(SYSTEMSVGFILES))
 #$(warning SYSTEMBMPFILES $(SYSTEMBMPFILES))
 #$(warning SYSTEMINTERMEDIATESVGFILES $(SYSTEMINTERMEDIATESVGFILES))
+#$(warning SYSTEMINTERMEDIATESVGFILES_NSS $(SYSTEMINTERMEDIATESVGFILES_NSS))
+#$(warning SYSTEMINTERMEDIATESVGFILES_NOKIA $(SYSTEMINTERMEDIATESVGFILES_NOKIA))
+#$(warning SYSTEMINTERMEDIATESVGFILES_OEM $(SYSTEMINTERMEDIATESVGFILES_OEM))
 #$(warning VECTORINTERMEDIATESOURCES $(VECTORINTERMEDIATESOURCES))
 
 
--- a/gfxconversion/mifconv/src/mifconv_argumentmanager.cpp	Fri Apr 16 15:32:00 2010 +0300
+++ b/gfxconversion/mifconv/src/mifconv_argumentmanager.cpp	Fri May 14 16:24:48 2010 +0300
@@ -322,6 +322,12 @@
     iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH), vector<MifConvString>(1, SVG_FILE_EXTENSION)));
     // Global bitmaps folder can contain only .bmp files:
     iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_BITMAPS_PATH), vector<MifConvString>(1, BMP_FILE_EXTENSION)));
+    // If not found from global icons folder, try subfolder nss:
+    iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "nss"), vector<MifConvString>(1, SVG_FILE_EXTENSION)));
+    // If not found from nss sub folder, try subfolder nokia:
+    iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "nokia"), vector<MifConvString>(1, SVG_FILE_EXTENSION)));
+    // If not found from nokia sub folder, try subfolder oem:
+    iSearchRules.push_back(MifConvSourceSearchRule(MifConvString(epocRoot + S60_ICONS_PATH + DIR_SEPARATOR + "oem"), vector<MifConvString>(1, SVG_FILE_EXTENSION)));    
     // EPOCROOT, if given in environment variables:
     if( epocRoot.length() > 0 )
     {
@@ -659,7 +665,7 @@
  *
  */
 bool MifConvArgumentManager::FindAndSetPathAndType( MifConvSourceFile& srcFile, const MifConvString& extension )
-{    
+{   
     // Search the filename first "as is":
     MifConvString tmp( MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension );     
     if( MifConvUtil::FileExists(tmp) )
@@ -698,7 +704,7 @@
         if( validPath )
         {            
             MifConvString searchPath(i->SearchPath());
-
+                                  
             // Make sure that the last char is directory separator
             if( searchPath.length() > 0 && searchPath.at( searchPath.length()-1) != DIR_SEPARATOR2 )
             {
@@ -708,11 +714,12 @@
             searchPath += MifConvUtil::FilenameWithoutExtension( srcFile.Filename() ) + MifConvString(FILE_EXTENSION_SEPARATOR) + extension;
 
             MifConvUtil::RemoveDuplicateDirSeparators(searchPath);
-
+           
             if( MifConvUtil::FileExists( searchPath ) )
             {
                 srcFile.SetFilename(searchPath);
-                MifConvUtil::FindAndSetBitmapMaskFile(srcFile);                
+                MifConvUtil::FindAndSetBitmapMaskFile(srcFile);
+                                
                 return true; 
             }  
         }