diff --git a/main/sd/source/ui/app/popup.src b/main/sd/source/ui/app/popup.src
index 2417823..9f7aef7 100644
--- a/main/sd/source/ui/app/popup.src
+++ b/main/sd/source/ui/app/popup.src
@@ -1,5 +1,5 @@
 /**************************************************************
- * 
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,16 +7,16 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- * 
+ *
  *************************************************************/
 
 
@@ -58,7 +58,7 @@
     {\
         Identifier = SID_CONVERT_TO_CONTOUR ; \
         HelpId = CMD_SID_CONVERT_TO_CONTOUR ; \
-		Text [ en-US ] = "To C~ontour";\
+		Text [ en-US ] = "To C~ontour" ; \
 	};
 
 #define MN_CONVERT_TO_3D \
@@ -196,8 +196,8 @@
                 MN_UNGROUP_IMPRESS\
                 MN_ENTER_GROUP_IMPRESS\
                 MN_LEAVE_GROUP_IMPRESS\
-            };\
-        };\
+            }; \
+        }; \
 	};
 
 #define MN_DISTRIBUTE \
@@ -313,7 +313,7 @@
     {\
         Identifier = SID_SELECT_BACKGROUND ; \
         HelpId = CMD_SID_SELECT_BACKGROUND ; \
-        Text [ en-US ] = "Set Background Picture for Slide ..." ; \
+        Text [ en-US ] = "Set Background Picture for Slide..." ; \
     };
 #define MN_DISPLAY_MASTER_BACKGROUND \
     MenuItem\
@@ -346,8 +346,8 @@
                 SEPARATOR\
                 MN_INSERT_PAGE\
                 MN_DELETE_PAGE\
-            };\
-        };\
+            }; \
+        }; \
         Text [ en-US ] = "Pag~e" ; \
 	};
 
@@ -371,8 +371,8 @@
                 SEPARATOR\
                 MN_INSERT_SLIDE\
                 MN_DELETE_SLIDE\
-            };\
-        };\
+            }; \
+        }; \
         Text [ en-US ] = "Slid~e" ; \
 	};
 
@@ -506,7 +506,7 @@
     {\
         Identifier = SID_POSITION ; \
         HelpId = CMD_SID_POSITION ; \
-        Command = ".uno:ObjectPosition"; \
+        Command = ".uno:ObjectPosition" ; \
         Text [ en-US ] = "Arra~nge" ; \
         SubMenu = Menu\
         {\
@@ -517,53 +517,53 @@
                     Identifier = SID_FRAME_TO_TOP ; \
                     HelpId = CMD_SID_FRAME_TO_TOP ; \
                     Text [ en-US ] = "~Bring to Front" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_MOREFRONT ; \
                     HelpId = CMD_SID_MOREFRONT ; \
                     Text [ en-US ] = "Bring ~Forward" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_MOREBACK ; \
                     HelpId = CMD_SID_MOREBACK ; \
                     Text [ en-US ] = "Send Back~ward" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_FRAME_TO_BOTTOM ; \
                     HelpId = CMD_SID_FRAME_TO_BOTTOM ; \
                     Text [ en-US ] = "~Send to Back" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Separator = TRUE ; \
-                };\
+                }; \
                 MenuItem\
                 {\
                     Identifier = SID_BEFORE_OBJ ; \
                     HelpId = CMD_SID_BEFORE_OBJ ; \
                     Text [ en-US ] = "In Front of ~Object" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_BEHIND_OBJ ; \
                     HelpId = CMD_SID_BEHIND_OBJ ; \
                     Text [ en-US ] = "Be~hind Object" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Separator = TRUE ; \
-                };\
+                }; \
                 MenuItem\
                 {\
                     Identifier = SID_REVERSE_ORDER ; \
                     HelpId = CMD_SID_REVERSE_ORDER ; \
                     Text [ en-US ] = "~Reverse" ; \
-				};\
-            };\
-        };\
+				}; \
+            }; \
+        }; \
 	};
 
  // Text-Elemente
@@ -578,9 +578,9 @@
 #define MN_CHAR_PARAGRAPH \
     MN_CHAR \
     MenuItem {\
-        Identifier = SID_PARA_DLG;\
-        HelpId = CMD_SID_PARA_DLG;\
-        Text [ en-US ] = "P~aragraph...";\
+        Identifier = SID_PARA_DLG; \
+        HelpId = CMD_SID_PARA_DLG; \
+        Text [ en-US ] = "P~aragraph..." ; \
 	};
 
 #define MN_TEXT_ATTR\
@@ -589,13 +589,13 @@
         Identifier = SID_ATTR_CHAR_FONT ; \
         HelpId = CMD_SID_ATTR_CHAR_FONT ; \
         Text [ en-US ] = "~Font" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_ATTR_CHAR_FONTHEIGHT ; \
         HelpId = CMD_SID_ATTR_CHAR_FONTHEIGHT ; \
         Text [ en-US ] = "~Size" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = DUMMY ; \
@@ -610,45 +610,45 @@
                     Identifier = SID_ATTR_CHAR_WEIGHT ; \
                     HelpId = CMD_SID_ATTR_CHAR_WEIGHT ; \
                     Text [ en-US ] = "Bold" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_POSTURE ; \
                     HelpId = CMD_SID_ATTR_CHAR_POSTURE ; \
                     Text [ en-US ] = "Italic" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_OVERLINE ; \
                     HelpId = CMD_SID_ATTR_CHAR_OVERLINE ; \
                     Text [ en-US ] = "Overline" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_UNDERLINE ; \
                     HelpId = CMD_SID_ATTR_CHAR_UNDERLINE ; \
                     Text [ en-US ] = "Underline" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_STRIKEOUT ; \
                     HelpId = CMD_SID_ATTR_CHAR_STRIKEOUT ; \
                     Text [ en-US ] = "Strikethrough" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_SHADOWED ; \
                     HelpId = CMD_SID_ATTR_CHAR_SHADOWED ; \
                     Text [ en-US ] = "Shadow" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_CHAR_CONTOUR ; \
                     HelpId = CMD_SID_ATTR_CHAR_CONTOUR ; \
                     Text [ en-US ] = "~Contour" ; \
