1/*
2 * Copyright 2001-2010, Haiku.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Michael Pfeiffer
7 */
8
9
10#include "Printers.h"
11
12#include <Locale.h>
13
14#include "pr_server.h"
15#include "Messages.h"
16#include "PrintersWindow.h"
17#include "ScreenSettings.h"
18
19
20int
21main()
22{
23	PrintersApp app;
24	app.Run();
25	return 0;
26}
27
28
29PrintersApp::PrintersApp()
30	: Inherited(PRINTERS_SIGNATURE)
31{
32}
33
34
35void
36PrintersApp::ReadyToRun()
37{
38	PrintersWindow* win = new PrintersWindow(new ScreenSettings());
39	win->Show();
40}
41
42
43void
44PrintersApp::MessageReceived(BMessage* msg)
45{
46	if (msg->what == B_PRINTER_CHANGED || msg->what == PRINTERS_ADD_PRINTER) {
47			// broadcast message
48		uint32 what = msg->what;
49		if (what == PRINTERS_ADD_PRINTER)
50			what = kMsgAddPrinter;
51
52		BWindow* w;
53		for (int32 i = 0; (w = WindowAt(i)) != NULL; i++) {
54			BMessenger msgr(NULL, w);
55			msgr.SendMessage(what);
56		}
57	} else {
58		BApplication::MessageReceived(msg);
59	}
60}
61
62
63void
64PrintersApp::ArgvReceived(int32 argc, char** argv)
65{
66	for (int i = 1; i < argc; i++) {
67		// TODO: show a pre-filled add printer dialog here
68	}
69}
70
71