

class ToodleDoPreferences < NSObject

	attr_accessor :identifier,:mainView,:label,:icon,:category,:appDelegate
	
	def initWithController_appDelegate(controller,appDelegate)
	  @label="ToodleDo"
	  @category="Frictionless"
	  @identifier="Toodledo"
	  @icon= NSImage.imageNamed("ToodleDo")
	  @appDelegate=appDelegate
	  controller.addPane_withIdentifier(self,	@identifier)
	end
	
	def ToodleDoPreferences.username
       defaults=NSUserDefaultsController.sharedUserDefaultsController.values
	   defaults.valueForKey("toodledoAPIKey")
	end
	
	def username
		return ToodleDoPreferences.username
	end
	def hasUsername?
		username && username.length > 0
	end

	def ToodleDoPreferences.hasUsername?
		username && username.length > 0
	end
	
	def goToodleAPI
		link = NSURL.URLWithString("http://www.toodledo.com/info/api_doc.php")
		NSWorkspace.sharedWorkspace.openURL?(link)
	end

	def mainView
	  NSBundle.loadNibNamed_owner("ToodleDoPreferences",self) unless @mainView
	  @mainView
	end

	def password=(newpassword)
		setPassword(newpassword)
	end
	
	def setPassword(newpassword)
      defaults=NSUserDefaultsController.sharedUserDefaultsController.values
	  FrictionlessKeyChainBridge.addServerName_account_password("www.toodledo.com",defaults.valueForKey("toodledoAPIKey"),newpassword) if hasUsername?
	end
	
	def password
		return ToodleDoPreferences.password
	end
	
	def ToodleDoPreferences.password
      defaults=NSUserDefaultsController.sharedUserDefaultsController.values
	  print "Reading defaults #{defaults}\n"
	  password=FrictionlessKeyChainBridge.findPasswordForServer_account("www.toodledo.com",defaults.valueForKey("toodledoAPIKey")) if hasUsername?
	end

	def ToodleDoPreferences.apiKey
      defaults=NSUserDefaultsController.sharedUserDefaultsController.values
	  defaults.valueForKey("toodledoAPIKey")
	end
	
end
	