2aaa7b3f52
specify LGPL instead of GPL.
208 lines
4.9 KiB
Plaintext
208 lines
4.9 KiB
Plaintext
/***********************************************************************
|
|
*
|
|
* Copyright (C) 2006 Novell, Inc. All Rights Reserved.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; version 2.1
|
|
* of the License.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Library Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, Novell, Inc.
|
|
*
|
|
* To contact Novell about this file by physical or electronic mail,
|
|
* you may find current contact information at www.novell.com.
|
|
*
|
|
***********************************************************************/
|
|
|
|
/**
|
|
* File: include/casa-ats/complex.ycp
|
|
* Package: Configuration of casa-ats
|
|
* Summary: Dialogs definitions
|
|
* Authors: Ryan Partridge <rpartridge@novell.com>
|
|
*
|
|
* $Id: complex.ycp 29363 2006-03-24 08:20:43Z mzugec $
|
|
*/
|
|
|
|
{
|
|
|
|
textdomain "casa-ats";
|
|
|
|
import "Label";
|
|
import "Popup";
|
|
import "Wizard";
|
|
import "Wizard_hw";
|
|
import "Confirm";
|
|
import "CasaAts";
|
|
|
|
|
|
include "casa-ats/helps.ycp";
|
|
|
|
/**
|
|
* Return a modification status
|
|
* @return true if data was modified
|
|
*/
|
|
boolean Modified() {
|
|
return CasaAts::Modified();
|
|
}
|
|
|
|
boolean ReallyAbort() {
|
|
return !CasaAts::Modified() || Popup::ReallyAbort(true);
|
|
}
|
|
|
|
boolean PollAbort() {
|
|
return UI::PollInput() == `abort;
|
|
}
|
|
|
|
/**
|
|
* Read settings dialog
|
|
* @return `abort if aborted and `next otherwise
|
|
*/
|
|
symbol ReadDialog() {
|
|
Wizard::RestoreHelp(HELPS["read"]:"");
|
|
// CasaAts::AbortFunction = PollAbort;
|
|
if (!Confirm::MustBeRoot()) return `abort;
|
|
boolean ret = CasaAts::Read();
|
|
return ret ? `next : `abort;
|
|
}
|
|
|
|
/**
|
|
* Write settings dialog
|
|
* @return `abort if aborted and `next otherwise
|
|
*/
|
|
symbol WriteDialog() {
|
|
Wizard::RestoreHelp(HELPS["write"]:"");
|
|
// CasaAts::AbortFunction = PollAbort;
|
|
boolean ret = CasaAts::Write();
|
|
return ret ? `next : `abort;
|
|
}
|
|
|
|
/**
|
|
* Summary dialog
|
|
* @return dialog result
|
|
*/
|
|
any SummaryDialog() {
|
|
|
|
/* CasaAts summary dialog caption */
|
|
string caption = _("CasaAts Configuration");
|
|
|
|
/* FIXME */
|
|
list summary = CasaAts::Summary();
|
|
list unconfigured = summary[1]:[];
|
|
string configured = summary[0]:"";
|
|
|
|
/* Frame label */
|
|
term contents = Wizard_hw::DetectedContent(_("CasaAts to Configure"),
|
|
unconfigured, false, configured);
|
|
|
|
Wizard::SetContentsButtons(caption, contents, HELPS["summary"]:"",
|
|
Label::BackButton(), Label::FinishButton());
|
|
|
|
any ret = nil;
|
|
while(true) {
|
|
|
|
ret = UI::UserInput();
|
|
|
|
/* abort? */
|
|
if(ret == `abort || ret == `cancel || ret == `back) {
|
|
if(ReallyAbort()) break;
|
|
else continue;
|
|
}
|
|
/* overview dialog */
|
|
else if(ret == `edit_button) {
|
|
ret = `overview;
|
|
break;
|
|
}
|
|
/* configure the selected device */
|
|
else if(ret == `configure_button) {
|
|
// TODO FIXME: check for change of the configuration
|
|
any selected = UI::QueryWidget(`id(`detected_selbox), `CurrentItem);
|
|
if(selected == `other) {
|
|
ret = `other;
|
|
}
|
|
else {
|
|
ret = `configure;
|
|
}
|
|
break;
|
|
}
|
|
else if(ret == `next) {
|
|
break;
|
|
}
|
|
else {
|
|
y2error("unexpected retcode: %1", ret);
|
|
continue;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
/**
|
|
* Overview dialog
|
|
* @return dialog result
|
|
*/
|
|
any OverviewDialog() {
|
|
|
|
/* CasaAts overview dialog caption */
|
|
string caption = _("CasaAts Overview");
|
|
|
|
list overview = CasaAts::Overview();
|
|
|
|
/* FIXME table header */
|
|
term contents = Wizard_hw::ConfiguredContent(
|
|
/* Table header */
|
|
`header(_("Number"), _("CasaAts")),
|
|
overview, nil, nil, nil, nil );
|
|
|
|
contents = Wizard_hw::SpacingAround(contents, 1.5, 1.5, 1.0, 1.0);
|
|
|
|
Wizard::SetContentsButtons(caption, contents, HELPS["overview"]:"",
|
|
Label::BackButton(), Label::FinishButton());
|
|
|
|
any ret = nil;
|
|
while(true) {
|
|
|
|
ret = UI::UserInput();
|
|
|
|
/* abort? */
|
|
if(ret == `abort || ret == `cancel) {
|
|
if(ReallyAbort()) break;
|
|
else continue;
|
|
}
|
|
/* add */
|
|
else if(ret == `add_button) {
|
|
/* FIXME */
|
|
ret = `add;
|
|
break;
|
|
}
|
|
/* edit */
|
|
else if(ret == `edit_button) {
|
|
/* FIXME */
|
|
ret = `edit;
|
|
break;
|
|
}
|
|
/* delete */
|
|
else if(ret == `delete_button) {
|
|
/* FIXME */
|
|
continue;
|
|
}
|
|
else if(ret == `next || ret == `back) {
|
|
break;
|
|
}
|
|
else {
|
|
y2error("unexpected retcode: %1", ret);
|
|
continue;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
/* EOF */
|
|
}
|