-				};\
-            };\
-        };\
+				}; \
+            }; \
+        }; \
 	};
 
 #define MN_LINESPACING_ATTR\
@@ -667,23 +667,23 @@
                     HelpId = CMD_SID_ATTR_PARA_LINESPACE_10 ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "Single Line Spacing" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_PARA_LINESPACE_15 ; \
                     HelpId = CMD_SID_ATTR_PARA_LINESPACE_15 ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "1.5 Lines" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_PARA_LINESPACE_20 ; \
                     HelpId = CMD_SID_ATTR_PARA_LINESPACE_20 ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "~Double" ; \
-				};\
-            };\
-        };\
+				}; \
+            }; \
+        }; \
 	};
 
 #define MN_BULLET \
@@ -711,30 +711,30 @@
                     HelpId = CMD_SID_ATTR_PARA_ADJUST_LEFT ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "~Left" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_PARA_ADJUST_RIGHT ; \
                     HelpId = CMD_SID_ATTR_PARA_ADJUST_RIGHT ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "~Right" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_PARA_ADJUST_CENTER ; \
                     HelpId = CMD_SID_ATTR_PARA_ADJUST_CENTER ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "~Centered" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_ATTR_PARA_ADJUST_BLOCK ; \
                     HelpId = CMD_SID_ATTR_PARA_ADJUST_BLOCK ; \
                     RadioCheck = TRUE ; \
                     Text [ en-US ] = "Justified" ; \
-				};\
-            };\
-        };\
+				}; \
+            }; \
+        }; \
 	};
 
  // Objekt-Ausrichtung
@@ -754,40 +754,40 @@
                     Identifier = SID_OBJECT_ALIGN_LEFT ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_LEFT ; \
                     Text [ en-US ] = "~Left" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_OBJECT_ALIGN_CENTER ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_CENTER ; \
                     Text [ en-US ] = "~Centered" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_OBJECT_ALIGN_RIGHT ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_RIGHT ; \
                     Text [ en-US ] = "~Right" ; \
-				};\
+				}; \
                 SEPARATOR\
                 MenuItem\
                 {\
                     Identifier = SID_OBJECT_ALIGN_UP ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_UP ; \
                     Text [ en-US ] = "~Top" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_OBJECT_ALIGN_MIDDLE ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_MIDDLE ; \
                     Text [ en-US ] = "C~enter" ; \
-				};\
+				}; \
                 MenuItem\
                 {\
                     Identifier = SID_OBJECT_ALIGN_DOWN ; \
                     HelpId = CMD_SID_OBJECT_ALIGN_DOWN ; \
                     Text [ en-US ] = "~Bottom" ; \
-				};\
-            };\
-        };\
+				}; \
+            }; \
+        }; \
 	};
 
  // Bezier-Funktionen
@@ -805,64 +805,64 @@
         Identifier = SID_BEZIER_EDIT ; \
         HelpId = CMD_SID_BEZIER_EDIT ; \
         Text [ en-US ] = "Edit ~Points" ; \
-	};\
+	}; \
     SEPARATOR\
     MenuItem\
     {\
         Identifier = SID_BEZIER_MOVE ; \
         HelpId = CMD_SID_BEZIER_MOVE ; \
         Text [ en-US ] = "~Move Points" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_INSERT ; \
         HelpId = CMD_SID_BEZIER_INSERT ; \
         Text [ en-US ] = "Insert ~Points" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_DELETE ; \
         HelpId = CMD_SID_BEZIER_DELETE ; \
         Text [ en-US ] = "~Delete Points" ; \
-	};\
+	}; \
     SEPARATOR\
     MenuItem\
     {\
         Identifier = SID_BEZIER_CLOSE ; \
         HelpId = CMD_SID_BEZIER_CLOSE ; \
         Text [ en-US ] = "Close ~Object" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_CUTLINE ; \
         HelpId = CMD_SID_BEZIER_CUTLINE ; \
         Text [ en-US ] = "~Split Curve" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_CONVERT ; \
         HelpId = CMD_SID_BEZIER_CONVERT ; \
         Text [ en-US ] = "Con~vert to Curve" ; \
-	};\
+	}; \
     SEPARATOR\
     MenuItem\
     {\
         Identifier = SID_BEZIER_EDGE ; \
         HelpId = CMD_SID_BEZIER_EDGE ; \
         Text [ en-US ] = "~Corner" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_SMOOTH ; \
         HelpId = CMD_SID_BEZIER_SMOOTH ; \
         Text [ en-US ] = "Smoot~h" ; \
-	};\
+	}; \
     MenuItem\
     {\
         Identifier = SID_BEZIER_SYMMTR ; \
         HelpId = CMD_SID_BEZIER_SYMMTR ; \
         Text [ en-US ] = "S~ymmetric" ; \
-	};\
+	}; \
     SEPARATOR\
     MenuItem\
     {\
@@ -1132,7 +1132,7 @@
     {\
         Identifier = SID_GRID_USE ; \
         HelpId = CMD_SID_GRID_USE; \
-		Text [ en-US ] = "Snap to Grid"; \
+		Text [ en-US ] = "Snap to Grid" ; \
 	};
 
 #define MN_GRID_FRONT\
@@ -1155,9 +1155,9 @@
                 MN_GRID_VISIBLE\
                 MN_GRID_USE\
                 MN_GRID_FRONT\
-            };\
-        };\
-		Text [ en-US ] = "~Grid";\
+            }; \
+        }; \
+		Text [ en-US ] = "~Grid" ; \
 	};
 
 #define MN_HELPLINES_VISIBLE\
