Author: mzugec
Date: Fri Nov 2 13:06:29 2007
New Revision: 41734
URL: http://svn.opensuse.org/viewcvs/yast?rev=41734&view=rev
Log:
- show network printers - fixed (problem when password contains
space for smb backend)(#332237)
- disable edit for raw queues (#247336)
- split UI into tabs (not done completly)
Modified:
trunk/printer/VERSION
trunk/printer/package/yast2-printer.changes
trunk/printer/src/common/dialogs.ycp
trunk/printer/src/modules/CUPS.ycp
trunk/printer/src/modules/Printer.ycp
trunk/printer/src/modules/Printerlib.ycp
Modified: trunk/printer/VERSION
URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/VERSION?rev=41734&r1=41733&r2=41734&view=diff
==============================================================================
--- trunk/printer/VERSION (original)
+++ trunk/printer/VERSION Fri Nov 2 13:06:29 2007
@@ -1 +1 @@
-2.16.2
+2.16.3
Modified: trunk/printer/package/yast2-printer.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/package/yast2-printer.changes?rev=41734&r1=41733&r2=41734&view=diff
==============================================================================
--- trunk/printer/package/yast2-printer.changes (original)
+++ trunk/printer/package/yast2-printer.changes Fri Nov 2 13:06:29 2007
@@ -1,4 +1,13 @@
-------------------------------------------------------------------
+Fri Nov 2 12:54:13 CET 2007 - mzugec@suse.cz
+
+- show network printers - fixed (problem when password contains
+ space for smb backend)(#332237)
+- disable edit for raw queues (#247336)
+- split UI into tabs (not done completly)
+- 2.16.3
+
+-------------------------------------------------------------------
Tue Oct 30 15:55:17 CET 2007 - mzugec@suse.cz
- let the user accept even non-compliant PPDs - (#310177)
Modified: trunk/printer/src/common/dialogs.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/printer/src/common/dialogs.ycp?rev=41734&r1=41733&r2=41734&view=diff
==============================================================================
--- trunk/printer/src/common/dialogs.ycp (original)
+++ trunk/printer/src/common/dialogs.ycp Fri Nov 2 13:06:29 2007
@@ -28,7 +28,8 @@
import "Stage";
import "Wizard";
import "Wizard_hw";
- import "WizardHW";
+ import "CWMTab";
+ import "CWM";
include "printer/helps.ycp";
include "printer/misc.ycp";
@@ -2144,30 +2145,191 @@
return add (items, `item (`id (-1), _("Other (not detected)"),
!selected));
}
+
+
+ /**
+ * Restart detection of printers.
+ * @return symbol always `next
+ */
+ define symbol runProbeDialog () ``{
+ Printer::Detect ();
+ return `next;
+ }
+
+ /**
+ * Run dialog for expert settings
+ * @return symbol ret (`change_ipp_listen, `cupsd, `cupsusb)
+ */
+ define symbol runCupsExpertDialog() ``{
+
+
+ term contents = `HBox (`HStretch (), `VBox (
+ `VStretch (),
+ `RadioButtonGroup (`id (`rb),
+ // frame
+ `Frame (_("Configure CUPS"),`HBox (
+ `HSpacing (3),
+ `VBox (
+ `VSpacing (3),
+ // radiobutton
+ `Left(`RadioButton( `id(0), _("Change IPP Listen"))),
+ `Left(`RadioButton( `id(1), _("CUPS Server Se&ttings"))),
+ `Left(`RadioButton( `id(2), _("CUPS &USB Device Settings"))),
+ // radiobutton
+ `VSpacing (3)
+ ),
+ `HSpacing (3)
+ )
+ )),
+ `VStretch ()
+ ), `HStretch ());
+
+ Wizard::SetContentsButtons (_("Expert CUPS Settings"), contents, getHelpCupsExperts() ,
+ Label::BackButton (), Label::NextButton () );
+
+ UI::ChangeWidget (`id (`rb), `CurrentButton,0);
+
+ any ret = UI::UserInput();
+ if (ret == `next){
+ integer option = tointeger(UI::QueryWidget(`id(`rb), `CurrentButton));
+ switch (option){
+ case 0 : return `change_ipp_listen;
+ case 1 : return `cupsd;
+ case 2 : return `cupsusb;
+ };
+ }
+ return (symbol) ret;
+ }
+
+void initServerType (string key) {
+ CUPS::ReadCupsSettings ();
+ if (CUPS::InstallationType () == `server){
+ UI::ChangeWidget(`id(`server_type), `CurrentButton, `local);
+ } else {
+ UI::ChangeWidget(`id(`server_type), `CurrentButton, `remote);
+ }
+ if ( contains (CUPS::cups_server_settings["Browsing"]:["On"],"On") ) UI::ChangeWidget(`ipp_listen, `Value, true);
+}
+
+list<string> getAddresses(list<string> addr_orig){
+ list<string> addresses=addr_orig;
+ term contents = `Frame (_("Browsing Settings"), `VBox (
+ // selectionbox label
+ `HBox (`HSpacing (3), `SelectionBox (`id (`addr), _("Browse Addre&sses")), `HSpacing (3)),
+ `HBox (
+ `HSpacing (3),
+ `PushButton (`id (`add), `opt (`key_F3), Label::AddButton ()),
+ `PushButton (`id (`edit), `opt (`key_F4), Label::EditButton ()),
+ `PushButton (`id (`del), `opt (`key_F5), Label::DeleteButton ()),
+ `HStretch (),
+ // push button
+// `PushButton (`id (`propose_server), _("&Propose")),
+ `PushButton (`id (`ok), Label::OKButton()),
+ `HSpacing (3)
+ )
+ ));
+ UI::OpenDialog(contents);
+ symbol ret = nil;
+ do {
+ UI::ChangeWidget(`addr, `Items, addresses);
+ boolean enabled = (size(addresses)>0);
+ UI::ChangeWidget(`edit, `Enabled, enabled);
+ UI::ChangeWidget(`del, `Enabled, enabled);
+ ret = (symbol) UI::UserInput();
+ string curr = (string)UI::QueryWidget(`addr, `CurrentItem);
+ switch(ret){
+ case `add:
+ curr="";
+ case `edit:
+ UI::OpenDialog(`VBox(`TextEntry(`id(`ip_addr), _("IP Address"), curr),
+ `HBox(`PushButton(`id(`cancel), Label::CancelButton()), `PushButton(`id(`ok), Label::OKButton()))));
+ if ((symbol)UI::UserInput()==`ok){
+ list<string> tmp_list = [];
+ foreach(string row, addresses, {
+ if (row==curr && curr!="") tmp_list = add(tmp_list, (string)UI::QueryWidget(`ip_addr, `Value));
+ else tmp_list = add(tmp_list, row);
+ });
+ if (curr=="") tmp_list = add(tmp_list, (string)UI::QueryWidget(`ip_addr, `Value));
+ addresses = tmp_list;
+ }
+ UI::CloseDialog();
+ break;
+ case `del:
+ addresses = filter(string item, addresses, {return (item != curr);});
+ break;
+ case `cancel:
+ addresses = addr_orig;
+ case `ok:
+ ret = nil;
+ break;
+ }
+ }while (ret !=nil);
+
+ UI::CloseDialog();
+ return addresses;
+}
+
+symbol handleServerType (string key, map event) ``{
+ boolean local = (UI::QueryWidget(`id(`server_type), `CurrentButton) == `local);
+
+ UI::ChangeWidget(`ipp_listen, `Enabled, local);
+ if (local){
+ boolean listen = (boolean)UI::QueryWidget(`ipp_listen, `Value);
+ UI::ChangeWidget(`select_addr, `Enabled, listen);
+ }
+ UI::ChangeWidget(`server_name, `Enabled, !local);
+ UI::ChangeWidget(`lookup_server, `Enabled, !local);
+ UI::ChangeWidget(`test_ipp, `Enabled, !local);
+ UI::ChangeWidget(`use_default, `Enabled, !local);
+
+ boolean use_def=false;
+ if (!local) use_def=!(boolean) UI::QueryWidget(`use_default, `Value);
+ UI::ChangeWidget(`queues, `Enabled, use_def);
+ UI::ChangeWidget(`lookup_queue, `Enabled, use_def);
+ if (event["EventReason"]:""=="Activated" && event["ID"]:`nil==`select_addr) {
+ CUPS::cups_server_settings["BrowseAddress"] = getAddresses(CUPS::cups_server_settings["BrowseAddress"]:[]);
+ }
+ return nil;
+}
+
+void storeServerType(string key, map event){
+ boolean local = (UI::QueryWidget(`id(`server_type), `CurrentButton) == `local);
+ if (local){
+ CUPS::cups_installation=`server;
+ boolean listen = (boolean)UI::QueryWidget(`ipp_listen, `Value);
+ CUPS::cups_server_settings["Browsing"] = listen ? ["On"] : ["Off"];
+ }else{
+ CUPS::cups_installation=`client;
+ }
+}
+
/**
* Function to set the data to the hardware dialog
* get inspired by summary and getAutoprobedSelectionBox when writing it
*/
-void SetHWDialogData () {
+list