From 37333bf25ad9a4c538250f5af2f9f1d666362883 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeadmin@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- lilo-config/qt/Details.cpp | 144 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 lilo-config/qt/Details.cpp (limited to 'lilo-config/qt/Details.cpp') diff --git a/lilo-config/qt/Details.cpp b/lilo-config/qt/Details.cpp new file mode 100644 index 0000000..eae3ed5 --- /dev/null +++ b/lilo-config/qt/Details.cpp @@ -0,0 +1,144 @@ +/* Details.cpp +** +** Copyright (C) 2000,2001 by Bernhard Rosenkraenzer +** +*/ + +/* +** This program is free software; you can redistribute it and/or modify +** it under the terms of the GNU General Public License as published by +** the Free Software Foundation; either version 2 of the License, or +** (at your option) any later version. +** +** This program 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 General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program in a file called COPYING; if not, write to +** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +** MA 02110-1301, USA. +*/ + +/* +** Bug reports and questions can be sent to kde-devel@kde.org +*/ + +#include "Details.moc" +#include +#include +#include +#include +#include + +Details::Details(liloimage *lilo, QWidget *parent, const char *name, WFlags f):QDialog(parent, name, true, f) +{ + l=lilo; + + QVBoxLayout *layout=new QVBoxLayout(this); + layout->setMargin(SPACE_MARGIN); + layout->setSpacing(SPACE_INSIDE); + + QHBox *vgab=new QHBox(this); + QLabel *vlbl=new QLabel(_("&Graphics mode on text console:"), vgab); + vga=new QComboBox(false, vgab); + vlbl->setBuddy(vga); + QWhatsThis::add(vgab, _("You can select the graphics mode for this kernel here.
If you intend to use a VGA graphics mode, you must compile the kernel with support for framebuffer devices. The ask setting brings up a prompt at boot time.")); + vga->insertItem(_("default")); + vga->insertItem(_("ask")); + vga->insertItem(_("text 80x25 (0)")); + vga->insertItem(_("text 80x50 (1)")); + vga->insertItem(_("text 80x43 (2)")); + vga->insertItem(_("text 80x28 (3)")); + vga->insertItem(_("text 80x30 (4)")); + vga->insertItem(_("text 80x34 (5)")); + vga->insertItem(_("text 80x60 (6)")); + vga->insertItem(_("text 40x25 (7)")); + vga->insertItem(_("VGA 640x480, 256 colors (769)")); + vga->insertItem(_("VGA 640x480, 32767 colors (784)")); + vga->insertItem(_("VGA 640x480, 65536 colors (785)")); + vga->insertItem(_("VGA 640x480, 16.7M colors (786)")); + vga->insertItem(_("VGA 800x600, 256 colors (771)")); + vga->insertItem(_("VGA 800x600, 32767 colors (787)")); + vga->insertItem(_("VGA 800x600, 65536 colors (788)")); + vga->insertItem(_("VGA 800x600, 16.7M colors (789)")); + vga->insertItem(_("VGA 1024x768, 256 colors (773)")); + vga->insertItem(_("VGA 1024x768, 32767 colors (790)")); + vga->insertItem(_("VGA 1024x768, 65536 colors (791)")); + vga->insertItem(_("VGA 1024x768, 16.7M colors (792)")); + vga->insertItem(_("VGA 1280x1024, 256 colors (775)")); + vga->insertItem(_("VGA 1280x1024, 32767 colors (793)")); + vga->insertItem(_("VGA 1280x1024, 65536 colors (794)")); + vga->insertItem(_("VGA 1280x1024, 16.7M colors (795)")); + layout->addWidget(vgab); + + readonly=new QCheckBox(_("Mount root filesystem &read-only"), this); + QWhatsThis::add(readonly, _("Mount the root filesystem for this kernel read-only. Since the init scripts normally take care of remounting the root filesystem in read-write mode after running some checks, this should always be turned on.
Don't turn this off unless you know what you're doing.")); + layout->addWidget(readonly); + + unsafe=new QCheckBox(_("Do not check &partition table"), this); + QWhatsThis::add(unsafe, _("This turns off some sanity checks while writing the configuration. This shouldn't be used under \"normal\" circumstances, but it's useful, for example, for installing the possibility to boot from a floppy disk without having a floppy in the drive every time you run lilo.
This sets the unsafe keyword in lilo.conf.")); + layout->addWidget(unsafe); + + QHBox *opts=new QHBox(this); + lock=new QCheckBox(_("&Record boot command lines for defaults"), opts); + QWhatsThis::add(lock, ""+_("Checking this box enables automatic recording of boot command lines as the default for the following bootups. This way, lilo \"locks\" on a choice until it is manually overridden.
This sets the lock option in lilo.conf")); + restricted=new QCheckBox(_("R&estrict parameters"), opts); + connect(restricted, SIGNAL(clicked()), SLOT(check_pw())); + QWhatsThis::add(restricted, _("If this box is checked, a password (entered below) is required only if any parameters are changed (i.e. the user can boot linux, but not linux single or linux init=/bin/sh).\nThis sets the restricted option in lilo.conf.")); + layout->addWidget(opts); + + QHBox *pw=new QHBox(this); + use_password=new QCheckBox(_("Require &password:"), pw); + connect(use_password, SIGNAL(clicked()), SLOT(check_pw())); + password=new QLineEdit(pw); + password->setMaxLength(15); + password->setEchoMode(QLineEdit::Password); + QWhatsThis::add(pw, _("Enter the password required for bootup (if any) here. If restricted above is checked, the password is required for additional parameters only.
WARNING: The password is stored in clear text in /etc/lilo.conf. You'll want to make sure nobody untrusted can read this file. Also, you probably don't want to use your normal/root password here.")); + layout->addWidget(pw); + + QHBox *btns=new QHBox(this); + ok=new QPushButton(_("&OK"), btns); + cancel=new QPushButton(_("&Cancel"), btns); + layout->addWidget(btns); + connect(cancel, SIGNAL(clicked()), SLOT(reject())); + connect(ok, SIGNAL(clicked()), SLOT(accept())); + + if(l) { + QString mode=l->get("vga", "").cstr(); + if(mode.isEmpty()) + vga->setCurrentItem(0); + else if(mode=="ask") + vga->setCurrentItem(1); + else + for(int i=0; icount(); i++) { + if(vga->text(i).contains("(" + mode + ")")) { + vga->setCurrentItem(i); + break; + } + } + readonly->setChecked(!l->grep("[ \t]*read-only[ \t]*").empty()); + unsafe->setChecked(!l->grep("[ \t]*unsafe[ \t]*").empty()); + lock->setChecked(!l->grep("[ \t]*lock[ \t]*").empty()); + restricted->setChecked(!l->grep("[ \t]*restricted[ \t]*").empty()); + password->setText(l->get("password").cstr()); + } + + check_pw(); +} +void Details::check_pw() +{ + password->setEnabled(restricted->isChecked() || use_password->isChecked()); +} +QString Details::vgaMode() const +{ + QString s=vga->currentText(); + if(s=="default") + return ""; + else if(s!="ask") { + s=s.mid(s.find('(')+1); + s=s.left(s.length()-1); + } + return s; +} -- cgit v1.2.1