@@ -1173,7 +1173,7 @@
     {\
         Identifier = SID_HELPLINES_USE ; \
         HelpId = CMD_SID_HELPLINES_USE ; \
-		Text [ en-US ] = "Snap to Snap Lines"; \
+		Text [ en-US ] = "Snap to Snap Lines" ; \
 	};
 
 #define MN_HELPLINES_FRONT\
@@ -1196,9 +1196,9 @@
                 MN_HELPLINES_VISIBLE\
                 MN_HELPLINES_USE\
                 MN_HELPLINES_FRONT\
-            };\
-        };\
-		Text [ en-US ] = "~Snap Lines";\
+            }; \
+        }; \
+		Text [ en-US ] = "~Snap Lines" ; \
 	};
 
 #define MN_CONTROL_SHOW_BROWSER\
@@ -1281,8 +1281,8 @@
                 MN_CONVERT_TO_8BIT_GRAYS\
                 MN_CONVERT_TO_8BIT_COLORS\
                 MN_CONVERT_TO_24BIT\
-            };\
-        };\
+            }; \
+        }; \
         Text [ en-US ] = "~Color Resolution" ; \
 	};
 
@@ -1304,8 +1304,8 @@
                 MN_CONVERT_TO_3D_LATHE_FAST\
 				MN_CONVERT_TO_BITMAP\
 				MN_CONVERT_TO_METAFILE\
-            };\
-        };\
+            }; \
+        }; \
 	};
 
 #define MNSUB_MIRROR \
@@ -1321,8 +1321,8 @@
             {\
                 MN_VERTICAL\
                 MN_HORIZONTAL\
-            };\
-        };\
+            }; \
+        }; \
 	};
 
 #define MNSUB_ROTATE \
@@ -1330,7 +1330,7 @@
     {\
 		Identifier = SID_OBJECT_ROTATE ; \
 		HelpId = CMD_SID_OBJECT_ROTATE ; \
-		Text [ en-US ] = "~Rotate";\
+		Text [ en-US ] = "~Rotate" ; \
 	};
 
 #define MN_CONNECT \
@@ -1370,7 +1370,7 @@
     {\
         Identifier = SID_BEZIER_EDIT ; \
         HelpId = CMD_SID_BEZIER_EDIT ; \
-		Text [ en-US ] = "Poi~nts";\
+		Text [ en-US ] = "Poi~nts" ; \
 	};
 
 #define MN_GLUE_EDITMODE \
@@ -1378,7 +1378,7 @@
     {\
 		Identifier = SID_GLUE_EDITMODE ; \
 		HelpId = CMD_SID_GLUE_EDITMODE ; \
-		Text [ en-US ] = "~Glue Points";\
+		Text [ en-US ] = "~Glue Points" ; \
 	};
 
 #define MN_LAYER_EDITMODE \
@@ -1386,7 +1386,7 @@
 	{\
         Identifier = DUMMY + 7 ; \
         Command = ".uno:LayerMenu" ; \
-		Text [ en-US ] =  "La~yer"; \
+		Text [ en-US ] =  "La~yer" ; \
         SubMenu	= Menu \
 		{\
             ItemList = \
@@ -1395,28 +1395,28 @@
 				{\
 					Identifier = SID_INSERTLAYER ; \
 					HelpId = CMD_SID_INSERTLAYER ; \
-					Text [ en-US ] = "~Insert";\
-				};\
+					Text [ en-US ] = "~Insert" ; \
+				}; \
 				MenuItem \
 				{\
 					Identifier = SID_MODIFYLAYER ; \
 					HelpId = CMD_SID_MODIFYLAYER ; \
-					Text [ en-US ] = "~Modify";\
-				};\
+					Text [ en-US ] = "~Modify" ; \
+				}; \
 				MenuItem \
 				{\
 					Identifier = SID_DELETE_LAYER ; \
 					HelpId = CMD_SID_DELETE_LAYER ; \
-					Text [ en-US ] = "Delete";\
-				};\
+					Text [ en-US ] = "Delete" ; \
+				}; \
 				MenuItem \
 				{\
 					Identifier = SID_RENAMELAYER ; \
 					HelpId = CMD_SID_RENAMELAYER ; \
-					Text [ en-US ] = "~Rename";\
+					Text [ en-US ] = "~Rename" ; \
 				}; \
-            };\
-        };\
+            }; \
+        }; \
 	};
 
 // ------------------------------------------------------------------------------------------------
@@ -1517,7 +1517,7 @@
 		MN_ACTION
 		SEPARATOR
 		MN_STYLEDT
-		SEPARATOR		
+		SEPARATOR
 	};
 };
 
