Hello community,
here is the log from the commit of package yast2-packager
checked in at Sat Mar 22 11:33:14 CET 2008.
--------
--- yast2-packager/yast2-packager.changes 2008-03-14 17:17:06.000000000 +0100
+++ /mounts/work_src_done/STABLE/yast2-packager/yast2-packager.changes 2008-03-22 11:32:39.399838000 +0100
@@ -1,0 +2,42 @@
+Fri Mar 21 17:29:04 CET 2008 - lslezak@suse.cz
+
+- media change callback - autoretry downloading after timeout
+ (3 attempts, 30 seconds each) (bnc#328822)
+- 2.16.27
+
+-------------------------------------------------------------------
+Thu Mar 20 14:27:15 CET 2008 - jsrain@suse.cz
+
+- do not use double-bullet in the pattern list (fate#120376)
+
+-------------------------------------------------------------------
+Thu Mar 20 14:10:18 CET 2008 - lslezak@suse.cz
+
+- when changing URL of a repository allow to change the URL as
+ a whole (fate#120332)
+
+-------------------------------------------------------------------
+Wed Mar 19 15:21:02 CET 2008 - lslezak@suse.cz
+
+- do not probe CD/DVD devices after pressing [Eject] (probing
+ closes just the ejected device)
+- added "Automatic Eject" checkbox (fate#301228)
+
+-------------------------------------------------------------------
+Wed Mar 19 09:57:34 CET 2008 - lslezak@suse.cz
+
+- Slideshow - dropped vertical multi progress bar, display
+ remaining size and time in the main progress bar (fate#303437)
+
+-------------------------------------------------------------------
+Mon Mar 17 14:08:23 CET 2008 - lslezak@suse.cz
+
+- unified button labels (use "OK" instead of "Accept")
+ (fate#120373)
+
+-------------------------------------------------------------------
+Mon Mar 17 12:43:32 CET 2008 - jsrain@suse.cz
+
+- added 'StartupNotify=true' to the desktop file (bnc #304964)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.h27696/_old 2008-03-22 11:33:01.000000000 +0100
+++ /var/tmp/diff_new_pack.h27696/_new 2008-03-22 11:33:01.000000000 +0100
@@ -13,7 +13,7 @@
Name: yast2-packager
Version: 2.16.26
-Release: 1
+Release: 7
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -23,14 +23,14 @@
# enhanced String::FormatRateMessage()
BuildRequires: yast2 >= 2.16.34
# changed signature of MediaChange calback
-BuildRequires: yast2-pkg-bindings >= 2.16.19
+BuildRequires: yast2-pkg-bindings >= 2.16.20
# Module: OneClickInstallStandard
Requires: perl-XML-Bare yast2-perl-bindings
# Newly added RPM
Requires: yast2-country-data >= 2.16.3
Requires: yast2-installation >= 2.15.12
# changed signature of MediaChange calback
-Requires: yast2-pkg-bindings >= 2.16.19
+Requires: yast2-pkg-bindings >= 2.16.20
# URL::MakeParamsFromMap and URL::MakeMapFromParams
Requires: yast2 >= 2.16.25
# unzipping license file
@@ -105,7 +105,29 @@
/usr/share/YaST2/scrconf/*
%{prefix}/lib/YaST2/servers_non_y2/ag_*
%doc %{prefix}/share/doc/packages/yast2-packager
+
%changelog
+* Fri Mar 21 2008 lslezak@suse.cz
+- media change callback - autoretry downloading after timeout
+ (3 attempts, 30 seconds each) (bnc#328822)
+- 2.16.27
+* Thu Mar 20 2008 jsrain@suse.cz
+- do not use double-bullet in the pattern list (fate#120376)
+* Thu Mar 20 2008 lslezak@suse.cz
+- when changing URL of a repository allow to change the URL as
+ a whole (fate#120332)
+* Wed Mar 19 2008 lslezak@suse.cz
+- do not probe CD/DVD devices after pressing [Eject] (probing
+ closes just the ejected device)
+- added "Automatic Eject" checkbox (fate#301228)
+* Wed Mar 19 2008 lslezak@suse.cz
+- Slideshow - dropped vertical multi progress bar, display
+ remaining size and time in the main progress bar (fate#303437)
+* Mon Mar 17 2008 lslezak@suse.cz
+- unified button labels (use "OK" instead of "Accept")
+ (fate#120373)
+* Mon Mar 17 2008 jsrain@suse.cz
+- added 'StartupNotify=true' to the desktop file (bnc #304964)
* Fri Mar 14 2008 lslezak@suse.cz
- added support for starting the repository manager from
the package manager (fate#302517)
++++++ yast2-packager-2.16.26.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/clients/inst_packages.ycp new/yast2-packager-2.16.26/src/clients/inst_packages.ycp
--- old/yast2-packager-2.16.26/src/clients/inst_packages.ycp 2008-01-04 13:08:13.000000000 +0100
+++ new/yast2-packager-2.16.26/src/clients/inst_packages.ycp 2008-03-17 14:21:51.000000000 +0100
@@ -3,7 +3,7 @@
* Authors: Stefan Hundhammer
* Purpose: Show the package installation dialog
*
- * $Id: inst_packages.ycp 43271 2008-01-04 12:08:13Z lslezak $
+ * $Id: inst_packages.ycp 45525 2008-03-17 13:21:50Z lslezak $
*
*/
@@ -89,7 +89,7 @@
Wizard::OpenNextBackDialog();
Wizard::SetBackButton (`back, Label::BackButton());
Wizard::SetAbortButton (`cancel, Label::CancelButton());
- Wizard::SetNextButton (`accept, Label::AcceptButton());
+ Wizard::SetNextButton (`accept, Label::OKButton());
Wizard::DisableBackButton();
Wizard::SetContents(
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/clients/inst_productsources.ycp new/yast2-packager-2.16.26/src/clients/inst_productsources.ycp
--- old/yast2-packager-2.16.26/src/clients/inst_productsources.ycp 2008-02-15 14:17:34.000000000 +0100
+++ new/yast2-packager-2.16.26/src/clients/inst_productsources.ycp 2008-03-17 14:05:18.000000000 +0100
@@ -1141,7 +1141,7 @@
if (script_called_from_another) {
Wizard::SetAbortButton (`cancel, Label::CancelButton());
- Wizard::SetNextButton (`next, Label::AcceptButton());
+ Wizard::SetNextButton (`next, Label::OKButton());
} else {
Wizard::SetNextButton (`next, Label::FinishButton());
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/clients/reg_test.ycp new/yast2-packager-2.16.26/src/clients/reg_test.ycp
--- old/yast2-packager-2.16.26/src/clients/reg_test.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-2.16.26/src/clients/reg_test.ycp 2008-03-18 10:40:05.000000000 +0100
@@ -0,0 +1,14 @@
+
+{
+ import "PackageCallbacks";
+
+ Pkg::TargetInit("/", true);
+ Pkg::SourceStartManager(true);
+
+ y2internal("Starting registration...");
+
+ import "Register";
+ y2internal("init: %1", Register::initialize());
+ y2internal("register: %1", Register::suseRegister(`autoyast));
+ y2internal("finish: %1", Register::finish());
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/config/checkmedia.desktop new/yast2-packager-2.16.26/src/config/checkmedia.desktop
--- old/yast2-packager-2.16.26/src/config/checkmedia.desktop 2007-05-18 12:48:14.000000000 +0200
+++ new/yast2-packager-2.16.26/src/config/checkmedia.desktop 2008-03-17 13:31:56.000000000 +0100
@@ -22,3 +22,4 @@
Name=Media Check
GenericName=Verify CD and DVD media integrity
X-KDE-SubstituteUID=true
+StartupNotify=true
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/config/sw_single.desktop new/yast2-packager-2.16.26/src/config/sw_single.desktop
--- old/yast2-packager-2.16.26/src/config/sw_single.desktop 2007-05-30 14:22:07.000000000 +0200
+++ new/yast2-packager-2.16.26/src/config/sw_single.desktop 2008-03-17 13:31:56.000000000 +0100
@@ -22,3 +22,4 @@
Name=Software Management
GenericName=Install additional software packages or remove installed packages
X-KDE-SubstituteUID=true
+StartupNotify=true
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/config/sw_source.desktop new/yast2-packager-2.16.26/src/config/sw_source.desktop
--- old/yast2-packager-2.16.26/src/config/sw_source.desktop 2008-02-19 13:39:45.000000000 +0100
+++ new/yast2-packager-2.16.26/src/config/sw_source.desktop 2008-03-17 13:31:56.000000000 +0100
@@ -22,3 +22,4 @@
Name=Software Repositories
GenericName=Choose the repositories for installation of software packages (CD, network, etc.), add the community repositories
X-KDE-SubstituteUID=true
+StartupNotify=true
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/PackageCallbacks.ycp new/yast2-packager-2.16.26/src/modules/PackageCallbacks.ycp
--- old/yast2-packager-2.16.26/src/modules/PackageCallbacks.ycp 2008-03-14 09:35:57.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/PackageCallbacks.ycp 2008-03-21 17:56:09.000000000 +0100
@@ -7,7 +7,7 @@
*
* Purpose: provides the default Callbacks for Pkg::
*
- * $Id: PackageCallbacks.ycp 45448 2008-03-14 08:35:56Z lslezak $
+ * $Id: PackageCallbacks.ycp 45680 2008-03-21 16:56:08Z lslezak $
*
*/
@@ -29,6 +29,8 @@
import "Icon";
import "Wizard";
import "Progress";
+ import "DontShowAgain";
+ import "FileUtils";
global boolean _provide_popup = false;
global boolean _source_popup = false;
@@ -63,6 +65,72 @@
boolean textmode = UI::GetDisplayInfo()["TextMode"]:false;
integer display_width = UI::GetDisplayInfo()["Width"]:0;
+ /* Location of the persistent storage */
+ const string conf_file = Directory::vardir + "/package_callbacks.conf";
+ map config = nil;
+
+ // auto ejecting is in progress
+ boolean doing_eject = false;
+
+ // seconds for automatic retry after a timeout
+ const integer retry_timeout = 30;
+ // number of automatic retries
+ const integer retry_attempts = 3;
+
+ // current values for retry functionality
+ string retry_url = "";
+ integer current_retry_timeout = retry_timeout;
+ integer current_retry_attempt = retry_attempts;
+
+ // functions related to the persistent storage
+ void LoadConfig()
+ {
+ if (FileUtils::Exists(conf_file) && FileUtils::IsFile(conf_file))
+ {
+ y2milestone("Reading config file %1", conf_file);
+ map read_conf = (map) SCR::Read(.target.ycp, conf_file);
+
+ config = (read_conf != nil) ? read_conf : $[];
+ y2milestone("Current config: %1", config);
+ }
+ else
+ {
+ y2milestone("No configuration found (file %1 is missing)", conf_file);
+ }
+
+ if (config == nil)
+ {
+ config = $[];
+ }
+ }
+
+ any GetConfig(string key)
+ {
+ if (config == nil)
+ {
+ LoadConfig();
+ }
+
+ return config[key]:nil;
+ }
+
+ void SetConfig(string key, any value)
+ {
+ if (config == nil)
+ {
+ LoadConfig();
+ }
+
+ y2milestone("Config: setting %1 to %2", key, value);
+ config[key] = value;
+ }
+
+ boolean SaveConfig()
+ {
+ y2milestone("Saving the current config to %1", conf_file);
+ return (boolean)SCR::Write(.target.ycp, conf_file, config);
+ }
+
//--------------------------------------------------------------------------
// defaults
@@ -550,6 +618,8 @@
// MEDIA CHANGE
//=============================================================================
+list<term> detected_cd_devices = [];
+
global define list<term> CDdevices(string preferred) {
list<map> cds = (list<map>)SCR::Read(.probe.cdrom);
list<term> ret = [];
@@ -574,6 +644,24 @@
return ret;
}
+// check and save the autoeject configuration if needed
+void CheckAndSaveAutoEject()
+{
+ boolean autoeject = (boolean)UI::QueryWidget(`id(`auto_eject), `Value);
+
+ boolean current = (boolean)GetConfig("automatic_eject");
+ if (current == nil)
+ {
+ current = false;
+ }
+
+ if (autoeject != current)
+ {
+ SetConfig("automatic_eject", autoeject);
+ SaveConfig();
+ }
+}
+
//-------------------------------------------------------------------------
//
// media change callback
@@ -587,7 +675,7 @@
// return "C" for cancel (not implemented !)
// return url to change media URL
- global string MediaChange (string error, string url, string product,
+ global string MediaChange (string error_code, string error, string url, string product,
integer current, string current_label,
integer wanted, string wanted_label,
boolean double_sided, list<string> devices, integer current_device)
@@ -607,7 +695,7 @@
}
y2milestone ("MediaChange error: err'%1', url'%2', prd'%3', cur'%4'/'%5', wan'%6'/'%7', devs: %8, curr_dev: %9",
- error, url, product, current, current_label, wanted, wanted_label, devices, current_device);
+ error_code + ":" + error, url, product, current, current_label, wanted, wanted_label, devices, current_device);
map url_tokens = URL::Parse (url);
string url_scheme = url_tokens["scheme"]:"";
@@ -616,6 +704,17 @@
// true if it makes sense to offer an eject button (for cd/dvd only ...)
boolean offer_eject_button = url_scheme == "cd" || url_scheme == "dvd";
+ // do automatic eject
+ if (offer_eject_button && (boolean)GetConfig("automatic_eject") == true)
+ {
+ if (!doing_eject)
+ {
+ y2milestone("Automatically ejecting the medium...");
+ doing_eject = true;
+ return "E";
+ }
+ }
+
if (issubstring (error, "ERROR(InstSrc:E_bad_id)"))
{
error =
@@ -642,7 +741,7 @@
side = _("Side B");
}
wanted = (wanted + 1) >> 1;
- wanted_label = (tolower(url_scheme) == "cd" || tolower(url_scheme) == "dvd") ?
+ wanted_label = (url_scheme == "cd" || url_scheme == "dvd") ?
// label for a repository - %1 product name (e.g. "openSUSE 10.2"), %2 medium number (e.g. 2)
// %3 side (e.g. "Side A")
sformat("%1 (Disc %2, %3)", product, wanted, side)
@@ -699,22 +798,72 @@
if (offer_eject_button)
{
- // detect the CD/DVD devices
- list<term> cds = CDdevices(devices[current_device]:"");
+ if (!doing_eject)
+ {
+ detected_cd_devices = CDdevices(devices[current_device]:"");
+ }
+
+ // detect the CD/DVD devices if the ejecting is not in progress,
+ // the CD detection closes the ejected tray!
+ list<term> cds = detected_cd_devices;
// display a menu button if there are more CD devices
- if (size(cds) > 1)
+ term eject_button =
+ (size(cds) > 1) ?
+ // menu button label - used for more then one device
+ `MenuButton(_("&Eject"), cds)
+ // push button label - in the media change popup, user can eject the CD/DVD
+ : `PushButton (`id(`eject), _("&Eject"));
+
+ button_box = add(button_box, eject_button);
+
+ boolean auto_eject = (boolean)GetConfig("automatic_eject");
+ if (auto_eject == nil)
{
- // menu button label - used for more then one device
- button_box = add (button_box, `MenuButton(_("&Eject"), cds));
+ auto_eject = false;
}
- else
+
+ button_box = `VBox(
+ `Left(`CheckBox(`id(`auto_eject), _("A&utomatically Eject CD/DVD Medium"), auto_eject)),
+ button_box
+ );
+ }
+
+ doing_eject = false;
+
+ // Autoretry code
+ boolean doing_auto_retry = false;
+
+ if (error_code == "IO_SOFT")
+ {
+ // this a different file, reset the retry counter
+ if (retry_url != url)
+ {
+ retry_url = url;
+ current_retry_attempt = retry_attempts;
+ }
+
+ // is the maximum retry count reached?
+ if (current_retry_attempt > 0)
{
- // push button label - in the media change popup, user can eject the CD/DVD
- button_box = add (button_box, `PushButton (`id(`eject), _("&Eject")));
+ // reset the counter
+ current_retry_timeout = retry_timeout;
+ button_box = `VBox(
+ `Left(`Label(`id(`auto_retry), sformat(_("Automatically Retry After %1 Seconds"), current_retry_timeout))),
+ button_box
+ );
+
+ doing_auto_retry = true;
}
}
+ y2milestone("Autoretry: %1", doing_auto_retry);
+
+ if (doing_auto_retry)
+ {
+ y2milestone("Autoretry attempt: %1", current_retry_attempt);
+ }
+
if (Mode::commandline())
{
CommandLine::Print(message);
@@ -771,7 +920,47 @@
string eject_device = "";
repeat {
- r = UI::UserInput();
+
+ if (doing_auto_retry)
+ {
+ r = UI::TimeoutUserInput(1000);
+ }
+ else
+ {
+ r = UI::UserInput();
+ }
+
+ // timout in autoretry mode?
+ if ( doing_auto_retry)
+ {
+ if (r == `timeout)
+ {
+ // decrease timeout counter
+ current_retry_timeout = current_retry_timeout - 1;
+
+ if (current_retry_timeout == 0)
+ {
+ y2milestone("The time is out, doing automatic retry...");
+ // do the retry
+ r = `retry;
+
+ // decrease attempt counter
+ current_retry_attempt = current_retry_attempt - 1;
+ }
+ else
+ {
+ // popup string - refresh the displayed counter
+ UI::ChangeWidget(`id(`auto_retry), `Label, sformat(_("Automatically Retry After %1 Seconds"), current_retry_timeout));
+ }
+ }
+ else
+ {
+ // user has pressed a button, reset the retry counter in the next timeout
+ y2milestone("User input: %1, resetting autoretry url", r);
+ retry_url = "";
+ }
+ }
+
if ( r == `show )
{
showLongInfo = ShowLogInfo (message, button_box);
@@ -806,6 +995,13 @@
}
} until (r == `cancel || r == `retry || r == `eject || r == `skip || r == `ignore || r == `url);
+ // remember the state of autoeject option
+ if (offer_eject_button)
+ {
+ // check and save the autoeject configuration if needed
+ CheckAndSaveAutoEject();
+ }
+
y2milestone ("MediaChange %1", r);
UI::CloseDialog();
@@ -830,6 +1026,8 @@
return "S";
if (r == `eject)
{
+ doing_eject = true;
+
if (eject_device == "")
{
return "E";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/Packages.ycp new/yast2-packager-2.16.26/src/modules/Packages.ycp
--- old/yast2-packager-2.16.26/src/modules/Packages.ycp 2008-03-14 09:35:57.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/Packages.ycp 2008-03-21 17:56:09.000000000 +0100
@@ -3,7 +3,7 @@
* Package: Package selections
* Authors: Anas Nashif
*
- * $Id: Packages.ycp 45448 2008-03-14 08:35:56Z lslezak $
+ * $Id: Packages.ycp 45680 2008-03-21 16:56:08Z lslezak $
*/
{
@@ -274,10 +274,12 @@
output = (list<string>)add (output, sformat(_("System Type: %1"), DefaultDesktop::Description ()));
if (contains (flags, `pattern))
output = (list<string>)
- merge (output, ListSelected (`pattern, "+ %1"));
+// merge (output, ListSelected (`pattern, "+ %1"));
+ add (output, _("Patterns:<br>") + mergestring (ListSelected (`pattern, "+ %1"), "<br>"));
if (contains (flags, `selection))
output = (list<string>)
- merge (output, ListSelected (`selection, "+ %1"));
+// merge (output, ListSelected (`selection, "+ %1"));
+ add (output, _("Selections:<br>") + mergestring (ListSelected (`selection, "+ %1"), "<br>"));
if (contains (flags, `size))
{
output = (list<string>)add (output,
@@ -1257,7 +1259,7 @@
"\n" + Pkg::LastError();
// FIXME somewhere get correct current_label and wanted_label
- string result = PackageCallbacks::MediaChange (errortext, base_url, "",
+ string result = PackageCallbacks::MediaChange ("NO_ERROR", errortext, base_url, "",
0, "", 1, "", false, [], 0);
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/SlideShow.ycp new/yast2-packager-2.16.26/src/modules/SlideShow.ycp
--- old/yast2-packager-2.16.26/src/modules/SlideShow.ycp 2008-03-11 13:30:41.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/SlideShow.ycp 2008-03-19 10:02:48.000000000 +0100
@@ -5,7 +5,7 @@
*
* Author: Stefan Hundhammer
*
- * $Id: SlideShow.ycp 45346 2008-03-11 12:30:40Z lslezak $
+ * $Id: SlideShow.ycp 45589 2008-03-19 09:02:47Z lslezak $
*
*/
{
@@ -1214,6 +1214,17 @@
}
}
+ string GetProgressLabel()
+ {
+ string rem_string = "";
+ integer tot_rem_t = TotalRemainingTime();
+
+ rem_string = ( unit_is_seconds && bytes_per_second > 0 && tot_rem_t > 0) ?
+ sformat("%1 / %2", FormatRemainingSize(TotalRemainingSize()), FormatTimeShowOverflow(tot_rem_t))
+ : FormatRemainingSize(TotalRemainingSize());
+
+ return sformat(_("Remaining: %1"), rem_string);
+ }
/**
* Update progress widgets
@@ -1224,7 +1235,10 @@
UI::ChangeWidget(`multiProgressMeter, `Values, FlattenNoZeroes( remaining_sizes_per_cd_per_src ) );
if ( UI::WidgetExists(`progressTotal ) )
+ {
UI::ChangeWidget(`progressTotal, `Value, TotalInstalledSize() );
+ UI::ChangeWidget(`progressTotal, `Label, GetProgressLabel() );
+ }
UpdateCurrentCdProgress(silent_check);
@@ -1455,45 +1469,20 @@
**/
term AddProgressWidgets( symbol page_id, term page_contents )
{
- term widgets = `Empty();
-
- if ( UI::HasSpecialWidget(`VMultiProgressMeter ) )
- {
- widgets =
- `VBox(`id( page_id ),
- `VWeight( 1, // lower layout priority so `Label(`nextMedia) gets its desired height
- `HBox(
- page_contents,
- `HSpacing( 0.5 ),
- `VBox(
- `Label(`id(`totalRemainingLabel), FormatTotalRemaining() ),
- `VWeight( 1, `VMultiProgressMeter(`id(`multiProgressMeter),
- FlattenNoZeroes( total_sizes_per_cd_per_src ) ) )
- )
- )
- ),
- `VSpacing( 0.3 ),
- `Label(`id(`nextMedia ), `opt( `hstretch), FormatNextMedia() )
- );
- }
- else // No VMultiProgressMeter - use a simpler version (mainly for NCurses UI)
- {
- widgets =
- `HBox(`id( page_id ),
- `HSpacing( 1 ),
- `VBox(
- `VSpacing( 0.4 ),
- `VWeight( 1, // lower layout priority
- page_contents ),
- // Progress bar for overall progress of software package installation
- `ProgressBar(`id(`progressTotal ), _("Total"),
- total_size_to_install, TotalInstalledSize() )
- // intentionally omitting `Label(`nextMedia) -
- // too much flicker upon update (UI::RecalcLayout() ) on NCurses
- ),
- `HSpacing( 0.5 )
- );
- }
+ term widgets =
+ `HBox(`id( page_id ),
+ `HSpacing( 1 ),
+ `VBox(
+ `VWeight( 1, // lower layout priority
+ page_contents ),
+ // Progress bar for overall progress of software package installation
+ `ProgressBar(`id(`progressTotal ), GetProgressLabel(),
+ total_size_to_install, TotalInstalledSize() )
+ // intentionally omitting `Label(`nextMedia) -
+ // too much flicker upon update (UI::RecalcLayout() ) on NCurses
+ ),
+ `HSpacing( 0.5 )
+ );
y2debug( "widget term: \n%1", widgets );
return widgets;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/SourceDialogs.ycp new/yast2-packager-2.16.26/src/modules/SourceDialogs.ycp
--- old/yast2-packager-2.16.26/src/modules/SourceDialogs.ycp 2008-02-20 16:37:30.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/SourceDialogs.ycp 2008-03-20 14:09:27.000000000 +0100
@@ -372,19 +372,60 @@
// NFS editation widget
+term nfs_details_content =
+`VBox(
+ `HBox(
+ // text entry
+ `TextEntry (`id (`server), _("&Server Name")),
+ `VBox(
+ `Label(""),
+ `PushButton(`id(`nfs_browse), Label::BrowseButton())
+ )
+ ),
+ `HBox(
+ // text entry
+ `TextEntry (`id (`dir), _("&Path to Directory or ISO Image")),
+ `VBox(
+ `Label(""),
+ `PushButton(`id(`nfs_exports_browse), Label::BrowseButton())
+ )
+ ),
+ // checkbox label
+ `Left (`CheckBox ( `id (`ch_iso), _("&ISO Image")))
+);
+
+term nfs_complete_content = `InputField(`id(`complete_url), `opt(`hstretch), _("URL of the Repository"));
+
/**
* Init function of a widget
* @param key string widget key
*/
void NFSInit (string key) {
- boolean iso = IsISOURL (_url);
- if (iso)
- _url = PreprocessISOURL (_url);
- map parsed = URL::Parse (_url);
- UI::ChangeWidget (`id (`server), `Value, parsed["host"]:"");
- UI::ChangeWidget (`id (`dir), `Value, parsed["path"]:"");
- UI::ChangeWidget (`id (`ch_iso), `Value, iso);
- UI::SetFocus (`server);
+ // check the current edit type
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2internal("Current edit type: %1", current_type);
+
+ UI::ReplaceWidget(`id(`edit_content), (current_type == `edit_url_parts) ? nfs_details_content : nfs_complete_content);
+
+ if (current_type == `edit_url_parts)
+ {
+ boolean iso = IsISOURL (_url);
+
+ string repo_url = _url;
+
+ if (iso)
+ repo_url = PreprocessISOURL(repo_url);
+
+ map parsed = URL::Parse (repo_url);
+ UI::ChangeWidget (`id (`server), `Value, parsed["host"]:"");
+ UI::ChangeWidget (`id (`dir), `Value, parsed["path"]:"");
+ UI::ChangeWidget (`id (`ch_iso), `Value, iso);
+ UI::SetFocus (`server);
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`complete_url), `Value, _url);
+ }
}
/**
@@ -393,16 +434,26 @@
* @param event map which caused settings being stored
*/
void NFSStore (string key, map event) {
- map parsed = $[
- "scheme" : "nfs",
- "host" : NormalizeHost (
- (string)UI::QueryWidget (`id (`server), `Value)),
- "path" : (string)UI::QueryWidget (`id (`dir), `Value),
- ];
- _url = URL::Build (parsed);
- boolean iso = (boolean)UI::QueryWidget (`id (`ch_iso), `Value);
- if (iso)
- _url = PosprocessISOURL (_url);
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2milestone("Current edit type: %1", current_type);
+
+ if (current_type == `edit_url_parts)
+ {
+ map parsed = $[
+ "scheme" : "nfs",
+ "host" : NormalizeHost (
+ (string)UI::QueryWidget (`id (`server), `Value)),
+ "path" : (string)UI::QueryWidget (`id (`dir), `Value),
+ ];
+ _url = URL::Build (parsed);
+ boolean iso = (boolean)UI::QueryWidget (`id (`ch_iso), `Value);
+ if (iso)
+ _url = PosprocessISOURL (_url);
+ }
+ else
+ {
+ _url = (string)UI::QueryWidget(`id(`complete_url), `Value);
+ }
}
/**
@@ -437,11 +488,18 @@
UI::ChangeWidget (`id (`dir), `Value, result);
}
}
+ else if ((event["ID"]:nil == `edit_url_parts || event["ID"]:nil == `edit_complete_url) && event["EventReason"]:"" == "ValueChanged")
+ {
+ y2milestone("Changing dialog type");
+
+ // reinitialize the dialog (set the current values)
+ NFSInit(nil);
+ }
+
return nil;
}
-
/**
* Get widget description map
* @return widget description map
@@ -450,29 +508,18 @@
return $[
"widget" : `custom,
"custom_widget" : `VBox (
- `HBox(
- // text entry
- `TextEntry (`id (`server), _("&Server Name")),
- `VBox(
- `Label(""),
- `PushButton(`id(`nfs_browse), Label::BrowseButton())
- )
- ),
- `HBox(
- // text entry
- `TextEntry (`id (`dir), _("&Path to Directory or ISO Image")),
- `VBox(
- `Label(""),
- `PushButton(`id(`nfs_exports_browse), Label::BrowseButton())
+ `RadioButtonGroup (`id (`edit_type),
+ `HBox (
+ `RadioButton(`id(`edit_url_parts), `opt(`notify), _("Edit Parts of the URL"), true),
+ `HSpacing(2),
+ `RadioButton(`id(`edit_complete_url), `opt(`notify), _("Edit Complete URL"))
)
),
- // checkbox label
- `Left (`CheckBox ( `id (`ch_iso), _("&ISO Image")))
+ `ReplacePoint(`id(`edit_content), `Empty())
),
"init" : NFSInit,
"store" : NFSStore,
"handle" : NFSHandle,
- "handle_events" : [ `nfs_browse, `nfs_exports_browse ],
// help text
"help" : _("<p><big><b>NFS Server</b></big><br>
Use <b>Server Name</b> and <b>Path to Directory or ISO Image</b>
@@ -1096,6 +1143,115 @@
// HTTP(s)/FTP/SMB/CIFS repository widget
+// forward declarations
+void ServerInit (string key);
+void ServerStore (string key, map event);
+
+// dialog contents for different views
+
+term details_content =
+`VBox(
+ `HBox (
+ `HSpacing (0.5),
+ // frame
+ `Frame (_("P&rotocol"), `ReplacePoint (`id (`rb_type_rp),
+ `Empty ())
+ ),
+ `HSpacing( 0.5 )
+ ),
+ `ReplacePoint (`id (`server_rp), `Empty ())
+);
+
+term complete_content = `InputField(`id(`complete_url), `opt(`hstretch), _("URL of the Repository"));
+
+void ServerStoreParts()
+{
+ symbol type = (symbol) UI::QueryWidget( `id( `rb_type), `CurrentButton );
+ map parsed = $[];
+ if ( type == `ftp )
+ parsed["scheme"] = "ftp";
+ else if ( type == `http )
+ parsed["scheme"] = "http";
+ else if ( type == `https )
+ parsed["scheme"] = "https";
+ else if ( type == `samba )
+ parsed["scheme"] = "smb";
+
+ boolean anonymous = (boolean)UI::QueryWidget (`id (`anonymous), `Value);
+ if ( !anonymous ) {
+ string user = (string)UI::QueryWidget (`id (`username), `Value);
+ string pass = (string)UI::QueryWidget (`id (`password ), `Value);
+ if (size (user) != 0)
+ parsed["user"] = user;
+ if (size (pass) != 0)
+ parsed["pass"] = pass;
+ }
+
+ string host = NormalizeHost((string)UI::QueryWidget (`id (`server), `Value));
+ string directory = (string)UI::QueryWidget (`id (`dir), `Value);
+
+ // is / in the host name?
+ integer pos = findfirstof(host, "/");
+ if (pos != nil)
+ {
+ // update the hostname and the directory,
+ // URL::Build return empty URL when the hostname is not valid
+ y2milestone("The hostname contains a path: %1", host);
+ string dir = substring(host, pos);
+
+ if (substring(dir, size(dir) - 1, 1) != "/" && substring(directory, 0, 1) != "/")
+ {
+ dir = dir + "/";
+ }
+
+ directory = dir + directory;
+ host = substring(host, 0, pos);
+
+ y2milestone("Updated hostname: %1, directory: %2", host, directory);
+ }
+
+ parsed["host"] = host;
+
+ if (type == `samba)
+ {
+ string share = (string)UI::QueryWidget (`id (`share), `Value);
+ directory = Slashed (share) + Slashed (directory);
+ }
+ else if (type != `ftp)
+ // FTP needs to distinguish absolute and relative path
+ {
+ directory = Slashed (directory);
+ }
+ if (UI::WidgetExists (`id (`workgroup)))
+ {
+ string workgroup = (string)UI::QueryWidget (`id (`workgroup), `Value);
+ if (type == `samba && size (workgroup) > 0)
+ directory = directory + ";workgroup=" + workgroup;
+ }
+ parsed["path"] = directory;
+
+ // set HTTP/HTTPS port
+ if (type == `http || type == `https)
+ {
+ parsed["port"] = (string)UI::QueryWidget(`id(`port), `Value);
+ }
+
+ y2milestone("Entered URL: %1", parsed);
+ _url = URL::Build (parsed);
+ y2milestone("URL::Build: %1", _url);
+ if (UI::WidgetExists (`id (`ch_iso)))
+ {
+ boolean iso = (boolean)UI::QueryWidget (`id (`ch_iso), `Value);
+ if (iso)
+ _url = PosprocessISOURL (_url);
+ }
+}
+
+void ServerStoreComplete()
+{
+ _url = (string)UI::QueryWidget(`id(`complete_url), `Value);
+}
+
/**
* Handle function of a widget
* @param key string widget key
@@ -1103,10 +1259,14 @@
* @return always nil
*/
symbol ServerHandle (string key, map event) {
- y2debug("ServerHandle: %1, %2", key, event);
+ y2internal("ServerHandle: %1, %2", key, event);
+
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2internal("Current edit type: %1", current_type);
+
any id = event["ID"]:nil;
if (is (id, symbol)
- && contains ([`http, `https, `ftp, `samba, `rb_type], (symbol)id))
+ && contains ([`http, `https, `ftp, `samba, `rb_type], (symbol)id) && current_type == `edit_url_parts)
{
symbol type = (symbol)UI::QueryWidget (`id (`rb_type), `CurrentButton);
string server = UI::WidgetExists (`id (`server))
@@ -1192,7 +1352,7 @@
return nil;
}
- if (event["ID"]:nil == `anonymous)
+ if (event["ID"]:nil == `anonymous && current_type == `edit_url_parts)
{
boolean anonymous = (boolean)UI::QueryWidget (`id (`anonymous),
`Value);
@@ -1202,6 +1362,13 @@
UI::ChangeWidget (`id (`workgroup), `Enabled, !anonymous);
return nil;
}
+ else if ((id == `edit_url_parts || id == `edit_complete_url) && event["EventReason"]:"" == "ValueChanged")
+ {
+ y2milestone("Changing dialog type");
+
+ // reinitialize the dialog (set the current values)
+ ServerInit(nil);
+ }
}
/**
@@ -1209,110 +1376,132 @@
* @param key string widget key
*/
void ServerInit (string key) {
- term protocol_box = `HBox (
- `HStretch (),
- // radio button
- `RadioButton (`id (`ftp),`opt (`notify), _("&FTP")),
- `HStretch(),
- // radio button
- `RadioButton (`id (`http),`opt (`notify), _("H&TTP")),
- `HStretch()
- );
- if (_allow_https)
+
+ // check the current edit type
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2internal("Current edit type: %1", current_type);
+
+ UI::ReplaceWidget(`id(`edit_content), (current_type == `edit_url_parts) ? details_content : complete_content);
+
+ y2internal("UI replaced");
+
+ if (current_type == `edit_url_parts)
{
+ term protocol_box = `HBox (
+ `HStretch (),
+ // radio button
+ `RadioButton (`id (`ftp),`opt (`notify), _("&FTP")),
+ `HStretch(),
+ // radio button
+ `RadioButton (`id (`http),`opt (`notify), _("H&TTP")),
+ `HStretch()
+ );
+ if (_allow_https)
+ {
+ protocol_box = add (protocol_box,
+ // radio button
+ `RadioButton (`id (`https), `opt (`notify), _("HTT&PS"))
+ );
+ protocol_box = add (protocol_box, `HStretch ());
+ }
protocol_box = add (protocol_box,
// radio button
- `RadioButton (`id (`https), `opt (`notify), _("HTT&PS"))
+ `RadioButton (`id (`samba),`opt (`notify), _("&SMB/CIFS"))
);
protocol_box = add (protocol_box, `HStretch ());
- }
- protocol_box = add (protocol_box,
- // radio button
- `RadioButton (`id (`samba),`opt (`notify), _("&SMB/CIFS"))
- );
- protocol_box = add (protocol_box, `HStretch ());
- protocol_box = `RadioButtonGroup (`id (`rb_type), `opt (`notify),
- protocol_box);
- UI::ReplaceWidget (`id (`rb_type_rp), protocol_box);
-
- boolean iso = IsISOURL (_url);
- if (iso)
- _url = PreprocessISOURL (_url);
- map parsed = URL::Parse (_url);
- symbol type = `ftp;
- if ( parsed["scheme"]:"" == "http" )
- type = `http;
- else if ( parsed["scheme"]:"" == "https" )
- type = `https;
- else if ( parsed["scheme"]:"" == "smb" )
- type = `samba;
- UI::ChangeWidget (`id (`rb_type), `CurrentButton, type);
- ServerHandle (key, $[ "ID" : `rb_type ]);
+ protocol_box = `RadioButtonGroup (`id (`rb_type), `opt (`notify),
+ protocol_box);
+ UI::ReplaceWidget (`id (`rb_type_rp), protocol_box);
- UI::ChangeWidget (`id (`server), `Value, parsed["host"]:"");
- string dir = parsed["path"]:"";
- if (type == `samba)
- {
- UI::ChangeWidget (`id (`ch_iso), `Value, iso);
- list sharepath = regexptokenize (dir, "^/*([^/]+)(/.*)?$");
- string share = sharepath[0]:"";
- dir = sharepath[1]:"";
- if (dir == nil)
- dir = "/";
- string workgroup = "";
- if (regexpmatch (dir, "^.*;workgroup=[^;]+$"))
+ boolean iso = IsISOURL (_url);
+ if (iso)
+ _url = PreprocessISOURL (_url);
+ map parsed = URL::Parse (_url);
+ symbol type = `ftp;
+ if ( parsed["scheme"]:"" == "http" )
+ type = `http;
+ else if ( parsed["scheme"]:"" == "https" )
+ type = `https;
+ else if ( parsed["scheme"]:"" == "smb" )
+ type = `samba;
+ UI::ChangeWidget (`id (`rb_type), `CurrentButton, type);
+
+ ServerHandle (key, $[ "ID" : `rb_type ]);
+
+ UI::ChangeWidget (`id (`server), `Value, parsed["host"]:"");
+ string dir = parsed["path"]:"";
+ if (type == `samba)
{
- workgroup = regexpsub (dir,
- "^.*;workgroup=([^;]+)$", "\\1");
- dir = regexpsub (dir, "^(.*);workgroup=[^;]+$", "\\1");
+ UI::ChangeWidget (`id (`ch_iso), `Value, iso);
+ list sharepath = regexptokenize (dir, "^/*([^/]+)(/.*)?$");
+ string share = sharepath[0]:"";
+ dir = sharepath[1]:"";
+ if (dir == nil)
+ dir = "/";
+ string workgroup = "";
+ if (regexpmatch (dir, "^.*;workgroup=[^;]+$"))
+ {
+ workgroup = regexpsub (dir,
+ "^.*;workgroup=([^;]+)$", "\\1");
+ dir = regexpsub (dir, "^(.*);workgroup=[^;]+$", "\\1");
+ }
+ UI::ChangeWidget (`id (`workgroup), `Value, workgroup);
+ UI::ChangeWidget (`id (`share), `Value, share);
+ }
+ UI::ChangeWidget (`id (`dir), `Value, dir);
+ UI::ChangeWidget (`id (`username), `Value, parsed["user"]:"");
+ UI::ChangeWidget (`id (`password), `Value, parsed["pass"]:"");
+ boolean anonymous = ! (parsed["user"]:"" != "" || parsed["pass"]:"" != "");
+ y2milestone ("Anonymous: %1", anonymous);
+ UI::ChangeWidget (`id (`anonymous), `Value, anonymous);
+ if (anonymous)
+ {
+ UI::ChangeWidget (`id (`username), `Enabled, false);
+ UI::ChangeWidget (`id (`password), `Enabled, false);
+ if (UI::WidgetExists (`id (`workgroup)))
+ UI::ChangeWidget (`id (`workgroup), `Enabled, !anonymous);
}
- UI::ChangeWidget (`id (`workgroup), `Value, workgroup);
- UI::ChangeWidget (`id (`share), `Value, share);
- }
- UI::ChangeWidget (`id (`dir), `Value, dir);
- UI::ChangeWidget (`id (`username), `Value, parsed["user"]:"");
- UI::ChangeWidget (`id (`password), `Value, parsed["pass"]:"");
- boolean anonymous = ! (parsed["user"]:"" != "" || parsed["pass"]:"" != "");
- y2milestone ("Anonymous: %1", anonymous);
- UI::ChangeWidget (`id (`anonymous), `Value, anonymous);
- if (anonymous)
- {
- UI::ChangeWidget (`id (`username), `Enabled, false);
- UI::ChangeWidget (`id (`password), `Enabled, false);
- if (UI::WidgetExists (`id (`workgroup)))
- UI::ChangeWidget (`id (`workgroup), `Enabled, !anonymous);
- }
-
- // set HTTP/HTTPS port if it's specified
- if (type == `http || type == `https)
- {
- string port_num = parsed["port"]:"";
- if (port_num != nil && port_num != "")
+ // set HTTP/HTTPS port if it's specified
+ if (type == `http || type == `https)
{
- UI::ChangeWidget(`id(`port), `Value, port_num);
+ string port_num = parsed["port"]:"";
+
+ if (port_num != nil && port_num != "")
+ {
+ UI::ChangeWidget(`id(`port), `Value, port_num);
+ }
}
- }
- InitFocusServerInit (type);
+ InitFocusServerInit (type);
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`complete_url), `Value, _url);
+ }
}
boolean ServerValidate (string key, map event) {
- string host = NormalizeHost ((string)UI::QueryWidget (`id (`server), `Value));
- if (! Hostname::CheckFQ (host))
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2internal("Current edit type: %1", current_type);
+
+ if (current_type == `edit_url_parts)
{
- if (!IP::Check(host))
+ string host = NormalizeHost ((string)UI::QueryWidget (`id (`server), `Value));
+ if (! Hostname::CheckFQ (host))
{
- UI::SetFocus (`server);
- Popup::Error(sformat("%1\n\n%2", Hostname::ValidFQ (), IP::Valid4()));
- return false;
+ if (!IP::Check(host))
+ {
+ UI::SetFocus (`server);
+ Popup::Error(sformat("%1\n\n%2", Hostname::ValidFQ (), IP::Valid4()));
+ return false;
+ }
}
}
return true;
}
-
/**
* Store function of a widget
* @param key string widget key
@@ -1321,86 +1510,17 @@
void ServerStore (string key, map event) {
y2debug("Server store: %1, %2", key, event);
- symbol type = (symbol) UI::QueryWidget( `id( `rb_type), `CurrentButton );
- map parsed = $[];
- if ( type == `ftp )
- parsed["scheme"] = "ftp";
- else if ( type == `http )
- parsed["scheme"] = "http";
- else if ( type == `https )
- parsed["scheme"] = "https";
- else if ( type == `samba )
- parsed["scheme"] = "smb";
+ symbol current_type = (symbol)UI::QueryWidget(`id(`edit_type), `Value);
+ y2internal("Current edit type: %1", current_type);
- boolean anonymous = (boolean)UI::QueryWidget (`id (`anonymous), `Value);
- if ( !anonymous ) {
- string user = (string)UI::QueryWidget (`id (`username), `Value);
- string pass = (string)UI::QueryWidget (`id (`password ), `Value);
- if (size (user) != 0)
- parsed["user"] = user;
- if (size (pass) != 0)
- parsed["pass"] = pass;
- }
-
- string host = NormalizeHost((string)UI::QueryWidget (`id (`server), `Value));
- string directory = (string)UI::QueryWidget (`id (`dir), `Value);
-
- // is / in the host name?
- integer pos = findfirstof(host, "/");
- if (pos != nil)
- {
- // update the hostname and the directory,
- // URL::Build return empty URL when the hostname is not valid
- y2milestone("The hostname contains a path: %1", host);
- string dir = substring(host, pos);
-
- if (substring(dir, size(dir) - 1, 1) != "/" && substring(directory, 0, 1) != "/")
- {
- dir = dir + "/";
- }
-
- directory = dir + directory;
- host = substring(host, 0, pos);
-
- y2milestone("Updated hostname: %1, directory: %2", host, directory);
- }
-
- parsed["host"] = host;
-
- if (type == `samba)
- {
- string share = (string)UI::QueryWidget (`id (`share), `Value);
- directory = Slashed (share) + Slashed (directory);
- }
- else if (type != `ftp)
- // FTP needs to distinguish absolute and relative path
- {
- directory = Slashed (directory);
- }
- if (UI::WidgetExists (`id (`workgroup)))
- {
- string workgroup = (string)UI::QueryWidget (`id (`workgroup), `Value);
- if (type == `samba && size (workgroup) > 0)
- directory = directory + ";workgroup=" + workgroup;
- }
- parsed["path"] = directory;
-
- // set HTTP/HTTPS port
- if (type == `http || type == `https)
+ if (current_type == `edit_url_parts)
{
- parsed["port"] = (string)UI::QueryWidget(`id(`port), `Value);
+ ServerStoreParts();
}
-
- y2milestone("Entered URL: %1", parsed);
- _url = URL::Build (parsed);
- y2milestone("URL::Build: %1", _url);
- if (UI::WidgetExists (`id (`ch_iso)))
+ else
{
- boolean iso = (boolean)UI::QueryWidget (`id (`ch_iso), `Value);
- if (iso)
- _url = PosprocessISOURL (_url);
+ ServerStoreComplete();
}
-
}
@@ -1412,15 +1532,15 @@
return $[
"widget" : `custom,
"custom_widget" : `VBox (
- `HBox (
- `HSpacing (0.5),
- // frame
- `Frame (_("P&rotocol"), `ReplacePoint (`id (`rb_type_rp),
- `Empty ())
- ),
- `HSpacing( 0.5 )
+ `RadioButtonGroup (`id (`edit_type),
+ `HBox (
+ `RadioButton(`id(`edit_url_parts), `opt(`notify), _("Edit Parts of the URL"), true),
+ `HSpacing(2),
+ `RadioButton(`id(`edit_complete_url), `opt(`notify), _("Edit Complete URL"))
+ )
),
- `ReplacePoint (`id (`server_rp), `Empty ())
+ `VSpacing(0.3),
+ `ReplacePoint(`id(`edit_content), `Empty())
),
"init" : ServerInit,
"validate_type" : `function,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/SourceManagerSLP.ycp new/yast2-packager-2.16.26/src/modules/SourceManagerSLP.ycp
--- old/yast2-packager-2.16.26/src/modules/SourceManagerSLP.ycp 2007-12-10 15:44:50.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/SourceManagerSLP.ycp 2008-03-17 13:31:56.000000000 +0100
@@ -86,7 +86,7 @@
22, `TextEntry (`id (`filter_text), "")
)),
// push button
- `PushButton(`id(`filter), `opt(`default), _("&Filter")),
+ `PushButton(`id(`filter), _("&Filter")),
`HStretch()
))
));
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-packager-2.16.26/src/modules/test_mediaChange.ycp new/yast2-packager-2.16.26/src/modules/test_mediaChange.ycp
--- old/yast2-packager-2.16.26/src/modules/test_mediaChange.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-2.16.26/src/modules/test_mediaChange.ycp 2008-03-21 17:21:00.000000000 +0100
@@ -0,0 +1,18 @@
+{
+ import "PackageCallbacks";
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "dvd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "dvd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "dvd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "dvd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "dvd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "cd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+ PackageCallbacks::MediaChange ("IO_SOFT", "Failed to mount dvd:/// on /var/adm/mount/AP_0x0000000f: No medium found (mount: No medium found)", "cd:///", "", 0, "", 1, "", false, ["/dev/sr0"], 0);
+
+}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org