Added debug log.

Fixed language list.
Fixed install output.
new_gui
Ivan Loskutov 14 years ago
parent 1aa4b775cf
commit 1a86d131e8

@ -60,8 +60,23 @@ bool CalculateConfig::getDefaultConfig()
// installer settings
// gui_partitioning - install type: auto, manual
m_Config["gui_install_language"] = m_Config["os_locale_lang"];
QStringList devs = m_Config["os_device_dev"].toStringList();
QStringList::iterator dev = devs.begin();
while ( dev != devs.end() )
{
*dev = "/dev/"+*dev;
++dev;
}
m_Config.remove("os_device_dev");
m_Config["os_device_dev"] = devs;
m_Config["gui_os_device_dev"] = m_Config["os_device_dev"].toStringList().at(0);
//CalculateConfig::instance()->getValue("os_device_dev").toStringList()
return true;
}
@ -178,7 +193,7 @@ QStringList CalculateConfig::getInstallParameters()
// mbr
if ( !m_Config["gui_os_device_dev"].toString().isEmpty() )
params << QString("--mbr /dev/") + m_Config["gui_os_device_dev"].toString();
params << QString("--mbr ") + m_Config["gui_os_device_dev"].toString();
// config
if ( !m_Config["os_install_net_hostname"].toString().isEmpty() )

@ -1,5 +1,7 @@
#pragma once
#include <QMap>
class QString;
struct UserInfo
@ -22,3 +24,13 @@ struct MountPoint {
MountPoint() : /*bind(false),*/ format(false) {};
};
template <class K, class T>
class InitializableMap: public QMap<K, T>
{
public:
InitializableMap<K, T>& operator<< (const QPair<K, T>& t)
{
insert(t.first, t.second); return *this;
}
};

@ -4,10 +4,18 @@
#include <QLocale>
#include <QTranslator>
#include <QMessageBox>
#include <QtDebug>
#include <QFile>
#include <QDateTime>
#include <QDebug>
#include "systeminstaller.h"
static QFile debugLog;
void toDebugLog(const QString& str);
void MsgHandler(QtMsgType type, const char *msg);
int main(int argc, char** argv)
{
QTextCodec::setCodecForLocale( QTextCodec::codecForName("UTF-8") );
@ -16,18 +24,50 @@ int main(int argc, char** argv)
QApplication app(argc, argv);
qInstallMsgHandler( MsgHandler );
debugLog.setFileName("/var/log/calculate/cl-install-gui-debug.log");
if ( debugLog.open(QIODevice::Append | QIODevice::WriteOnly | QIODevice::Text | QIODevice::Unbuffered) )
{
qDebug() << "Installation started";
}
SystemInstaller installer;
/*
if ( getuid() != 0)
{
QMessageBox::critical( 0, QObject::tr("Error"),
QObject::tr("You do not have administrative privileges.")
);
QMessageBox::critical(
0,
QObject::tr("Error"),
QObject::tr("You do not have administrative privileges.")
);
return -1;
}
*/
installer.show();
return app.exec();
}
void MsgHandler(QtMsgType type, const char *msg)
{
switch (type) {
case QtDebugMsg:
toDebugLog( QString(msg) );
break;
default:
break;
}
}
void toDebugLog(const QString& str)
{
if (debugLog.isOpen())
debugLog.write(
("[" + QDateTime::currentDateTime().toString(Qt::ISODate) + "] " +
str + "\r").toLocal8Bit()
);
}

@ -13,6 +13,31 @@
#include "calculateconfig.h"
#include <QPair>
InitializableMap<QString, QString> PageConfiguration::m_langMap =
InitializableMap<QString, QString>()
<< QPair<QString, QString>( "be_BY", tr("Belarusian") )
<< QPair<QString, QString>( "bg_BG", tr("Bulgarian") )
<< QPair<QString, QString>( "da_DK", tr("Danish") )
<< QPair<QString, QString>( "en_GB", tr("English GB") )
<< QPair<QString, QString>( "en_US", tr("English USA") )
<< QPair<QString, QString>( "fr_BE", tr("French [fr_BE]") )
<< QPair<QString, QString>( "fr_CA", tr("French [fr_CA]") )
<< QPair<QString, QString>( "fr_FR", tr("French [fr_FR]") )
<< QPair<QString, QString>( "de_DE", tr("German") )
<< QPair<QString, QString>( "is_IS", tr("Icelandic") )
<< QPair<QString, QString>( "it_IT", tr("Italian") )
<< QPair<QString, QString>( "pl_PL", tr("Polish") )
<< QPair<QString, QString>( "pt_BR", tr("Portuguese") )
<< QPair<QString, QString>( "ru_RU", tr("Russian") )
<< QPair<QString, QString>( "sv_SE", tr("Swedish") )
<< QPair<QString, QString>( "es_ES", tr("Spanish") )
<< QPair<QString, QString>( "nn_NO", tr("Norwegian Nynorsk") )
<< QPair<QString, QString>( "uk_UA", tr("Ukrainian") )
;
PageConfiguration::PageConfiguration() :
InstallerPage()
{
@ -205,6 +230,14 @@ void PageConfiguration::retranslateUi()
m_labelLanguage->setText( tr("Language:") );
m_cmbboxLanguage->clear();
foreach(QString lang, CalculateConfig::instance()->getValue("os_install_lang").toStringList() )
{
if ( !m_langMap[lang].isEmpty() )
m_cmbboxLanguage->addItem( m_langMap[lang], QVariant(lang) );
else
qDebug() << "Unsupported language " << lang;
}
/*
m_cmbboxLanguage->addItem( tr("English"), QVariant("en_US") );
m_cmbboxLanguage->addItem( tr("German"), QVariant("de_DE") );
m_cmbboxLanguage->addItem( tr("Spanish"), QVariant("es_ES") );
@ -214,7 +247,7 @@ void PageConfiguration::retranslateUi()
m_cmbboxLanguage->addItem( tr("Brazilian Portugal"), QVariant("pt_BR") );
m_cmbboxLanguage->addItem( tr("Russian"), QVariant("ru_RU") );
m_cmbboxLanguage->addItem( tr("Ukraine"), QVariant("uk_UA") );
*/
m_labelTimezone->setText( tr("Timezone:") );
setupTimezones();

@ -2,6 +2,7 @@
#include "installerpage.h"
#include "tools.h"
#include "commons.h"
class QComboBox;
class QLineEdit;
@ -70,5 +71,7 @@ private:
QLabel* m_labelClockType;
QComboBox* m_cmbboxClockType;
static InitializableMap<QString, QString> m_langMap;
};