@@ -1941,9 +1941,9 @@
 		SEPARATOR
 		MenuItem
 		{
-			Identifier = SID_FORMAT_TABLE_DLG;
-			HelpId = CMD_SID_FORMAT_TABLE_DLG;
-			Text [ en-US ] = "~Table...";
+			Identifier = SID_FORMAT_TABLE_DLG ;
+			HelpId = CMD_SID_FORMAT_TABLE_DLG ;
+			Text [ en-US ] = "~Table..." ;
 		};
 		MenuItem
 		{
@@ -1956,34 +1956,34 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_MERGE_CELLS;
-						HelpId = CMD_SID_TABLE_MERGE_CELLS;
-						Text [ en-US ] = "~Merge";
+						Identifier = SID_TABLE_MERGE_CELLS ;
+						HelpId = CMD_SID_TABLE_MERGE_CELLS ;
+						Text [ en-US ] = "~Merge" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_SPLIT_CELLS;
-						HelpId = CMD_SID_TABLE_SPLIT_CELLS;
-						Text [ en-US ] = "~Split...";
+						Identifier = SID_TABLE_SPLIT_CELLS ;
+						HelpId = CMD_SID_TABLE_SPLIT_CELLS ;
+						Text [ en-US ] = "~Split..." ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_NONE;
-						HelpId = CMD_SID_TABLE_VERT_NONE;
-						Text [ en-US ] = "~Top";
+						Identifier = SID_TABLE_VERT_NONE ;
+						HelpId = CMD_SID_TABLE_VERT_NONE ;
+						Text [ en-US ] = "~Top" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_CENTER;
-						HelpId = CMD_SID_TABLE_VERT_CENTER;
-						Text [ en-US ] = "C~enter";
+						Identifier = SID_TABLE_VERT_CENTER ;
+						HelpId = CMD_SID_TABLE_VERT_CENTER ;
+						Text [ en-US ] = "C~enter" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_BOTTOM;
-						HelpId = CMD_SID_TABLE_VERT_BOTTOM;
-						Text [ en-US ] = "~Bottom";
+						Identifier = SID_TABLE_VERT_BOTTOM ;
+						HelpId = CMD_SID_TABLE_VERT_BOTTOM ;
+						Text [ en-US ] = "~Bottom" ;
 					};
 				};
 			};
@@ -1999,28 +1999,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_ROWS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_ROWS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_ROW;
-						HelpId = CMD_SID_TABLE_SELECT_ROW;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_ROW ;
+						HelpId = CMD_SID_TABLE_SELECT_ROW ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_ROW_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_ROW_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_ROW;
-						HelpId = CMD_SID_TABLE_DELETE_ROW;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_ROW ;
+						HelpId = CMD_SID_TABLE_DELETE_ROW ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -2036,28 +2036,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_COL;
-						HelpId = CMD_SID_TABLE_SELECT_COL;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_COL ;
+						HelpId = CMD_SID_TABLE_SELECT_COL ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_COL_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_COL_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_COL_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_COL_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_COL;
-						HelpId = CMD_SID_TABLE_DELETE_COL;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_COL ;
+						HelpId = CMD_SID_TABLE_DELETE_COL ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -2081,34 +2081,6 @@
 // ------------------------------------------------------------------------------------------------
 // draw popups
 // ------------------------------------------------------------------------------------------------
-
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
- 
 //
 // TEXTOBJ_POPUP
 //
@@ -2198,7 +2170,7 @@
 		SEPARATOR
 		MN_STYLEDT
 		SEPARATOR
-		
+
 	};
 };
 
@@ -2582,9 +2554,9 @@
 		SEPARATOR
 		MenuItem
 		{
-			Identifier = SID_FORMAT_TABLE_DLG;
-			HelpId = CMD_SID_FORMAT_TABLE_DLG;
-			Text [ en-US ] = "~Table...";
+			Identifier = SID_FORMAT_TABLE_DLG ;
+			HelpId = CMD_SID_FORMAT_TABLE_DLG ;
+			Text [ en-US ] = "~Table..." ;
 		};
 		MenuItem
 		{
@@ -2597,34 +2569,34 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_MERGE_CELLS;
-						HelpId = CMD_SID_TABLE_MERGE_CELLS;
-						Text [ en-US ] = "~Merge";
+						Identifier = SID_TABLE_MERGE_CELLS ;
+						HelpId = CMD_SID_TABLE_MERGE_CELLS ;
+						Text [ en-US ] = "~Merge" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_SPLIT_CELLS;
-						HelpId = CMD_SID_TABLE_SPLIT_CELLS;
-						Text [ en-US ] = "~Split...";
+						Identifier = SID_TABLE_SPLIT_CELLS ;
+						HelpId = CMD_SID_TABLE_SPLIT_CELLS ;
+						Text [ en-US ] = "~Split..." ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_NONE;
-						HelpId = CMD_SID_TABLE_VERT_NONE;
-						Text [ en-US ] = "~Top";
+						Identifier = SID_TABLE_VERT_NONE ;
+						HelpId = CMD_SID_TABLE_VERT_NONE ;
+						Text [ en-US ] = "~Top" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_CENTER;
-						HelpId = CMD_SID_TABLE_VERT_CENTER;
-						Text [ en-US ] = "C~enter";
+						Identifier = SID_TABLE_VERT_CENTER ;
+						HelpId = CMD_SID_TABLE_VERT_CENTER ;
+						Text [ en-US ] = "C~enter" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_BOTTOM;
-						HelpId = CMD_SID_TABLE_VERT_BOTTOM;
-						Text [ en-US ] = "~Bottom";
+						Identifier = SID_TABLE_VERT_BOTTOM ;
+						HelpId = CMD_SID_TABLE_VERT_BOTTOM ;
+						Text [ en-US ] = "~Bottom" ;
 					};
 				};
 			};
