/* * Copyright 2001-2007, Haiku. * Distributed under the terms of the MIT License. * * Authors: * Philippe Houdoin * Michael Pfeiffer */ #ifndef _ADD_PRINTER_DIALOG_H #define _ADD_PRINTER_DIALOG_H #include #include #include #include #include class AddPrinterDialog : public BWindow { typedef BWindow Inherited; public: AddPrinterDialog(BWindow *parent); void MessageReceived(BMessage *msg); bool QuitRequested(); private: enum MessageKind { kPrinterSelectedMsg = 'adlg', kTransportSelectedMsg, kNameChangedMsg, }; void _AddPrinter(BMessage *msg); void _StorePrinter(BMessage *msg); void _HandleChangedTransport(BMessage *msg); void _BuildGUI(int stage); void _FillTransportMenu(BMenu *menu); void _FillMenu(BMenu *menu, const char *path, uint32 what); void _AddPortSubMenu(BMenu *menu, const char *transport, const char *port); void _Update(); BMessenger fPrintersPrefletMessenger; BTextControl* fName; BPopUpMenu* fPrinter; BPopUpMenu* fTransport; BButton* fOk; BString fNameText; BString fPrinterText; BString fTransportText; BString fTransportPathText; }; #endif // _ADD_PRINTER_DIALOG_H