Hello community,
here is the log from the commit of package yast2-x11
checked in at Sat Aug 30 02:59:41 CEST 2008.
--------
--- yast2-x11/yast2-x11.changes 2008-05-16 22:04:58.000000000 +0200
+++ yast2-x11/yast2-x11.changes 2008-08-30 00:59:37.647783000 +0200
@@ -1,0 +2,23 @@
+Fri Aug 29 23:02:24 CEST 2008 - jdsn@suse.de
+
+- tablet configuration support during installation (fate#302888)
+- make sure traversal has numeric value (bnc#388259)
+- consistent dialogs for proposal changes
+- cleanup in XMessages strings
+- 2.17.1
+
+-------------------------------------------------------------------
+Thu Aug 22 19:45:39 CEST 2008 - jdsn@suse.de
+
+- using exact display parameters during installation (bnc#399411)
+- removed 32bit color depth from autoyast (bnc#405797)
+
+-------------------------------------------------------------------
+Tue Jun 24 19:00:47 CEST 2008 - jdsn@suse.de
+
+- proper type conversion in autoinstallation (bnc#307967)
+- check for empty traversal parameter (bnc#388259)
+- show popup message before probing display (bnc#327604)
+- 2.17.0
+
+-------------------------------------------------------------------
Old:
----
yast2-x11-2.15.12.tar.bz2
New:
----
yast2-x11-2.17.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-x11.spec ++++++
--- /var/tmp/diff_new_pack.U15814/_old 2008-08-30 02:55:41.000000000 +0200
+++ /var/tmp/diff_new_pack.U15814/_new 2008-08-30 02:55:41.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package yast2-x11 (Version 2.15.12)
+# spec file for package yast2-x11 (Version 2.17.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -12,12 +19,12 @@
Name: yast2-x11
-Version: 2.15.12
-Release: 10
+Version: 2.17.1
+Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-x11-2.15.12.tar.bz2
+Source0: yast2-x11-2.17.1.tar.bz2
Prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer qt3-devel sgml-skel update-desktop-files yast2 yast2-devtools yast2-perl-bindings yast2-testsuite
%ifnarch s390 s390x
@@ -45,7 +52,7 @@
Marcus Schaefer
%prep
-%setup -n yast2-x11-2.15.12
+%setup -n yast2-x11-2.17.1
%build
%{prefix}/bin/y2tool y2autoconf
@@ -81,6 +88,20 @@
/usr/share/YaST2/schema/autoyast/rnc/*.rnc
%doc %{prefix}/share/doc/packages/yast2-x11
%changelog
+* Sat Aug 30 2008 jdsn@suse.de
+- tablet configuration support during installation (fate#302888)
+- make sure traversal has numeric value (bnc#388259)
+- consistent dialogs for proposal changes
+- cleanup in XMessages strings
+- 2.17.1
+* Fri Aug 22 2008 jdsn@suse.de
+- using exact display parameters during installation (bnc#399411)
+- removed 32bit color depth from autoyast (bnc#405797)
+* Tue Jun 24 2008 jdsn@suse.de
+- proper type conversion in autoinstallation (bnc#307967)
+- check for empty traversal parameter (bnc#388259)
+- show popup message before probing display (bnc#327604)
+- 2.17.0
* Fri May 16 2008 jsrain@suse.cz
- added categories Settings and System into desktop file
(bnc #382778)
++++++ yast2-x11-2.15.12.tar.bz2 -> yast2-x11-2.17.1.tar.bz2 ++++++
++++ 5272 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/configure.in new/yast2-x11-2.17.1/configure.in
--- old/yast2-x11-2.15.12/configure.in 2008-05-19 20:12:21.000000000 +0200
+++ new/yast2-x11-2.17.1/configure.in 2008-08-30 01:01:15.000000000 +0200
@@ -1,9 +1,9 @@
dnl configure.in for yast2-x11
dnl
-dnl -- This file is generated by y2autoconf 2.16.8 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-x11, 2.15.12, http://bugs.opensuse.org/, yast2-x11)
+AC_INIT(yast2-x11, 2.17.1, http://bugs.opensuse.org/, yast2-x11)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.15.12"
+VERSION="2.17.1"
RPMNAME="yast2-x11"
MAINTAINER="J. Daniel Schmidt "
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/autoyast/dialog/autoDialog.ycp new/yast2-x11-2.17.1/src/autoyast/dialog/autoDialog.ycp
--- old/yast2-x11-2.15.12/src/autoyast/dialog/autoDialog.ycp 2008-05-08 23:53:55.000000000 +0200
+++ new/yast2-x11-2.17.1/src/autoyast/dialog/autoDialog.ycp 2008-08-30 01:00:49.000000000 +0200
@@ -3,7 +3,7 @@
* Summary: Handle X11 dialogs
* Authors: Anas Nashif
*
- * $Id: autoDialog.ycp 47385 2008-05-08 21:53:55Z jdsn $
+ * $Id: autoDialog.ycp 50498 2008-08-29 23:00:48Z jdsn $
*/
{
textdomain "x11";
@@ -12,6 +12,7 @@
import "AutoinstX11";
import "Wizard";
import "Popup";
+ import "XMessages";
/**
* Build main Dialog
@@ -44,27 +45,17 @@
"2800x2100 (QSXGA+)",
"3200x2400 (QUXGA)"
];
+
+ // made color depth list consistent and removed the 32bit special settings (bnc#405797)
list<map> depths_list = [
- $[
- "desc" :_("8 Bit / 256 Colors"),
- "depth" : 8
- ],
- $[
- "desc" :_("15 Bit / 32 K Colors (PPC)"),
- "depth" : 15
- ],
- $[
- "desc" :_("16 Bit / 64 K Colors"),
- "depth" : 16
- ],
- $[
- "desc" :_("24 Bit / 16 M Colors"),
- "depth" : 24
- ],
- $[
- "desc" :_("32 Bit / 16 M Colors"),
- "depth" : 32
- ]
+ $[ "desc" : XMessages::color8bit,
+ "depth" : 8 ],
+ $[ "desc" : XMessages::color15bit,
+ "depth" : 15 ],
+ $[ "desc" : XMessages::color16bit,
+ "depth" : 16 ],
+ $[ "desc" : XMessages::color24bit,
+ "depth" : 24 ]
];
@@ -75,7 +66,7 @@
foreach(map d, depths_list , ``{
color_depths=add(color_depths,
- `item( `id(d["depth"]:16), d["desc"]:_("16 Bit / 64 K Colors") ,
+ `item( `id(d["depth"]:16), d["desc"]:XMessages::color16bit,
( d["depth"]:16 == x11["color_depth"]:16)));
});
list displaymanager =
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/autoyast/modules/AutoinstX11.ycp new/yast2-x11-2.17.1/src/autoyast/modules/AutoinstX11.ycp
--- old/yast2-x11-2.15.12/src/autoyast/modules/AutoinstX11.ycp 2008-05-08 23:53:55.000000000 +0200
+++ new/yast2-x11-2.17.1/src/autoyast/modules/AutoinstX11.ycp 2008-06-24 18:54:58.000000000 +0200
@@ -170,10 +170,10 @@
SCR::Write (.sysconfig.windowmanager.DEFAULT_WM, windowManager);
SCR::Write (.sysconfig.windowmanager, nil);
}
- integer hstart = display["min_hsync"]:30;
- integer hstop = display["max_hsync"]:60;
- integer vstart = display["min_vsync"]:60;
- integer vstop = display["max_vsync"]:75;
+ integer hstart = tointeger(display["min_hsync"]:30);
+ integer hstop = tointeger(display["max_hsync"]:60);
+ integer vstart = tointeger(display["min_vsync"]:60);
+ integer vstop = tointeger(display["max_vsync"]:75);
y2milestone("X11-Auto: setup monitor <%1:%2>",current_vendor,current_model);
XLib::setMonitorCDB ( [current_vendor,current_model] );
XLib::setHsyncRange (hstart,hstop);
@@ -183,7 +183,8 @@
y2milestone("X11-Auto: setup resolution <%1>",resolution);
XLib::setResolution ( resolution );
- integer colors = x11["color_depth"]:16;
+ // convert value to integer (bnc#307967)
+ integer colors = tointeger(x11["color_depth"]:16);
y2milestone("X11-Auto: setup color depth <%1>",colors);
XLib::setDefaultColorDepth ( tostring(colors) );
@@ -205,7 +206,7 @@
SCR::Write (.sysconfig.displaymanager.DISPLAYMANAGER_XGL_OPTS, x11["xgl_custom_options"]:"" );
}
}
-
+
} else {
XLib::deactivate3D();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/dialog/x11Dialog.ycp new/yast2-x11-2.17.1/src/dialog/x11Dialog.ycp
--- old/yast2-x11-2.15.12/src/dialog/x11Dialog.ycp 2008-02-12 16:52:28.000000000 +0100
+++ new/yast2-x11-2.17.1/src/dialog/x11Dialog.ycp 2008-08-29 23:27:30.000000000 +0200
@@ -48,188 +48,348 @@
//================================
// setupColors
//--------------------------------
-define string setupColors ( string currentRes, string currentText ) ``{
- string space = " ";
- string topic = XMessages::selectColorDepth + space;
- UI::OpenDialog(
- `VBox(
- `HBox(`ComboBox(`id(`depth),`opt(`hstretch),topic,
- [
- `item(`id(`bit8), "256 [ 8 bit ]" ),
- `item(`id(`bit15), "32768 [ 15 bit ]" ),
- `item(`id(`bit16), "65536 [ 16 bit ]" ),
- `item(`id(`bit24), "16.7 Mio. [ 24 bit ]" )
- ]
- )),
- `Right (`HBox (
- `PushButton(`id(`ok),Label::OKButton()),
- `PushButton(`id(`cancel),Label::CancelButton())
- ))
- )
- );
- while (true) {
- UI::ChangeWidget(`id(`depth), `Value, currentText);
- any id = UI::UserInput();
- if (id == `cancel) {
- UI::CloseDialog();
- if (currentText == "256 [ 8 bit ]") {
- return "8";
- }
- if (currentText == "32768 [ 15 bit ]") {
- return "15";
- }
- if (currentText == "65536 [ 16 bit ]") {
- return "16";
- }
- if (currentText == "16.7 Mio. [ 24 bit ]") {
- return "24";
- }
- return "undef";
- }
- any col=UI::QueryWidget(`id(`depth), `Value);
- string color = "8";
- if ( col == `bit8 ) color = "8";
- if ( col == `bit15 ) color = "15";
- if ( col == `bit16 ) color = "16";
- if ( col == `bit24 ) color = "24";
- if (! XLib::hasValidColorResolutionSetup (color,currentRes)) {
- warnInvalidColorResolution();
- continue;
- }
- UI::CloseDialog();
- return (string)color;
- }
+define string setupColors ( string currentRes, string currentDepth )
+{ // rewritten due to consistency with setupDisplaySize
+
+ string topic = XMessages::colorDepth;
+ UI::OpenDialog( `MarginBox( 0.5, 0.5,
+ `VBox(
+ `Heading(XMessages::displaySettings),
+ `HBox(`ComboBox(`id(`depth),`opt(`hstretch), topic,
+ [
+ `item(`id("8"), XMessages::color8bit ),
+ `item(`id("15"), XMessages::color15bit ),
+ `item(`id("16"), XMessages::color16bit ),
+ `item(`id("24"), XMessages::color24bit ),
+ ]
+ )),
+ `VSpacing(0.5),
+ `HBox (
+ `PushButton(`id(`ok),Label::OKButton()),
+ `PushButton(`id(`cancel),Label::CancelButton())
+ )
+ )
+ ));
+
+ string color = "8";
+ if (contains(["8", "15", "16", "24"], currentDepth))
+ { color = currentDepth; }
+ else
+ { currentDepth = "undef"; }
+ UI::ChangeWidget(`id(`depth), `Value, color);
+
+ any ret = nil;
+
+ repeat
+ {
+ ret = UI::UserInput();
+
+ color = (string) UI::QueryWidget(`id(`depth), `Value);
+
+ if (! XLib::hasValidColorResolutionSetup (color,currentRes))
+ {
+ warnInvalidColorResolution();
+ ret = nil;
+ }
+
+ } until ( ret == `ok || ret == `cancel);
+
+ UI::CloseDialog();
+ if (ret == `cancel)
+ {
+ UI::CloseDialog();
+ return currentDepth;
+ }
+
+ return color;
+
};
//================================
// setupResolutions
//--------------------------------
-define string setupResolutions (
- list reslist, string currentText, string currentColor
-) ``{
- string space = " ";
- string topic = XMessages::selectResolution + space;
- UI::OpenDialog(
- `VBox(
- `HBox(`Left ( `ComboBox(`id(`resitem),topic, reslist))),
- `Right (`HBox (
- `PushButton(`id(`ok),Label::OKButton()),
- `PushButton(`id(`cancel),Label::CancelButton())
- ))
- )
- );
- while (true) {
- UI::ChangeWidget(`id(`resitem), `Value, currentText);
- any id = UI::UserInput();
- if (id == `cancel) {
- UI::CloseDialog();
- return currentText;
- }
- any res=UI::QueryWidget(`id(`resitem), `Value);
- if (! XLib::hasValidColorResolutionSetup (currentColor,(string)res)) {
- warnInvalidColorResolution();
- continue;
- }
- UI::CloseDialog();
- return (string)res;
- }
+define string setupResolutions (list reslist, string currentText, string currentColor)
+{ // rewritten to be consistent with
+
+ string topic = XMessages::resolution;
+ UI::OpenDialog( `MarginBox( 0.5, 0.5,
+ `VBox(
+ `Heading(XMessages::displaySettings),
+ `VSpacing(0.5),
+ `ComboBox(`id(`resitem),topic, reslist),
+ `VSpacing(0.5),
+ `HBox (
+ `PushButton(`id(`ok),Label::OKButton()),
+ `PushButton(`id(`cancel),Label::CancelButton())
+ )
+ )
+ ));
+
+ UI::ChangeWidget(`id(`resitem), `Value, currentText);
+ any ret = nil;
+ string res = "";
+
+ repeat
+ {
+ ret = UI::UserInput();
+
+ res = (string) UI::QueryWidget(`id(`resitem), `Value);
+ if (! XLib::hasValidColorResolutionSetup(currentColor, res))
+ {
+ warnInvalidColorResolution();
+ ret = nil;
+ }
+ } until (ret == `ok || ret == `cancel);
+
+ UI::CloseDialog();
+ if (ret == `cancel) { return currentText; }
+ return res;
+
};
//================================
// setupDisplaySize
//--------------------------------
-define list<string> setupDisplaySize (
- string currentTraversal, string currentRatios
-) ``{
- //string space = " ";
- string topic1 = XMessages::selectDisplayTraversal;
- string topic2 = XMessages::selectDisplayRatio;
- list<string> traverlist = ["21","20","19","18.1","17","15.4","15","14.1","13.3","12.2"];
- list<string> ratioslist = ["4/3","5/4","16/10"];
- UI::OpenDialog(
- `VBox(
- `HBox(
- `Left ( `ComboBox(`id(`traveritem),topic1, traverlist)),
- `Right ( `ComboBox(`id(`ratiositem),topic2, ratioslist))
- ),
- `Right (`HBox (
- `PushButton(`id(`ok),Label::OKButton()),
- `PushButton(`id(`cancel),Label::CancelButton())
- ))
- )
- );
- UI::ChangeWidget(`id(`traveritem), `Value, currentTraversal);
- UI::ChangeWidget(`id(`ratiositem), `Value, currentRatios);
- any id = UI::UserInput();
- list<string> result = [];
- if (id == `cancel) {
- UI::CloseDialog();
- result = add (result,currentTraversal);
- result = add (result,currentRatios);
- return result;
- }
- any traversal=UI::QueryWidget(`id(`traveritem), `Value);
- any ratios=UI::QueryWidget(`id(`ratiositem), `Value);
- result = add (result,(string)traversal);
- result = add (result,(string)ratios);
- UI::CloseDialog();
- return result;
+define list<string> setupDisplaySize (string currentTraversal, string currentRatio)
+{
+ // function rewritten because of (bnc#331664) and (bnc#399411)
+
+ string topic1 = XMessages::selectDisplayTraversal;
+ string topic2 = XMessages::selectDisplayRatio;
+ // offer some common display settings
+ list<string> traversallist = [ "32.0", "31.5", "30.0", "26.0", "24.0", "23.0",
+ "22.2", "21.3", "21.1", "20.0", "19.0", "18.1",
+ "17.0", "15.4", "15.0", "14.1", "13.3", "12.2", "10.0" ];
+ list<string> ratiolist = [ "4/3", "5/4", "16/9", "16/10" ];
+
+ string traversal = currentTraversal;
+ string ratio = currentRatio;
+ string traversalCheck = "";
+ string ratioCheck = "";
+
+ // merge calculated values into the predefined lists
+ traversallist = (list<string>) sort(union(traversallist, [traversal]));
+ ratiolist = (list<string>) sort(union(ratiolist, [ratio]));
+
+ UI::OpenDialog(`MarginBox(0.5, 0.5,
+ `VBox(
+ `Heading(_("Display Settings")),
+ `VSpacing(0.5),
+ `HBox(
+ `HSpacing(`opt(`hstretch), 0.5),
+ `VBox(
+ `Left( `ComboBox(`id(`traversal), `opt(`notify, `editable), topic1, traversallist)),
+ `Left( `ComboBox(`id(`ratio), `opt(`notify, `editable), topic2, ratiolist))
+ ),
+ `HSpacing(`opt(`hstretch), 0.5)
+ ),
+ `VSpacing(0.5),
+ `HBox (
+ `PushButton(`id(`ok),Label::OKButton()),
+ `PushButton(`id(`cancel),Label::CancelButton())
+ )
+ )
+ ));
+
+ UI::ChangeWidget(`id(`traversal), `ValidChars, "1234567890.");
+ UI::ChangeWidget(`id(`ratio), `ValidChars, "1234567890/");
+
+ UI::ChangeWidget(`id(`traversal), `Value, traversal);
+ UI::ChangeWidget(`id(`ratio), `Value, ratio);
+
+
+ any ret = nil;
+ repeat
+ {
+ // wait for event from user
+ ret = UI::UserInput();
+
+ traversal = (string) UI::QueryWidget(`id(`traversal), `Value);
+ ratio = (string) UI::QueryWidget(`id(`ratio), `Value);
+
+ traversalCheck = regexpsub(traversal, "([1-9]+[0-9]*)(\.[0-9]?)?", "\\1\\2");
+ if (traversalCheck == nil) { traversal = ""; traversalCheck = ""; }
+ if (traversalCheck != traversal)
+ {
+ traversal = traversalCheck;
+ UI::ChangeWidget(`id(`traversal), `Value, traversal);
+ }
+
+ // here for ratio just sanity check
+ ratioCheck = regexpsub(ratio, "([1-9]+[0-9]*)(\/([1-9]+[0-9]*)?)?", "\\1\\2");
+ if (ratioCheck == nil) { ratio = ""; ratioCheck = ""; }
+ if (ratioCheck != ratio)
+ {
+ ratio = ratioCheck;
+ UI::ChangeWidget(`id(`ratio), `Value, ratio);
+ }
+
+ if (ret == `ok)
+ {
+ string ratioOrig = ratio;
+ ratio = regexpsub(ratio, "([1-9]+[0-9]*)\/([1-9]+[0-9]*)", "\\1\/\\2");
+ if (ratio != ratioOrig || ratioOrig == "" || ratio == nil)
+ {
+ Popup::Message(_("The value for the display ratio is invalid, please correct."));
+ ret = nil;
+ }
+
+ if (traversal == "" || traversal == nil)
+ {
+ Popup::Message(_("The value for the display traversal is invalid, please correct."));
+ ret = nil;
+ }
+ }
+
+ } until (ret == `ok || ret == `cancel);
+
+
+ list<string> result = [traversal, ratio];
+ if (ret == `cancel)
+ {
+ result = [currentTraversal, currentRatio];
+ }
+
+ UI::CloseDialog();
+ return result;
};
//================================
// setupMonitor
//--------------------------------
-define list setupMonitor (
- map data, string currentVendor, string currentModel
-) ``{
- any id = nil;
- list<string> result = [];
- list<string> vendorList = [];
- foreach (string vendor, list models, data, ``{
- vendorList = vendorList + vendor;
- });
- UI::OpenDialog(
- `VBox(
- `HSpacing(70),
- `Left (`Label(XMessages::selectMonitor)),
- `HBox (
- `VSpacing(20),
- `SelectionBox(`id(`vendor),`opt(`notify,`immediate),"",vendorList),
- `SelectionBox(`id(`model) ,`opt(`notify,`immediate),"", [])
- ),
- `Right( `HBox (
- `PushButton(`id(`ok),Label::OKButton()),
- `PushButton(`id(`cancel),Label::CancelButton())
- ))
- )
- );
- list modelList = sort (data[currentVendor]:[]);
- UI::ChangeWidget(`id(`vendor), `CurrentItem, currentVendor);
- UI::ChangeWidget(`id(`model) , `Items, modelList);
- UI::ChangeWidget(`id(`model) , `CurrentItem, currentModel);
- any vendor = (string)currentVendor;
- any model = (string)currentModel;
- repeat {
- id = UI::UserInput();
- if (id == `vendor) {
- vendor = UI::QueryWidget(`id(`vendor), `CurrentItem);
- list modelList = sort (data[(string)vendor]:[]);
- UI::ChangeWidget( `id( `model ), `Items, [] );
- UI::ChangeWidget( `id( `model ), `Items, modelList );
- }
- if (id == `model) {
- model = UI::QueryWidget(`id(`model), `CurrentItem);
- }
- if (id == `cancel) {
- result[0] = (string)currentVendor;
- result[1] = (string)currentModel;
- UI::CloseDialog();
- return result;
- }
- } until ( id == `ok );
- UI::CloseDialog();
- result[0] = (string)vendor;
- result[1] = (string)model;
- return result;
+define list setupMonitor ( map data, string currentVendor, string currentModel )
+{
+ any ret = nil;
+ list<string> result = [];
+ list<string> vendorList = [];
+ list modelList = [];
+
+ vendorList = maplist( string Dvendor, list Dmodel, data, { return Dvendor; });
+
+ UI::OpenDialog(`MarginBox( 0.5, 0.5,
+ `VBox(
+ `Left (`Label(XMessages::selectMonitor)),
+ `MinSize( 75, 15, `HBox (
+ `SelectionBox(`id(`vendor),`opt(`notify,`immediate), XMessages::Vendor,vendorList),
+ `SelectionBox(`id(`model) ,`opt(`notify,`immediate), XMessages::Model, [])
+ )),
+ `VSpacing(0.5),
+ `HBox (
+ `PushButton(`id(`ok),Label::OKButton()),
+ `PushButton(`id(`cancel),Label::CancelButton())
+ )
+ )
+ ));
+
+ string vendor = currentVendor;
+ string model = currentModel;
+
+ modelList = sort (data[vendor]:[]);
+ UI::ChangeWidget(`id(`vendor), `CurrentItem, nil);
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+
+ if ( modelList != [] && modelList != nil)
+ {
+ UI::ChangeWidget(`id(`vendor), `CurrentItem, vendor);
+ UI::ChangeWidget(`id(`model) , `Items, modelList);
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+
+ if (contains(modelList, model))
+ UI::ChangeWidget(`id(`model) , `CurrentItem, model);
+ }
+
+ repeat {
+ ret = UI::UserInput();
+ if (ret == `vendor) {
+ vendor = (string) UI::QueryWidget(`id(`vendor), `CurrentItem);
+ list modelList = sort (data[vendor]:[]);
+ UI::ChangeWidget(`id(`model ), `Items, modelList );
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+ }
+ if (ret == `model) {
+ model = (string) UI::QueryWidget(`id(`model), `CurrentItem);
+ }
+ if (ret == `cancel) {
+ UI::CloseDialog();
+ return [currentVendor, currentModel];
+ }
+ } until ( ret == `ok );
+
+ UI::CloseDialog();
+ return [vendor, model];
+
};
+
+
+//================================
+// setupTablet (fate#302888)
+//--------------------------------
+define list<string> setupTablet ( map data, string currentVendor, string currentModel )
+{
+ any ret = nil;
+ list<string> result = [];
+ list<string> vendorList = [];
+ list modelList = [];
+
+ vendorList = maplist( string Dvendor, list Dmodel, data, { return Dvendor; });
+
+ UI::OpenDialog(`MarginBox( 0.5, 0.5,
+ `VBox(
+ `Left (`Label(XMessages::selectTablet)),
+ `MinSize( 75, 15, `HBox (
+ `SelectionBox(`id(`vendor),`opt(`notify,`immediate), XMessages::Vendor, vendorList),
+ `SelectionBox(`id(`model) ,`opt(`notify,`immediate), XMessages::Model, [])
+ )),
+ `VSpacing(0.5),
+ `HBox (
+ `PushButton(`id(`ok),Label::OKButton()),
+ `PushButton(`id(`cancel),Label::CancelButton())
+ )
+ )
+ ));
+
+ string vendor = currentVendor;
+ string model = currentModel;
+
+ modelList = sort (data[vendor]:[]);
+ UI::ChangeWidget(`id(`vendor), `CurrentItem, nil);
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+
+ if ( modelList != [] && modelList != nil)
+ {
+ UI::ChangeWidget(`id(`vendor), `CurrentItem, vendor);
+ UI::ChangeWidget(`id(`model) , `Items, modelList);
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+
+ if (contains(modelList, model))
+ UI::ChangeWidget(`id(`model) , `CurrentItem, model);
+ }
+
+ repeat
+ {
+ ret = UI::UserInput();
+ if (ret == `vendor)
+ {
+ vendor = (string) UI::QueryWidget(`id(`vendor), `CurrentItem);
+ modelList = sort (data[vendor]:[]);
+ UI::ChangeWidget(`id(`model), `Items, modelList );
+ UI::ChangeWidget(`id(`model), `CurrentItem, nil);
+ }
+ if (ret == `model)
+ {
+ model = (string) UI::QueryWidget(`id(`model), `CurrentItem);
+ }
+ if (ret == `cancel)
+ {
+ UI::CloseDialog();
+ return [currentVendor, currentModel];
+ }
+ } until ( ret == `ok );
+
+ UI::CloseDialog();
+ return [vendor, model];
+}
+
+
+
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/proposal/x11_proposal.ycp new/yast2-x11-2.17.1/src/proposal/x11_proposal.ycp
--- old/yast2-x11-2.15.12/src/proposal/x11_proposal.ycp 2008-04-22 18:15:10.000000000 +0200
+++ new/yast2-x11-2.17.1/src/proposal/x11_proposal.ycp 2008-08-30 00:47:37.000000000 +0200
@@ -31,6 +31,7 @@
import "XMessages";
import "XLib";
import "Package";
+import "Popup";
include "x11/x11Dialog.ycp";
@@ -97,6 +98,7 @@
//--------------------------------------
if (! (boolean)XLib::isInitialized()) {
y2milestone ("Loading library cache...");
+ Popup::TimedMessage(XMessages::probeWarning, 15);
XLib::loadApplication();
}
//======================================
@@ -115,6 +117,9 @@
boolean extVGAactive= (boolean) XLib::isExternalVGAactive();
list monitorSize = (list) XLib::getDisplaySize();
string monitorInch = (string) monitorSize[0]:"undef";
+ //string tabletPtr = (string) XLib::getTabletPointer();
+ string tabletName = (string) XLib::getTabletModel();
+ string tabletVendor= (string) XLib::getTabletVendor();
//======================================
// Prepare proposal
@@ -215,6 +220,20 @@
//warnNoteBookPopup();
}
}
+ //======================================
+ // Tablet settings (fate#302888)
+ //--------------------------------------
+ string tabletStatus = XMessages::unconfigured;
+ if ( tabletVendor != "undef" &&
+ tabletName != "undef" )
+ {
+ tabletStatus = sformat("%1 - %2", tabletVendor, tabletName);
+ }
+ proposal = proposal
+ + LI
+ + XMessages::Tablet + " " + tabletStatus
+ + " (" + XMessages::configure + "</a>)"
+ + IL;
//======================================
// Test your configuration now
//--------------------------------------
@@ -239,7 +258,8 @@
"sax-colors",
"sax-3d",
"sax-ext-vga",
- "sax-test"
+ "sax-test",
+ "sax-tablet"
]
];
return ret;
@@ -338,6 +358,15 @@
if (chosenID == "x11_conf") {
infoPopup();
}
+ if (chosenID == "sax-tablet" ) {
+ y2milestone("X11: setup tablet...");
+ string vendor = XLib::getTabletVendor();
+ string model = XLib::getTabletModel();
+ map tcdb = XLib::getTabletCDB();
+ list selectedTablet = setupTablet(tcdb, vendor, model);
+ y2milestone("X11: setup tablet <%1>", selectedTablet);
+ XLib::setTablet( (list<string>)selectedTablet );
+ }
}
//===================================================
// Handle proposal description...
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/XLib.pm new/yast2-x11-2.17.1/src/XLib.pm
--- old/yast2-x11-2.15.12/src/XLib.pm 2007-09-01 09:11:54.000000000 +0200
+++ new/yast2-x11-2.17.1/src/XLib.pm 2008-08-29 21:01:41.000000000 +0200
@@ -35,6 +35,7 @@
my %section;
my $config;
my %cdb;
+my %tabletCDB;
#==========================================
# GetFbColor
@@ -258,50 +259,13 @@
my $traversal = $mDesktop->getDisplayTraversal();
my @ratio = @{$mDesktop->getDisplayRatio()};
if (defined $traversal) {
- $traversal = sprintf ("%.1f",$traversal);
- if ($traversal < 12.2) {
- $traversal = 10.0;
- } elsif (($traversal >= 12.2) && ($traversal < 13.3)) {
- $traversal = 12.2;
- } elsif (($traversal >= 13.3) && ($traversal < 14.1)) {
- $traversal = 13.3;
- } elsif (($traversal >= 14.1) && ($traversal < 14.5)) {
- $traversal = 14.1;
- } elsif (($traversal >= 14.5) && ($traversal < 15.4)) {
- $traversal = 15;
- } elsif (($traversal >= 15.4) && ($traversal < 16.5)) {
- $traversal = 15.4;
- } elsif (($traversal >= 16.5) && ($traversal < 18.0)) {
- $traversal = 17;
- } elsif (($traversal >= 18.0) && ($traversal < 18.3)) {
- $traversal = 18;
- } elsif (($traversal >= 18.3) && ($traversal < 18.5)) {
- $traversal = 18.1;
- } elsif (($traversal >= 18.5) && ($traversal < 19.5)) {
- $traversal = 19;
- } elsif (($traversal >= 19.5) && ($traversal < 20.5)) {
- $traversal = 20;
- } elsif (($traversal >= 20.5) && ($traversal < 21.3)) {
- $traversal = 21.1;
- } elsif (($traversal >= 21.3) && ($traversal < 21.5)) {
- $traversal = 21.3;
- } elsif (($traversal >= 21.5) && ($traversal < 22.2)) {
- $traversal = 22.2;
- } elsif (($traversal >= 22.2) && ($traversal < 23.5)) {
- $traversal = 23;
- } elsif (($traversal >= 23.5) && ($traversal < 24.5)) {
- $traversal = 24;
- } elsif (($traversal >= 24.5) && ($traversal < 30.5)) {
- $traversal = 30;
- } elsif (($traversal >= 30.5) && ($traversal < 31.8)) {
- $traversal = 31.5;
- } elsif (($traversal >= 31.8) && ($traversal < 32.5)) {
- $traversal = 32;
- } elsif (($traversal >= 32.5) && ($traversal < 40.5)) {
- $traversal = 40;
- } elsif ($traversal >= 40.5) {
- $traversal = 46;
- }
+ # if traversal is empty or not a numeric, set it to undef and do not operate on it (bnc#388259)
+ if ($traversal eq "" || $traversal !~ /^\d+\.?\d*$/)
+ { $traversal = "undef"; }
+ else
+ # just round the computed (real) traversal to a tenth
+ { $traversal = sprintf ("%.1f", $traversal); }
+
@result = ($traversal,@ratio);
}
return \@result;
@@ -896,6 +860,95 @@
}
#==========================================
+# getTabletCDB
+#------------------------------------------
+BEGIN{ $TYPEINFO{getTabletCDB} = ["function",["map","string",["list","string"]]]; }
+sub getTabletCDB {
+ my $class = shift;
+ my $size = keys %tabletCDB;
+ if ($size > 0) {
+ return \%tabletCDB;
+ }
+ my $mTablet = new SaX::SaXManipulateTablets (
+ $section{Pointers},$section{Layout}
+ );
+ $mTablet->selectPointer (1);
+ my @vendorList = @{$mTablet->getTabletVendorList()};
+ foreach my $vendor (@vendorList) {
+ my $modelList = $mTablet->getTabletModelList ($vendor);
+ $tabletCDB{$vendor} = $modelList;
+ }
+ return \%tabletCDB;
+}
+#==========================================
+# getTabletVendor
+#------------------------------------------
+BEGIN{ $TYPEINFO{getTabletVendor} = ["function", "string"]; }
+sub getTabletVendor {
+ my $class = shift;
+ my $mTablet = new SaX::SaXManipulateTablets (
+ $section{Pointers},$section{Layout}
+ );
+ $mTablet->selectPointer(1);
+ my $vendor = $mTablet->getVendor();
+ if ($vendor =~ /Unknown/i) {
+ return "undef";
+ }
+ return $vendor;
+}
+#==========================================
+# getTabletModel
+#------------------------------------------
+BEGIN{ $TYPEINFO{getTabletModel} = ["function", "string"]; }
+sub getTabletModel {
+ my $class = shift;
+ my $mTablet = new SaX::SaXManipulateTablets (
+ $section{Pointers},$section{Layout}
+ );
+ $mTablet->selectPointer(1);
+ my $model = $mTablet->getName();
+ if ($model =~ /Unknown/i) {
+ return "undef";
+ }
+ return $model;
+}
+#==========================================
+# getTabletPointer
+#------------------------------------------
+BEGIN{ $TYPEINFO{getTabletPointer} = ["function", "string"]; }
+sub getTabletPointer {
+ my $class = shift;
+ my $mTablet = new SaX::SaXManipulateTablets (
+ $section{Pointers},$section{Layout}
+ );
+ # check if one of the first 5 pointer devices is a tablet
+ my $i;
+ for ( $i=0 ; $i <= 4 ; $i++ )
+ {
+ $mTablet->selectPointer($i);
+ if ($mTablet->isTablet() )
+ {
+ return "$i";
+ }
+ }
+ return "undef";
+}
+#==========================================
+# setTablet
+#------------------------------------------
+BEGIN{ $TYPEINFO{setTablet} = ["function","void",["list","string"]]; }
+sub setTablet {
+ my $vendor = shift;
+ my $model = shift;
+ my $mTablet = new SaX::SaXManipulateTablets (
+ $section{Pointers},$section{Layout}
+ );
+ $mTablet->selectPointer(1);
+ $mTablet->setTablet($vendor, $model);
+}
+
+
+#==========================================
# test code
#------------------------------------------
if (0) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/src/XMessages.ycp new/yast2-x11-2.17.1/src/XMessages.ycp
--- old/yast2-x11-2.15.12/src/XMessages.ycp 2008-05-08 23:53:55.000000000 +0200
+++ new/yast2-x11-2.17.1/src/XMessages.ycp 2008-08-29 23:01:52.000000000 +0200
@@ -60,17 +60,20 @@
// 65536 colors - upper case
string colors65k_uc = _("65536 Colors");
-// 16.7 m colors - lower case
-string colors16m_lc = _("16.7 m colors");
-// 16.7 M colors - upper case
-string colors16m_uc = _("16.7 M Colors");
-// 16.7 Mio. colors - business language
-string colors16m_uc_business = _("16.7 Mio. Colors");
+// 16.7 M colors - lower case
+string colors16M_lc = _("16.7 M colors");
+// 16.7 M Colors - upper case
+string colors16M_uc = _("16.7 M Colors");
+
+// 16.7 Mio. colors - lower case - business language
+string colors16Mio_lc_business = _("16.7 Mio. colors");
+// 16.7 Mio. Colors - business language
+string colors16Mio_uc_business = _("16.7 Mio. Colors");
global string colors256 = colors256_uc;
global string colors32k = colors32k_uc;
global string colors65k = colors65k_uc;
-global string colors16m = colors16m_uc_business;
+global string colors16m = colors16M_uc;
//=============================================
@@ -78,18 +81,27 @@
global string colors = _("Colors");
// string for a drop-down box
-global string color8bit = _("256 [ 8 bit ]");
+global string color8bit = _("256 [8 bit]");
// string for a drop-down box
-global string color15bit = _("32768 [ 15 bit ]");
+global string color15bit = _("32768 [15 bit]");
+// string for a drop-down box, PPC meaning: the PowerPC architecture
+global string color15bitPPC = _("32768 [15 bit] (PPC)");
// string for a drop-down box
-global string color16bit = _("65536 [ 16 bit ]");
-// string for a drop-down box - lower case
-string color24bit_lc = _("16.7 m [ 24 bit ]");
-// string for a drop-down box - upper case
-string color24bit_uc = _("16.7 M [ 24 bit ]");
+global string color16bit = _("65536 [16 bit]");
+// string for a drop-down box, meaning "16.7 million" (colors)
+string color24bitM = _("16.7 M [24 bit]");
// string for a drop-down box - business language
-string color24bit_uc_business = _("16.7 Mio. [ 24 bit ]");
-global string color24bit = color24bit_uc_business;
+string color24bitMio = _("16.7 Mio. [24 bit]");
+// string for a drop-down box
+string color24bitMillion = _("16.7 Million [24 bit]");
+global string color24bit = color24bitM;
+// string for a drop-down box, meaning "16.7 million" (colors)
+string color32bitM = _("16.7 M [32 bit]");
+// string for a drop-down box - business language
+string color32bitMio = _("16.7 Mio. [32 bit]");
+// string for a drop-down box
+string color32bitMillion = _("16.7 Million [32 bit]");
+global string color32bit = color32bitM;
//=============================================
// Xgl strings
@@ -123,7 +135,8 @@
//=============================================
// colorDepth
//---------------------------------------------
-global string colorDepth = _("Colordepth: ");
+global string colorDepthOld = _("Colordepth: ");
+global string colorDepth = _("Color Depth: ");
//=============================================
// deactivated
@@ -151,6 +164,11 @@
global string selectColorDepth = _("Select color depth:");
//=============================================
+// resolution
+//---------------------------------------------
+global string resolution = _("Resolution:");
+
+//=============================================
// selectResolution
//---------------------------------------------
global string selectResolution = _("Select resolution:");
@@ -158,7 +176,19 @@
//=============================================
// selectMonitor
//---------------------------------------------
-global string selectMonitor = _("Select Monitor Vendor and Model:");
+global string selectMonitorOld = _("Select Monitor Vendor and Model:");
+global string selectMonitor = _("Select Monitor Vendor and Model");
+
+// selectTablet
+global string selectTablet = _("Select Tablet Vendor and Model");
+
+// tablet
+global string Tablet = _("Tablet:");
+
+// vendor - meaning "monitor vendor" (like "hardware vendor")
+global string Vendor = _("Vendor:");
+// model - meaning "monitor model"
+global string Model = _("Model:");
//=============================================
// selectLink
@@ -178,9 +208,11 @@
//=============================================
// selectDisplaySize
//---------------------------------------------
-global string selectDisplayTraversal = _("Traversal") + " [ " + Inches + " ]:";
+global string selectDisplayTraversal = _("Traversal") + " [" + Inches + "]:";
global string selectDisplayRatio = _("Aspect Ratio:");
+global string displaySettings = _("Display Settings");
+
//=============================================
// proposal menu and title text
//---------------------------------------------
@@ -197,6 +229,9 @@
//---------------------------------------------
global string unconfigured = _("Unconfigured");
+// configure - in lower case
+global string configure = _("configure");
+
//=============================================
// warnNoteBook
//---------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-x11-2.15.12/VERSION new/yast2-x11-2.17.1/VERSION
--- old/yast2-x11-2.15.12/VERSION 2008-05-08 23:53:55.000000000 +0200
+++ new/yast2-x11-2.17.1/VERSION 2008-08-29 23:08:50.000000000 +0200
@@ -1 +1 @@
-2.15.12
+2.17.1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org