@@ -2640,28 +2612,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_ROWS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_ROWS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_ROW;
-						HelpId = CMD_SID_TABLE_SELECT_ROW;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_ROW ;
+						HelpId = CMD_SID_TABLE_SELECT_ROW ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_ROW_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_ROW_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_ROW;
-						HelpId = CMD_SID_TABLE_DELETE_ROW;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_ROW ;
+						HelpId = CMD_SID_TABLE_DELETE_ROW ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -2677,28 +2649,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_COL;
-						HelpId = CMD_SID_TABLE_SELECT_COL;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_COL ;
+						HelpId = CMD_SID_TABLE_SELECT_COL ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_COL_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_COL_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_COL_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_COL_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_COL;
-						HelpId = CMD_SID_TABLE_DELETE_COL;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_COL ;
+						HelpId = CMD_SID_TABLE_DELETE_COL ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -2764,9 +2736,9 @@
 		SEPARATOR
 		MenuItem
 		{
-			Identifier = SID_FORMAT_TABLE_DLG;
-			HelpId = CMD_SID_FORMAT_TABLE_DLG;
-			Text [ en-US ] = "~Table...";
+			Identifier = SID_FORMAT_TABLE_DLG ;
+			HelpId = CMD_SID_FORMAT_TABLE_DLG ;
+			Text [ en-US ] = "~Table..." ;
 		};
 		MenuItem
 		{
@@ -2779,34 +2751,34 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_MERGE_CELLS;
-						HelpId = CMD_SID_TABLE_MERGE_CELLS;
-						Text [ en-US ] = "~Merge";
+						Identifier = SID_TABLE_MERGE_CELLS ;
+						HelpId = CMD_SID_TABLE_MERGE_CELLS ;
+						Text [ en-US ] = "~Merge" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_SPLIT_CELLS;
-						HelpId = CMD_SID_TABLE_SPLIT_CELLS;
-						Text [ en-US ] = "~Split...";
+						Identifier = SID_TABLE_SPLIT_CELLS ;
+						HelpId = CMD_SID_TABLE_SPLIT_CELLS ;
+						Text [ en-US ] = "~Split..." ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_NONE;
-						HelpId = CMD_SID_TABLE_VERT_NONE;
-						Text [ en-US ] = "~Top";
+						Identifier = SID_TABLE_VERT_NONE ;
+						HelpId = CMD_SID_TABLE_VERT_NONE ;
+						Text [ en-US ] = "~Top" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_CENTER;
-						HelpId = CMD_SID_TABLE_VERT_CENTER;
-						Text [ en-US ] = "C~enter";
+						Identifier = SID_TABLE_VERT_CENTER ;
+						HelpId = CMD_SID_TABLE_VERT_CENTER ;
+						Text [ en-US ] = "C~enter" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_VERT_BOTTOM;
-						HelpId = CMD_SID_TABLE_VERT_BOTTOM;
-						Text [ en-US ] = "~Bottom";
+						Identifier = SID_TABLE_VERT_BOTTOM ;
+						HelpId = CMD_SID_TABLE_VERT_BOTTOM ;
+						Text [ en-US ] = "~Bottom" ;
 					};
 				};
 			};
@@ -2822,28 +2794,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_ROWS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_ROWS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_ROWS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_ROW;
-						HelpId = CMD_SID_TABLE_SELECT_ROW;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_ROW ;
+						HelpId = CMD_SID_TABLE_SELECT_ROW ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_ROW_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_ROW_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_ROW_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_ROW;
-						HelpId = CMD_SID_TABLE_DELETE_ROW;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_ROW ;
+						HelpId = CMD_SID_TABLE_DELETE_ROW ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -2859,28 +2831,28 @@
 				{
 					MenuItem
 					{
-						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS;
-						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS;
-						Text [ en-US ] = "Space ~Equally";
+						Identifier = SID_TABLE_DISTRIBUTE_COLUMNS ;
+						HelpId = CMD_SID_TABLE_DISTRIBUTE_COLUMNS ;
+						Text [ en-US ] = "Space ~Equally" ;
 					};
 					SEPARATOR
 					MenuItem
 					{
-						Identifier = SID_TABLE_SELECT_COL;
-						HelpId = CMD_SID_TABLE_SELECT_COL;
-						Text [ en-US ] = "~Select";
+						Identifier = SID_TABLE_SELECT_COL ;
+						HelpId = CMD_SID_TABLE_SELECT_COL ;
+						Text [ en-US ] = "~Select" ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_INSERT_COL_DLG;
-						HelpId = CMD_SID_TABLE_INSERT_COL_DLG;
-						Text [ en-US ] = "~Insert...";
+						Identifier = SID_TABLE_INSERT_COL_DLG ;
+						HelpId = CMD_SID_TABLE_INSERT_COL_DLG ;
+						Text [ en-US ] = "~Insert..." ;
 					};
 					MenuItem
 					{
-						Identifier = SID_TABLE_DELETE_COL;
-						HelpId = CMD_SID_TABLE_DELETE_COL;
-						Text [ en-US ] = "~Delete";
+						Identifier = SID_TABLE_DELETE_COL ;
+						HelpId = CMD_SID_TABLE_DELETE_COL ;
+						Text [ en-US ] = "~Delete" ;
 					};
 				};
 			};
