Author: mzugec Date: Tue Apr 1 22:54:42 2008 New Revision: 45946 URL: http://svn.opensuse.org/viewcvs/yast?rev=45946&view=rev Log: fixed list of remote/local backends Modified: trunk/printer/package/yast2-printer.changes trunk/printer/src/common/dialogs-connection.ycp trunk/printer/src/common/dialogs.ycp trunk/printer/src/modules/Printer.ycp Modified: trunk/printer/package/yast2-printer.changes URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/package/yast2-printer.changes?rev=45946&r1=45945&r2=45946&view=diff ============================================================================== --- trunk/printer/package/yast2-printer.changes (original) +++ trunk/printer/package/yast2-printer.changes Tue Apr 1 22:54:42 2008 @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Tue Apr 1 05:18:38 CEST 2008 - mzugec@suse.de + +- fixed list of remote/local backends + +------------------------------------------------------------------- Fri Mar 28 22:19:11 CET 2008 - mzugec@suse.de - ComboBox to switch between Local and Remote printers (FaTE#302133) Modified: trunk/printer/src/common/dialogs-connection.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/common/dialogs-connection.ycp?rev=45946&r1=45945&r2=45946&view=diff ============================================================================== --- trunk/printer/src/common/dialogs-connection.ycp (original) +++ trunk/printer/src/common/dialogs-connection.ycp Tue Apr 1 22:54:42 2008 @@ -923,6 +923,7 @@ uri = type + ":" + device; if ("serial" == type) uri = uri + sformat ("?baudrate=%1+ty=%2", baudrate, ser_settings); else if (type == "bluetooth") uri = type + "://" + filterchars (device, "0123456789aAbBcCdDeEfF"); +y2internal("bt uri %1, type %2, device %3", uri, type, device); Printer::printer["uri"] = uri; } return ret; Modified: trunk/printer/src/common/dialogs.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/common/dialogs.ycp?rev=45946&r1=45945&r2=45946&view=diff ============================================================================== --- trunk/printer/src/common/dialogs.ycp (original) +++ trunk/printer/src/common/dialogs.ycp Tue Apr 1 22:54:42 2008 @@ -2022,15 +2022,24 @@ return term_items; } -void refreshOverview(boolean editable){ -list<term> items = buildItemsList((string)UI::QueryWidget(`filter, `Value)); - UI::ChangeWidget (`id (`_hw_items), `Items, items); - if (size(items)>0) UI::ChangeWidget(`_hw_sum, `Value, o_items[0, "rich_descr"]:""); - else - { - UI::ChangeWidget(`_hw_sum, `Value, ""); - editable = false; - } +void refreshOverview(integer selected, boolean rebuild_items){ + if (rebuild_items){ + list<term> items = buildItemsList((string)UI::QueryWidget(`filter, `Value)); + UI::ChangeWidget (`id (`_hw_items), `Items, items); + } + boolean editable = (selected==nil || selected==-1) ? false : true; + if (size((list<term>)UI::QueryWidget(`id (`_hw_items), `Items))>0) + { + integer old_selection = selected; + selected = tointeger( UI::QueryWidget(`id(`_hw_items), `CurrentItem)); + if (selected != old_selection) Printer::selectPrinter(selected); + UI::ChangeWidget(`_hw_sum, `Value, o_items[selected, "rich_descr"]:""); + } + else + { + UI::ChangeWidget(`_hw_sum, `Value, ""); + editable = false; + } boolean local = (CUPS::InstallationType() == `server); UI::ChangeWidget(`_hw_items, `Enabled, local); UI::ChangeWidget(`add, `Enabled, local); @@ -2053,11 +2062,10 @@ symbol ret=nil; string new_spooler = Spooler::Get (); integer selected = -1; - if (size(o_items)>0) selected = tointeger( UI::QueryWidget(`id(`_hw_items), `CurrentItem)); -y2internal("selected %1, items %2", UI::QueryWidget(`id(`_hw_items), `CurrentItem), UI::QueryWidget(`id(`_hw_items), `Items)); + if (size((list<term>)UI::QueryWidget(`id (`_hw_items), `Items))>0) selected = tointeger( UI::QueryWidget(`id(`_hw_items), `CurrentItem)); Printer::selectPrinter(selected); - refreshOverview(selected!=-1); - +y2internal("event %1", event); + refreshOverview(selected, (event["EventReason"]:nil=="SelectionChanged"||event["ID"]:nil==`delete)?false:true); y2milestone("selected printer %1", selected); if (new_spooler == "cups" && CUPS::InstallationType () == `client) new_spooler = "cups-client"; @@ -2067,9 +2075,13 @@ ret = (symbol) event["ID"]:nil; switch((symbol) event["ID"]:nil){ case `delete : + y2internal("selected printer %1", selected); if (new_spooler == "cups-client") {CUPS::cups_installation=`server;new_spooler="cups";} - else if ( (Printer::conf_unconf_printers[selected, "SPOOL"]:"" != "not configured") && Popup::YesNo (sformat (_("Really delete printer %1?"), Printer::printer["name"]:""))) Printer::deletePrinter (); - refreshOverview(selected!=-1); + else if ( (Printer::conf_unconf_printers[selected, "SPOOL"]:"" != "not configured") && Popup::YesNo (sformat (_("Really delete printer %1?"), Printer::printer["name"]:""))) + { + Printer::deletePrinter (); + refreshOverview(selected, true); + } ret=nil; break; // TODO handle all events here @@ -2128,21 +2140,6 @@ ret=nil; break; default: - if (event["EventReason"]:"" == "SelectionChanged") - { - if (size(o_items)>0) - { - UI::ChangeWidget(`_hw_sum, `Value, o_items[selected, "rich_descr"]:""); - // #247336 - don't allow to edit queues without local filtering (raw:true) - UI::ChangeWidget(`id(`edit), `Enabled, !Printer::printer["raw"]:true); - UI::ChangeWidget(`id(`delete), `Enabled, true); - } else - { - UI::ChangeWidget(`_hw_sum, `Value, ""); - UI::ChangeWidget(`id(`edit), `Enabled, false); - UI::ChangeWidget(`id(`delete), `Enabled, false); - } - } else y2warning("Invalid return: %1, %2", ret, event); ret = nil; } } Modified: trunk/printer/src/modules/Printer.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/modules/Printer.ycp?rev=45946&r1=45945&r2=45946&view=diff ============================================================================== --- trunk/printer/src/modules/Printer.ycp (original) +++ trunk/printer/src/modules/Printer.ycp Tue Apr 1 22:54:42 2008 @@ -152,8 +152,8 @@ global boolean isPrinterLocal(){ map tokens = URL::Parse(printer["uri"]:""); string type = tokens["scheme"]:""; - list<string> local = ["serial", "parallel", "usb", "irda"]; - list<string> remote = ["http", "https", "ftp", "nfs", "smb"]; + list<string> local = ["serial", "parallel", "usb", "irda", "bluetooth"]; + list<string> remote = ["http", "https", "ftp", "nfs", "smb", "ipp", "lpd", "novell", "socket"]; if (!contains(remote, type)) return true; else return false; } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org