diff --git a/resources/img/db_add.png b/resources/img/db_add.png
new file mode 100644
index 0000000..a1ed1d7
Binary files /dev/null and b/resources/img/db_add.png differ
diff --git a/resources/img/db_remove.png b/resources/img/db_remove.png
new file mode 100644
index 0000000..c874c07
Binary files /dev/null and b/resources/img/db_remove.png differ
diff --git a/resources/systeminstaller.qrc b/resources/systeminstaller.qrc
index d178c74..d832af3 100644
--- a/resources/systeminstaller.qrc
+++ b/resources/systeminstaller.qrc
@@ -6,5 +6,7 @@
img/dialog-ok-apply.png
img/list-add-user.png
img/list-remove-user.png
+ img/db_add.png
+ img/db_remove.png
diff --git a/src/main.cpp b/src/main.cpp
index e4c3972..d8a0db1 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -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) )
diff --git a/src/pageinstall.cpp b/src/pageinstall.cpp
index 311fc32..0490995 100644
--- a/src/pageinstall.cpp
+++ b/src/pageinstall.cpp
@@ -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);
diff --git a/src/pagemountpoints.cpp b/src/pagemountpoints.cpp
index 513ba07..af36faf 100644
--- a/src/pagemountpoints.cpp
+++ b/src/pagemountpoints.cpp
@@ -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 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;
-}
-*/
diff --git a/src/systeminstaller.cpp b/src/systeminstaller.cpp
index bc1dc72..3be2078 100644
--- a/src/systeminstaller.cpp
+++ b/src/systeminstaller.cpp
@@ -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();
}
diff --git a/src/systeminstaller.h b/src/systeminstaller.h
index a48a9e4..7af5069 100644
--- a/src/systeminstaller.h
+++ b/src/systeminstaller.h
@@ -78,8 +78,8 @@ private:
PageCfdisk* m_PageCfdisk;
QScopedPointer m_PageManager;
- QString m_CurrentLanguage;
+ QString m_CurrentLanguage;
- bool m_doFinish;
+ volatile bool m_doFinish;
};