@@ -3103,30 +3075,30 @@
 	{
 		MenuItem
 		{
-			Identifier = SID_TP_APPLY_TO_ALL_SLIDES;
-			HelpId = CMD_SID_TP_APPLY_TO_ALL_SLIDES;
-			Text [ en-US ] = "~Apply to All Slides";
+			Identifier = SID_TP_APPLY_TO_ALL_SLIDES ;
+			HelpId = CMD_SID_TP_APPLY_TO_ALL_SLIDES ;
+			Text [ en-US ] = "~Apply to All Slides" ;
         };
 		MenuItem
 		{
-			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES;
-			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES;
-			Text [ en-US ] = "Apply to ~Selected Slides";
+			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			Text [ en-US ] = "Apply to ~Selected Slides" ;
         };
 
 		SEPARATOR
 
 		MenuItem
 		{
-			Identifier = SID_TP_SHOW_LARGE_PREVIEW;
-			HelpId = CMD_SID_TP_SHOW_LARGE_PREVIEW;
-            Text[ en-US ] = "Show ~Large Preview";
+			Identifier = SID_TP_SHOW_LARGE_PREVIEW ;
+			HelpId = CMD_SID_TP_SHOW_LARGE_PREVIEW ;
+            Text [ en-US ] = "Show ~Large Preview" ;
         };
         MenuItem
         {
-            Identifier = SID_TP_SHOW_SMALL_PREVIEW;
-            HelpId = CMD_SID_TP_SHOW_SMALL_PREVIEW;
-            Text[ en-US ] = "Show S~mall Preview";
+            Identifier = SID_TP_SHOW_SMALL_PREVIEW ;
+            HelpId = CMD_SID_TP_SHOW_SMALL_PREVIEW ;
+            Text [ en-US ] = "Show S~mall Preview" ;
         };
 	};
 };
@@ -3137,15 +3109,15 @@
 	{
 		MenuItem
 		{
-			Identifier = SID_TP_APPLY_TO_ALL_SLIDES;
-			HelpId = CMD_SID_TP_APPLY_TO_ALL_SLIDES;
-			Text [ en-US ] = "~Apply to All Slides";
+			Identifier = SID_TP_APPLY_TO_ALL_SLIDES ;
+			HelpId = CMD_SID_TP_APPLY_TO_ALL_SLIDES ;
+			Text [ en-US ] = "~Apply to All Slides" ;
         };
 		MenuItem
 		{
-			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES;
-			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES;
-			Text [ en-US ] = "Apply to ~Selected Slides";
+			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			Text [ en-US ] = "Apply to ~Selected Slides" ;
         };
 
 
@@ -3153,9 +3125,9 @@
 
         MenuItem
         {
-            Identifier = SID_TP_EDIT_MASTER;
-            HelpId = CMD_SID_TP_EDIT_MASTER;
-            Text[ en-US ] = "~Edit Master...";
+            Identifier = SID_TP_EDIT_MASTER ;
+            HelpId = CMD_SID_TP_EDIT_MASTER ;
+            Text [ en-US ] = "~Edit Master..." ;
         };
 
 		MN_DELETE_MASTER
@@ -3164,15 +3136,15 @@
 
 		MenuItem
 		{
-			Identifier = SID_TP_SHOW_LARGE_PREVIEW;
-			HelpId = CMD_SID_TP_SHOW_LARGE_PREVIEW;
-            Text[ en-US ] = "Show ~Large Preview";
+			Identifier = SID_TP_SHOW_LARGE_PREVIEW ;
+			HelpId = CMD_SID_TP_SHOW_LARGE_PREVIEW ;
+            Text [ en-US ] = "Show ~Large Preview" ;
         };
         MenuItem
         {
-            Identifier = SID_TP_SHOW_SMALL_PREVIEW;
-            HelpId = CMD_SID_TP_SHOW_SMALL_PREVIEW;
-            Text[ en-US ] = "Show S~mall Preview";
+            Identifier = SID_TP_SHOW_SMALL_PREVIEW ;
+            HelpId = CMD_SID_TP_SHOW_SMALL_PREVIEW ;
+            Text [ en-US ] = "Show S~mall Preview" ;
         };
 	};
 };
@@ -3183,18 +3155,20 @@
 	{
 		MenuItem
 		{
-			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES;
-			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES;
-			Text [ en-US ] = "Apply to ~Selected Slides";
+			Identifier = SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			HelpId = CMD_SID_TP_APPLY_TO_SELECTED_SLIDES ;
+			Text [ en-US ] = "Apply to ~Selected Slides" ;
         };
 
 		SEPARATOR
 
 		MenuItem
 		{
-			Identifier = SID_INSERTPAGE_LAYOUT_MENU;
-			HelpId = CMD_SID_INSERTPAGE_LAYOUT_MENU;
-            Text [ en-US ] = "~Insert Slide";
+			Identifier = SID_INSERTPAGE_LAYOUT_MENU ;
+			HelpId = CMD_SID_INSERTPAGE_LAYOUT_MENU ;
+            Text [ en-US ] = "~Insert Slide" ;
         };
 	};
 };
+
+// ********************************************************************** EOF
diff --git a/main/sd/source/ui/app/res_bmp.src b/main/sd/source/ui/app/res_bmp.src
index 28291ae..ba33370 100644
--- a/main/sd/source/ui/app/res_bmp.src
+++ b/main/sd/source/ui/app/res_bmp.src
@@ -1,5 +1,5 @@
 /**************************************************************
- * 
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,16 +7,16 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- * 
+ *
  *************************************************************/
 
 
