|
|
|
@ -6,11 +6,14 @@
|
|
|
|
|
#include <QLineEdit>
|
|
|
|
|
#include <QCheckBox>
|
|
|
|
|
#include <QApplication>
|
|
|
|
|
#include <QMessageBox>
|
|
|
|
|
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
|
|
|
|
|
#include "calculateconfig.h"
|
|
|
|
|
|
|
|
|
|
PageConfiguration::PageConfiguration() :
|
|
|
|
|
InstallerPage( )
|
|
|
|
|
InstallerPage()
|
|
|
|
|
{
|
|
|
|
|
setupUi();
|
|
|
|
|
}
|
|
|
|
@ -142,28 +145,34 @@ void PageConfiguration::setupUi()
|
|
|
|
|
setLayout( vbox_pageconf );
|
|
|
|
|
|
|
|
|
|
retranslateUi();
|
|
|
|
|
|
|
|
|
|
mapSignals();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::mapSignals()
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
connect(m_chkboxBuilder, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_editHostname, SIGNAL(textChanged(QString)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxLanguage, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxTimezone, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_chkboxErase, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxFormat, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_chkboxWriteMbr, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_chkboxUseUUID, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxDiskType, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxVideoDrv, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_editVideoRes, SIGNAL(textChanged(QString)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_chkboxComposite, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_cmbboxIOShed, SIGNAL(currentIndexChanged(int)), this, SLOT(generateCommand()));
|
|
|
|
|
connect(m_chkboxExtParameters, SIGNAL(toggled(bool)), this, SLOT(generateCommand()));
|
|
|
|
|
*/
|
|
|
|
|
connect(m_editHostName, SIGNAL(textChanged(QString)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_editDomainName, SIGNAL(textChanged(QString)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_cmbboxLanguage, SIGNAL(currentIndexChanged(int)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_cmbboxTimezone, SIGNAL(currentIndexChanged(int)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_cmbboxMbrDevice, SIGNAL(currentIndexChanged(int)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_cmbboxVideoDrv, SIGNAL(currentIndexChanged(int)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_chkboxComposite, SIGNAL(toggled(bool)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_editMakeOpts, SIGNAL(textChanged(QString)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_editProxy, SIGNAL(textChanged(QString)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_editNtp, SIGNAL(textChanged(QString)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_cmbboxClockType, SIGNAL(currentIndexChanged(int)), this, SLOT(storeData()));
|
|
|
|
|
connect(m_chkboxExtParameters, SIGNAL(toggled(bool)), this, SLOT(storeData()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::unmapSignals()
|
|
|
|
|
{
|
|
|
|
|
disconnect(m_editHostName);
|
|
|
|
|
disconnect(m_editDomainName);
|
|
|
|
|
disconnect(m_cmbboxLanguage);
|
|
|
|
|
disconnect(m_cmbboxTimezone);
|
|
|
|
|
disconnect(m_cmbboxMbrDevice);
|
|
|
|
|
disconnect(m_cmbboxVideoDrv);
|
|
|
|
|
disconnect(m_chkboxComposite);
|
|
|
|
|
disconnect(m_editMakeOpts);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::retranslateUi()
|
|
|
|
@ -172,12 +181,9 @@ void PageConfiguration::retranslateUi()
|
|
|
|
|
|
|
|
|
|
m_labelSelectParams->setText( tr("Select parameters: ") );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_labelHostName->setText( tr("Hostname: ") );
|
|
|
|
|
m_editHostName->setText( "calculate" );
|
|
|
|
|
|
|
|
|
|
m_labelDomainName->setText( tr("Domain: ") );
|
|
|
|
|
m_editDomainName->setText( "" );
|
|
|
|
|
|
|
|
|
|
m_labelLanguage->setText( tr("Language:") );
|
|
|
|
|
m_cmbboxLanguage->clear();
|
|
|
|
@ -191,12 +197,125 @@ void PageConfiguration::retranslateUi()
|
|
|
|
|
m_cmbboxLanguage->addItem( tr("Russian"), QVariant("ru_RU") );
|
|
|
|
|
m_cmbboxLanguage->addItem( tr("English"), QVariant("uk_UA") );
|
|
|
|
|
|
|
|
|
|
// TODO:
|
|
|
|
|
//int lang_index = m_cmbboxLanguage->findData(QVariant(*m_Lang));
|
|
|
|
|
//if (lang_index >= 0)
|
|
|
|
|
// m_cmbboxLanguage->setCurrentIndex( lang_index );
|
|
|
|
|
|
|
|
|
|
m_labelTimezone->setText( tr("Timezone:") );
|
|
|
|
|
setupTimezones();
|
|
|
|
|
|
|
|
|
|
m_labelMbrDevice->setText( tr("Device for install Grub:") );
|
|
|
|
|
m_cmbboxMbrDevice->clear();
|
|
|
|
|
m_cmbboxMbrDevice->addItems( CalculateConfig::instance()->getValue("os_device_dev").toStringList() );
|
|
|
|
|
|
|
|
|
|
m_labelVideoDrv->setText( tr("Video driver:") );
|
|
|
|
|
m_cmbboxVideoDrv->clear();
|
|
|
|
|
m_cmbboxVideoDrv->addItem("fglrx");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("intel");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("nv");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("nvidia");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("radeon");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("vesa");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("vmware");
|
|
|
|
|
|
|
|
|
|
m_labelComposite->setText( tr("Use desktop effects") );
|
|
|
|
|
|
|
|
|
|
m_chkboxExtParameters->setText( tr("Expert settings") );
|
|
|
|
|
|
|
|
|
|
m_labelMakeOpts->setText( tr("Make options (MAKEOPTS):") );
|
|
|
|
|
|
|
|
|
|
m_labelProxy->setText( tr("Proxy server:") );
|
|
|
|
|
|
|
|
|
|
m_labelNtp->setText( tr("NTP server:") );
|
|
|
|
|
|
|
|
|
|
m_labelClockType->setText( tr("Clock type:") );
|
|
|
|
|
m_cmbboxClockType->clear();
|
|
|
|
|
m_cmbboxClockType->addItem( tr("Local") );
|
|
|
|
|
m_cmbboxClockType->addItem( tr("UTC") );
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool PageConfiguration::validate()
|
|
|
|
|
{
|
|
|
|
|
// check parameters
|
|
|
|
|
if ( m_editHostName->text().isEmpty() )
|
|
|
|
|
{
|
|
|
|
|
QMessageBox::warning(this, tr("Warning"), tr("Hostname is empty.") );
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unmapSignals();
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::show()
|
|
|
|
|
{
|
|
|
|
|
CalculateConfig* clConf = CalculateConfig::instance();
|
|
|
|
|
|
|
|
|
|
m_editHostName->setText( clConf->getValue("os_install_net_hostname").toString() );
|
|
|
|
|
|
|
|
|
|
m_editDomainName->setText( clConf->getValue("os_install_net_domain").toString() );
|
|
|
|
|
|
|
|
|
|
//qDebug() << "cfg language: " << clConf->getValue("gui_install_language");
|
|
|
|
|
int langIndex = m_cmbboxLanguage->findData( clConf->getValue("gui_install_language") );
|
|
|
|
|
if (langIndex >= 0)
|
|
|
|
|
m_cmbboxLanguage->setCurrentIndex( langIndex );
|
|
|
|
|
|
|
|
|
|
//qDebug() << "cfg timezone: " << clConf->getValue("os_install_clock_timezone");
|
|
|
|
|
int timezoneIndex = m_cmbboxTimezone->findText(
|
|
|
|
|
clConf->getValue("os_install_clock_timezone").toString()
|
|
|
|
|
);
|
|
|
|
|
if (timezoneIndex >= 0)
|
|
|
|
|
m_cmbboxTimezone->setCurrentIndex( timezoneIndex );
|
|
|
|
|
|
|
|
|
|
int bootdevIndex = m_cmbboxMbrDevice->findText(
|
|
|
|
|
clConf->getValue("gui_os_device_dev").toString()
|
|
|
|
|
);
|
|
|
|
|
if (bootdevIndex >= 0)
|
|
|
|
|
m_cmbboxMbrDevice->setCurrentIndex( bootdevIndex );
|
|
|
|
|
|
|
|
|
|
int videodrvIndex = m_cmbboxVideoDrv->findText(
|
|
|
|
|
clConf->getValue("os_install_x11_video_drv").toString()
|
|
|
|
|
);
|
|
|
|
|
if (videodrvIndex >= 0)
|
|
|
|
|
m_cmbboxVideoDrv->setCurrentIndex( videodrvIndex );
|
|
|
|
|
|
|
|
|
|
m_chkboxComposite->setChecked(
|
|
|
|
|
clConf->getValue("os_install_x11_composite").toString() == "on"
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
m_editMakeOpts->setText( clConf->getValue("os_install_makeopts").toString() );
|
|
|
|
|
|
|
|
|
|
m_editProxy->setText( clConf->getValue("os_install_proxy").toString() );
|
|
|
|
|
|
|
|
|
|
m_editNtp->setText( clConf->getValue("os_install_ntp").toString() );
|
|
|
|
|
|
|
|
|
|
int clocktypeIndex = m_cmbboxClockType->findText(
|
|
|
|
|
clConf->getValue("os_install_clock_type").toString()
|
|
|
|
|
);
|
|
|
|
|
if (clocktypeIndex >= 0)
|
|
|
|
|
m_cmbboxClockType->setCurrentIndex( clocktypeIndex );
|
|
|
|
|
|
|
|
|
|
mapSignals();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::storeData()
|
|
|
|
|
{
|
|
|
|
|
CalculateConfig* clConf = CalculateConfig::instance();
|
|
|
|
|
|
|
|
|
|
clConf->setValue("os_install_net_hostname", m_editHostName->text() );
|
|
|
|
|
clConf->setValue("os_install_net_domain", m_editDomainName->text() );
|
|
|
|
|
//qDebug() << "store cfg gui_install_language" << m_cmbboxLanguage->itemData( m_cmbboxLanguage->currentIndex() ) ;
|
|
|
|
|
clConf->setValue("gui_install_language", m_cmbboxLanguage->itemData( m_cmbboxLanguage->currentIndex() ) );
|
|
|
|
|
clConf->setValue("os_install_clock_timezone", m_cmbboxTimezone->currentText() );
|
|
|
|
|
clConf->setValue("gui_os_device_dev", m_cmbboxMbrDevice->currentText() );
|
|
|
|
|
clConf->setValue("os_install_x11_video_drv", m_cmbboxVideoDrv->currentText() );
|
|
|
|
|
clConf->setValue("os_install_x11_composite", m_chkboxComposite->isChecked() ? "on" : "off" );
|
|
|
|
|
clConf->setValue("os_install_makeopts", m_editMakeOpts->text() );
|
|
|
|
|
clConf->setValue("os_install_proxy", m_editProxy->text() );
|
|
|
|
|
clConf->setValue("os_install_ntp", m_editNtp->text() );
|
|
|
|
|
clConf->setValue("os_install_clock_type", m_cmbboxClockType->currentText() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::setupTimezones()
|
|
|
|
|
{
|
|
|
|
|
m_cmbboxTimezone->clear();
|
|
|
|
|
m_cmbboxTimezone->addItem( "Africa/Abidjan" );
|
|
|
|
|
m_cmbboxTimezone->addItem( "Africa/Accra" );
|
|
|
|
@ -770,101 +889,4 @@ void PageConfiguration::retranslateUi()
|
|
|
|
|
m_cmbboxTimezone->addItem( "WET" );
|
|
|
|
|
m_cmbboxTimezone->addItem( "W-SU" );
|
|
|
|
|
m_cmbboxTimezone->addItem( "Zulu" );
|
|
|
|
|
|
|
|
|
|
m_labelMbrDevice->setText( tr("Device for install Grub:") );
|
|
|
|
|
|
|
|
|
|
m_labelVideoDrv->setText( tr("Video driver:") );
|
|
|
|
|
m_cmbboxVideoDrv->clear();
|
|
|
|
|
m_cmbboxVideoDrv->addItem("fglrx");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("intel");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("nv");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("nvidia");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("radeon");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("vesa");
|
|
|
|
|
m_cmbboxVideoDrv->addItem("vmware");
|
|
|
|
|
|
|
|
|
|
m_labelComposite->setText( tr("Use desktop effects") );
|
|
|
|
|
|
|
|
|
|
m_chkboxExtParameters->setText( tr("Expert settings") );
|
|
|
|
|
|
|
|
|
|
m_labelMakeOpts->setText( tr("Make options (MAKEOPTS):") );
|
|
|
|
|
m_editMakeOpts->setText("-j3");
|
|
|
|
|
|
|
|
|
|
m_labelProxy->setText( tr("Proxy server:") );
|
|
|
|
|
|
|
|
|
|
m_labelNtp->setText( tr("NTP server:") );
|
|
|
|
|
m_editNtp->setText( "ntp0.zenon.net" );
|
|
|
|
|
|
|
|
|
|
m_labelClockType->setText( tr("Clock type:") );
|
|
|
|
|
m_cmbboxClockType->clear();
|
|
|
|
|
m_cmbboxClockType->addItem( tr("Local") );
|
|
|
|
|
m_cmbboxClockType->addItem( tr("UTC") );
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool PageConfiguration::validate()
|
|
|
|
|
{
|
|
|
|
|
/*
|
|
|
|
|
if ( !m_editHostname->text().isEmpty() )
|
|
|
|
|
{
|
|
|
|
|
InstallerSettings settings;
|
|
|
|
|
|
|
|
|
|
settings.builder = m_chkboxBuilder->isChecked();
|
|
|
|
|
settings.host = m_editHostname->text();
|
|
|
|
|
settings.language = m_cmbboxLanguage->itemData( m_cmbboxLanguage->currentIndex() ).toString();
|
|
|
|
|
settings.timezone = m_cmbboxTimezone->currentText();
|
|
|
|
|
settings.erase = m_chkboxErase->isChecked();
|
|
|
|
|
settings.fs = m_cmbboxFormat->currentText();
|
|
|
|
|
settings.mbr = m_chkboxWriteMbr->isChecked();
|
|
|
|
|
settings.uuid = m_chkboxUseUUID->isChecked();
|
|
|
|
|
settings.disktype = m_cmbboxDiskType->currentText();
|
|
|
|
|
settings.videodrv = m_cmbboxVideoDrv->currentText();
|
|
|
|
|
|
|
|
|
|
emit selectedSettings(settings);
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
void PageConfiguration::generateCommand()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
if (!m_Active)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
QString cmd = "calculate ";
|
|
|
|
|
cmd += QString("--disk=%1 ").arg( *m_Disk );
|
|
|
|
|
cmd += QString("--set-hostname=%1 ").arg( m_editHostname->text() );
|
|
|
|
|
cmd += QString("--set-lang=%1 ").arg( m_cmbboxLanguage->itemData(m_cmbboxLanguage->currentIndex()).toString() );
|
|
|
|
|
cmd += QString("--set-timezone=%1 ").arg( m_cmbboxTimezone->currentText() );
|
|
|
|
|
cmd += QString("--set-format=%1 ").arg( m_cmbboxFormat->currentText() );
|
|
|
|
|
cmd += m_chkboxErase->isChecked() ? "--set-erase=yes " : "";
|
|
|
|
|
cmd += m_chkboxComposite->isChecked() ? "--set-composite=yes " : "";
|
|
|
|
|
|
|
|
|
|
if (m_chkboxExtParameters->isChecked())
|
|
|
|
|
{
|
|
|
|
|
cmd += m_chkboxBuilder->isChecked() ? "--build " : "";
|
|
|
|
|
|
|
|
|
|
cmd += m_chkboxWriteMbr->isChecked() ? "--set-mbr=yes " : "";
|
|
|
|
|
cmd += m_chkboxUseUUID->isChecked() ? "--set-uuid=yes " : "";
|
|
|
|
|
|
|
|
|
|
cmd += QString("--set-type=%1 ").arg( m_cmbboxDiskType->currentText() );
|
|
|
|
|
cmd += QString("--set-video_drv=%1 ").arg( m_cmbboxVideoDrv->currentText() );
|
|
|
|
|
cmd += QString("--set-video_resolution=%1 ").arg( m_editVideoRes->text() );
|
|
|
|
|
cmd += QString("--set-scheduler=%1 ").arg( m_cmbboxIOShed->currentText() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
emit updatedCommand(cmd);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
void PageConfiguration::show()
|
|
|
|
|
{
|
|
|
|
|
//generateCommand();
|
|
|
|
|
}
|
|
|
|
|