From 3d0010a866609f7325872ab25b31dc8fe1182559 Mon Sep 17 00:00:00 2001 From: "Ithamar R. Adema" Date: Sat, 10 Apr 2010 15:30:29 +0000 Subject: [PATCH] * Fix bug in handling name/id combos published by transport addons * Minor whitespace fixing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36108 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/preferences/print/AddPrinterDialog.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/preferences/print/AddPrinterDialog.cpp b/src/preferences/print/AddPrinterDialog.cpp index 840f83fefc..9797f08174 100644 --- a/src/preferences/print/AddPrinterDialog.cpp +++ b/src/preferences/print/AddPrinterDialog.cpp @@ -149,10 +149,15 @@ AddPrinterDialog::HandleChangedTransport(BMessage *msg) void* pointer; if (msg->FindPointer("source", &pointer) == B_OK) { BMenuItem* item = (BMenuItem*)pointer; + + // Update printer name with Transport Path if not filled in + if (strlen(fName->Text()) == 0) + fName->SetText(item->Label()); + BMenu* menu = item->Menu(); int32 index = fTransport->IndexOf(menu); item = fTransport->ItemAt(index); - if (item != NULL) + if (item != NULL) item->SetMarked(true); } } else { @@ -379,9 +384,8 @@ void AddPrinterDialog::FillTransportMenu(BMenu* menu) SetMessage(new BMessage(kTransportSelectedMsg)); for (int32 pidx=0; reply.FindString("port_id", pidx, &portId) == B_OK; pidx++) { - reply.FindString("port_name", pidx, &portName); - - if (!portName.Length()) + if (reply.FindString("port_name", pidx, &portName) != B_OK || + !portName.Length()) portName = portId; // Create menu item in submenu for port @@ -399,6 +403,6 @@ AddPrinterDialog::Update() fOk->SetEnabled(fNameText != "" && fPrinterText != "" && (fTransportText != "" || fPrinterText == "Preview")); - fTransport->SetEnabled(fPrinterText != "" && fPrinterText != "Preview"); + fTransport->SetEnabled(fPrinterText != "Preview"); }