xref: /haiku/src/preferences/printers/Printers.cpp (revision 220d04022750f40f8bac8f01fa551211e28d04f2)
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 
18 
19 int
20 main()
21 {
22 	PrintersApp app;
23 	app.Run();
24 	return 0;
25 }
26 
27 
28 PrintersApp::PrintersApp()
29 	: Inherited(PRINTERS_SIGNATURE)
30 {
31 }
32 
33 
34 void
35 PrintersApp::ReadyToRun()
36 {
37 	PrintersWindow* win = new PrintersWindow(BRect(78, 71, 561, 409));
38 	win->Show();
39 }
40 
41 
42 void
43 PrintersApp::MessageReceived(BMessage* msg)
44 {
45 	if (msg->what == B_PRINTER_CHANGED || msg->what == PRINTERS_ADD_PRINTER) {
46 			// broadcast message
47 		uint32 what = msg->what;
48 		if (what == PRINTERS_ADD_PRINTER)
49 			what = kMsgAddPrinter;
50 
51 		BWindow* w;
52 		for (int32 i = 0; (w = WindowAt(i)) != NULL; i++) {
53 			BMessenger msgr(NULL, w);
54 			msgr.SendMessage(what);
55 		}
56 	} else {
57 		BApplication::MessageReceived(msg);
58 	}
59 }
60 
61 
62 void
63 PrintersApp::ArgvReceived(int32 argc, char** argv)
64 {
65 	for (int i = 1; i < argc; i++) {
66 		// TODO: show a pre-filled add printer dialog here
67 	}
68 }
69 
70