void
AddPrinterDialog::MessageReceived(BMessage* msg)
{
	switch(msg->what) {
		case B_OK:
			_AddPrinter(msg);
			PostMessage(B_QUIT_REQUESTED);
			break;

		case B_CANCEL:
			PostMessage(B_QUIT_REQUESTED);
			break;

		case kNameChangedMsg:
			fNameText = fName->Text();
			_Update();
			break;

		case kPrinterSelectedMsg:
			_StorePrinter(msg);
			break;

		case kTransportSelectedMsg:
			_HandleChangedTransport(msg);
			break;

		default:
			Inherited::MessageReceived(msg);
	}
}
Exemplo n.º 2
0
void
PrinterListView::BuildPrinterList()
{
	// clear list
	while (!IsEmpty())
		delete RemoveItem((int32)0);

	// Find directory containing printer definition nodes
	BPath path;
	if (find_directory(B_USER_PRINTERS_DIRECTORY, &path) != B_OK)
		return;

	BDirectory dir(path.Path());
	if (dir.InitCheck() != B_OK)
		return;

	BEntry entry;
	while(dir.GetNextEntry(&entry) == B_OK) {
		BDirectory printer(&entry);
		_AddPrinter(printer, false);
	}

	_LayoutPrinterItems();
}
Exemplo n.º 3
0
void
PrinterListView::AttributeChanged(node_ref* node)
{
	BDirectory printer(node);
	_AddPrinter(printer, true);
}
Exemplo n.º 4
0
void
PrinterListView::EntryCreated(node_ref* node, entry_ref* entry)
{
	BDirectory printer(node);
	_AddPrinter(printer, true);
}