Fixed FolderListener interface,

broken since the no-functional :-) changing r36750 : the three hooks were
renamed.
Now added/removed print spoolers show up live again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37838 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Philippe Houdoin 2010-08-02 11:26:47 +00:00
parent 29145bab8a
commit 3c9765c76c
2 changed files with 51 additions and 48 deletions

View File

@ -151,6 +151,40 @@ PrinterListView::SelectedItem() const
}
// FolderListener interface
void
PrinterListView::EntryCreated(node_ref* node, entry_ref* entry)
{
BDirectory printer(node);
_AddPrinter(printer, true);
}
void
PrinterListView::EntryRemoved(node_ref* node)
{
PrinterItem* item = _FindItem(node);
if (item) {
if (item == fActivePrinter)
fActivePrinter = NULL;
RemoveItem(item);
delete item;
}
}
void
PrinterListView::AttributeChanged(node_ref* node)
{
BDirectory printer(node);
_AddPrinter(printer, true);
}
// private methods
void
PrinterListView::_AddPrinter(BDirectory& printer, bool calculateLayout)
{
@ -214,37 +248,6 @@ PrinterListView::_FindItem(node_ref* node) const
}
void
PrinterListView::_EntryCreated(node_ref* node, entry_ref* entry)
{
BDirectory printer(node);
_AddPrinter(printer, true);
}
void
PrinterListView::_EntryRemoved(node_ref* node)
{
PrinterItem* item = _FindItem(node);
if (item) {
if (item == fActivePrinter)
fActivePrinter = NULL;
RemoveItem(item);
delete item;
}
}
void
PrinterListView::_AttributeChanged(node_ref* node)
{
BDirectory printer(node);
_AddPrinter(printer, true);
}
// #pragma mark -- PrinterItem

View File

@ -55,10 +55,10 @@ private:
void _LayoutPrinterItems();
PrinterItem *_FindItem(node_ref* node) const;
void _EntryCreated(node_ref *node,
void EntryCreated(node_ref *node,
entry_ref *entry);
void _EntryRemoved(node_ref *node);
void _AttributeChanged(node_ref *node);
void EntryRemoved(node_ref *node);
void AttributeChanged(node_ref *node);
FolderWatcher *fFolder;
PrinterItem *fActivePrinter;