Fixed Mount Points page. Fixed message on successful installation.

new_gui
Ivan Loskutov 14 years ago
parent edec3aedbf
commit 048e8d2843

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

@ -6,5 +6,7 @@
<file>img/dialog-ok-apply.png</file>
<file>img/list-add-user.png</file>
<file>img/list-remove-user.png</file>
<file>img/db_add.png</file>
<file>img/db_remove.png</file>
</qresource>
</RCC>

@ -26,7 +26,7 @@ int main(int argc, char** argv)
QApplication app(argc, argv);
qInstallMsgHandler( MsgHandler );
//qInstallMsgHandler( MsgHandler );
debugLog.setFileName("/var/log/calculate/cl-install-gui-debug.log");
if ( debugLog.open(QIODevice::Append | QIODevice::WriteOnly | QIODevice::Text | QIODevice::Unbuffered) )

@ -123,7 +123,7 @@ void PageInstall::show()
m_clProc->setStandardErrorFile("/var/log/calculate/cl-install-gui-err.log");
m_clProc->start( "cl-install -f --color never -P " + args.join(" ") );
m_Output->insertPlainText( "cl-install -f --color never -P " + args.join(" ") );
//m_Output->insertPlainText( "cl-install -f --color never -P " + args.join(" ") );
m_Progress->setMinimum(0);
m_Progress->setMaximum(0);

