Esempio n. 1
0
bool
FrissConfig::Save( const char* path )
{
	XmlNode* root = new XmlNode( NULL, "" );
	XmlNode* fs = NULL, *f = NULL;
	BString s;

	fs = root->CreateChild("settings");
	fs->AddAttribute("version", m_iVersion);

	f = new XmlNode(fs, "comment");
	f->Comment("This file is auto-generated. See documentation for help.");
	fs->AddChild(f);

	f = fs->CreateChild("generic/feeds");
	f->AddAttribute("a", m_iIndex);
	f->AddAttribute("b", m_iAnz);

	f = fs->CreateChild("generic/refresh");
	f->AddAttribute("rate", RefreshRate );
	if (RefreshAdvances)
		f->AddAttribute("advance", "true");
	else
		f->AddAttribute("advance", "false");

	fs->CreateChild("generic/language", Lang.String());
	fs->CreateChild("generic/feedfile", Feedlist.String());

	f = fs->CreateChild("window/position");
	f->AddAttribute("x", m_rWindow.left);
	f->AddAttribute("y", m_rWindow.top);
	f->AddAttribute("width", m_rWindow.Width());
	f->AddAttribute("height", m_rWindow.Height());

	fs->CreateChild("window/background/mode", (int)ColBackMode);
	f = fs->CreateChild("window/background/colour");
	f->AddAttribute("red", col.red);
	f->AddAttribute("green", col.green);
	f->AddAttribute("blue", col.blue);

	fs->CreateChild("window/foreground/mode", (int)ColForeMode);
	f = fs->CreateChild("window/foreground/colour");
	f->AddAttribute("red", high.red);
	f->AddAttribute("green", high.green);
	f->AddAttribute("blue", high.blue);

	fs->CreateChild("window/windowmode", (int)WindowMode);

	fs->CreateChild("browser/mode", (int)BrowserType);
	fs->CreateChild("browser/mime", BrowserMime.String());

	root->SaveToFile(path);
	delete root;
	return false;
}
Esempio n. 2
0
void
PrefListView::MessageReceived(BMessage* msg)
{
	switch (msg->what) {
		case 'ITEM':
		{
			puts("We have a winner, supposably ;-)");
			BPoint dropzone;
			msg->FindPoint("_drop_point_", &dropzone);
			dropzone = ConvertFromScreen(dropzone);

			int32 i, nr;
			msg->FindInt32("Item", &i);
			msg->FindInt32("Item_nr", &nr);

			XmlNode* Item = (XmlNode*)i;
			XmlNode* toItem = dynamic_cast<XmlNode*>(ItemAt(IndexOf(dropzone)));

			// Only proceed if valid
			if (toItem && Item && toItem!=Item) {
				XmlNode* parent = Item->Parent();

				uint32 index = parent->IndexOf(Item);
				uint32 toIndex = toItem->Parent()->IndexOf(toItem);
				if (index<toIndex)
					toIndex++;

				parent->DetachChild(index);

				if (toItem->Attribute(OPML_URL)!=NULL) {
					toItem->Parent()->AddChild(Item, toIndex);
				}
				else {
					toItem->AddChild(Item,0);
				}

				MakeEmpty();
				BuildView(root);

				Invalidate();
			}
		}
		break;

		default:
			BOutlineListView::MessageReceived(msg);
	}
}