@ -1,13 +1,14 @@
#include "pageinstall.h"
#include <QtDebug>
#include <QFile>
#include <QBoxLayout>
#include <QLabel>
#include <QTextEdit>
#include <QProgressBar>
#include <QFile>
#include <QDebug>
#include "calculateconfig.h"
PageInstall::PageInstall() :
@ -21,6 +22,10 @@ void PageInstall::setupUi()
{
m_Output = new QTextEdit;
m_Output->setReadOnly(true);
QFont font = m_Output->currentFont();
font.setFamily("Droid Sans Mono");
m_Output->setFont( font );
m_Output->setLineWrapMode( QTextEdit::NoWrap );
m_LabelEta = new QLabel;
m_Progress = new QProgressBar(0);
@ -66,19 +71,24 @@ void PageInstall::show()
QStringList args = CalculateConfig::instance()->getInstallParameters();
qDebug() << "Start: cl-install ";
foreach(const QString& arg, args)
qDebug() << arg;
m_clProc->setStandardErrorFile("/home/guest/cl-install-gui-err.log");
m_clProc->setStandardErrorFile("/var/log/calculate/cl-install-gui-err.log");
//m_clProc->setStandardOutputFile("/home/guest/cl-install-gui-out.log");
m_clProc->start( "cl-install -f --color never " + args.join(" ") );
m_Progress->setMinimum(0);
m_Progress->setMaximum(0);
}
}
void PageInstall::onError(QProcess::ProcessError error)
{
m_Progress->setMinimum(0);
m_Progress->setMaximum(100);
qDebug() << "failed to run process 'calculate' error=" << error ;
onFinish(-error);
}
@ -90,6 +100,8 @@ void PageInstall::showStdOut()
// debug
QString str = m_clProc->readAllStandardOutput();
qDebug() << "stdout : " << str.toLocal8Bit().toHex();
QFile debug("/tmp/cl-install-gui_stdout.txt");
if ( debug.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Unbuffered | QIODevice::Text) )
debug.write(str.toLocal8Bit());
@ -138,18 +150,23 @@ void PageInstall::onFinish(int exitCode, QProcess::ExitStatus exitStatus)
{
qDebug() << "install onFinish() " << exitCode;
m_Progress->setMinimum(0);
m_Progress->setMaximum(100);
emit changeNext(true);
emit changePrev(true);
if (exitCode == 0)
{
m_Progress->setValue(100);
// instalation complete
emit changePrev(false);
}
else
{
m_Output->insertPlainText("Error: ");
QString str = m_clProc->readAllStandardOutput();
QString strErr = m_clProc->readAllStandardError();

@ -5,7 +5,7 @@
#include <QLayout>
#include <QMessageBox>
#include <QtDebug>
#include <QDebug>
#include "calculateconfig.h"
#include "mountpointdialog.h"

@ -5,11 +5,10 @@
#include <QComboBox>
#include <QLabel>
#include <QBoxLayout>
#include <QScopedPointer>
#include <QMessageBox>
#include <QtDebug>
#include <QDebug>
#include "calculateconfig.h"

@ -139,15 +139,15 @@
</message>
<message>
<source>Video driver:</source>
<translation type="unfinished"></translation>
<translation>Видеодрайвер: </translation>
</message>
<message>
<source>Use desktop effects</source>
<translation type="unfinished"></translation>
<translation>Использовать эфекты рабочего стола: </translation>
</message>
<message>
<source>Expert settings</source>
<translation type="unfinished"></translation>
<translation>Экспертные настройки: </translation>
</message>
</context>
<context>
@ -390,7 +390,7 @@ Java 2 (SUN) Runtime Environment, Standard Edition&lt;br&gt;
</message>
<message>
<source>Copy</source>
<translation type="unfinished"></translation>
<translation>Копировать</translation>
</message>
</context>
</TS>

Loading…
Cancel
Save