@@ -29,231 +29,231 @@
 // preview bitmaps for layouts
 Bitmap BMP_LAYOUT_EMPTY
 {
-	File = "layout_empty.png";
+	File = "layout_empty.png" ;
 };
 Bitmap BMP_LAYOUT_EMPTY_H
 {
-	File = "layout_empty_h.png";
+	File = "layout_empty_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD01
 {
-	File = "layout_head01.png";
+	File = "layout_head01.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD01_H
 {
-	File = "layout_head01_h.png";
+	File = "layout_head01_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02
 {
-	File = "layout_head02.png";
+	File = "layout_head02.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02_H
 {
-	File = "layout_head02_h.png";
+	File = "layout_head02_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02A
 {
-	File = "layout_head02a.png";
+	File = "layout_head02a.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02A_H
 {
-	File = "layout_head02a_h.png";
+	File = "layout_head02a_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02B
 {
-	File = "layout_head02b.png";
+	File = "layout_head02b.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD02B_H
 {
-	File = "layout_head02b_h.png";
+	File = "layout_head02b_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03
 {
-	File = "layout_head03.png";
+	File = "layout_head03.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03_H
 {
-	File = "layout_head03_h.png";
+	File = "layout_head03_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03A
 {
-	File = "layout_head03a.png";
+	File = "layout_head03a.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03A_H
 {
-	File = "layout_head03a_h.png";
+	File = "layout_head03a_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03B
 {
-	File = "layout_head03b.png";
+	File = "layout_head03b.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03B_H
 {
-	File = "layout_head03b_h.png";
+	File = "layout_head03b_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03C
 {
-	File = "layout_head03c.png";
+	File = "layout_head03c.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD03C_H
 {
-	File = "layout_head03c_h.png";
+	File = "layout_head03c_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD04
 {
-	File = "layout_head04.png";
+	File = "layout_head04.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD04_H
 {
-	File = "layout_head04_h.png";
+	File = "layout_head04_h.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD06
 {
-	File = "layout_head06.png";
+	File = "layout_head06.png" ;
 };
 Bitmap BMP_LAYOUT_HEAD06_H
 {
-	File = "layout_head06_h.png";
+	File = "layout_head06_h.png" ;
 };
 Bitmap BMP_LAYOUT_TEXTONLY
 {
-	File = "layout_textonly.png";
+	File = "layout_textonly.png" ;
 };
 Bitmap BMP_LAYOUT_TEXTONLY_H
 {
-	File = "layout_textonly_h.png";
+	File = "layout_textonly_h.png" ;
 };
 Bitmap BMP_LAYOUT_VERTICAL01
 {
-	File = "layout_vertical01.png";
+	File = "layout_vertical01.png" ;
 };
 Bitmap BMP_LAYOUT_VERTICAL01_H
 {
-	File = "layout_vertical01_h.png";
+	File = "layout_vertical01_h.png" ;
 };
 Bitmap BMP_LAYOUT_VERTICAL02
 {
-	File = "layout_vertical02.png";
+	File = "layout_vertical02.png" ;
 };
 Bitmap BMP_LAYOUT_VERTICAL02_H
 {
-	File = "layout_vertical02_h.png";
+	File = "layout_vertical02_h.png" ;
 };
 
 Bitmap BMP_FOILH_01
 {
-	File = "foilh01.png";
+	File = "foilh01.png" ;
 };
 Bitmap BMP_FOILH_01_H
 {
-	File = "foilh01_h.png";
+	File = "foilh01_h.png" ;
 };
 Bitmap BMP_FOILH_02
 {
-	File = "foilh02.png";
+	File = "foilh02.png" ;
 };
 Bitmap BMP_FOILH_02_H
 {
-	File = "foilh02_h.png";
+	File = "foilh02_h.png" ;
 };
 Bitmap BMP_FOILH_03
 {
-	File = "foilh03.png";
+	File = "foilh03.png" ;
 };
 Bitmap BMP_FOILH_03_H
 {
-	File = "foilh03_h.png";
+	File = "foilh03_h.png" ;
 };
 Bitmap BMP_FOILH_04
 {
-	File = "foilh04.png";
+	File = "foilh04.png" ;
 };
 Bitmap BMP_FOILH_04_H
 {
-	File = "foilh04_h.png";
+	File = "foilh04_h.png" ;
 };
 Bitmap BMP_FOILH_06
 {
-	File = "foilh06.png";
+	File = "foilh06.png" ;
 };
 Bitmap BMP_FOILH_06_H
 {
-	File = "foilh06_h.png";
+	File = "foilh06_h.png" ;
 };
 Bitmap BMP_FOILH_09
 {
-	File = "foilh09.png";
+	File = "foilh09.png" ;
 };
 Bitmap BMP_FOILH_09_H
 {
-	File = "foilh09_h.png";
+	File = "foilh09_h.png" ;
 };
 
 
 Bitmap BMP_PLACEHOLDER_CHART_SMALL
 {
-	File = "placeholder_chart_small.png";
+	File = "placeholder_chart_small.png" ;
 };
 Bitmap BMP_PLACEHOLDER_CHART_SMALL_HOVER
 {
-	File = "placeholder_chart_small_hover.png";
+	File = "placeholder_chart_small_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_IMAGE_SMALL
 {
-	File = "placeholder_image_small.png";
+	File = "placeholder_image_small.png" ;
 };
 Bitmap BMP_PLACEHOLDER_IMAGE_SMALL_HOVER
 {
-	File = "placeholder_image_small_hover.png";
+	File = "placeholder_image_small_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_MOVIE_SMALL
 {
-	File = "placeholder_movie_small.png";
+	File = "placeholder_movie_small.png" ;
 };
 Bitmap BMP_PLACEHOLDER_MOVIE_SMALL_HOVER
 {
-	File = "placeholder_movie_small_hover.png";
+	File = "placeholder_movie_small_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_TABLE_SMALL
 {
-	File = "placeholder_table_small.png";
+	File = "placeholder_table_small.png" ;
 };
 Bitmap BMP_PLACEHOLDER_TABLE_SMALL_HOVER
 {
-	File = "placeholder_table_small_hover.png";
+	File = "placeholder_table_small_hover.png" ;
 };
 
 Bitmap BMP_PLACEHOLDER_CHART_LARGE
 {
-	File = "placeholder_chart_large.png";
+	File = "placeholder_chart_large.png" ;
 };
 Bitmap BMP_PLACEHOLDER_CHART_LARGE_HOVER
 {
-	File = "placeholder_chart_large_hover.png";
+	File = "placeholder_chart_large_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_IMAGE_LARGE
 {
-	File = "placeholder_image_large.png";
+	File = "placeholder_image_large.png" ;
 };
 Bitmap BMP_PLACEHOLDER_IMAGE_LARGE_HOVER
 {
-	File = "placeholder_image_large_hover.png";
+	File = "placeholder_image_large_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_MOVIE_LARGE
 {
-	File = "placeholder_movie_large.png";
+	File = "placeholder_movie_large.png" ;
 };
 Bitmap BMP_PLACEHOLDER_MOVIE_LARGE_HOVER
 {
-	File = "placeholder_movie_large_hover.png";
+	File = "placeholder_movie_large_hover.png" ;
 };
 Bitmap BMP_PLACEHOLDER_TABLE_LARGE
 {
-	File = "placeholder_table_large.png";
+	File = "placeholder_table_large.png" ;
 };
 Bitmap BMP_PLACEHOLDER_TABLE_LARGE_HOVER
 {
-	File = "placeholder_table_large_hover.png";
+	File = "placeholder_table_large_hover.png" ;
 };
 
 Bitmap BMP_FOILN_01
@@ -371,33 +371,28 @@
 Image IMG_PIPETTE_H
 {
 	ImageBitmap = Bitmap { File = "pipette_h.png" ; };
-	MaskColor = IMAGE_MASK_STDCOLOR_HC ;
 };
 Image IMG_GET1OBJECT_H
 {
 	ImageBitmap = Bitmap { File = "get1obj_h.png" ; };
-	MaskColor = IMAGE_MASK_STDCOLOR_HC ;
 };
 Image IMG_GETALLOBJECT_H
 {
 	ImageBitmap = Bitmap { File = "getallob_h.png" ; };
-	MaskColor = IMAGE_MASK_STDCOLOR_HC ;
 };
 Image IMG_REMOVEBMP_H
 {
 	ImageBitmap = Bitmap { File = "del1bmp_h.png" ; };
-	MaskColor = IMAGE_MASK_STDCOLOR_HC ;
 };
 Image IMG_REMOVEALLBMP_H
 {
 	ImageBitmap = Bitmap { File = "delall_h.png" ; };
-	MaskColor = IMAGE_MASK_STDCOLOR_HC ;
 };
 #define SfxStyleFamiliesRes1\
 	Text [ en-US ] = "Graphics Styles" ;\
 
 #define SfxStyleFamiliesRes2\
-    Text [ en-US ] = "Presentation Styles" ;\
+	Text [ en-US ] = "Presentation Styles" ;\
 
 String STR_STYLE_FILTER_USED
 {
@@ -419,8 +414,8 @@
 		SfxStyleFamilyItem RID_GRAPHICSTYLEFAMILY
 		{
 			SfxStyleFamiliesRes1
-            StyleFamily = SFX_STYLE_FAMILY_PARA ;
-    		FilterList [ en-US ] =
+			StyleFamily = SFX_STYLE_FAMILY_PARA ;
+			FilterList [ en-US ] =
 			{
 				< "All Styles" ; SFXSTYLEBIT_ALL ; > ;
 				< "Applied Styles" ; SFXSTYLEBIT_USED ; > ;
@@ -430,12 +425,12 @@
 		SfxStyleFamilyItem RID_PRESENTATIONSTYLEFAMILY
 		{
 			SfxStyleFamiliesRes2
-            StyleFamily = SFX_STYLE_FAMILY_PSEUDO ;
-    		FilterList [ en-US ] =
+			StyleFamily = SFX_STYLE_FAMILY_PSEUDO ;
+			FilterList [ en-US ] =
 			{
 				< "All Styles" ; SFXSTYLEBIT_ALL ; > ;
 			};
-		};		
+		};
 	};
 	#define STYLE_IMAGE_LISTEF \
 		MaskColor = IMAGE_MASK_STDCOLOR; \
@@ -447,12 +442,12 @@
 
 	ImageList 1	// == BMP_COLOR_NORMAL + 1
 	{
-		Prefix = "sf";
+		Prefix = "sf" ;
 		STYLE_IMAGE_LISTEF
 	};
 	ImageList 2	// == BMP_COLOR_HIGHCONTRAST + 1
 	{
-		Prefix = "sfh";
+		Prefix = "sfh" ;
 		STYLE_IMAGE_LISTEF
 	};
 	#undef STYLE_IMAGE_LISTEF
@@ -480,24 +475,26 @@
 };
 Bitmap BMP_WAIT_ICON
 {
-	File = "waiticon.png";
+	File = "waiticon.png" ;
 };
 
 // ----------------------------------------
 
 Bitmap BMP_FADE_EFFECT_INDICATOR
 {
-    File = "fade_effect_indicator.png";
+	File = "fade_effect_indicator.png" ;
 };
 Bitmap BMP_FADE_EFFECT_INDICATOR_H
 {
-    File = "fade_effect_indicator_hc.png";
+	File = "fade_effect_indicator_hc.png" ;
 };
 Bitmap BMP_COMMENTS_INDICATOR
 {
-    File = "comments_indicator.png";
+	File = "comments_indicator.png" ;
 };
 Bitmap BMP_COMMENTS_INDICATOR_H
 {
-    File = "comments_indicator_hc.png";
+	File = "comments_indicator_hc.png" ;
 };
+
+// ********************************************************************** EOF
