--- a/trunk/cforge/cforge/Package/CFORGE/Scripts/ui.py
+++ b/trunk/cforge/cforge/Package/CFORGE/Scripts/ui.py
@@ -17,7 +17,7 @@
 
 class IFormSettings(Form):
 
-	def __init__(self, Title, Config, Folder=False, Credentials=False, Info=False, InfoText="", Message=False):
+	def __init__(self, Title, Config, Folder=False, Credentials=False, Info=False, InfoText="", Message=False, PkgName=False, PkgVendor=False, PkgCopyright=False, PkgDescription=False):
 		self.Config = Config
 		
 		y = 0
@@ -40,7 +40,8 @@
 			self.FolderLabel.Parent = self
 			
 			self.FolderBox = TextBox()
-			self.FolderBox.Text = Config["folder"]
+			if "folder" in Config:
+				self.FolderBox.Text = Config["folder"]
 			self.FolderBox.Enabled = True
 			self.FolderBox.Location = Point(60, y)
 			self.FolderBox.Parent = self
@@ -62,7 +63,8 @@
 			self.UserLabel.Parent = self
 
 			self.UserBox = TextBox()
-			self.UserBox.Text = Config["user"]
+			if "user" in Config:
+				self.UserBox.Text = Config["user"]
 			self.UserBox.Enabled = True
 			self.UserBox.Location = Point(60, y)
 			self.UserBox.Parent = self
@@ -76,7 +78,8 @@
 			self.PassLabel.Parent = self
 
 			self.PassBox = TextBox()
-			self.PassBox.Text = Config["pass"]
+			if "pass" in Config:
+				self.PassBox.Text = Config["pass"]
 			self.PassBox.Enabled = True
 			self.PassBox.PasswordChar = "*"
 			self.PassBox.Location = Point(60, y)
@@ -116,7 +119,7 @@
 			
 			self.MessageBox = TextBox()
 			self.MessageBox.Text = "Enter Message..."
-			if Config["msg"] != "":
+			if "msg" in Config and Config["msg"] != "":
 				self.MessageBox.Text = Config["msg"]
 			self.MessageBox.Enabled = True
 			self.MessageBox.Location = Point(0, y)
@@ -128,7 +131,77 @@
 			self.MessageBox.Width = 360
 			self.MessageBox.Height = 160
 			y += 180
-		
+
+		if PkgName:
+			# Name
+			self.PkgNameLabel = Label()
+			self.PkgNameLabel.Text = "Name:"
+			self.PkgNameLabel.Location = Point(0, y)
+			self.PkgNameLabel.Width = 60
+			self.PkgNameLabel.Parent = self
+
+			self.PkgNameBox = TextBox()
+			if "PkgName" in Config:
+				self.PkgNameBox.Text = Config["PkgName"]
+			self.PkgNameBox.Enabled = True
+			self.PkgNameBox.Location = Point(60, y)
+			self.PkgNameBox.Parent = self
+			self.PkgNameBox.Width = 300
+			y += 24
+			
+		if PkgVendor:
+			# Name
+			self.PkgVendorLabel = Label()
+			self.PkgVendorLabel.Text = "Vendor:"
+			self.PkgVendorLabel.Location = Point(0, y)
+			self.PkgVendorLabel.Width = 60
+			self.PkgVendorLabel.Parent = self
+
+			self.PkgVendorBox = TextBox()
+			self.PkgVendorBox.Text = "Open Source Software"
+			if "PkgVendor" in Config and Config["PkgVendor"] != "":
+				self.PkgVendorBox.Text = Config["PkgVendor"]
+			self.PkgVendorBox.Enabled = True
+			self.PkgVendorBox.Location = Point(60, y)
+			self.PkgVendorBox.Parent = self
+			self.PkgVendorBox.Width = 300
+			y += 24
+			
+		if PkgCopyright:
+			# Name
+			self.PkgCopyrightLabel = Label()
+			self.PkgCopyrightLabel.Text = "Copyright:"
+			self.PkgCopyrightLabel.Location = Point(0, y)
+			self.PkgCopyrightLabel.Width = 60
+			self.PkgCopyrightLabel.Parent = self
+
+			self.PkgCopyrightBox = TextBox()
+			self.PkgCopyrightBox.Text = "all rights reserved"
+			if "PkgCopyright" in Config and Config["PkgCopyright"] != "":
+				self.PkgCopyrightBox.Text = Config["PkgCopyright"]
+			self.PkgCopyrightBox.Enabled = True
+			self.PkgCopyrightBox.Location = Point(60, y)
+			self.PkgCopyrightBox.Parent = self
+			self.PkgCopyrightBox.Width = 300
+			y += 24
+			
+		if PkgDescription:
+			# Name
+			self.PkgDescriptionLabel = Label()
+			self.PkgDescriptionLabel.Text = "Descr.:"
+			self.PkgDescriptionLabel.Location = Point(0, y)
+			self.PkgDescriptionLabel.Width = 60
+			self.PkgDescriptionLabel.Parent = self
+
+			self.PkgDescriptionBox = TextBox()
+			if "PkgDescription" in Config:
+				self.PkgDescriptionBox.Text = Config["PkgDescription"]
+			self.PkgDescriptionBox.Enabled = True
+			self.PkgDescriptionBox.Location = Point(60, y)
+			self.PkgDescriptionBox.Parent = self
+			self.PkgDescriptionBox.Width = 300
+			y += 24
+			
 		# OK / Cancel Button
 		self.AcceptButton = Button()
 		self.AcceptButton.Click += self.OnClickOK
@@ -179,6 +252,14 @@
 			self.Config["pass"] = self.PassBox.Text
 		if hasattr(self, 'MessageBox'):
 			self.Config["msg"] = self.MessageBox.Text
+		if hasattr(self, 'PkgNameBox'):
+			self.Config["PkgName"] = self.PkgNameBox.Text
+		if hasattr(self, 'PkgVendorBox'):
+			self.Config["PkgVendor"] = self.PkgVendorBox.Text
+		if hasattr(self, 'PkgCopyrightBox'):
+			self.Config["PkgCopyright"] = self.PkgCopyrightBox.Text
+		if hasattr(self, 'PkgDescriptionBox'):
+			self.Config["PkgDescription"] = self.PkgDescriptionBox.Text
 		GlobalResult = True
 		self.Dispose()
 
@@ -209,14 +290,14 @@
 	with open(filename, "w") as f:
 		config = json.dump(config, f)
 	
-def Dialog(Title, Folder=False, Credentials=False, DefaultFolder="", Info=False, InfoText="", Message=False):            
+def Dialog(Title, Folder=False, Credentials=False, DefaultFolder="", Info=False, InfoText="", Message=False, PkgName=False, PkgVendor=False, PkgCopyright=False, PkgDescription=False):            
 	config = GetSettings()
 		
 	if DefaultFolder != "":
 		folder, file = ntpath.split(config['folder'])
 		config['folder'] = os.path.join(folder, DefaultFolder)
 
-	Application.Run(IFormSettings(Title, Folder=Folder, Credentials=Credentials, Info=Info, InfoText=InfoText, Message=Message, Config=config))
+	Application.Run(IFormSettings(Title, Folder=Folder, Credentials=Credentials, Info=Info, InfoText=InfoText, Message=Message, Config=config, PkgName=PkgName, PkgVendor=PkgVendor, PkgCopyright=PkgCopyright, PkgDescription=PkgDescription))
 	if GlobalResult:
 		SaveSettings(config)
 		return config