예제 #1
0
/*static*/
AutoPtr<WindowConfig> WindowConfig::FromProperties(KObjectRef properties)
{
	WindowConfig* c = new WindowConfig();
	c->SetID(properties->GetString("id", c->GetID()));
	c->SetURL(properties->GetString("url", c->GetURL()));
	c->SetURLRegex(properties->GetString("urlRegex", c->GetURLRegex()));
	c->SetTitle(properties->GetString("title", c->GetTitle()));
	c->SetContents(properties->GetString("contents", c->GetContents()));
	c->SetURLRegex(properties->GetString("baseURL", c->GetBaseURL()));
	c->SetX(properties->GetInt("x", c->GetX()));
	c->SetY(properties->GetInt("y", c->GetY()));
	c->SetWidth(properties->GetInt("width", c->GetWidth()));
	c->SetMinWidth(properties->GetInt("minWidth", c->GetMinWidth()));
	c->SetMaxWidth(properties->GetInt("maxWidth", c->GetMaxWidth()));
	c->SetHeight(properties->GetInt("height", c->GetHeight()));
	c->SetMinHeight(properties->GetInt("minHeight", c->GetMinHeight()));
	c->SetMaxHeight(properties->GetInt("maxHeight", c->GetMaxHeight()));
	c->SetMaximizable(CoerceBool(properties, "maximizable", c->IsMaximizable()));
	c->SetMinimizable(CoerceBool(properties, "minimizable", c->IsMinimizable()));
	c->SetCloseable(CoerceBool(properties, "closeable", c->IsCloseable()));
	c->SetResizable(CoerceBool(properties, "resizable", c->IsResizable()));
	c->SetFullscreen(CoerceBool(properties, "fullscreen", c->IsFullscreen()));
	c->SetMaximized(CoerceBool(properties, "maximized", c->IsMaximized()));
	c->SetMinimized(CoerceBool(properties, "minimized", c->IsMinimized()));
	c->SetUsingChrome(CoerceBool(properties, "usingChrome", c->IsUsingChrome()));
	c->SetToolWindow(CoerceBool(properties, "toolWindow", c->IsToolWindow()));
	c->SetTopMost(CoerceBool(properties, "topMost", c->IsTopMost()));
	c->SetVisible(CoerceBool(properties, "visible", c->IsVisible()));
	c->SetTransparentBackground(CoerceBool(properties,
		"transparentBackground", c->HasTransparentBackground()));
	c->SetTransparency(properties->GetDouble("transparency", c->GetTransparency()));

#ifdef OS_OSX
	c->SetTexturedBackground(properties->GetDouble("texturedBackground", c->HasTexturedBackground()));
#endif

	EnforceMaxMinConstraints(c);
	EnforceTransparentBackgroundSettings(c);
	return c;
}
예제 #2
0
void UserWindow::UpdateWindowForURL(std::string url)
{
	WindowConfig* config = AppConfig::Instance()->GetWindowByURL(url);
	if (!config)
	{
		// no need to update window
		return;
	}

	// copy the config object
	config = new WindowConfig(config, url);

	Bounds b;
	b.x = config->GetX();
	b.y = config->GetY();
	b.width = config->GetWidth();
	b.height = config->GetHeight();

	this->SetBounds(b);

	this->SetMinimizable(config->IsMinimizable());
	this->SetMaximizable(config->IsMaximizable());
	this->SetCloseable(config->IsCloseable());
}