@ -26,7 +26,9 @@ void PageMountPoints::setupUi()
m_labMountPointHelp->setWordWrap(true);
m_butAddMountPoint = new QToolButton;
m_butAddMountPoint->setIcon( QIcon(":/img/db_add.png") );
m_butDelMountPoint = new QToolButton;
m_butDelMountPoint->setIcon( QIcon(":/img/db_remove.png") );
QHBoxLayout* hbox_but = new QHBoxLayout;
hbox_but->addWidget(m_butAddMountPoint);
hbox_but->addWidget(m_butDelMountPoint);
@ -72,17 +74,20 @@ void PageMountPoints::retranslateUi()
{
setTitle( tr("Mount points") );
m_butAddMountPoint->setText("+");
m_butDelMountPoint->setText("-");
//m_butAddMountPoint->setText("+");
m_butAddMountPoint->setToolTip( tr("Add a new mount point") );
//m_butDelMountPoint->setText("-");
m_butDelMountPoint->setToolTip( tr("Remove a selected mount point") );
QTableWidgetItem* tab0 = m_tabMountPoints->horizontalHeaderItem(0);
tab0->setText( tr("Mount point") );
tab0->setText( tr("Mount\npoint") );
QTableWidgetItem* tab1 = m_tabMountPoints->horizontalHeaderItem(1);
tab1->setText( tr("Partition") );
QTableWidgetItem* tab2 = m_tabMountPoints->horizontalHeaderItem(2);
tab2->setText( tr("Format") );
QTableWidgetItem* tab3 = m_tabMountPoints->horizontalHeaderItem(3);
tab3->setText( tr("File system") );
tab3->setText( tr("File\nsystem") );
QTableWidgetItem* tab4 = m_tabMountPoints->horizontalHeaderItem(4);
tab4->setText( tr("Label") );
QTableWidgetItem* tab5 = m_tabMountPoints->horizontalHeaderItem(5);
@ -92,8 +97,11 @@ void PageMountPoints::retranslateUi()
m_tabMountPoints->setSelectionBehavior(QTableWidget::SelectRows);
m_labMountPointHelp->setText(
tr("Choose mount points for the installation. "
"You need at least a root / partition.")
tr(
"Choose mount points for the installation. "
"You need at least a root / partition.\n"
"To modify the mount point, double-click it."
)
);
}
@ -104,7 +112,7 @@ void PageMountPoints::show()
m_tabMountPoints->setColumnWidth(0, 110);
m_tabMountPoints->setColumnWidth(1, 110);
m_tabMountPoints->setColumnWidth(2, 90);
m_tabMountPoints->setColumnWidth(2, 100);
m_tabMountPoints->setColumnWidth(3, 90);
m_tabMountPoints->setColumnWidth(4, 110);
@ -129,7 +137,14 @@ bool PageMountPoints::validate()
foreach( const MountPoint& mp, m_MountPointsList )
{
if ( mp.dev.isEmpty() || mp.mountpoint.isEmpty() )
{
QMessageBox::warning(
this,
tr("Warning"),
tr("To continue You need to choose partition for mount point %1.").arg(mp.mountpoint)
);
return false;
}
}
}
@ -337,12 +352,7 @@ void PageMountPoints::getPartitions()
void PageMountPoints::initMountPoints()
{
// create default mount point for root partition and migrated mount points
MountPoint root;
root.mountpoint = "/";
m_MountPointsList.append( root );
bool rootFound = false;
CalculateConfig* clConf = CalculateConfig::instance();
// check new format parameters
@ -372,6 +382,9 @@ void PageMountPoints::initMountPoints()
{
MountPoint mp;
mp.mountpoint = def_os_install_disk_mount.at(i);
if (mp.mountpoint == "/")
rootFound = true;
mp.dev = os_disk_dev.at(i);
mp.fs = os_disk_format.at(i);
mp.size = os_disk_size.at(i);
@ -385,6 +398,15 @@ void PageMountPoints::initMountPoints()
}
}
// if root not found, create default mount point for root partition and migrated mount points
if ( !rootFound )
{
MountPoint root;
root.mountpoint = "/";
m_MountPointsList.prepend( root );
}
getPartitions();
}
@ -444,292 +466,3 @@ QString PageMountPoints::parseSwap()
return QString();
}
/*
void PageMountPoints::partitionDoubleClicked ( QTreeWidgetItem* item, int index )
{
// skip disks
if (item->childCount() != 0)
return;
if (item->parent() == 0)
return;
QString dev = item->parent()->text(0);
QString part = item->text(0);
//qDebug() << "selected :" << dev << " " << part;
// find data
MountPointsList mpList = m_treeMountPoints[dev];
int mpIndex = -1;
foreach(const MountPoint& mpItem, mpList)
{
++mpIndex;
if (mpItem.dev == part)
break;
}
//qDebug() << "index: " << mpIndex;
if (mpIndex >= 0)
{
MountPoint mp( mpList.at(mpIndex) );
QScopedPointer<MountPointDialog> mpDlg( new MountPointDialog(this, getAllDefinedMountPoints(), &mp) );
if ( mpDlg->exec() == QDialog::Accepted )
{
// replace information
mpList.replace(mpIndex, mp);
m_treeMountPoints.remove(dev);
m_treeMountPoints[dev] = mpList;
//qDebug() << "All mountpoints:" << getAllDefinedMountPoints();
showTree();
}
}
}
QStringList PageMountPoints::getAllDefinedMountPoints()
{
QStringList allMps;
MountPointsTree::ConstIterator it = m_treeMountPoints.constBegin();
while( it != m_treeMountPoints.constEnd() )
{
foreach(const MountPoint& mp, it.value() )
allMps << mp.mountpoint;
++it;
}
return allMps;
}
void PageMountPoints::getTree()
{
CalculateConfig* clConf = CalculateConfig::instance();
// check new format parameters
clConf->getNewMountpoints();
// copy mountpoints
MountPointsTree copyTree(m_treeMountPoints);
m_treeMountPoints.clear();
QStringList os_disk_dev = clConf->getValue("os_disk_dev").toStringList();
QStringList os_disk_format = clConf->getValue("os_disk_format").toStringList();
QStringList os_disk_name = clConf->getValue("os_disk_name").toStringList();
QStringList os_disk_part = clConf->getValue("os_disk_part").toStringList();
QStringList os_disk_size = clConf->getValue("os_disk_size").toStringList();
QStringList os_disk_mount = clConf->getValue("os_disk_mount").toStringList();
QStringList def_os_install_disk_mount = clConf->getValue("def_os_install_disk_mount").toStringList();
QStringList os_install_disk_mount = clConf->getValue("os_install_disk_mount").toStringList();
QStringList os_install_disk_format = clConf->getValue("os_install_disk_format").toStringList();
QStringList os_install_disk_perform_format = clConf->getValue("os_install_disk_perform_format").toStringList();
qDebug() << "os_install_disk_mount = " << os_install_disk_mount.join(", ");
QStringList os_dev_dev = clConf->getValue("os_device_dev").toStringList();
qDebug() << "";
qDebug() << "Get three";
// qDebug() << "def_os_install_disk_mount: " << def_os_install_disk_mount.join(", ");
// qDebug() << "os_install_disk_mount" << os_install_disk_mount.join(", ");
// qDebug() << "os_install_disk_format" << os_install_disk_format.join(", ");
// qDebug() << "os_install_disk_perform_format" << os_install_disk_perform_format.join(", ");
foreach(const QString& dev, os_dev_dev)
{
for (int i(0); i < os_disk_dev.size(); ++i)
{
MountPoint mountpoint;
if (
(os_disk_dev.at(i).contains(dev, Qt::CaseInsensitive)) &&
(os_disk_part.at(i) != "extended") && // skip extended partition
(os_disk_mount.at(i) != "/") // skip root
)
{
mountpoint.dev = os_disk_dev.at(i);
mountpoint.label = os_disk_name.at(i);
mountpoint.size = os_disk_size.at(i);
mountpoint.fs = os_disk_format.at(i);
if ( m_treeMountPoints.contains(dev) )
{
// migrated mp
if ( !def_os_install_disk_mount.at(i).isEmpty() )
{
mountpoint.migrated_mountpoint = def_os_install_disk_mount.at(i);
mountpoint.skipped = false;
}
if (copyTree.contains(dev))
{
// check
foreach(MountPoint mp, copyTree[dev])
{
if (mp.dev == mountpoint.dev)
{
mountpoint.mountpoint = mp.mountpoint;
mountpoint.format = mp.format;
mountpoint.fs_new = mp.fs_new;
break;
}
}
}
if (mountpoint.mountpoint.isEmpty())
{
if ( !mountpoint.migrated_mountpoint.isEmpty() && !mountpoint.skipped )
mountpoint.mountpoint = mountpoint.migrated_mountpoint;
}
if (os_install_disk_perform_format.at(i) == "yes")
{
mountpoint.format = true;
}
m_treeMountPoints[dev] << mountpoint;
}
else
{
MountPointsList lst = MountPointsList() << mountpoint;
m_treeMountPoints[dev] = lst;
}
}
}
}
}
void PageMountPoints::showTree()
{
generateCmdDisk();
getTree();
m_trwMountPoints->clear();
MountPointsTree::ConstIterator it = m_treeMountPoints.constBegin();
while( it != m_treeMountPoints.constEnd() )
{
showBranch( it.key(), it.value() );
++it;
}
m_trwMountPoints->expandAll();
generateCmdDisk();
}
void PageMountPoints::showBranch(const QString& dev, const MountPointsList& list)
{
QTreeWidgetItem* trwItem_0 = new QTreeWidgetItem;
trwItem_0->setText(0, dev );
trwItem_0->setText(1, "" );
trwItem_0->setText(2, "" );
trwItem_0->setText(3, "" );
trwItem_0->setText(4, "" );
trwItem_0->setText(5, "" );
foreach(const MountPoint& mp, list)
{
QTreeWidgetItem* trwItem_0_0 = new QTreeWidgetItem(trwItem_0);
trwItem_0_0->setText(0, mp.dev ); // Partition
trwItem_0_0->setText(1, mp.label ); // Label
trwItem_0_0->setText(2, mp.size ); // Size
trwItem_0_0->setText(3, mp.mountpoint ); // Mount point
trwItem_0_0->setText(4, mp.fs_new.isEmpty() ? mp.fs : mp.fs_new ); // File system
trwItem_0_0->setText(5, mp.fs_new.isEmpty() ? tr("no") : tr("YES") ); // Format
}
m_trwMountPoints->insertTopLevelItem(m_trwMountPoints->topLevelItemCount(), trwItem_0);
}
void PageMountPoints::generateCmdDisk()
{
if ( CalculateConfig::instance()->getValue("gui_partitioning") != "auto" )
{
QStringList diskCfg = parseMountPoint();
CalculateConfig::instance()->setValue( "--disk", diskCfg );
QString swapCfg = parseSwap();
CalculateConfig::instance()->setValue( "--swap", swapCfg );
}
CalculateConfig::instance()->showInstallParameters();
}
QStringList PageMountPoints::parseMountPoint()
{
QStringList result;
MountPointsTree::ConstIterator it = m_treeMountPoints.constBegin();
while( it != m_treeMountPoints.constEnd() )
{
foreach(const MountPoint& mp, it.value())
{
if ( !mp.mountpoint.isEmpty() && (mp.mountpoint != mp.migrated_mountpoint) && (mp.mountpoint != "swap") )
{
QString resultStr = mp.dev + ":" + mp.mountpoint;
if (mp.format && !mp.fs_new.isEmpty())
resultStr += ":" + mp.fs_new;
resultStr += " ";
result << resultStr;
}
else if ( mp.mountpoint.isEmpty() && !mp.migrated_mountpoint.isEmpty() && !mp.skipped )
{
result << (mp.dev + ":none");
}
}
++it;
}
return result;
}
QString PageMountPoints::parseSwap()
{
QString result;
MountPointsTree::ConstIterator it = m_treeMountPoints.constBegin();
while( it != m_treeMountPoints.constEnd() )
{
foreach(const MountPoint& mp, it.value())
{
if ( isMigratedMountPoint(mp.dev, mp.mountpoint) )
continue;
if ( mp.mountpoint == "swap" )
return mp.dev;
}
++it;
}
return QString();
}
bool PageMountPoints::isMigratedMountPoint ( const QString& dev, const QString& mp )
{
CalculateConfig* clConf = CalculateConfig::instance();
QStringList os_disk_dev = clConf->getValue ( "os_disk_dev" ).toStringList();
QStringList os_install_disk_mount = clConf->getValue ( "os_install_disk_mount" ).toStringList();
int partIndx = os_disk_dev.indexOf ( dev );
if ( ( partIndx != -1 ) && ( os_install_disk_mount.at ( partIndx ) == mp ) )
return true;
return false;
}
*/

@ -37,11 +37,11 @@ SystemInstaller::SystemInstaller(QWidget *parent) :
{
QMessageBox::critical(this, tr("Critical error"), tr("Failed to launch 'cl-install'.") );
installReady = false;
} else {
// set os locale language
changeLanguage( CalculateConfig::instance()->getValue("os_locale_lang").toString() );
}
// set os locale language
changeLanguage( CalculateConfig::instance()->getValue("os_locale_lang").toString() );
setupUi();
setupInstallerPages();
@ -258,7 +258,10 @@ void SystemInstaller::changeEvent(QEvent* event)
void SystemInstaller::closeEvent ( QCloseEvent* event )
{
if (m_doFinish)
{
event->accept();
return;
}
QMessageBox quest;
quest.setWindowTitle( tr("Attention") );
@ -358,6 +361,7 @@ void SystemInstaller::showAbout()
void SystemInstaller::finishInstall()
{
qDebug() << "Installation complete.";
m_doFinish = true;
close();
}

@ -78,8 +78,8 @@ private:
PageCfdisk* m_PageCfdisk;
QScopedPointer<PageManager> m_PageManager;
QString m_CurrentLanguage;
QString m_CurrentLanguage;
bool m_doFinish;
volatile bool m_doFinish;
};

Loading…
Cancel
Save